{"id":13471516,"url":"https://github.com/dfithian/dfdb","last_synced_at":"2025-04-13T07:52:29.612Z","repository":{"id":85573506,"uuid":"292132631","full_name":"dfithian/dfdb","owner":"dfithian","description":"Write my own database from scratch","archived":false,"fork":false,"pushed_at":"2021-11-22T15:00:34.000Z","size":2841,"stargazers_count":15,"open_issues_count":0,"forks_count":1,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-04-13T07:52:28.066Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Haskell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/dfithian.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2020-09-01T23:49:55.000Z","updated_at":"2024-12-22T07:46:06.000Z","dependencies_parsed_at":"2023-07-02T23:31:34.819Z","dependency_job_id":null,"html_url":"https://github.com/dfithian/dfdb","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dfithian%2Fdfdb","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dfithian%2Fdfdb/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dfithian%2Fdfdb/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dfithian%2Fdfdb/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dfithian","download_url":"https://codeload.github.com/dfithian/dfdb/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248681493,"owners_count":21144700,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-07-31T16:00:46.134Z","updated_at":"2025-04-13T07:52:29.583Z","avatar_url":"https://github.com/dfithian.png","language":"Haskell","funding_links":[],"categories":["Haskell"],"sub_categories":[],"readme":"# DFDB\n\nA simple database created for the purposes of learning database architecture.\n\n## Usage\n\n```bash\n$ stack run dfdb\nWelcome to DFDB\n\nEnter \"help\" to get this text\n  Quit commands: :q, quit(), exit\n\ndfdb \u003e create table foo (string string, int int, bool bool,);\nCREATE TABLE\ndfdb \u003e insert ('string', 1, true,) foo;\nINSERT 1\ndfdb \u003e select (string, int,) foo where (int = 1,);\n[\"string\",1]\n\ndfdb \u003e create index foo_int foo (int,);\nCREATE INDEX\ndfdb \u003e :q\n\n$ stack run dfdb\nWelcome to DFDB\n\nEnter \"help\" to get this text\n  Quit commands: :q, quit(), exit\n\ndfdb \u003e select (string, int,) foo where (int = 1,);\n[\"string\",1]\ndfdb \u003e drop table foo;\nDROP TABLE\ndfdb \u003e select (string, int,) foo;\nTable does not exist\n\ndfdb \u003e :q\n```\n\n## Internals\n\n* If you want to start from scratch, `rm -rf .dfdb`\n\n## Features\n\n- [x] create, drop table\n- [x] insert\n- [x] select\n- [ ] update\n- [ ] nullable/non-nullable columns\n- [x] primitive types\n- [x] persist to disk\n- [x] primary keys\n- [ ] foreign keys\n- [x] indexes\n- [x] query planning\n- [x] autocommit transactions\n- [x] transactions\n\n## Benchmarks\n\nFor info about benchmarks, see [benchmark.pdf](benchmark.pdf).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdfithian%2Fdfdb","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdfithian%2Fdfdb","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdfithian%2Fdfdb/lists"}