{"id":19647687,"url":"https://github.com/sojebsikder/go-base","last_synced_at":"2025-02-27T00:28:02.741Z","repository":{"id":182573351,"uuid":"524298368","full_name":"SojebSikder/go-base","owner":"SojebSikder","description":"Simple database engine created with golang","archived":false,"fork":false,"pushed_at":"2022-11-24T09:42:43.000Z","size":68,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-09T22:21:27.606Z","etag":null,"topics":["database-engine","go","golang"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/SojebSikder.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2022-08-13T04:20:16.000Z","updated_at":"2023-07-20T12:13:08.000Z","dependencies_parsed_at":null,"dependency_job_id":"db25320c-9517-4d21-9ecf-5cc04a3e1910","html_url":"https://github.com/SojebSikder/go-base","commit_stats":null,"previous_names":["sojebsikder/go-base"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SojebSikder%2Fgo-base","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SojebSikder%2Fgo-base/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SojebSikder%2Fgo-base/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SojebSikder%2Fgo-base/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/SojebSikder","download_url":"https://codeload.github.com/SojebSikder/go-base/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":240955230,"owners_count":19884312,"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":["database-engine","go","golang"],"created_at":"2024-11-11T14:44:54.732Z","updated_at":"2025-02-27T00:28:02.709Z","avatar_url":"https://github.com/SojebSikder.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# go-base\n\nSimple database engine created with golang just for fun.\n\n**Note: Currently query based db not working properly, any kind of contributions are welcome.**\n\n### Todo:\n\n- ~~Create cli (querydb)~~\n- ~~Execute query file (querydb)~~\n- implement writing data (querydb)\n- implement b-tree for reading data (querydb)\n\n## Usage\n\n### In-memory key value based db\n\nRun simple key value db from command line:\n\n```\ngo run main.go mapdb-cli\n```\n\n### query based db\n\nRun query on command line:\n\n```\ngo run main.go cli\n```\n\nRun query from file\n\n```\ngo run main.go run file.sql\n```\n\n### Supported commands:\n\n- Database oparations\n\n  - Create database\n    ```sql\n    create db [blog]\n    ```\n  - Drop database\n    ```sql\n    drop db [blog]\n    ```\n  - Select database\n    ```sql\n    set db [blog]\n    ```\n\n- Document oparations\n\n  - Create document:\n\n    ```sql\n    create doc [user]\n    ```\n\n  - Insert data into document:\n\n    ```sql\n    insert [user] {firstName} 'sojeb' {lastName} 'sikder'\n    ```\n\n## How go-base query based db works under the hood\n\nIn the first place go-base takes query. Then go-base engine splits query into statement using semi-clone (;) seperator. Each statements goes to tokenizer for generating tokens. All the tokens goes to perser. Perser perse the statement with brackets, quotation delimiter etc. And all the parsed data goes to main operation unit for processing.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsojebsikder%2Fgo-base","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsojebsikder%2Fgo-base","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsojebsikder%2Fgo-base/lists"}