{"id":24864298,"url":"https://github.com/i3abghany/rheadb","last_synced_at":"2025-10-03T20:26:03.144Z","repository":{"id":45021597,"uuid":"366754283","full_name":"i3abghany/RheaDB","owner":"i3abghany","description":"A disk-oriented DBMS with in-memory caching, B+Tree indexing, and JDBC interface","archived":false,"fork":false,"pushed_at":"2022-01-13T21:22:04.000Z","size":261,"stargazers_count":8,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-26T18:34:02.274Z","etag":null,"topics":["dbms","jdbc","sql"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/i3abghany.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}},"created_at":"2021-05-12T15:00:08.000Z","updated_at":"2023-10-11T18:06:05.000Z","dependencies_parsed_at":"2022-09-03T05:10:14.285Z","dependency_job_id":null,"html_url":"https://github.com/i3abghany/RheaDB","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/i3abghany%2FRheaDB","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/i3abghany%2FRheaDB/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/i3abghany%2FRheaDB/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/i3abghany%2FRheaDB/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/i3abghany","download_url":"https://codeload.github.com/i3abghany/RheaDB/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248650536,"owners_count":21139670,"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":["dbms","jdbc","sql"],"created_at":"2025-01-31T23:51:36.896Z","updated_at":"2025-10-03T20:25:58.103Z","avatar_url":"https://github.com/i3abghany.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# RheaDB\n\nA simple disk-based DBMS that supports simple SQL-like querying statements.\n\n## What's currently implemented?\n* Simple SQL-like queries\n    * Creating \u0026 dropping tables\n    * Deleting from tables\n    * Updating tables\n    * Simple selection queries\n    * Creating \u0026 deleting indices\n* Disk-based storage\n* In-memory buffer pool caching\n* JDBC driver\n* B+Tree indexing\n\n### JDBC driver loading and usage\nThe connection url passed to `DriverManager.getConnection()` must be in the\nformat `jdbc:rhea:DIR_PATH`, where `DIR_PATH` is the storage directory for the\ndatabase. It must be an existing directory.\n\n`Class.forName(\"RheaDB.JDBCDriver.JCDriver\")` must be used so as to invoke the\n`static` portion of the driver, and (hopefully) successfully connect to a \ndatabase instance.\n\n\n```java\nimport java.sql.*;\n\npublic class ExampleProgram {\n    public static void main(String[] args) throws SQLException, ClassNotFoundException {\n        Class.forName(\"RheaDB.JDBCDriver.JCDriver\");\n        try (\n                Connection conn = DriverManager.getConnection(\"jdbc:rhea:/home/USER_NAME/dbdata\");\n                Statement stmt = conn.createStatement();\n                stmt.executeQuery(\"CREATE TABLE FancyTable (id INT, name STRING, mass FLOAT);\");\n                \n                stmt.executeQuery(\"INSERT INTO FancyTable VALUES (1, \\\"Random Name\\\", 42.69);\");\n                stmt.executeQuery(\"INSERT INTO FancyTable VALUES (2, \\\"Not Random Name\\\", 96.24);\");\n                stmt.executeQuery(\"INSERT INTO FancyTable VALUES (3, \\\"Completely Random Name\\\", 3.1415);\");\n                \n                ResultSet rs = stmt.executeQuery(\"SELECT * FROM FancyTable;\")\n        ) {\n            while (rs.next())\n                System.out.println(rs.getInt(0) + \" - \" + rs.getString(1) + \" - \" +\n                        rs.getFloat(2));\n        }\n    }\n}\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fi3abghany%2Frheadb","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fi3abghany%2Frheadb","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fi3abghany%2Frheadb/lists"}