Skip to content

JohnnyVM/liborm

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

28 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

C/C++ ORM


Library structure:
-> Database declaration
-> Query builder
-> (todo)Database drivers/dialects

Database declaration


Define the structure of the database form the point of view of the program and stored in the metadata class.
The definition is done with the class Table,Column and generator funtion table,column.

Query builder


Using the schema delared in metadata or passed as parameters keep the necesary structures for generate the SQL. (the SQL is generated by the class Compiled)

Dialects


Transform the Compiled class into string for every SQL engine

Database drivers


The library suport multiple engines, for compatibility and easy develop (most of the engines are done in C) i keep that part in C (a connection is not a class and not require OOP) Engines suported: (in progres) -> SQLite
-> Postgresql
The base of the engine part is the struct engine, with is a "interface to multiple methods" that should be declared in a engine

todo list


Long list Firstly reestructurate the namespace in expression/orm or core Separate drivers for engine

Dependencies


  • git@github.com:JohnnyVM/libdict.git (C++ ordered map wrapper)
  • git@github.com:JohnnyVM/dynamic_storage.git (Helper for allocating array of elements continiously)

Releases

No releases published

Packages

No packages published