Skip to content

Add database#258

Open
R0DR160HM wants to merge 1 commit into
gleam-lang:mainfrom
R0DR160HM:main
Open

Add database#258
R0DR160HM wants to merge 1 commit into
gleam-lang:mainfrom
R0DR160HM:main

Conversation

@R0DR160HM

Copy link
Copy Markdown

Starting with the apology, I know this is a terrible name and should probably be kept for a better project than this, but when I first published it last year I was VERY sleepy, didn't realized what I was doing, and it is what it is.

Package

Summary

A minimalist embedded database that can store data in disk (Dets-based) or in memory (ETS-based)

Features

  • Basic CRUD features: insert, find (by id), select, update, upsert, delete
  • Transaction support
  • Adds a type-safety layer over the native Beam APIs it uses
  • For the data stored on disk, it allows for easy migrations in case the type stored had changes and uses the decoder pattern to keep the type-safety, even after the type definition changes

@lpil

lpil commented May 18, 2026

Copy link
Copy Markdown
Member

Hello! Thank for you this, but I'm not sure this is ready to recommend.

Steps the programmer has to undertake to use ETS and DETS safely are not documented, the error causes for each function are not documented, and the transaction function seems to imply that it has conventional database transaction semantics but the implementation does not offer them, and what it does offer is not documented. Would be nice to return error details to the user too, most the time details are discarded.

What do you think? Could this stuff be improved?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants