├── CMakeLists.txt ├── Copyright.txt ├── LICENSE ├── Makefile.am ├── Makefile.in ├── README ├── TODO ├── aclocal.m4 ├── autogen.sh ├── cmake ├── FindMySQL.cmake ├── FindPostgreSQL.cmake └── FindSQLite3.cmake ├── config.guess ├── config.h.cmake ├── config.h.in ├── config.sub ├── configure ├── configure.ac ├── debian ├── Makefile.am ├── changelog ├── compat ├── control ├── copyright ├── dirs ├── docs ├── liblitesql-dev.dirs ├── liblitesql-dev.install ├── liblitesql.dirs ├── liblitesql.install └── rules ├── depcomp ├── docs ├── Makefile.am ├── Makefile.in ├── doxygen │ ├── CMakeLists.txt │ ├── Makefile.am │ ├── Makefile.in │ ├── changes.txt │ ├── contributors.txt │ ├── cost.txt │ ├── doxygen.conf.in │ ├── footer.html │ ├── future.txt │ ├── implementation.txt │ ├── license.txt │ ├── main.txt │ ├── mysql_notes.txt │ ├── usage_cursor.txt │ ├── usage_database_create_drop.txt │ ├── usage_defining_database.txt │ ├── usage_selecting_persistents.txt │ ├── usage_upcasting.txt │ ├── usage_update_delete_persistents.txt │ ├── usage_using_database.txt │ └── usage_using_relations.txt └── html │ ├── annotated.html │ ├── backend_8hpp-source.html │ ├── backend_8hpp.html │ ├── backend_8hpp__dep__incl.map │ ├── backend_8hpp__dep__incl.md5 │ ├── backend_8hpp__dep__incl.png │ ├── backend_8hpp__incl.map │ ├── backend_8hpp__incl.md5 │ ├── backend_8hpp__incl.png │ ├── bsdlicense.html │ ├── changes.html │ ├── classlitesql_1_1And-members.html │ ├── classlitesql_1_1And.html │ ├── classlitesql_1_1And__coll__graph.map │ ├── classlitesql_1_1And__coll__graph.md5 │ ├── classlitesql_1_1And__coll__graph.png │ ├── classlitesql_1_1And__inherit__graph.map │ ├── classlitesql_1_1And__inherit__graph.md5 │ ├── classlitesql_1_1And__inherit__graph.png │ ├── classlitesql_1_1Backend-members.html │ ├── classlitesql_1_1Backend.html │ ├── classlitesql_1_1Backend_1_1Cursor-members.html │ ├── classlitesql_1_1Backend_1_1Cursor.html │ ├── classlitesql_1_1Connective-members.html │ ├── classlitesql_1_1Connective.html │ ├── classlitesql_1_1Connective__coll__graph.map │ ├── classlitesql_1_1Connective__coll__graph.md5 │ ├── classlitesql_1_1Connective__coll__graph.png │ ├── classlitesql_1_1Connective__inherit__graph.map │ ├── classlitesql_1_1Connective__inherit__graph.md5 │ ├── classlitesql_1_1Connective__inherit__graph.png │ ├── classlitesql_1_1Cursor-members.html │ ├── classlitesql_1_1Cursor.html │ ├── classlitesql_1_1Cursor__coll__graph.map │ ├── classlitesql_1_1Cursor__coll__graph.md5 │ ├── classlitesql_1_1Cursor__coll__graph.png │ ├── classlitesql_1_1DataSource-members.html │ ├── classlitesql_1_1DataSource.html │ ├── classlitesql_1_1DataSource__coll__graph.map │ ├── classlitesql_1_1DataSource__coll__graph.md5 │ ├── classlitesql_1_1DataSource__coll__graph.png │ ├── classlitesql_1_1Database-members.html │ ├── classlitesql_1_1Database.html │ ├── classlitesql_1_1DatabaseError-members.html │ ├── classlitesql_1_1DatabaseError.html │ ├── classlitesql_1_1DatabaseError__coll__graph.map │ ├── classlitesql_1_1DatabaseError__coll__graph.md5 │ ├── classlitesql_1_1DatabaseError__coll__graph.png │ ├── classlitesql_1_1DatabaseError__inherit__graph.map │ ├── classlitesql_1_1DatabaseError__inherit__graph.md5 │ ├── classlitesql_1_1DatabaseError__inherit__graph.png │ ├── classlitesql_1_1Database_1_1SchemaItem-members.html │ ├── classlitesql_1_1Database_1_1SchemaItem.html │ ├── classlitesql_1_1Database__coll__graph.map │ ├── classlitesql_1_1Database__coll__graph.md5 │ ├── classlitesql_1_1Database__coll__graph.png │ ├── classlitesql_1_1Date-members.html │ ├── classlitesql_1_1Date.html │ ├── classlitesql_1_1DateTime-members.html │ ├── classlitesql_1_1DateTime.html │ ├── classlitesql_1_1Eq-members.html │ ├── classlitesql_1_1Eq.html │ ├── classlitesql_1_1Eq__coll__graph.map │ ├── classlitesql_1_1Eq__coll__graph.md5 │ ├── classlitesql_1_1Eq__coll__graph.png │ ├── classlitesql_1_1Eq__inherit__graph.map │ ├── classlitesql_1_1Eq__inherit__graph.md5 │ ├── classlitesql_1_1Eq__inherit__graph.png │ ├── classlitesql_1_1Except-members.html │ ├── classlitesql_1_1Except.html │ ├── classlitesql_1_1Except__inherit__graph.map │ ├── classlitesql_1_1Except__inherit__graph.md5 │ ├── classlitesql_1_1Except__inherit__graph.png │ ├── classlitesql_1_1Expr-members.html │ ├── classlitesql_1_1Expr.html │ ├── classlitesql_1_1Expr__coll__graph.map │ ├── classlitesql_1_1Expr__coll__graph.md5 │ ├── classlitesql_1_1Expr__coll__graph.png │ ├── classlitesql_1_1Expr__inherit__graph.map │ ├── classlitesql_1_1Expr__inherit__graph.md5 │ ├── classlitesql_1_1Expr__inherit__graph.png │ ├── classlitesql_1_1Field-members.html │ ├── classlitesql_1_1Field.html │ ├── classlitesql_1_1Field__coll__graph.map │ ├── classlitesql_1_1Field__coll__graph.md5 │ ├── classlitesql_1_1Field__coll__graph.png │ ├── classlitesql_1_1Gt-members.html │ ├── classlitesql_1_1Gt.html │ ├── classlitesql_1_1GtEq-members.html │ ├── classlitesql_1_1GtEq.html │ ├── classlitesql_1_1GtEq__coll__graph.map │ ├── classlitesql_1_1GtEq__coll__graph.md5 │ ├── classlitesql_1_1GtEq__coll__graph.png │ ├── classlitesql_1_1GtEq__inherit__graph.map │ ├── classlitesql_1_1GtEq__inherit__graph.md5 │ ├── classlitesql_1_1GtEq__inherit__graph.png │ ├── classlitesql_1_1Gt__coll__graph.map │ ├── classlitesql_1_1Gt__coll__graph.md5 │ ├── classlitesql_1_1Gt__coll__graph.png │ ├── classlitesql_1_1Gt__inherit__graph.map │ ├── classlitesql_1_1Gt__inherit__graph.md5 │ ├── classlitesql_1_1Gt__inherit__graph.png │ ├── classlitesql_1_1In-members.html │ ├── classlitesql_1_1In.html │ ├── classlitesql_1_1In__coll__graph.map │ ├── classlitesql_1_1In__coll__graph.md5 │ ├── classlitesql_1_1In__coll__graph.png │ ├── classlitesql_1_1In__inherit__graph.map │ ├── classlitesql_1_1In__inherit__graph.md5 │ ├── classlitesql_1_1In__inherit__graph.png │ ├── classlitesql_1_1InsertionError-members.html │ ├── classlitesql_1_1InsertionError.html │ ├── classlitesql_1_1InsertionError__coll__graph.map │ ├── classlitesql_1_1InsertionError__coll__graph.md5 │ ├── classlitesql_1_1InsertionError__coll__graph.png │ ├── classlitesql_1_1InsertionError__inherit__graph.map │ ├── classlitesql_1_1InsertionError__inherit__graph.md5 │ ├── classlitesql_1_1InsertionError__inherit__graph.png │ ├── classlitesql_1_1InternalError-members.html │ ├── classlitesql_1_1InternalError.html │ ├── classlitesql_1_1InternalError__coll__graph.map │ ├── classlitesql_1_1InternalError__coll__graph.md5 │ ├── classlitesql_1_1InternalError__coll__graph.png │ ├── classlitesql_1_1InternalError__inherit__graph.map │ ├── classlitesql_1_1InternalError__inherit__graph.md5 │ ├── classlitesql_1_1InternalError__inherit__graph.png │ ├── classlitesql_1_1Like-members.html │ ├── classlitesql_1_1Like.html │ ├── classlitesql_1_1Like__coll__graph.map │ ├── classlitesql_1_1Like__coll__graph.md5 │ ├── classlitesql_1_1Like__coll__graph.png │ ├── classlitesql_1_1Like__inherit__graph.map │ ├── classlitesql_1_1Like__inherit__graph.md5 │ ├── classlitesql_1_1Like__inherit__graph.png │ ├── classlitesql_1_1Lt-members.html │ ├── classlitesql_1_1Lt.html │ ├── classlitesql_1_1LtEq-members.html │ ├── classlitesql_1_1LtEq.html │ ├── classlitesql_1_1LtEq__coll__graph.map │ ├── classlitesql_1_1LtEq__coll__graph.md5 │ ├── classlitesql_1_1LtEq__coll__graph.png │ ├── classlitesql_1_1LtEq__inherit__graph.map │ ├── classlitesql_1_1LtEq__inherit__graph.md5 │ ├── classlitesql_1_1LtEq__inherit__graph.png │ ├── classlitesql_1_1Lt__coll__graph.map │ ├── classlitesql_1_1Lt__coll__graph.md5 │ ├── classlitesql_1_1Lt__coll__graph.png │ ├── classlitesql_1_1Lt__inherit__graph.map │ ├── classlitesql_1_1Lt__inherit__graph.md5 │ ├── classlitesql_1_1Lt__inherit__graph.png │ ├── classlitesql_1_1MemoryError-members.html │ ├── classlitesql_1_1MemoryError.html │ ├── classlitesql_1_1MemoryError__coll__graph.map │ ├── classlitesql_1_1MemoryError__coll__graph.md5 │ ├── classlitesql_1_1MemoryError__coll__graph.png │ ├── classlitesql_1_1MemoryError__inherit__graph.map │ ├── classlitesql_1_1MemoryError__inherit__graph.md5 │ ├── classlitesql_1_1MemoryError__inherit__graph.png │ ├── classlitesql_1_1Not-members.html │ ├── classlitesql_1_1Not.html │ ├── classlitesql_1_1NotEq-members.html │ ├── classlitesql_1_1NotEq.html │ ├── classlitesql_1_1NotEq__coll__graph.map │ ├── classlitesql_1_1NotEq__coll__graph.md5 │ ├── classlitesql_1_1NotEq__coll__graph.png │ ├── classlitesql_1_1NotEq__inherit__graph.map │ ├── classlitesql_1_1NotEq__inherit__graph.md5 │ ├── classlitesql_1_1NotEq__inherit__graph.png │ ├── classlitesql_1_1NotFound-members.html │ ├── classlitesql_1_1NotFound.html │ ├── classlitesql_1_1NotFound__coll__graph.map │ ├── classlitesql_1_1NotFound__coll__graph.md5 │ ├── classlitesql_1_1NotFound__coll__graph.png │ ├── classlitesql_1_1NotFound__inherit__graph.map │ ├── classlitesql_1_1NotFound__inherit__graph.md5 │ ├── classlitesql_1_1NotFound__inherit__graph.png │ ├── classlitesql_1_1Not__coll__graph.map │ ├── classlitesql_1_1Not__coll__graph.md5 │ ├── classlitesql_1_1Not__coll__graph.png │ ├── classlitesql_1_1Not__inherit__graph.map │ ├── classlitesql_1_1Not__inherit__graph.md5 │ ├── classlitesql_1_1Not__inherit__graph.png │ ├── classlitesql_1_1Oper-members.html │ ├── classlitesql_1_1Oper.html │ ├── classlitesql_1_1Oper__coll__graph.map │ ├── classlitesql_1_1Oper__coll__graph.md5 │ ├── classlitesql_1_1Oper__coll__graph.png │ ├── classlitesql_1_1Oper__inherit__graph.map │ ├── classlitesql_1_1Oper__inherit__graph.md5 │ ├── classlitesql_1_1Oper__inherit__graph.png │ ├── classlitesql_1_1Or-members.html │ ├── classlitesql_1_1Or.html │ ├── classlitesql_1_1Or__coll__graph.map │ ├── classlitesql_1_1Or__coll__graph.md5 │ ├── classlitesql_1_1Or__coll__graph.png │ ├── classlitesql_1_1Or__inherit__graph.map │ ├── classlitesql_1_1Or__inherit__graph.md5 │ ├── classlitesql_1_1Or__inherit__graph.png │ ├── classlitesql_1_1Persistent-members.html │ ├── classlitesql_1_1Persistent.html │ ├── classlitesql_1_1Persistent__coll__graph.map │ ├── classlitesql_1_1Persistent__coll__graph.md5 │ ├── classlitesql_1_1Persistent__coll__graph.png │ ├── classlitesql_1_1RawExpr-members.html │ ├── classlitesql_1_1RawExpr.html │ ├── classlitesql_1_1RawExpr__coll__graph.map │ ├── classlitesql_1_1RawExpr__coll__graph.md5 │ ├── classlitesql_1_1RawExpr__coll__graph.png │ ├── classlitesql_1_1RawExpr__inherit__graph.map │ ├── classlitesql_1_1RawExpr__inherit__graph.md5 │ ├── classlitesql_1_1RawExpr__inherit__graph.png │ ├── classlitesql_1_1Record-members.html │ ├── classlitesql_1_1Record.html │ ├── classlitesql_1_1RelationHandle-members.html │ ├── classlitesql_1_1RelationHandle.html │ ├── classlitesql_1_1RelationHandle__coll__graph.map │ ├── classlitesql_1_1RelationHandle__coll__graph.md5 │ ├── classlitesql_1_1RelationHandle__coll__graph.png │ ├── classlitesql_1_1SQLError-members.html │ ├── classlitesql_1_1SQLError.html │ ├── classlitesql_1_1SQLError__coll__graph.map │ ├── classlitesql_1_1SQLError__coll__graph.md5 │ ├── classlitesql_1_1SQLError__coll__graph.png │ ├── classlitesql_1_1SQLError__inherit__graph.map │ ├── classlitesql_1_1SQLError__inherit__graph.md5 │ ├── classlitesql_1_1SQLError__inherit__graph.png │ ├── classlitesql_1_1SelectQuery-members.html │ ├── classlitesql_1_1SelectQuery.html │ ├── classlitesql_1_1SelectQuery__coll__graph.map │ ├── classlitesql_1_1SelectQuery__coll__graph.md5 │ ├── classlitesql_1_1SelectQuery__coll__graph.png │ ├── classlitesql_1_1Split-members.html │ ├── classlitesql_1_1Split.html │ ├── classlitesql_1_1Time-members.html │ ├── classlitesql_1_1Time.html │ ├── classlitesql_1_1UnknownError-members.html │ ├── classlitesql_1_1UnknownError.html │ ├── classlitesql_1_1UnknownError__coll__graph.map │ ├── classlitesql_1_1UnknownError__coll__graph.md5 │ ├── classlitesql_1_1UnknownError__coll__graph.png │ ├── classlitesql_1_1UnknownError__inherit__graph.map │ ├── classlitesql_1_1UnknownError__inherit__graph.md5 │ ├── classlitesql_1_1UnknownError__inherit__graph.png │ ├── compatibility_8hpp-source.html │ ├── contributors.html │ ├── cost.html │ ├── cursor_8hpp-source.html │ ├── cursor_8hpp.html │ ├── cursor_8hpp__dep__incl.map │ ├── cursor_8hpp__dep__incl.md5 │ ├── cursor_8hpp__dep__incl.png │ ├── cursor_8hpp__incl.map │ ├── cursor_8hpp__incl.md5 │ ├── cursor_8hpp__incl.png │ ├── database_8hpp-source.html │ ├── database_8hpp.html │ ├── database_8hpp__dep__incl.map │ ├── database_8hpp__dep__incl.md5 │ ├── database_8hpp__dep__incl.png │ ├── database_8hpp__incl.map │ ├── database_8hpp__incl.md5 │ ├── database_8hpp__incl.png │ ├── datasource_8hpp-source.html │ ├── datasource_8hpp.html │ ├── datasource_8hpp__dep__incl.map │ ├── datasource_8hpp__dep__incl.md5 │ ├── datasource_8hpp__dep__incl.png │ ├── datasource_8hpp__incl.map │ ├── datasource_8hpp__incl.md5 │ ├── datasource_8hpp__incl.png │ ├── datetime_8hpp-source.html │ ├── datetime_8hpp.html │ ├── datetime_8hpp__dep__incl.map │ ├── datetime_8hpp__dep__incl.md5 │ ├── datetime_8hpp__dep__incl.png │ ├── datetime_8hpp__incl.map │ ├── datetime_8hpp__incl.md5 │ ├── datetime_8hpp__incl.png │ ├── dir_000001_000002.html │ ├── dir_000002_000003.html │ ├── dir__2Fhome_2Ftero_2Fsf_2Enet_2Flitesql_2Finclude_2F.html │ ├── dir__2Fhome_2Ftero_2Fsf_2Enet_2Flitesql_2Finclude_2F_dep.map │ ├── dir__2Fhome_2Ftero_2Fsf_2Enet_2Flitesql_2Finclude_2F_dep.png │ ├── dir__2Fhome_2Ftero_2Fsf_2Enet_2Flitesql_2Finclude_2Flitesql_2F.html │ ├── dir__2Fhome_2Ftero_2Fsf_2Enet_2Flitesql_2Finclude_2Flitesql_2F_dep.map │ ├── dir__2Fhome_2Ftero_2Fsf_2Enet_2Flitesql_2Finclude_2Flitesql_2F_dep.png │ ├── dir__2Fhome_2Ftero_2Fsf_2Enet_2Flitesql_2Fsrc_2F.html │ ├── dir__2Fhome_2Ftero_2Fsf_2Enet_2Flitesql_2Fsrc_2F_dep.map │ ├── dir__2Fhome_2Ftero_2Fsf_2Enet_2Flitesql_2Fsrc_2F_dep.png │ ├── dir__2Fhome_2Ftero_2Fsf_2Enet_2Flitesql_2Fsrc_2Flibrary_2F.html │ ├── dir__2Fhome_2Ftero_2Fsf_2Enet_2Flitesql_2Fsrc_2Flibrary_2F_dep.map │ ├── dir__2Fhome_2Ftero_2Fsf_2Enet_2Flitesql_2Fsrc_2Flibrary_2F_dep.png │ ├── dirs.html │ ├── doxygen.css │ ├── doxygen.png │ ├── exampledatabase.png │ ├── except_8hpp-source.html │ ├── except_8hpp.html │ ├── except_8hpp__dep__incl.map │ ├── except_8hpp__dep__incl.md5 │ ├── except_8hpp__dep__incl.png │ ├── except_8hpp__incl.map │ ├── except_8hpp__incl.md5 │ ├── except_8hpp__incl.png │ ├── expr_8hpp-source.html │ ├── expr_8hpp.html │ ├── expr_8hpp__dep__incl.map │ ├── expr_8hpp__dep__incl.md5 │ ├── expr_8hpp__dep__incl.png │ ├── expr_8hpp__incl.map │ ├── expr_8hpp__incl.md5 │ ├── expr_8hpp__incl.png │ ├── field_8hpp-source.html │ ├── field_8hpp.html │ ├── field_8hpp__dep__incl.map │ ├── field_8hpp__dep__incl.md5 │ ├── field_8hpp__dep__incl.png │ ├── field_8hpp__incl.map │ ├── field_8hpp__incl.md5 │ ├── field_8hpp__incl.png │ ├── files.html │ ├── functions.html │ ├── functions_func.html │ ├── functions_vars.html │ ├── future.html │ ├── graph_legend.dot │ ├── graph_legend.html │ ├── graph_legend.png │ ├── hierarchy.html │ ├── implementation.html │ ├── index.html │ ├── inherit__graph__0.map │ ├── inherit__graph__0.md5 │ ├── inherit__graph__0.png │ ├── inherit__graph__1.map │ ├── inherit__graph__1.md5 │ ├── inherit__graph__1.png │ ├── inherit__graph__10.map │ ├── inherit__graph__10.md5 │ ├── inherit__graph__10.png │ ├── inherit__graph__11.map │ ├── inherit__graph__11.md5 │ ├── inherit__graph__11.png │ ├── inherit__graph__12.map │ ├── inherit__graph__12.md5 │ ├── inherit__graph__12.png │ ├── inherit__graph__13.map │ ├── inherit__graph__13.md5 │ ├── inherit__graph__13.png │ ├── inherit__graph__14.map │ ├── inherit__graph__14.md5 │ ├── inherit__graph__14.png │ ├── inherit__graph__15.map │ ├── inherit__graph__15.md5 │ ├── inherit__graph__15.png │ ├── inherit__graph__16.map │ ├── inherit__graph__16.md5 │ ├── inherit__graph__16.png │ ├── inherit__graph__2.map │ ├── inherit__graph__2.md5 │ ├── inherit__graph__2.png │ ├── inherit__graph__3.map │ ├── inherit__graph__3.md5 │ ├── inherit__graph__3.png │ ├── inherit__graph__4.map │ ├── inherit__graph__4.md5 │ ├── inherit__graph__4.png │ ├── inherit__graph__5.map │ ├── inherit__graph__5.md5 │ ├── inherit__graph__5.png │ ├── inherit__graph__6.map │ ├── inherit__graph__6.md5 │ ├── inherit__graph__6.png │ ├── inherit__graph__7.map │ ├── inherit__graph__7.md5 │ ├── inherit__graph__7.png │ ├── inherit__graph__8.map │ ├── inherit__graph__8.md5 │ ├── inherit__graph__8.png │ ├── inherit__graph__9.map │ ├── inherit__graph__9.md5 │ ├── inherit__graph__9.png │ ├── inherits.html │ ├── litesql_8hpp-source.html │ ├── litesql_8hpp.html │ ├── litesql_8hpp__incl.map │ ├── litesql_8hpp__incl.md5 │ ├── litesql_8hpp__incl.png │ ├── mysql_8hpp-source.html │ ├── mysql_8hpp.html │ ├── mysql_8hpp__dep__incl.map │ ├── mysql_8hpp__dep__incl.md5 │ ├── mysql_8hpp__dep__incl.png │ ├── mysql_notes.html │ ├── operations_8hpp-source.html │ ├── operations_8hpp.html │ ├── operations_8hpp__dep__incl.map │ ├── operations_8hpp__dep__incl.md5 │ ├── operations_8hpp__dep__incl.png │ ├── operations_8hpp__incl.map │ ├── operations_8hpp__incl.md5 │ ├── operations_8hpp__incl.png │ ├── pages.html │ ├── persistent_8hpp-source.html │ ├── persistent_8hpp.html │ ├── persistent_8hpp__dep__incl.map │ ├── persistent_8hpp__dep__incl.md5 │ ├── persistent_8hpp__dep__incl.png │ ├── persistent_8hpp__incl.map │ ├── persistent_8hpp__incl.md5 │ ├── persistent_8hpp__incl.png │ ├── postgresql_8hpp-source.html │ ├── postgresql_8hpp.html │ ├── postgresql_8hpp__dep__incl.map │ ├── postgresql_8hpp__dep__incl.md5 │ ├── postgresql_8hpp__dep__incl.png │ ├── relation_8hpp-source.html │ ├── relation_8hpp.html │ ├── relation_8hpp__dep__incl.map │ ├── relation_8hpp__dep__incl.md5 │ ├── relation_8hpp__dep__incl.png │ ├── relation_8hpp__incl.map │ ├── relation_8hpp__incl.md5 │ ├── relation_8hpp__incl.png │ ├── selectquery_8hpp-source.html │ ├── selectquery_8hpp.html │ ├── selectquery_8hpp__dep__incl.map │ ├── selectquery_8hpp__dep__incl.md5 │ ├── selectquery_8hpp__dep__incl.png │ ├── selectquery_8hpp__incl.map │ ├── selectquery_8hpp__incl.md5 │ ├── selectquery_8hpp__incl.png │ ├── split_8hpp-source.html │ ├── split_8hpp.html │ ├── split_8hpp__dep__incl.map │ ├── split_8hpp__dep__incl.md5 │ ├── split_8hpp__dep__incl.png │ ├── split_8hpp__incl.map │ ├── split_8hpp__incl.md5 │ ├── split_8hpp__incl.png │ ├── sqlite3_8hpp-source.html │ ├── sqlite3_8hpp.html │ ├── sqlite3_8hpp__dep__incl.map │ ├── sqlite3_8hpp__dep__incl.md5 │ ├── sqlite3_8hpp__dep__incl.png │ ├── string_8hpp-source.html │ ├── string_8hpp.html │ ├── string_8hpp__dep__incl.map │ ├── string_8hpp__dep__incl.md5 │ ├── string_8hpp__dep__incl.png │ ├── string_8hpp__incl.map │ ├── string_8hpp__incl.md5 │ ├── string_8hpp__incl.png │ ├── tab_b.gif │ ├── tab_l.gif │ ├── tab_r.gif │ ├── tabs.css │ ├── types_8hpp-source.html │ ├── types_8hpp.html │ ├── types_8hpp__dep__incl.map │ ├── types_8hpp__dep__incl.md5 │ ├── types_8hpp__dep__incl.png │ ├── types_8hpp__incl.map │ ├── types_8hpp__incl.md5 │ ├── types_8hpp__incl.png │ ├── updatequery_8hpp-source.html │ ├── updatequery_8hpp.html │ ├── updatequery_8hpp__incl.map │ ├── updatequery_8hpp__incl.md5 │ ├── updatequery_8hpp__incl.png │ ├── usage_cursor.html │ ├── usage_database_create_drop.html │ ├── usage_defining_database.html │ ├── usage_selecting_persistents.html │ ├── usage_upcasting.html │ ├── usage_update_delete_persistents.html │ ├── usage_using_database.html │ ├── usage_using_relations.html │ ├── utils_8hpp-source.html │ ├── utils_8hpp.html │ ├── utils_8hpp__dep__incl.map │ ├── utils_8hpp__dep__incl.md5 │ ├── utils_8hpp__dep__incl.png │ ├── utils_8hpp__incl.map │ ├── utils_8hpp__incl.md5 │ └── utils_8hpp__incl.png ├── include ├── Makefile.am ├── Makefile.in ├── litesql.hpp └── litesql │ ├── Makefile.am │ ├── Makefile.in │ ├── backend.hpp │ ├── counted_ptr.hpp │ ├── cursor.hpp │ ├── database.hpp │ ├── datasource.hpp │ ├── datetime.hpp │ ├── except.hpp │ ├── expr.hpp │ ├── field.hpp │ ├── operations.hpp │ ├── persistent.hpp │ ├── relation.hpp │ ├── selectquery.hpp │ ├── split.hpp │ ├── string.hpp │ ├── types.hpp │ ├── updatequery.hpp │ └── utils.hpp ├── install-sh ├── ltmain.sh ├── m4 ├── libtool.m4 ├── ltoptions.m4 ├── ltsugar.m4 ├── ltversion.m4 └── lt~obsolete.m4 ├── missing ├── mkinstalldirs ├── pkg ├── Makefile.am ├── Makefile.in ├── litesql-config.in └── litesql.pc.in ├── readme.txt ├── release_it.bat ├── release_it.sh ├── releasenotes.txt ├── rpm ├── Makefile.am ├── Makefile.in └── litesql.spec.in ├── src ├── CMakeLists.txt ├── Makefile.am ├── Makefile.in ├── examples │ ├── CMakeLists.txt │ ├── Makefile.am │ ├── Makefile.in │ ├── auth.xml │ ├── example.cpp │ ├── example_output.txt │ ├── example_queries.txt │ ├── exampledatabase.cpp │ ├── exampledatabase.dot │ ├── exampledatabase.hpp │ ├── exampledatabase.png │ └── exampledatabase.xml ├── generator │ ├── CMakeLists.txt │ ├── Makefile.am │ ├── Makefile.in │ ├── ddl2litesql.cpp │ ├── generator.cpp │ ├── generator.hpp │ ├── litesql-gen-actions.cpp │ ├── litesql-gen-cpp.cpp │ ├── litesql-gen-cpp.hpp │ ├── litesql-gen-graphviz.cpp │ ├── litesql-gen-graphviz.hpp │ ├── litesql-gen-main.cpp │ ├── litesql-gen-ruby-activerecord.cpp │ ├── litesql-gen-ruby-activerecord.hpp │ ├── litesql-gen-xml.cpp │ ├── litesql-gen-xml.hpp │ ├── litesql-gen.cpp │ ├── litesql-gen.hpp │ ├── litesql.dtd │ ├── logger.cpp │ ├── logger.hpp │ ├── md5.cpp │ ├── md5.hpp │ ├── objectmodel.cpp │ ├── objectmodel.hpp │ ├── ui │ │ ├── CMakeLists.txt │ │ ├── GenerateView.cpp │ │ ├── GenerateView.h │ │ ├── LitesqlDatabasePanel.cpp │ │ ├── LitesqlDatabasePanel.h │ │ ├── LitesqlDocument.cpp │ │ ├── LitesqlDocument.cpp.h │ │ ├── LitesqlDocument.h │ │ ├── LitesqlFieldPanel.cpp │ │ ├── LitesqlFieldPanel.h │ │ ├── LitesqlMethodPanel.cpp │ │ ├── LitesqlMethodPanel.h │ │ ├── LitesqlModelTreePanel.cpp │ │ ├── LitesqlModelTreePanel.h │ │ ├── LitesqlObjectPanel.cpp │ │ ├── LitesqlObjectPanel.h │ │ ├── LitesqlRelationPanel.cpp │ │ ├── LitesqlRelationPanel.h │ │ ├── LitesqlView.cpp │ │ ├── LitesqlView.h │ │ ├── MainFrame.cpp │ │ ├── MainFrame.h │ │ ├── VisualLitesqlApp.cpp │ │ ├── VisualLitesqlApp.h │ │ ├── ddx.cpp │ │ ├── ddx.h │ │ ├── ui-design │ │ │ └── app.fbp │ │ ├── ui.cpp │ │ └── ui.h │ ├── xmlgenerator.cpp │ ├── xmlobjects.cpp │ ├── xmlobjects.hpp │ ├── xmlparser.cpp │ └── xmlparser.hpp ├── library │ ├── CMakeLists.txt │ ├── Makefile.am │ ├── Makefile.in │ ├── backend.cpp │ ├── compatibility.cpp │ ├── compatibility.hpp │ ├── database.cpp │ ├── datasource.cpp │ ├── datetime.cpp │ ├── expr.cpp │ ├── field.cpp │ ├── mysql.cpp │ ├── mysql.hpp │ ├── odbc_backend.cpp │ ├── odbc_backend.hpp │ ├── persistent.cpp │ ├── postgresql.cpp │ ├── postgresql.hpp │ ├── selectquery.cpp │ ├── split.cpp │ ├── sqlite3.c │ ├── sqlite3.h │ ├── sqlite3.hpp │ ├── sqlite3_backend.cpp │ ├── sqlite3ext.h │ ├── string.cpp │ └── updatequery.cpp └── tests │ ├── CMakeLists.txt │ ├── Makefile.am │ ├── Makefile.in │ ├── test-datetime.cpp │ ├── test-selectquery.cpp │ ├── test-split.cpp │ └── test-update-table.cpp ├── stamp-h.in └── win32 ├── include └── expat │ ├── expat.h │ └── expat_external.h ├── lib ├── Win32xxD.lib ├── Win32xxR.lib ├── libexpatMT.lib └── libexpatMTd.lib ├── readme.txt └── src └── Win32++ ├── About these folders.txt └── include ├── RCa03256 ├── changes.txt ├── classes.txt ├── copyright.txt ├── default_resource.h ├── default_resource.rc ├── dialog.h ├── docking.h ├── frame.h ├── gdi.h ├── info.txt ├── listview.h ├── mdi.h ├── propertysheet.h ├── rebar.h ├── release notes.txt ├── socket.h ├── splitter.h ├── statusbar.h ├── tab.h ├── toolbar.h ├── treeview.h ├── wceframe.h ├── wcestddef.h └── wincore.h /Copyright.txt: -------------------------------------------------------------------------------- 1 | bla -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | BSD License 2 | 3 | LiteSQL is distributed under the terms of BSD-license stated below: 4 | 5 | Copyright (c) 2009, All contributors (The list at https://apps.sourceforge.net/trac/litesql/wiki/Contributors) 6 | 7 | All rights reserved. 8 | 9 | Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 10 | 11 | * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 12 | * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. 13 | * Neither the name of the Tero Laitinen nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. 14 | m 15 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 16 | -------------------------------------------------------------------------------- /Makefile.am: -------------------------------------------------------------------------------- 1 | SUBDIRS=src include docs rpm pkg 2 | 3 | EXTRA_DIST=CMakeLists.txt \ 4 | Copyright.txt \ 5 | README \ 6 | readme.txt \ 7 | config.h.in \ 8 | config.h.cmake \ 9 | cmake/FindPostgreSQL.cmake \ 10 | cmake/FindMySQL.cmake \ 11 | cmake/FindSQLite3.cmake 12 | 13 | 14 | ACLOCAL_AMFLAGS=-I m4 15 | AUTOMAKE_OPTIONS=foreign 16 | 17 | dist-hook: 18 | find $(distdir) -name \.svn 19 | rm -rf `find $(distdir) -name .svn` 20 | -------------------------------------------------------------------------------- /README: -------------------------------------------------------------------------------- 1 | LiteSQL 0.3.5 - C++ Object-Relational Persistence Framework 2 | ----------------------------------------------------------- 3 | LiteSQL is a C++ library that integrates C++ objects tightly to relational 4 | database and thus provides an object persistence layer. LiteSQL supports 5 | SQLite3, PostgreSQL and MySQL as backends. LiteSQL creates tables, 6 | indexes and sequences to database and upgrades schema when needed. 7 | 8 | In addition to object persistence, LiteSQL provides object relations which 9 | can be used to model any kind of C++ data structures. Objects can be selected, 10 | filtered and ordered using template- and class-based API with type 11 | checking at compile time. 12 | 13 | See HTML documentation for details docs/html/index.html. 14 | 15 | Project home page: http://litesql.sourceforge.net 16 | 17 | Installation 18 | ------------ 19 | ./configure 20 | 21 | make 22 | 23 | make install 24 | 25 | 26 | By Tero Laitinen 27 | -------------------------------------------------------------------------------- /TODO: -------------------------------------------------------------------------------- 1 | - update autotools 2 | - package win32 as "win32-libs 3 | - create debian, ubuntu package 4 | - create mac-port 5 | - test double on different database types 6 | - add more tests 7 | 8 | -------------------------------------------------------------------------------- /cmake/FindMySQL.cmake: -------------------------------------------------------------------------------- 1 | # - Find MySQL 2 | # Find the MySQL includes and client library 3 | # This module defines 4 | # MYSQL_INCLUDE_DIR, where to find mysql.h 5 | # MYSQL_LIBRARIES, the libraries needed to use MySQL. 6 | # MYSQL_FOUND, If false, do not try to use MySQL. 7 | # 8 | # Copyright (c) 2006, Jaroslaw Staniek, 9 | # 10 | # Redistribution and use is allowed according to the terms of the BSD license. 11 | # For details see the accompanying COPYING-CMAKE-SCRIPTS file. 12 | 13 | if(MYSQL_INCLUDE_DIR AND MYSQL_LIBRARIES) 14 | set(MYSQL_FOUND TRUE) 15 | 16 | else(MYSQL_INCLUDE_DIR AND MYSQL_LIBRARIES) 17 | 18 | find_path(MYSQL_INCLUDE_DIR mysql.h 19 | /usr/include/mysql 20 | /usr/local/include/mysql 21 | $ENV{ProgramFiles}/MySQL/*/include 22 | $ENV{SystemDrive}/MySQL/*/include 23 | ) 24 | 25 | if(WIN32 AND MSVC) 26 | find_library(MYSQL_LIBRARIES NAMES libmysql 27 | PATHS 28 | $ENV{ProgramFiles}/MySQL/*/lib/opt 29 | $ENV{SystemDrive}/MySQL/*/lib/opt 30 | ) 31 | else(WIN32 AND MSVC) 32 | find_library(MYSQL_LIBRARIES NAMES mysqlclient 33 | PATHS 34 | /usr/lib/mysql 35 | /usr/local/lib/mysql 36 | ) 37 | endif(WIN32 AND MSVC) 38 | 39 | if(MYSQL_INCLUDE_DIR AND MYSQL_LIBRARIES) 40 | set(MYSQL_FOUND TRUE) 41 | message(STATUS "Found MySQL: ${MYSQL_INCLUDE_DIR}, ${MYSQL_LIBRARIES}") 42 | else(MYSQL_INCLUDE_DIR AND MYSQL_LIBRARIES) 43 | set(MYSQL_FOUND FALSE) 44 | message(STATUS "MySQL not found.") 45 | endif(MYSQL_INCLUDE_DIR AND MYSQL_LIBRARIES) 46 | 47 | mark_as_advanced(MYSQL_INCLUDE_DIR MYSQL_LIBRARIES) 48 | 49 | endif(MYSQL_INCLUDE_DIR AND MYSQL_LIBRARIES) 50 | -------------------------------------------------------------------------------- /cmake/FindPostgreSQL.cmake: -------------------------------------------------------------------------------- 1 | # - Find PostgreSQL 2 | # Find the PostgreSQL includes and client library 3 | # This module defines 4 | # POSTGRESQL_INCLUDE_DIR, where to find POSTGRESQL.h 5 | # POSTGRESQL_LIBRARIES, the libraries needed to use POSTGRESQL. 6 | # POSTGRESQL_FOUND, If false, do not try to use PostgreSQL. 7 | # 8 | # Copyright (c) 2006, Jaroslaw Staniek, 9 | # 10 | # Redistribution and use is allowed according to the terms of the BSD license. 11 | # For details see the accompanying COPYING-CMAKE-SCRIPTS file. 12 | 13 | if(POSTGRESQL_INCLUDE_DIR AND POSTGRESQL_LIBRARIES) 14 | set(POSTGRESQL_FOUND TRUE) 15 | 16 | else(POSTGRESQL_INCLUDE_DIR AND POSTGRESQL_LIBRARIES) 17 | 18 | find_path(POSTGRESQL_INCLUDE_DIR libpq-fe.h 19 | /usr/include/pgsql 20 | /usr/local/include/pgsql 21 | /usr/include/postgresql 22 | $ENV{ProgramFiles}/PostgreSQL/*/include 23 | $ENV{SystemDrive}/PostgreSQL/*/include 24 | ) 25 | 26 | find_library(POSTGRESQL_LIBRARIES NAMES pq libpq 27 | PATHS 28 | /usr/lib 29 | /usr/local/lib 30 | /usr/lib/postgresql 31 | $ENV{ProgramFiles}/PostgreSQL/*/lib/ms 32 | $ENV{SystemDrive}/PostgreSQL/*/lib/ms 33 | ) 34 | 35 | if(POSTGRESQL_INCLUDE_DIR AND POSTGRESQL_LIBRARIES) 36 | set(POSTGRESQL_FOUND TRUE) 37 | message(STATUS "Found PostgreSQL: ${POSTGRESQL_INCLUDE_DIR}, ${POSTGRESQL_LIBRARIES}") 38 | else(POSTGRESQL_INCLUDE_DIR AND POSTGRESQL_LIBRARIES) 39 | set(POSTGRESQL_FOUND FALSE) 40 | message(STATUS "PostgreSQL not found.") 41 | endif(POSTGRESQL_INCLUDE_DIR AND POSTGRESQL_LIBRARIES) 42 | 43 | mark_as_advanced(POSTGRESQL_INCLUDE_DIR POSTGRESQL_LIBRARIES) 44 | 45 | endif(POSTGRESQL_INCLUDE_DIR AND POSTGRESQL_LIBRARIES) 46 | -------------------------------------------------------------------------------- /debian/Makefile.am: -------------------------------------------------------------------------------- 1 | EXTRA_DIST=changelog control dirs copyright rules compat liblitesql-dev.dirs liblitesql-dev.install liblitesql.dir liblitesql.install 2 | -------------------------------------------------------------------------------- /debian/changelog: -------------------------------------------------------------------------------- 1 | liblitesql (0.3.4) unstable; urgency=low 2 | 3 | * bugfix release 4 | 5 | -- Tero Laitinen Sun, 6 Nov 2005 15:23:49 +0200 6 | 7 | liblitesql (0.3.2) unstable; urgency=low 8 | 9 | * Initial release 10 | 11 | -- Tero Laitinen Sun, 6 Nov 2005 15:23:49 +0200 12 | 13 | -------------------------------------------------------------------------------- /debian/compat: -------------------------------------------------------------------------------- 1 | 4 2 | -------------------------------------------------------------------------------- /debian/control: -------------------------------------------------------------------------------- 1 | Source: liblitesql 2 | Priority: optional 3 | Maintainer: Tero Laitinen 4 | Build-Depends: debhelper (>= 4.0.0), autotools-dev 5 | Standards-Version: 3.6.2 6 | Section: libs 7 | 8 | Package: liblitesql-dev 9 | Section: libdevel 10 | Architecture: any 11 | Depends: liblitesql (= 0.3.4) 12 | Suggests: libpq-dev, libmysqlclient14-dev, libsqlite3-dev 13 | Description: C++ object-relational persistence framework - development files 14 | 15 | Package: liblitesql 16 | Section: libs 17 | Architecture: i386 18 | Suggests: libpq4, libmysqlclient14, libsqlite3-0 19 | Description: C++ object-relational persistence framework library 20 | -------------------------------------------------------------------------------- /debian/copyright: -------------------------------------------------------------------------------- 1 | This package was debianized by Tero Laitinen on 2 | Sun, 6 Nov 2005 15:23:49 +0200. 3 | 4 | It was downloaded from http://sourceforge.net/projects/litesql 5 | 6 | Copyright Holder: Tero Laitinen 7 | 8 | License: 9 | 10 | BSD-License 11 | 12 | Copyright (c) 2005, Tero Laitinen 13 | 14 | All rights reserved. 15 | 16 | Redistribution and use in source and binary forms, with or without 17 | modification, are permitted provided that the following conditions are 18 | met: 19 | 20 | - Redistributions of source code must retain the above copyright notice, 21 | this list of conditions and the following disclaimer. 22 | 23 | - Redistributions in binary form must reproduce the above copyright 24 | notice, this list of conditions and the following disclaimer in the 25 | documentation and/or other materials provided with the distribution. 26 | 27 | - Neither the name of the Tero Laitinen nor the names of its 28 | contributors may be used to endorse or promote products derived from 29 | this software without specific prior written permission. 30 | 31 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 32 | "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED 33 | TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A 34 | PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER 35 | OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, 36 | EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 37 | PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 38 | PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF 39 | LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 40 | NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 41 | SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 42 | 43 | -------------------------------------------------------------------------------- /debian/dirs: -------------------------------------------------------------------------------- 1 | usr/bin 2 | usr/sbin 3 | -------------------------------------------------------------------------------- /debian/docs: -------------------------------------------------------------------------------- 1 | README 2 | LICENSE 3 | -------------------------------------------------------------------------------- /debian/liblitesql-dev.dirs: -------------------------------------------------------------------------------- 1 | usr/include 2 | usr/include/litesql 3 | -------------------------------------------------------------------------------- /debian/liblitesql-dev.install: -------------------------------------------------------------------------------- 1 | usr/include/* 2 | usr/include/litesql/* 3 | usr/lib/pkgconfig/* 4 | usr/share/pkgconfig/* 5 | usr/lib/lib*.a 6 | usr/bin/litesql-gen 7 | -------------------------------------------------------------------------------- /debian/liblitesql.dirs: -------------------------------------------------------------------------------- 1 | usr/lib 2 | -------------------------------------------------------------------------------- /debian/liblitesql.install: -------------------------------------------------------------------------------- 1 | usr/lib/lib*.so* 2 | -------------------------------------------------------------------------------- /docs/Makefile.am: -------------------------------------------------------------------------------- 1 | # Recurse into subdirs for packaging, not compiling.... 2 | SUBDIRS = doxygen 3 | -------------------------------------------------------------------------------- /docs/doxygen/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | set(DOXYGEN_SKIP_DOT true) 2 | include(FindDoxygen) 3 | 4 | 5 | if(DOXYGEN_FOUND) 6 | get_source_file_property(DOXYFILE_IN doxygen.conf.in LOCATION) 7 | get_filename_component(srcdir ${DOXYFILE_IN} PATH) 8 | 9 | set(PACKAGE_VERSION ${PROJECT_VERSION}) 10 | set(DOXYGEN_OUTPUT_DIR ..) 11 | configure_file(doxygen.conf.in ${srcdir}/doxygen.conf @ONLY) 12 | 13 | add_custom_target( doc 14 | ${DOXYGEN_EXECUTABLE} doxygen.conf 15 | WORKING_DIRECTORY ${srcdir}) 16 | install(DIRECTORY ${srcdir}/../html 17 | DESTINATION doc 18 | COMPONENT "Documentation" 19 | PATTERN ".svn" EXCLUDE) 20 | else(DOXYGEN_FOUND) 21 | message("Doxygen not found, no documentation is generated") 22 | endif(DOXYGEN_FOUND) 23 | -------------------------------------------------------------------------------- /docs/doxygen/Makefile.am: -------------------------------------------------------------------------------- 1 | DOXYGEN_EXTRA_SOURCES = changes.txt contributors.txt cost.txt footer.html future.txt implementation.txt license.txt main.txt mysql_notes.txt usage_cursor.txt usage_database_create_drop.txt usage_defining_database.txt usage_selecting_persistents.txt usage_upcasting.txt usage_update_delete_persistents.txt usage_using_database.txt usage_using_relations.txt 2 | DOXYGEN_OUTPUT_SUBDIRS = @DOXYGEN_OUTPUT_SUBDIRS@ 3 | LITESQL_SHORTNAME = @PACKAGE_TARNAME@-@PACKAGE_VERSION@ 4 | 5 | EXTRA_DIST = $(DOXYGEN_EXTRA_SOURCES) $(DOXYGEN_OUTPUT_SUBDIRS) 6 | 7 | if HAVE_DOXYGEN 8 | 9 | DOXYGEN = @DOXYGEN@ 10 | BUILT_SOURCES = dummy0 11 | CLEANFILES = dummy0 12 | 13 | dummy0: doxygen.conf 14 | $(DOXYGEN) doxygen.conf && touch dummy0 15 | 16 | dist-hook: 17 | find $(distdir)/$(DOXYGEN_OUTPUT_SUBDIRS) -name \.svn 18 | rm -rf `find $(distdir)/$(DOXYGEN_OUTPUT_SUBDIRS) -name .svn` 19 | 20 | install-data-local: dummy0 21 | mkdir -p $(DESTDIR)$(datadir)/doc/$(LITESQL_SHORTNAME) && \ 22 | for d in $(DOXYGEN_OUTPUT_SUBDIRS) ;\ 23 | do \ 24 | cp -pr $$d $(DESTDIR)$(datadir)/doc/$(LITESQL_SHORTNAME) ;\ 25 | done 26 | 27 | uninstall-local: 28 | -rm -rf $(DESTDIR)$(datadir)/doc/$(LITESQL_SHORTNAME) 29 | 30 | clean-local: 31 | -for d in $(DOXYGEN_OUTPUT_SUBDIRS) ;\ 32 | do \ 33 | rm -rf $$d ;\ 34 | done 35 | 36 | endif 37 | 38 | -------------------------------------------------------------------------------- /docs/doxygen/contributors.txt: -------------------------------------------------------------------------------- 1 | /* LiteSQL - Documentation - Contributors 2 | * 3 | * By Tero Laitinen 4 | * 5 | * See LICENSE for copyright information. */ 6 | /* \file documentation.txt 7 | Manual */ 8 | /** \page contributors Contributors 9 | 10 | (in alphabetical order) 11 | 12 | Frank Landgraf 13 | - Added CMake support 14 | - Wrote fixes that add compatibility with Visual Studio Libraries 15 | 16 | Michel Loiseleur 17 | - Fixed memory leaks in transaction routines of all backends. 18 | 19 | Eric McDonald 20 | - Renoved autotools related files. 21 | - Wrote a lot of versioning and packaging improvements. 22 | 23 | Heiko Nardmann 24 | - Fixed compilation issues which prevented LiteSQL from compiling on GCC 4.x 25 | 26 | Axel Schmidt 27 | - Made LiteSQL compile with VC++ (fixed some related bugs). 28 | */ 29 | -------------------------------------------------------------------------------- /docs/doxygen/cost.txt: -------------------------------------------------------------------------------- 1 | /* LiteSQL - Documentation - Cost of Using LiteSQL 2 | * 3 | * By Tero Laitinen 4 | * 5 | * See LICENSE for copyright information. */ 6 | /* \file cost.txt 7 | Manual */ 8 | 9 | /** \page cost Cost of Using LiteSQL 10 | 11 | \section memoryoverhead Memory Overhead 12 | 13 | Extra variables in each Persistent object instance: 14 | - bool modified - flag in each field 15 | - bool oldID - flag (used to track id - changes) 16 | - bool inDatabase - flag 17 | - Database* - pointer 18 | 19 | \section performanceoverhead Performance Overhead 20 | 21 | - one INSERT-SQL statement is required per inherited Persistent-class (deep class inheritance hierarchies cost) 22 | - selection of objects needs joins 23 | 24 | \section codesizeoverhead Code Size Overhead 25 | 26 | As demonstrated in \ref implementation, code generator 27 | (litesql-gen) generates a lot of code. In addition to that, a part of that code 28 | uses templates which will produce even more code. 29 | 30 | This is rarely a problem but worth to note when memory is tight. 31 | */ 32 | 33 | -------------------------------------------------------------------------------- /docs/doxygen/footer.html: -------------------------------------------------------------------------------- 1 |
2 | SourceForge.net Logo 3 | 4 | -------------------------------------------------------------------------------- /docs/doxygen/future.txt: -------------------------------------------------------------------------------- 1 | /* LiteSQL - Documentation - Future 2 | * 3 | * By Tero Laitinen 4 | * 5 | * See LICENSE for copyright information. */ 6 | /* \file future.txt 7 | Manual */ 8 | 9 | /** \page future The Future 10 | 11 | The library is again under development and new features are being added. 12 | 13 | \section todolist Current "To Do"-List: 14 | - renovating litesql-gen and the library (changes in XML schema) 15 | - writing extensive unit testers 16 | - ensuring that library compiles on different platforms and compilers 17 | - documenting 18 | - methods for accessing information of objects, fields and relations run-time (reflectivity support) 19 | - support for backend specific options/optimizations (for example triggers, stored procedures, different storage engines) 20 | - chained relation handles: jack.children().friends().mother().get().all() 21 | - combined relation (objects): 22 | - select upcasted - method: selects group of objects and automatically upcasts them to correct type effectively (using select distinct type_ from X) 23 | - update-, delete- and persistent related methods for relation row objects 24 | - user defined field types (such as date, datetime, time - classes) 25 | - reset - feature to sqlite3 - backend (optimization) 26 | - Python-target, code generator and library 27 | */ 28 | 29 | -------------------------------------------------------------------------------- /docs/doxygen/license.txt: -------------------------------------------------------------------------------- 1 | /* LiteSQL - Documentation - License 2 | * 3 | * By Tero Laitinen 4 | * 5 | * See LICENSE for copyright information. */ 6 | /* \file documentation.txt 7 | Manual */ 8 | /** \page bsdlicense BSD-License 9 | 10 | LiteSQL is distributed under the terms of BSD-license stated below: 11 | 12 | Copyright (c) 2005, Tero Laitinen 13 | 14 | All rights reserved. 15 | 16 | Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 17 | 18 | - Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 19 | - Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. 20 | - Neither the name of the Tero Laitinen nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. 21 | 22 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 23 | */ 24 | -------------------------------------------------------------------------------- /docs/doxygen/mysql_notes.txt: -------------------------------------------------------------------------------- 1 | /* LiteSQL - Documentation - Mysql Specific Notes 2 | * 3 | * By Tero Laitinen 4 | * 5 | * See LICENSE for copyright information. */ 6 | /* \file mysql_notes.txt 7 | Manual */ 8 | 9 | /** \page mysql_notes MySQL specific notes 10 | 11 | MySQL - support is experimental. MySQL does not support SQL92 syntax 12 | completely. MySQL 4.1 is the first version that supports sub-selects and 13 | LiteSQL relies on sub-selects quite heavily in relation code. 14 | 15 | Also, MySQL 4.1 does not support INTERSECT and EXCEPT - set operations 16 | (intersect and except template functions cannot be used then). 17 | 18 | */ 19 | 20 | -------------------------------------------------------------------------------- /docs/doxygen/usage_cursor.txt: -------------------------------------------------------------------------------- 1 | /* LiteSQL - Documentation - Using Cursor 2 | * 3 | * By Tero Laitinen 4 | * 5 | * See LICENSE for copyright information. */ 6 | /* \file usage_cursor.txt 7 | Manual */ 8 | 9 | /** \page usage_cursor Using Cursor 10 | 11 | Often it is not necessary to fetch all objects to memory and then process them. 12 | Memory usage can be minimized using template class Cursor which returns one object at 13 | a time. 14 | 15 | Creating a cursor(two ways): 16 | \code 17 | Cursor cur1 = db.cursor(SelectQuery().result("id_").source("Person_")); 18 | Cursor cur2 = select(db).cursor(); 19 | \endcode 20 | 21 | Iterating through the result set: 22 | \code 23 | for (;!cur.rowsLeft(); cur++) 24 | cout << (*cur).name << endl; 25 | \endcode 26 | 27 | The remaining contents of the result set can be retrieved with dump-method: 28 | \code 29 | vector rest = cur.dump(); 30 | \endcode 31 | */ 32 | 33 | -------------------------------------------------------------------------------- /docs/doxygen/usage_database_create_drop.txt: -------------------------------------------------------------------------------- 1 | /*sLiteSQL - Documentathon 2 | * 3 | * By Tero Laitinen 4 | * 5 | * See LICENSE for copyright information. */ 6 | /* \file documentation.txt 7 | Manual */ 8 | 9 | /** \page usage_database_create_drop Creating and Dropping Database 10 | 11 | The code below defines a simple database: 12 | \code 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | \endcode 21 | 22 | The database file is created when PersonDatabase is constructed. First argument 23 | of constructor is requested backend. Other possibilities are "postgresql" 24 | and "mysql". Refer to class documentation for details. 25 | \code 26 | PersonDatabase db("sqlite3", "database=person.db"); 27 | \endcode 28 | 29 | The database has to be created before any Persistent - classes can be used. 30 | \code 31 | db.create(); 32 | \endcode 33 | 34 | The database can be dropped using drop() - method. 35 | \code 36 | db.drop(); 37 | \endcode 38 | 39 | Suppose the database schema has changed along with new features of the program. 40 | Few data fields has been added to Person-class and completely new 41 | Persistent-class House has been defined. To upgrade database on disk, use 42 | needsUpgrade() and upgrade() - methods. 43 | \code 44 | if (db.needsUpgrade()) 45 | db.upgrade(); 46 | \endcode 47 | 48 | If new fields has been added to classes, the upgrade operation may be quite 49 | costly. All backends do not support table modifications so records has 50 | to be copied forth and back. 51 | 52 | Upgrade routine will try to preserve data. It will drop fields that are not 53 | in new schema and insert NULL-values to new fields. 54 | 55 | */ 56 | -------------------------------------------------------------------------------- /docs/doxygen/usage_upcasting.txt: -------------------------------------------------------------------------------- 1 | /* LiteSQL - Documentation 2 | * 3 | * By Tero Laitinen 4 | * 5 | * See LICENSE for copyright information. */ 6 | /* \file usage_upcasting.txt 7 | Manual */ 8 | 9 | /** \page usage_upcasting Upcasting and Virtual Methods 10 | 11 | In order to support virtual methods a Persistent object must be upcasted to 12 | correct type before calling virtual method. 13 | 14 | upcast will return an auto_ptr which holds a pointer to an object 15 | of correct type. 16 | 17 | upcastCopy is similar to upcast. It does not select an object of correct type 18 | from database but just constructs it in memory. Note 19 | that constructed object does not have 20 | all of its fields. This method is suitable when virtual method to be called 21 | does not need any special fields. 22 | 23 | An example of upcast: 24 | \code 25 | Playable pl = select(db).one(); 26 | pl.upcast()->play(); 27 | \endcode 28 | 29 | An another example of upcast: 30 | \code 31 | Playable pl = select(db).one(); 32 | auto_ptr uc = pl.upcast(); 33 | cout << "Playing " << uc->name << endl; 34 | uc->play(); 35 | \endcode 36 | 37 | An example of upcastCopy: 38 | \code 39 | Playable pl = select(db).one(); 40 | pl.upcastCopy()->makeLogEntry(log); 41 | \endcode 42 | */ 43 | -------------------------------------------------------------------------------- /docs/doxygen/usage_update_delete_persistents.txt: -------------------------------------------------------------------------------- 1 | /* LiteSQL - Documentation 2 | * 3 | * By Tero Laitinen 4 | * 5 | * See LICENSE for copyright information. */ 6 | /* \file documentation.txt 7 | Manual */ 8 | 9 | /** \page usage_update_delete_persistents Storing and Deleting Persistents 10 | 11 | A simple Person database: 12 | \code 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | \endcode 22 | 23 | Following code demonstrates how to insert Persons to database: 24 | \code 25 | PersonDatabase db("sqlite3", "database=person.db"); // assumes the database has been created 26 | 27 | Person person(db); // construct Person, does not write anything to database 28 | 29 | person.name = "Bob"; // assign values to fields 30 | person.age = 20; 31 | person.update(); // writes a new record to database 32 | 33 | person.age = 21; // Bob got just older 34 | person.update(); // updates old record 35 | 36 | person.id = 100; // force internal identifier (id) to 100 37 | person.update(); // updates old record 38 | \endcode 39 | Note: if internal identifier (id-field) is changed, relations will not "follow" 40 | the object and will not be deleted either. If the object is not replaced with 41 | another object, relations should be manually dropped using delRelations-method. 42 | 43 | Following code demonstrates how to delete Persons from database: 44 | \code 45 | Person person = select(db).one(); // any Person will do 46 | 47 | person.del(); // person.onDelete() gets called before data is deleted 48 | \endcode 49 | */ 50 | 51 | -------------------------------------------------------------------------------- /docs/doxygen/usage_using_database.txt: -------------------------------------------------------------------------------- 1 | /* LiteSQL - Documentation 2 | * 3 | * By Tero Laitinen 4 | * 5 | * See LICENSE for copyright information. */ 6 | /* \file documentation.txt 7 | Manual */ 8 | /** \page usage_using_database Database API: raw queries 9 | 10 | If you prefer to access database using raw queries, use plain 11 | Database-class and query-method. 12 | 13 | escapeSQL-function can be used to escape illegal characters such as '. 14 | NULL is a special word and it has to be escaped by the user. 15 | 'NULL' maps to NULL and ''NULL'' to 'NULL' etc. 16 | 17 | Use Database::groupInsert - if you want to create rows with new integer 18 | as the first field. 19 | 20 | A query example: 21 | \code 22 | Database db("sqlite3", "database=test.db"); 23 | db.query("CREATE TABLE custom(value INTEGER);"); 24 | db.query("INSERT INTO custom VALUES (1)"); 25 | Records recs = db.query("SELECT * from custom"); 26 | for (Records::iterator i = recs.begin(); i != recs.end(); i++) 27 | cout << (*i)[0] << endl; 28 | \endcode 29 | */ 30 | -------------------------------------------------------------------------------- /docs/html/backend_8hpp__dep__incl.map: -------------------------------------------------------------------------------- 1 | base referer 2 | rect $cursor_8hpp-source.html 154,59 240,83 3 | rect $database_8hpp-source.html 289,110 390,134 4 | rect $litesql_8hpp-source.html 917,173 1000,197 5 | rect $persistent_8hpp-source.html 762,135 869,159 6 | rect $datasource_8hpp-source.html 440,159 554,183 7 | rect $operations_8hpp-source.html 604,159 713,183 8 | -------------------------------------------------------------------------------- /docs/html/backend_8hpp__dep__incl.md5: -------------------------------------------------------------------------------- 1 | 5f0197f9c18bbe76924d9d9418378aa2 -------------------------------------------------------------------------------- /docs/html/backend_8hpp__dep__incl.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kramdar/litesql/5aa506425d64f21bb9bb5bca05df7ef528cb01cc/docs/html/backend_8hpp__dep__incl.png -------------------------------------------------------------------------------- /docs/html/backend_8hpp__incl.map: -------------------------------------------------------------------------------- 1 | base referer 2 | rect $types_8hpp-source.html 154,133 272,157 3 | rect $utils_8hpp-source.html 493,157 602,181 4 | rect $except_8hpp-source.html 320,108 445,132 5 | rect $string_8hpp-source.html 652,109 769,133 6 | rect $split_8hpp-source.html 656,205 765,229 7 | -------------------------------------------------------------------------------- /docs/html/backend_8hpp__incl.md5: -------------------------------------------------------------------------------- 1 | 94bcd8384c35155ccda4e7df9fbf4e02 -------------------------------------------------------------------------------- /docs/html/backend_8hpp__incl.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kramdar/litesql/5aa506425d64f21bb9bb5bca05df7ef528cb01cc/docs/html/backend_8hpp__incl.png -------------------------------------------------------------------------------- /docs/html/classlitesql_1_1And__coll__graph.map: -------------------------------------------------------------------------------- 1 | base referer 2 | rect $classlitesql_1_1Connective.html 8,204 138,228 3 | rect $classlitesql_1_1Expr.html 28,100 118,124 4 | rect $classlitesql_1_1Split.html 29,9 117,33 5 | -------------------------------------------------------------------------------- /docs/html/classlitesql_1_1And__coll__graph.md5: -------------------------------------------------------------------------------- 1 | 2ca35cf5a92b40714e2af0d468c2c50c -------------------------------------------------------------------------------- /docs/html/classlitesql_1_1And__coll__graph.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kramdar/litesql/5aa506425d64f21bb9bb5bca05df7ef528cb01cc/docs/html/classlitesql_1_1And__coll__graph.png -------------------------------------------------------------------------------- /docs/html/classlitesql_1_1And__inherit__graph.map: -------------------------------------------------------------------------------- 1 | base referer 2 | rect $classlitesql_1_1Connective.html 8,84 138,108 3 | rect $classlitesql_1_1Expr.html 28,9 118,33 4 | -------------------------------------------------------------------------------- /docs/html/classlitesql_1_1And__inherit__graph.md5: -------------------------------------------------------------------------------- 1 | 808321c8b121e9474bc93fd848c0e9e8 -------------------------------------------------------------------------------- /docs/html/classlitesql_1_1And__inherit__graph.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kramdar/litesql/5aa506425d64f21bb9bb5bca05df7ef528cb01cc/docs/html/classlitesql_1_1And__inherit__graph.png -------------------------------------------------------------------------------- /docs/html/classlitesql_1_1Connective__coll__graph.map: -------------------------------------------------------------------------------- 1 | base referer 2 | rect $classlitesql_1_1Expr.html 28,99 118,123 3 | rect $classlitesql_1_1Split.html 29,9 117,33 4 | -------------------------------------------------------------------------------- /docs/html/classlitesql_1_1Connective__coll__graph.md5: -------------------------------------------------------------------------------- 1 | 900de93d11e94f985c4a18bd4c9535e4 -------------------------------------------------------------------------------- /docs/html/classlitesql_1_1Connective__coll__graph.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kramdar/litesql/5aa506425d64f21bb9bb5bca05df7ef528cb01cc/docs/html/classlitesql_1_1Connective__coll__graph.png -------------------------------------------------------------------------------- /docs/html/classlitesql_1_1Connective__inherit__graph.map: -------------------------------------------------------------------------------- 1 | base referer 2 | rect $classlitesql_1_1And.html 7,158 95,182 3 | rect $classlitesql_1_1Or.html 119,158 197,182 4 | rect $classlitesql_1_1Expr.html 59,9 150,33 5 | -------------------------------------------------------------------------------- /docs/html/classlitesql_1_1Connective__inherit__graph.md5: -------------------------------------------------------------------------------- 1 | d3e22bfccfde0454baac17609fa13c99 -------------------------------------------------------------------------------- /docs/html/classlitesql_1_1Connective__inherit__graph.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kramdar/litesql/5aa506425d64f21bb9bb5bca05df7ef528cb01cc/docs/html/classlitesql_1_1Connective__inherit__graph.png -------------------------------------------------------------------------------- /docs/html/classlitesql_1_1Cursor__coll__graph.map: -------------------------------------------------------------------------------- 1 | base referer 2 | rect $classlitesql_1_1Database.html 7,100 127,124 3 | rect $classlitesql_1_1Backend.html 10,9 125,33 4 | rect $classlitesql_1_1Record.html 151,100 258,124 5 | rect $classlitesql_1_1Backend_1_1Cursor.html 282,100 445,124 6 | -------------------------------------------------------------------------------- /docs/html/classlitesql_1_1Cursor__coll__graph.md5: -------------------------------------------------------------------------------- 1 | c0b8db1d5301198197009c5c6fce553f -------------------------------------------------------------------------------- /docs/html/classlitesql_1_1Cursor__coll__graph.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kramdar/litesql/5aa506425d64f21bb9bb5bca05df7ef528cb01cc/docs/html/classlitesql_1_1Cursor__coll__graph.png -------------------------------------------------------------------------------- /docs/html/classlitesql_1_1DataSource__coll__graph.map: -------------------------------------------------------------------------------- 1 | base referer 2 | rect $classlitesql_1_1Database.html 8,142 128,166 3 | rect $classlitesql_1_1Backend.html 10,9 125,33 4 | rect $classlitesql_1_1SelectQuery.html 152,142 288,166 5 | rect $classlitesql_1_1Split.html 176,9 264,33 6 | -------------------------------------------------------------------------------- /docs/html/classlitesql_1_1DataSource__coll__graph.md5: -------------------------------------------------------------------------------- 1 | 5748595d3b7b8c152b9908a481cd4f2a -------------------------------------------------------------------------------- /docs/html/classlitesql_1_1DataSource__coll__graph.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kramdar/litesql/5aa506425d64f21bb9bb5bca05df7ef528cb01cc/docs/html/classlitesql_1_1DataSource__coll__graph.png -------------------------------------------------------------------------------- /docs/html/classlitesql_1_1DatabaseError__coll__graph.map: -------------------------------------------------------------------------------- 1 | base referer 2 | rect $classlitesql_1_1Except.html 30,9 134,33 3 | -------------------------------------------------------------------------------- /docs/html/classlitesql_1_1DatabaseError__coll__graph.md5: -------------------------------------------------------------------------------- 1 | 6d11a6c9603c3b18a4f890c990806c34 -------------------------------------------------------------------------------- /docs/html/classlitesql_1_1DatabaseError__coll__graph.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kramdar/litesql/5aa506425d64f21bb9bb5bca05df7ef528cb01cc/docs/html/classlitesql_1_1DatabaseError__coll__graph.png -------------------------------------------------------------------------------- /docs/html/classlitesql_1_1DatabaseError__inherit__graph.map: -------------------------------------------------------------------------------- 1 | base referer 2 | rect $classlitesql_1_1Except.html 30,9 134,33 3 | -------------------------------------------------------------------------------- /docs/html/classlitesql_1_1DatabaseError__inherit__graph.md5: -------------------------------------------------------------------------------- 1 | 6d11a6c9603c3b18a4f890c990806c34 -------------------------------------------------------------------------------- /docs/html/classlitesql_1_1DatabaseError__inherit__graph.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kramdar/litesql/5aa506425d64f21bb9bb5bca05df7ef528cb01cc/docs/html/classlitesql_1_1DatabaseError__inherit__graph.png -------------------------------------------------------------------------------- /docs/html/classlitesql_1_1Database__coll__graph.map: -------------------------------------------------------------------------------- 1 | base referer 2 | rect $classlitesql_1_1Backend.html 10,9 125,33 3 | -------------------------------------------------------------------------------- /docs/html/classlitesql_1_1Database__coll__graph.md5: -------------------------------------------------------------------------------- 1 | b26b780ec3b089a0dbf1653b12386e69 -------------------------------------------------------------------------------- /docs/html/classlitesql_1_1Database__coll__graph.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kramdar/litesql/5aa506425d64f21bb9bb5bca05df7ef528cb01cc/docs/html/classlitesql_1_1Database__coll__graph.png -------------------------------------------------------------------------------- /docs/html/classlitesql_1_1Eq__coll__graph.map: -------------------------------------------------------------------------------- 1 | base referer 2 | rect $classlitesql_1_1Oper.html 7,177 101,201 3 | rect $classlitesql_1_1Expr.html 9,100 99,124 4 | rect $classlitesql_1_1Split.html 10,9 98,33 5 | -------------------------------------------------------------------------------- /docs/html/classlitesql_1_1Eq__coll__graph.md5: -------------------------------------------------------------------------------- 1 | 239cda6be7c69eb12829179a35ccc01c -------------------------------------------------------------------------------- /docs/html/classlitesql_1_1Eq__coll__graph.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kramdar/litesql/5aa506425d64f21bb9bb5bca05df7ef528cb01cc/docs/html/classlitesql_1_1Eq__coll__graph.png -------------------------------------------------------------------------------- /docs/html/classlitesql_1_1Eq__inherit__graph.map: -------------------------------------------------------------------------------- 1 | base referer 2 | rect $classlitesql_1_1Oper.html 7,84 101,108 3 | rect $classlitesql_1_1Expr.html 9,9 99,33 4 | -------------------------------------------------------------------------------- /docs/html/classlitesql_1_1Eq__inherit__graph.md5: -------------------------------------------------------------------------------- 1 | b37869fd39dcac62e7a32fed2d3e564e -------------------------------------------------------------------------------- /docs/html/classlitesql_1_1Eq__inherit__graph.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kramdar/litesql/5aa506425d64f21bb9bb5bca05df7ef528cb01cc/docs/html/classlitesql_1_1Eq__inherit__graph.png -------------------------------------------------------------------------------- /docs/html/classlitesql_1_1Except__inherit__graph.map: -------------------------------------------------------------------------------- 1 | base referer 2 | rect $classlitesql_1_1DatabaseError.html 164,8 313,32 3 | rect $classlitesql_1_1InsertionError.html 166,56 310,80 4 | rect $classlitesql_1_1InternalError.html 169,104 308,128 5 | rect $classlitesql_1_1MemoryError.html 168,152 309,176 6 | rect $classlitesql_1_1NotFound.html 177,200 300,224 7 | rect $classlitesql_1_1SQLError.html 178,248 298,272 8 | rect $classlitesql_1_1UnknownError.html 164,296 313,320 9 | -------------------------------------------------------------------------------- /docs/html/classlitesql_1_1Except__inherit__graph.md5: -------------------------------------------------------------------------------- 1 | 5cff5a301977eba95384a17952045041 -------------------------------------------------------------------------------- /docs/html/classlitesql_1_1Except__inherit__graph.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kramdar/litesql/5aa506425d64f21bb9bb5bca05df7ef528cb01cc/docs/html/classlitesql_1_1Except__inherit__graph.png -------------------------------------------------------------------------------- /docs/html/classlitesql_1_1Expr__coll__graph.map: -------------------------------------------------------------------------------- 1 | base referer 2 | rect $classlitesql_1_1Split.html 9,9 97,33 3 | -------------------------------------------------------------------------------- /docs/html/classlitesql_1_1Expr__coll__graph.md5: -------------------------------------------------------------------------------- 1 | 8e6f7c04246e832e70a2614c6042d7ba -------------------------------------------------------------------------------- /docs/html/classlitesql_1_1Expr__coll__graph.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kramdar/litesql/5aa506425d64f21bb9bb5bca05df7ef528cb01cc/docs/html/classlitesql_1_1Expr__coll__graph.png -------------------------------------------------------------------------------- /docs/html/classlitesql_1_1Expr__inherit__graph.map: -------------------------------------------------------------------------------- 1 | base referer 2 | rect $classlitesql_1_1Connective.html 8,83 138,107 3 | rect $classlitesql_1_1Not.html 162,83 245,107 4 | rect $classlitesql_1_1Oper.html 269,83 362,107 5 | rect $classlitesql_1_1RawExpr.html 386,83 504,107 6 | -------------------------------------------------------------------------------- /docs/html/classlitesql_1_1Expr__inherit__graph.md5: -------------------------------------------------------------------------------- 1 | 2ebf16bc991aa257ee6a4d6f9090ace3 -------------------------------------------------------------------------------- /docs/html/classlitesql_1_1Expr__inherit__graph.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kramdar/litesql/5aa506425d64f21bb9bb5bca05df7ef528cb01cc/docs/html/classlitesql_1_1Expr__inherit__graph.png -------------------------------------------------------------------------------- /docs/html/classlitesql_1_1Field__coll__graph.map: -------------------------------------------------------------------------------- 1 | base referer 2 | -------------------------------------------------------------------------------- /docs/html/classlitesql_1_1Field__coll__graph.md5: -------------------------------------------------------------------------------- 1 | 5a36286a49854faf6a685b2199708e90 -------------------------------------------------------------------------------- /docs/html/classlitesql_1_1Field__coll__graph.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kramdar/litesql/5aa506425d64f21bb9bb5bca05df7ef528cb01cc/docs/html/classlitesql_1_1Field__coll__graph.png -------------------------------------------------------------------------------- /docs/html/classlitesql_1_1GtEq__coll__graph.map: -------------------------------------------------------------------------------- 1 | base referer 2 | rect $classlitesql_1_1Oper.html 7,177 101,201 3 | rect $classlitesql_1_1Expr.html 9,100 99,124 4 | rect $classlitesql_1_1Split.html 10,9 98,33 5 | -------------------------------------------------------------------------------- /docs/html/classlitesql_1_1GtEq__coll__graph.md5: -------------------------------------------------------------------------------- 1 | 55c7c5ddbd4c4566bae099e1f5173fb4 -------------------------------------------------------------------------------- /docs/html/classlitesql_1_1GtEq__coll__graph.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kramdar/litesql/5aa506425d64f21bb9bb5bca05df7ef528cb01cc/docs/html/classlitesql_1_1GtEq__coll__graph.png -------------------------------------------------------------------------------- /docs/html/classlitesql_1_1GtEq__inherit__graph.map: -------------------------------------------------------------------------------- 1 | base referer 2 | rect $classlitesql_1_1Oper.html 7,84 101,108 3 | rect $classlitesql_1_1Expr.html 9,9 99,33 4 | -------------------------------------------------------------------------------- /docs/html/classlitesql_1_1GtEq__inherit__graph.md5: -------------------------------------------------------------------------------- 1 | 77de2f28657e345529e5c78f65dae878 -------------------------------------------------------------------------------- /docs/html/classlitesql_1_1GtEq__inherit__graph.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kramdar/litesql/5aa506425d64f21bb9bb5bca05df7ef528cb01cc/docs/html/classlitesql_1_1GtEq__inherit__graph.png -------------------------------------------------------------------------------- /docs/html/classlitesql_1_1Gt__coll__graph.map: -------------------------------------------------------------------------------- 1 | base referer 2 | rect $classlitesql_1_1Oper.html 7,177 101,201 3 | rect $classlitesql_1_1Expr.html 9,100 99,124 4 | rect $classlitesql_1_1Split.html 10,9 98,33 5 | -------------------------------------------------------------------------------- /docs/html/classlitesql_1_1Gt__coll__graph.md5: -------------------------------------------------------------------------------- 1 | ead946f347fbdf0691ee2c4e916801d0 -------------------------------------------------------------------------------- /docs/html/classlitesql_1_1Gt__coll__graph.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kramdar/litesql/5aa506425d64f21bb9bb5bca05df7ef528cb01cc/docs/html/classlitesql_1_1Gt__coll__graph.png -------------------------------------------------------------------------------- /docs/html/classlitesql_1_1Gt__inherit__graph.map: -------------------------------------------------------------------------------- 1 | base referer 2 | rect $classlitesql_1_1Oper.html 7,84 101,108 3 | rect $classlitesql_1_1Expr.html 9,9 99,33 4 | -------------------------------------------------------------------------------- /docs/html/classlitesql_1_1Gt__inherit__graph.md5: -------------------------------------------------------------------------------- 1 | 7ff46e0db97413dbf932d0d7f97c905f -------------------------------------------------------------------------------- /docs/html/classlitesql_1_1Gt__inherit__graph.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kramdar/litesql/5aa506425d64f21bb9bb5bca05df7ef528cb01cc/docs/html/classlitesql_1_1Gt__inherit__graph.png -------------------------------------------------------------------------------- /docs/html/classlitesql_1_1In__coll__graph.map: -------------------------------------------------------------------------------- 1 | base referer 2 | rect $classlitesql_1_1Oper.html 7,177 101,201 3 | rect $classlitesql_1_1Expr.html 9,100 99,124 4 | rect $classlitesql_1_1Split.html 10,9 98,33 5 | -------------------------------------------------------------------------------- /docs/html/classlitesql_1_1In__coll__graph.md5: -------------------------------------------------------------------------------- 1 | 4a866252cc0e87eb47c3510b33d355ea -------------------------------------------------------------------------------- /docs/html/classlitesql_1_1In__coll__graph.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kramdar/litesql/5aa506425d64f21bb9bb5bca05df7ef528cb01cc/docs/html/classlitesql_1_1In__coll__graph.png -------------------------------------------------------------------------------- /docs/html/classlitesql_1_1In__inherit__graph.map: -------------------------------------------------------------------------------- 1 | base referer 2 | rect $classlitesql_1_1Oper.html 7,84 101,108 3 | rect $classlitesql_1_1Expr.html 9,9 99,33 4 | -------------------------------------------------------------------------------- /docs/html/classlitesql_1_1In__inherit__graph.md5: -------------------------------------------------------------------------------- 1 | d70e531e91a7e7521cee9eb7b205900e -------------------------------------------------------------------------------- /docs/html/classlitesql_1_1In__inherit__graph.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kramdar/litesql/5aa506425d64f21bb9bb5bca05df7ef528cb01cc/docs/html/classlitesql_1_1In__inherit__graph.png -------------------------------------------------------------------------------- /docs/html/classlitesql_1_1InsertionError__coll__graph.map: -------------------------------------------------------------------------------- 1 | base referer 2 | rect $classlitesql_1_1Except.html 28,9 132,33 3 | -------------------------------------------------------------------------------- /docs/html/classlitesql_1_1InsertionError__coll__graph.md5: -------------------------------------------------------------------------------- 1 | 161ea28a574839c7b33629ab26bbd13c -------------------------------------------------------------------------------- /docs/html/classlitesql_1_1InsertionError__coll__graph.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kramdar/litesql/5aa506425d64f21bb9bb5bca05df7ef528cb01cc/docs/html/classlitesql_1_1InsertionError__coll__graph.png -------------------------------------------------------------------------------- /docs/html/classlitesql_1_1InsertionError__inherit__graph.map: -------------------------------------------------------------------------------- 1 | base referer 2 | rect $classlitesql_1_1Except.html 28,9 132,33 3 | -------------------------------------------------------------------------------- /docs/html/classlitesql_1_1InsertionError__inherit__graph.md5: -------------------------------------------------------------------------------- 1 | 161ea28a574839c7b33629ab26bbd13c -------------------------------------------------------------------------------- /docs/html/classlitesql_1_1InsertionError__inherit__graph.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kramdar/litesql/5aa506425d64f21bb9bb5bca05df7ef528cb01cc/docs/html/classlitesql_1_1InsertionError__inherit__graph.png -------------------------------------------------------------------------------- /docs/html/classlitesql_1_1InternalError__coll__graph.map: -------------------------------------------------------------------------------- 1 | base referer 2 | rect $classlitesql_1_1Except.html 25,9 129,33 3 | -------------------------------------------------------------------------------- /docs/html/classlitesql_1_1InternalError__coll__graph.md5: -------------------------------------------------------------------------------- 1 | a67b8675c254d51e517b54861734ac36 -------------------------------------------------------------------------------- /docs/html/classlitesql_1_1InternalError__coll__graph.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kramdar/litesql/5aa506425d64f21bb9bb5bca05df7ef528cb01cc/docs/html/classlitesql_1_1InternalError__coll__graph.png -------------------------------------------------------------------------------- /docs/html/classlitesql_1_1InternalError__inherit__graph.map: -------------------------------------------------------------------------------- 1 | base referer 2 | rect $classlitesql_1_1Except.html 25,9 129,33 3 | -------------------------------------------------------------------------------- /docs/html/classlitesql_1_1InternalError__inherit__graph.md5: -------------------------------------------------------------------------------- 1 | a67b8675c254d51e517b54861734ac36 -------------------------------------------------------------------------------- /docs/html/classlitesql_1_1InternalError__inherit__graph.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kramdar/litesql/5aa506425d64f21bb9bb5bca05df7ef528cb01cc/docs/html/classlitesql_1_1InternalError__inherit__graph.png -------------------------------------------------------------------------------- /docs/html/classlitesql_1_1Like__coll__graph.map: -------------------------------------------------------------------------------- 1 | base referer 2 | rect $classlitesql_1_1Oper.html 7,177 101,201 3 | rect $classlitesql_1_1Expr.html 9,100 99,124 4 | rect $classlitesql_1_1Split.html 10,9 98,33 5 | -------------------------------------------------------------------------------- /docs/html/classlitesql_1_1Like__coll__graph.md5: -------------------------------------------------------------------------------- 1 | 2c2e263f8784b8ee2e1051f897b80f30 -------------------------------------------------------------------------------- /docs/html/classlitesql_1_1Like__coll__graph.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kramdar/litesql/5aa506425d64f21bb9bb5bca05df7ef528cb01cc/docs/html/classlitesql_1_1Like__coll__graph.png -------------------------------------------------------------------------------- /docs/html/classlitesql_1_1Like__inherit__graph.map: -------------------------------------------------------------------------------- 1 | base referer 2 | rect $classlitesql_1_1Oper.html 7,84 101,108 3 | rect $classlitesql_1_1Expr.html 9,9 99,33 4 | -------------------------------------------------------------------------------- /docs/html/classlitesql_1_1Like__inherit__graph.md5: -------------------------------------------------------------------------------- 1 | a5ee204e066b8e6413f791ed8fd09e60 -------------------------------------------------------------------------------- /docs/html/classlitesql_1_1Like__inherit__graph.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kramdar/litesql/5aa506425d64f21bb9bb5bca05df7ef528cb01cc/docs/html/classlitesql_1_1Like__inherit__graph.png -------------------------------------------------------------------------------- /docs/html/classlitesql_1_1LtEq__coll__graph.map: -------------------------------------------------------------------------------- 1 | base referer 2 | rect $classlitesql_1_1Oper.html 7,177 101,201 3 | rect $classlitesql_1_1Expr.html 9,100 99,124 4 | rect $classlitesql_1_1Split.html 10,9 98,33 5 | -------------------------------------------------------------------------------- /docs/html/classlitesql_1_1LtEq__coll__graph.md5: -------------------------------------------------------------------------------- 1 | 55928c1c4d856a9537eb4985fb9b1178 -------------------------------------------------------------------------------- /docs/html/classlitesql_1_1LtEq__coll__graph.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kramdar/litesql/5aa506425d64f21bb9bb5bca05df7ef528cb01cc/docs/html/classlitesql_1_1LtEq__coll__graph.png -------------------------------------------------------------------------------- /docs/html/classlitesql_1_1LtEq__inherit__graph.map: -------------------------------------------------------------------------------- 1 | base referer 2 | rect $classlitesql_1_1Oper.html 7,84 101,108 3 | rect $classlitesql_1_1Expr.html 9,9 99,33 4 | -------------------------------------------------------------------------------- /docs/html/classlitesql_1_1LtEq__inherit__graph.md5: -------------------------------------------------------------------------------- 1 | da50859116c6f4ff183e57af5700af42 -------------------------------------------------------------------------------- /docs/html/classlitesql_1_1LtEq__inherit__graph.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kramdar/litesql/5aa506425d64f21bb9bb5bca05df7ef528cb01cc/docs/html/classlitesql_1_1LtEq__inherit__graph.png -------------------------------------------------------------------------------- /docs/html/classlitesql_1_1Lt__coll__graph.map: -------------------------------------------------------------------------------- 1 | base referer 2 | rect $classlitesql_1_1Oper.html 7,177 101,201 3 | rect $classlitesql_1_1Expr.html 9,100 99,124 4 | rect $classlitesql_1_1Split.html 10,9 98,33 5 | -------------------------------------------------------------------------------- /docs/html/classlitesql_1_1Lt__coll__graph.md5: -------------------------------------------------------------------------------- 1 | 2d552b04bb87104979fda40c0da3b86b -------------------------------------------------------------------------------- /docs/html/classlitesql_1_1Lt__coll__graph.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kramdar/litesql/5aa506425d64f21bb9bb5bca05df7ef528cb01cc/docs/html/classlitesql_1_1Lt__coll__graph.png -------------------------------------------------------------------------------- /docs/html/classlitesql_1_1Lt__inherit__graph.map: -------------------------------------------------------------------------------- 1 | base referer 2 | rect $classlitesql_1_1Oper.html 7,84 101,108 3 | rect $classlitesql_1_1Expr.html 9,9 99,33 4 | -------------------------------------------------------------------------------- /docs/html/classlitesql_1_1Lt__inherit__graph.md5: -------------------------------------------------------------------------------- 1 | 2b610c4e5e16d9532e840ca816d9d36d -------------------------------------------------------------------------------- /docs/html/classlitesql_1_1Lt__inherit__graph.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kramdar/litesql/5aa506425d64f21bb9bb5bca05df7ef528cb01cc/docs/html/classlitesql_1_1Lt__inherit__graph.png -------------------------------------------------------------------------------- /docs/html/classlitesql_1_1MemoryError__coll__graph.map: -------------------------------------------------------------------------------- 1 | base referer 2 | rect $classlitesql_1_1Except.html 26,9 130,33 3 | -------------------------------------------------------------------------------- /docs/html/classlitesql_1_1MemoryError__coll__graph.md5: -------------------------------------------------------------------------------- 1 | 8801a0d15b732a331a7cd1740f548ae1 -------------------------------------------------------------------------------- /docs/html/classlitesql_1_1MemoryError__coll__graph.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kramdar/litesql/5aa506425d64f21bb9bb5bca05df7ef528cb01cc/docs/html/classlitesql_1_1MemoryError__coll__graph.png -------------------------------------------------------------------------------- /docs/html/classlitesql_1_1MemoryError__inherit__graph.map: -------------------------------------------------------------------------------- 1 | base referer 2 | rect $classlitesql_1_1Except.html 26,9 130,33 3 | -------------------------------------------------------------------------------- /docs/html/classlitesql_1_1MemoryError__inherit__graph.md5: -------------------------------------------------------------------------------- 1 | 8801a0d15b732a331a7cd1740f548ae1 -------------------------------------------------------------------------------- /docs/html/classlitesql_1_1MemoryError__inherit__graph.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kramdar/litesql/5aa506425d64f21bb9bb5bca05df7ef528cb01cc/docs/html/classlitesql_1_1MemoryError__inherit__graph.png -------------------------------------------------------------------------------- /docs/html/classlitesql_1_1NotEq__coll__graph.map: -------------------------------------------------------------------------------- 1 | base referer 2 | rect $classlitesql_1_1Oper.html 11,177 105,201 3 | rect $classlitesql_1_1Expr.html 13,100 103,124 4 | rect $classlitesql_1_1Split.html 14,9 102,33 5 | -------------------------------------------------------------------------------- /docs/html/classlitesql_1_1NotEq__coll__graph.md5: -------------------------------------------------------------------------------- 1 | 3a50147831c2c130698ee0a3b6139801 -------------------------------------------------------------------------------- /docs/html/classlitesql_1_1NotEq__coll__graph.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kramdar/litesql/5aa506425d64f21bb9bb5bca05df7ef528cb01cc/docs/html/classlitesql_1_1NotEq__coll__graph.png -------------------------------------------------------------------------------- /docs/html/classlitesql_1_1NotEq__inherit__graph.map: -------------------------------------------------------------------------------- 1 | base referer 2 | rect $classlitesql_1_1Oper.html 11,84 105,108 3 | rect $classlitesql_1_1Expr.html 13,9 103,33 4 | -------------------------------------------------------------------------------- /docs/html/classlitesql_1_1NotEq__inherit__graph.md5: -------------------------------------------------------------------------------- 1 | 55f308e691868d44190409dcb73885c6 -------------------------------------------------------------------------------- /docs/html/classlitesql_1_1NotEq__inherit__graph.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kramdar/litesql/5aa506425d64f21bb9bb5bca05df7ef528cb01cc/docs/html/classlitesql_1_1NotEq__inherit__graph.png -------------------------------------------------------------------------------- /docs/html/classlitesql_1_1NotFound__coll__graph.map: -------------------------------------------------------------------------------- 1 | base referer 2 | rect $classlitesql_1_1Except.html 17,9 121,33 3 | -------------------------------------------------------------------------------- /docs/html/classlitesql_1_1NotFound__coll__graph.md5: -------------------------------------------------------------------------------- 1 | 55257db74e1abaa0af3af89953577acc -------------------------------------------------------------------------------- /docs/html/classlitesql_1_1NotFound__coll__graph.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kramdar/litesql/5aa506425d64f21bb9bb5bca05df7ef528cb01cc/docs/html/classlitesql_1_1NotFound__coll__graph.png -------------------------------------------------------------------------------- /docs/html/classlitesql_1_1NotFound__inherit__graph.map: -------------------------------------------------------------------------------- 1 | base referer 2 | rect $classlitesql_1_1Except.html 17,9 121,33 3 | -------------------------------------------------------------------------------- /docs/html/classlitesql_1_1NotFound__inherit__graph.md5: -------------------------------------------------------------------------------- 1 | 55257db74e1abaa0af3af89953577acc -------------------------------------------------------------------------------- /docs/html/classlitesql_1_1NotFound__inherit__graph.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kramdar/litesql/5aa506425d64f21bb9bb5bca05df7ef528cb01cc/docs/html/classlitesql_1_1NotFound__inherit__graph.png -------------------------------------------------------------------------------- /docs/html/classlitesql_1_1Not__coll__graph.map: -------------------------------------------------------------------------------- 1 | base referer 2 | rect $classlitesql_1_1Expr.html 8,100 98,124 3 | rect $classlitesql_1_1Split.html 9,9 97,33 4 | -------------------------------------------------------------------------------- /docs/html/classlitesql_1_1Not__coll__graph.md5: -------------------------------------------------------------------------------- 1 | 7818394dccac1847d665b3561c050423 -------------------------------------------------------------------------------- /docs/html/classlitesql_1_1Not__coll__graph.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kramdar/litesql/5aa506425d64f21bb9bb5bca05df7ef528cb01cc/docs/html/classlitesql_1_1Not__coll__graph.png -------------------------------------------------------------------------------- /docs/html/classlitesql_1_1Not__inherit__graph.map: -------------------------------------------------------------------------------- 1 | base referer 2 | rect $classlitesql_1_1Expr.html 8,9 98,33 3 | -------------------------------------------------------------------------------- /docs/html/classlitesql_1_1Not__inherit__graph.md5: -------------------------------------------------------------------------------- 1 | 586c11c062a60d37248adf9dee2948ca -------------------------------------------------------------------------------- /docs/html/classlitesql_1_1Not__inherit__graph.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kramdar/litesql/5aa506425d64f21bb9bb5bca05df7ef528cb01cc/docs/html/classlitesql_1_1Not__inherit__graph.png -------------------------------------------------------------------------------- /docs/html/classlitesql_1_1Oper__coll__graph.map: -------------------------------------------------------------------------------- 1 | base referer 2 | rect $classlitesql_1_1Expr.html 9,100 99,124 3 | rect $classlitesql_1_1Split.html 10,9 98,33 4 | -------------------------------------------------------------------------------- /docs/html/classlitesql_1_1Oper__coll__graph.md5: -------------------------------------------------------------------------------- 1 | 95904741df17fd6405ec0030f9015bfb -------------------------------------------------------------------------------- /docs/html/classlitesql_1_1Oper__coll__graph.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kramdar/litesql/5aa506425d64f21bb9bb5bca05df7ef528cb01cc/docs/html/classlitesql_1_1Oper__coll__graph.png -------------------------------------------------------------------------------- /docs/html/classlitesql_1_1Oper__inherit__graph.map: -------------------------------------------------------------------------------- 1 | base referer 2 | rect $classlitesql_1_1Eq.html 8,158 88,182 3 | rect $classlitesql_1_1Gt.html 112,158 189,182 4 | rect $classlitesql_1_1GtEq.html 213,158 306,182 5 | rect $classlitesql_1_1In.html 330,158 405,182 6 | rect $classlitesql_1_1Like.html 429,158 517,182 7 | rect $classlitesql_1_1Lt.html 541,158 616,182 8 | rect $classlitesql_1_1LtEq.html 640,158 730,182 9 | rect $classlitesql_1_1NotEq.html 754,158 856,182 10 | rect $classlitesql_1_1Expr.html 374,9 465,33 11 | -------------------------------------------------------------------------------- /docs/html/classlitesql_1_1Oper__inherit__graph.md5: -------------------------------------------------------------------------------- 1 | f899798b7e806116c4f21071eadb80b5 -------------------------------------------------------------------------------- /docs/html/classlitesql_1_1Oper__inherit__graph.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kramdar/litesql/5aa506425d64f21bb9bb5bca05df7ef528cb01cc/docs/html/classlitesql_1_1Oper__inherit__graph.png -------------------------------------------------------------------------------- /docs/html/classlitesql_1_1Or__coll__graph.map: -------------------------------------------------------------------------------- 1 | base referer 2 | rect $classlitesql_1_1Connective.html 8,204 138,228 3 | rect $classlitesql_1_1Expr.html 28,100 118,124 4 | rect $classlitesql_1_1Split.html 29,9 117,33 5 | -------------------------------------------------------------------------------- /docs/html/classlitesql_1_1Or__coll__graph.md5: -------------------------------------------------------------------------------- 1 | e7871d819ffda8f454ea251db6607ddb -------------------------------------------------------------------------------- /docs/html/classlitesql_1_1Or__coll__graph.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kramdar/litesql/5aa506425d64f21bb9bb5bca05df7ef528cb01cc/docs/html/classlitesql_1_1Or__coll__graph.png -------------------------------------------------------------------------------- /docs/html/classlitesql_1_1Or__inherit__graph.map: -------------------------------------------------------------------------------- 1 | base referer 2 | rect $classlitesql_1_1Connective.html 8,84 138,108 3 | rect $classlitesql_1_1Expr.html 28,9 118,33 4 | -------------------------------------------------------------------------------- /docs/html/classlitesql_1_1Or__inherit__graph.md5: -------------------------------------------------------------------------------- 1 | b2e8c0ed0ad3f8ef360edc943a26cede -------------------------------------------------------------------------------- /docs/html/classlitesql_1_1Or__inherit__graph.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kramdar/litesql/5aa506425d64f21bb9bb5bca05df7ef528cb01cc/docs/html/classlitesql_1_1Or__inherit__graph.png -------------------------------------------------------------------------------- /docs/html/classlitesql_1_1Persistent__coll__graph.map: -------------------------------------------------------------------------------- 1 | base referer 2 | rect $classlitesql_1_1Database.html 9,100 129,124 3 | rect $classlitesql_1_1Backend.html 12,9 126,33 4 | -------------------------------------------------------------------------------- /docs/html/classlitesql_1_1Persistent__coll__graph.md5: -------------------------------------------------------------------------------- 1 | 202f8238ae11bba946154951df35b733 -------------------------------------------------------------------------------- /docs/html/classlitesql_1_1Persistent__coll__graph.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kramdar/litesql/5aa506425d64f21bb9bb5bca05df7ef528cb01cc/docs/html/classlitesql_1_1Persistent__coll__graph.png -------------------------------------------------------------------------------- /docs/html/classlitesql_1_1RawExpr__coll__graph.map: -------------------------------------------------------------------------------- 1 | base referer 2 | rect $classlitesql_1_1Expr.html 21,100 111,124 3 | rect $classlitesql_1_1Split.html 22,9 110,33 4 | -------------------------------------------------------------------------------- /docs/html/classlitesql_1_1RawExpr__coll__graph.md5: -------------------------------------------------------------------------------- 1 | f177fcf56c4e2cf4117c95382ba534fe -------------------------------------------------------------------------------- /docs/html/classlitesql_1_1RawExpr__coll__graph.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kramdar/litesql/5aa506425d64f21bb9bb5bca05df7ef528cb01cc/docs/html/classlitesql_1_1RawExpr__coll__graph.png -------------------------------------------------------------------------------- /docs/html/classlitesql_1_1RawExpr__inherit__graph.map: -------------------------------------------------------------------------------- 1 | base referer 2 | rect $classlitesql_1_1Expr.html 21,9 111,33 3 | -------------------------------------------------------------------------------- /docs/html/classlitesql_1_1RawExpr__inherit__graph.md5: -------------------------------------------------------------------------------- 1 | 7607f5c047485be89b6f5076374fd7ec -------------------------------------------------------------------------------- /docs/html/classlitesql_1_1RawExpr__inherit__graph.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kramdar/litesql/5aa506425d64f21bb9bb5bca05df7ef528cb01cc/docs/html/classlitesql_1_1RawExpr__inherit__graph.png -------------------------------------------------------------------------------- /docs/html/classlitesql_1_1RelationHandle__coll__graph.map: -------------------------------------------------------------------------------- 1 | base referer 2 | -------------------------------------------------------------------------------- /docs/html/classlitesql_1_1RelationHandle__coll__graph.md5: -------------------------------------------------------------------------------- 1 | 3fe5e2e869ce1f33ac6e45ab96b6f521 -------------------------------------------------------------------------------- /docs/html/classlitesql_1_1RelationHandle__coll__graph.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kramdar/litesql/5aa506425d64f21bb9bb5bca05df7ef528cb01cc/docs/html/classlitesql_1_1RelationHandle__coll__graph.png -------------------------------------------------------------------------------- /docs/html/classlitesql_1_1SQLError__coll__graph.map: -------------------------------------------------------------------------------- 1 | base referer 2 | rect $classlitesql_1_1Except.html 16,9 120,33 3 | -------------------------------------------------------------------------------- /docs/html/classlitesql_1_1SQLError__coll__graph.md5: -------------------------------------------------------------------------------- 1 | 2432f740aa4e474942be7415e2f8a3bf -------------------------------------------------------------------------------- /docs/html/classlitesql_1_1SQLError__coll__graph.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kramdar/litesql/5aa506425d64f21bb9bb5bca05df7ef528cb01cc/docs/html/classlitesql_1_1SQLError__coll__graph.png -------------------------------------------------------------------------------- /docs/html/classlitesql_1_1SQLError__inherit__graph.map: -------------------------------------------------------------------------------- 1 | base referer 2 | rect $classlitesql_1_1Except.html 16,9 120,33 3 | -------------------------------------------------------------------------------- /docs/html/classlitesql_1_1SQLError__inherit__graph.md5: -------------------------------------------------------------------------------- 1 | 2432f740aa4e474942be7415e2f8a3bf -------------------------------------------------------------------------------- /docs/html/classlitesql_1_1SQLError__inherit__graph.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kramdar/litesql/5aa506425d64f21bb9bb5bca05df7ef528cb01cc/docs/html/classlitesql_1_1SQLError__inherit__graph.png -------------------------------------------------------------------------------- /docs/html/classlitesql_1_1SelectQuery__coll__graph.map: -------------------------------------------------------------------------------- 1 | base referer 2 | rect $classlitesql_1_1Split.html 32,9 120,33 3 | -------------------------------------------------------------------------------- /docs/html/classlitesql_1_1SelectQuery__coll__graph.md5: -------------------------------------------------------------------------------- 1 | 041a72d7af6e61747fdc95a3880df970 -------------------------------------------------------------------------------- /docs/html/classlitesql_1_1SelectQuery__coll__graph.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kramdar/litesql/5aa506425d64f21bb9bb5bca05df7ef528cb01cc/docs/html/classlitesql_1_1SelectQuery__coll__graph.png -------------------------------------------------------------------------------- /docs/html/classlitesql_1_1UnknownError__coll__graph.map: -------------------------------------------------------------------------------- 1 | base referer 2 | rect $classlitesql_1_1Except.html 30,9 134,33 3 | -------------------------------------------------------------------------------- /docs/html/classlitesql_1_1UnknownError__coll__graph.md5: -------------------------------------------------------------------------------- 1 | c67dcb461bc91920cce4bd054eef3cc3 -------------------------------------------------------------------------------- /docs/html/classlitesql_1_1UnknownError__coll__graph.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kramdar/litesql/5aa506425d64f21bb9bb5bca05df7ef528cb01cc/docs/html/classlitesql_1_1UnknownError__coll__graph.png -------------------------------------------------------------------------------- /docs/html/classlitesql_1_1UnknownError__inherit__graph.map: -------------------------------------------------------------------------------- 1 | base referer 2 | rect $classlitesql_1_1Except.html 30,9 134,33 3 | -------------------------------------------------------------------------------- /docs/html/classlitesql_1_1UnknownError__inherit__graph.md5: -------------------------------------------------------------------------------- 1 | c67dcb461bc91920cce4bd054eef3cc3 -------------------------------------------------------------------------------- /docs/html/classlitesql_1_1UnknownError__inherit__graph.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kramdar/litesql/5aa506425d64f21bb9bb5bca05df7ef528cb01cc/docs/html/classlitesql_1_1UnknownError__inherit__graph.png -------------------------------------------------------------------------------- /docs/html/contributors.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | LiteSQL: Contributors 4 | 5 | 6 | 7 | 8 | 19 |
20 |

Contributors

(in alphabetical order)

21 | Michel Loiseleur

    22 |
  • Fixed memory leaks in transaction routines of all backends.
23 |

24 | Eric McDonald

    25 |
  • Renoved autotools related files.
  • Wrote a lot of versioning and packaging improvements.
26 |

27 | Heiko Nardmann

    28 |
  • Fixed compilation issues which prevented LiteSQL from compiling on GCC 4.x
29 |

30 | Axel Schmidt

    31 |
  • Made LiteSQL compile with VC++ (fixed some related bugs).
32 |
33 |
34 | SourceForge.net Logo 35 | 36 | -------------------------------------------------------------------------------- /docs/html/cost.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | LiteSQL: Cost of Using LiteSQL 4 | 5 | 6 | 7 | 8 | 19 |
20 |

Cost of Using LiteSQL

21 | Memory Overhead

22 | Extra variables in each Persistent object instance:
    23 |
  • bool modified - flag in each field
  • bool oldID - flag (used to track id - changes)
  • bool inDatabase - flag
  • Database* - pointer
24 |

25 | Performance Overhead

26 |
    27 |
  • one INSERT-SQL statement is required per inherited Persistent-class (deep class inheritance hierarchies cost)
  • selection of objects needs joins
28 |

29 | Code Size Overhead

30 | As demonstrated in Implementation Details, code generator (litesql-gen) generates a lot of code. In addition to that, a part of that code uses templates which will produce even more code.

31 | This is rarely a problem but worth to note when memory is tight.

32 |
33 | SourceForge.net Logo 34 | 35 | -------------------------------------------------------------------------------- /docs/html/cursor_8hpp__dep__incl.map: -------------------------------------------------------------------------------- 1 | base referer 2 | rect $litesql_8hpp-source.html 770,85 853,109 3 | rect $database_8hpp-source.html 142,135 243,159 4 | rect $persistent_8hpp-source.html 615,183 722,207 5 | rect $datasource_8hpp-source.html 293,135 407,159 6 | rect $operations_8hpp-source.html 457,159 566,183 7 | -------------------------------------------------------------------------------- /docs/html/cursor_8hpp__dep__incl.md5: -------------------------------------------------------------------------------- 1 | 5088941c395b0c5d710fbfee5ff2ab1c -------------------------------------------------------------------------------- /docs/html/cursor_8hpp__dep__incl.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kramdar/litesql/5aa506425d64f21bb9bb5bca05df7ef528cb01cc/docs/html/cursor_8hpp__dep__incl.png -------------------------------------------------------------------------------- /docs/html/cursor_8hpp__incl.map: -------------------------------------------------------------------------------- 1 | base referer 2 | rect $types_8hpp-source.html 325,82 442,106 3 | rect $backend_8hpp-source.html 141,130 277,154 4 | rect $utils_8hpp-source.html 663,130 773,154 5 | rect $except_8hpp-source.html 490,106 615,130 6 | -------------------------------------------------------------------------------- /docs/html/cursor_8hpp__incl.md5: -------------------------------------------------------------------------------- 1 | 97c197d137567912c45100a41328b9a4 -------------------------------------------------------------------------------- /docs/html/cursor_8hpp__incl.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kramdar/litesql/5aa506425d64f21bb9bb5bca05df7ef528cb01cc/docs/html/cursor_8hpp__incl.png -------------------------------------------------------------------------------- /docs/html/database_8hpp__dep__incl.map: -------------------------------------------------------------------------------- 1 | base referer 2 | rect $litesql_8hpp-source.html 637,60 720,84 3 | rect $datasource_8hpp-source.html 160,85 274,109 4 | rect $persistent_8hpp-source.html 482,109 589,133 5 | rect $operations_8hpp-source.html 324,109 433,133 6 | -------------------------------------------------------------------------------- /docs/html/database_8hpp__dep__incl.md5: -------------------------------------------------------------------------------- 1 | c1976024518b3dbcd50f658e8597c9b8 -------------------------------------------------------------------------------- /docs/html/database_8hpp__dep__incl.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kramdar/litesql/5aa506425d64f21bb9bb5bca05df7ef528cb01cc/docs/html/database_8hpp__dep__incl.png -------------------------------------------------------------------------------- /docs/html/database_8hpp__incl.map: -------------------------------------------------------------------------------- 1 | base referer 2 | rect $types_8hpp-source.html 538,135 656,159 3 | rect $expr_8hpp-source.html 541,310 653,334 4 | rect $backend_8hpp-source.html 354,233 490,257 5 | rect $mysql_8hpp-source.html 173,381 293,405 6 | rect $postgresql_8hpp-source.html 160,429 306,453 7 | rect $sqlite3_8hpp-source.html 172,477 294,501 8 | rect $cursor_8hpp-source.html 172,183 294,207 9 | rect $utils_8hpp-source.html 877,209 986,233 10 | rect $except_8hpp-source.html 704,109 829,133 11 | rect $field_8hpp-source.html 712,359 821,383 12 | -------------------------------------------------------------------------------- /docs/html/database_8hpp__incl.md5: -------------------------------------------------------------------------------- 1 | 2d9c908505de0e2c6d77f9d770415ca7 -------------------------------------------------------------------------------- /docs/html/database_8hpp__incl.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kramdar/litesql/5aa506425d64f21bb9bb5bca05df7ef528cb01cc/docs/html/database_8hpp__incl.png -------------------------------------------------------------------------------- /docs/html/datasource_8hpp__dep__incl.map: -------------------------------------------------------------------------------- 1 | base referer 2 | rect $litesql_8hpp-source.html 485,34 568,58 3 | rect $operations_8hpp-source.html 172,58 281,82 4 | rect $persistent_8hpp-source.html 330,58 437,82 5 | -------------------------------------------------------------------------------- /docs/html/datasource_8hpp__dep__incl.md5: -------------------------------------------------------------------------------- 1 | 150eabebfb904975198f168a4dd35539 -------------------------------------------------------------------------------- /docs/html/datasource_8hpp__dep__incl.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kramdar/litesql/5aa506425d64f21bb9bb5bca05df7ef528cb01cc/docs/html/datasource_8hpp__dep__incl.png -------------------------------------------------------------------------------- /docs/html/datasource_8hpp__incl.map: -------------------------------------------------------------------------------- 1 | base referer 2 | rect $database_8hpp-source.html 178,254 317,278 3 | rect $expr_8hpp-source.html 390,450 502,474 4 | rect $selectquery_8hpp-source.html 170,450 325,474 5 | rect $types_8hpp-source.html 752,349 869,373 6 | rect $backend_8hpp-source.html 568,299 704,323 7 | rect $mysql_8hpp-source.html 386,157 506,181 8 | rect $postgresql_8hpp-source.html 373,205 520,229 9 | rect $sqlite3_8hpp-source.html 385,303 508,327 10 | rect $cursor_8hpp-source.html 385,351 508,375 11 | rect $utils_8hpp-source.html 917,501 1026,525 12 | -------------------------------------------------------------------------------- /docs/html/datasource_8hpp__incl.md5: -------------------------------------------------------------------------------- 1 | 6dd229d596009d3cb97836f74c7ecd0c -------------------------------------------------------------------------------- /docs/html/datasource_8hpp__incl.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kramdar/litesql/5aa506425d64f21bb9bb5bca05df7ef528cb01cc/docs/html/datasource_8hpp__incl.png -------------------------------------------------------------------------------- /docs/html/datetime_8hpp__dep__incl.map: -------------------------------------------------------------------------------- 1 | base referer 2 | rect $litesql_8hpp-source.html 154,8 237,32 3 | -------------------------------------------------------------------------------- /docs/html/datetime_8hpp__dep__incl.md5: -------------------------------------------------------------------------------- 1 | bc2fd1dbb4656d6dac45eba3853d839a -------------------------------------------------------------------------------- /docs/html/datetime_8hpp__dep__incl.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kramdar/litesql/5aa506425d64f21bb9bb5bca05df7ef528cb01cc/docs/html/datetime_8hpp__dep__incl.png -------------------------------------------------------------------------------- /docs/html/datetime_8hpp__incl.map: -------------------------------------------------------------------------------- 1 | base referer 2 | rect $field_8hpp-source.html 154,104 226,128 3 | rect $string_8hpp-source.html 276,202 393,226 4 | -------------------------------------------------------------------------------- /docs/html/datetime_8hpp__incl.md5: -------------------------------------------------------------------------------- 1 | db62b28bd71e87d1305097036bd5a5f5 -------------------------------------------------------------------------------- /docs/html/datetime_8hpp__incl.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kramdar/litesql/5aa506425d64f21bb9bb5bca05df7ef528cb01cc/docs/html/datetime_8hpp__incl.png -------------------------------------------------------------------------------- /docs/html/dir__2Fhome_2Ftero_2Fsf_2Enet_2Flitesql_2Finclude_2F_dep.map: -------------------------------------------------------------------------------- 1 | base referer 2 | rect dir__2Fhome_2Ftero_2Fsf_2Enet_2Flitesql_2Finclude_2Flitesql_2F.html 29,136 101,184 3 | rect dir_000002_000003.html 69,110 77,124 4 | rect dir_000002_000003.html 61,132 69,140 5 | rect dir__2Fhome_2Ftero_2Fsf_2Enet_2Flitesql_2Finclude_2F.html 18,18 112,194 6 | -------------------------------------------------------------------------------- /docs/html/dir__2Fhome_2Ftero_2Fsf_2Enet_2Flitesql_2Finclude_2F_dep.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kramdar/litesql/5aa506425d64f21bb9bb5bca05df7ef528cb01cc/docs/html/dir__2Fhome_2Ftero_2Fsf_2Enet_2Flitesql_2Finclude_2F_dep.png -------------------------------------------------------------------------------- /docs/html/dir__2Fhome_2Ftero_2Fsf_2Enet_2Flitesql_2Finclude_2Flitesql_2F_dep.map: -------------------------------------------------------------------------------- 1 | base referer 2 | rect dir__2Fhome_2Ftero_2Fsf_2Enet_2Flitesql_2Finclude_2Flitesql_2F.html 29,54 101,102 3 | rect dir__2Fhome_2Ftero_2Fsf_2Enet_2Flitesql_2Finclude_2F.html 18,18 112,113 4 | -------------------------------------------------------------------------------- /docs/html/dir__2Fhome_2Ftero_2Fsf_2Enet_2Flitesql_2Finclude_2Flitesql_2F_dep.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kramdar/litesql/5aa506425d64f21bb9bb5bca05df7ef528cb01cc/docs/html/dir__2Fhome_2Ftero_2Fsf_2Enet_2Flitesql_2Finclude_2Flitesql_2F_dep.png -------------------------------------------------------------------------------- /docs/html/dir__2Fhome_2Ftero_2Fsf_2Enet_2Flitesql_2Fsrc_2F_dep.map: -------------------------------------------------------------------------------- 1 | base referer 2 | rect dir__2Fhome_2Ftero_2Fsf_2Enet_2Flitesql_2Fsrc_2Flibrary_2F.html 29,40 101,88 3 | rect dir__2Fhome_2Ftero_2Fsf_2Enet_2Flitesql_2Finclude_2F.html 29,136 101,184 4 | rect dir_000001_000002.html 66,110 80,124 5 | rect dir_000001_000002.html 61,132 69,140 6 | rect dir__2Fhome_2Ftero_2Fsf_2Enet_2Flitesql_2Fsrc_2F.html 18,18 208,98 7 | -------------------------------------------------------------------------------- /docs/html/dir__2Fhome_2Ftero_2Fsf_2Enet_2Flitesql_2Fsrc_2F_dep.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kramdar/litesql/5aa506425d64f21bb9bb5bca05df7ef528cb01cc/docs/html/dir__2Fhome_2Ftero_2Fsf_2Enet_2Flitesql_2Fsrc_2F_dep.png -------------------------------------------------------------------------------- /docs/html/dir__2Fhome_2Ftero_2Fsf_2Enet_2Flitesql_2Fsrc_2Flibrary_2F_dep.map: -------------------------------------------------------------------------------- 1 | base referer 2 | rect dir__2Fhome_2Ftero_2Fsf_2Enet_2Flitesql_2Fsrc_2Flibrary_2F.html 29,54 101,102 3 | rect dir__2Fhome_2Ftero_2Fsf_2Enet_2Flitesql_2Finclude_2F.html 29,150 101,198 4 | rect dir_000001_000002.html 66,125 80,138 5 | rect dir_000001_000002.html 61,146 69,154 6 | rect dir__2Fhome_2Ftero_2Fsf_2Enet_2Flitesql_2Fsrc_2F.html 18,18 112,113 7 | -------------------------------------------------------------------------------- /docs/html/dir__2Fhome_2Ftero_2Fsf_2Enet_2Flitesql_2Fsrc_2Flibrary_2F_dep.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kramdar/litesql/5aa506425d64f21bb9bb5bca05df7ef528cb01cc/docs/html/dir__2Fhome_2Ftero_2Fsf_2Enet_2Flitesql_2Fsrc_2Flibrary_2F_dep.png -------------------------------------------------------------------------------- /docs/html/dirs.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | LiteSQL: Directory Hierarchy 4 | 5 | 6 | 7 | 8 | 19 |
20 |

Directories

This directory hierarchy is sorted roughly, but not completely, alphabetically: 30 |
31 |
32 | SourceForge.net Logo 33 | 34 | -------------------------------------------------------------------------------- /docs/html/doxygen.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kramdar/litesql/5aa506425d64f21bb9bb5bca05df7ef528cb01cc/docs/html/doxygen.png -------------------------------------------------------------------------------- /docs/html/exampledatabase.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kramdar/litesql/5aa506425d64f21bb9bb5bca05df7ef528cb01cc/docs/html/exampledatabase.png -------------------------------------------------------------------------------- /docs/html/except_8hpp__dep__incl.map: -------------------------------------------------------------------------------- 1 | base referer 2 | rect $types_8hpp-source.html 143,110 223,134 3 | rect $litesql_8hpp-source.html 866,133 949,157 4 | rect $cursor_8hpp-source.html 418,160 503,184 5 | rect $database_8hpp-source.html 553,106 654,130 6 | rect $backend_8hpp-source.html 271,110 370,134 7 | rect $persistent_8hpp-source.html 707,157 814,181 8 | rect $datasource_8hpp-source.html 703,109 818,133 9 | -------------------------------------------------------------------------------- /docs/html/except_8hpp__dep__incl.md5: -------------------------------------------------------------------------------- 1 | d3043305612f74018296c2f6bc2fc053 -------------------------------------------------------------------------------- /docs/html/except_8hpp__dep__incl.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kramdar/litesql/5aa506425d64f21bb9bb5bca05df7ef528cb01cc/docs/html/except_8hpp__dep__incl.png -------------------------------------------------------------------------------- /docs/html/except_8hpp__incl.map: -------------------------------------------------------------------------------- 1 | base referer 2 | rect $utils_8hpp-source.html 144,130 253,154 3 | rect $string_8hpp-source.html 302,106 420,130 4 | rect $split_8hpp-source.html 306,154 416,178 5 | -------------------------------------------------------------------------------- /docs/html/except_8hpp__incl.md5: -------------------------------------------------------------------------------- 1 | d3cd61a52cee242d5dbedb59c64f7d15 -------------------------------------------------------------------------------- /docs/html/except_8hpp__incl.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kramdar/litesql/5aa506425d64f21bb9bb5bca05df7ef528cb01cc/docs/html/except_8hpp__incl.png -------------------------------------------------------------------------------- /docs/html/expr_8hpp__dep__incl.map: -------------------------------------------------------------------------------- 1 | base referer 2 | rect $database_8hpp-source.html 141,161 242,185 3 | rect $litesql_8hpp-source.html 778,186 861,210 4 | rect $datasource_8hpp-source.html 301,210 415,234 5 | rect $persistent_8hpp-source.html 623,186 730,210 6 | rect $selectquery_8hpp-source.html 134,260 249,284 7 | rect $updatequery_8hpp-source.html 130,308 253,332 8 | rect $operations_8hpp-source.html 465,210 574,234 9 | -------------------------------------------------------------------------------- /docs/html/expr_8hpp__dep__incl.md5: -------------------------------------------------------------------------------- 1 | 7d659a9c902bb6cec1781968f02fab8b -------------------------------------------------------------------------------- /docs/html/expr_8hpp__dep__incl.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kramdar/litesql/5aa506425d64f21bb9bb5bca05df7ef528cb01cc/docs/html/expr_8hpp__dep__incl.png -------------------------------------------------------------------------------- /docs/html/expr_8hpp__incl.map: -------------------------------------------------------------------------------- 1 | base referer 2 | rect $utils_8hpp-source.html 132,156 241,180 3 | rect $field_8hpp-source.html 132,230 241,254 4 | rect $string_8hpp-source.html 292,205 409,229 5 | rect $split_8hpp-source.html 296,106 405,130 6 | -------------------------------------------------------------------------------- /docs/html/expr_8hpp__incl.md5: -------------------------------------------------------------------------------- 1 | 2b4ed58b9209a3a14d4c94c088e06f68 -------------------------------------------------------------------------------- /docs/html/expr_8hpp__incl.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kramdar/litesql/5aa506425d64f21bb9bb5bca05df7ef528cb01cc/docs/html/expr_8hpp__incl.png -------------------------------------------------------------------------------- /docs/html/field_8hpp__dep__incl.map: -------------------------------------------------------------------------------- 1 | base referer 2 | rect $datetime_8hpp-source.html 429,9 527,33 3 | rect $expr_8hpp-source.html 127,162 202,186 4 | rect $litesql_8hpp-source.html 898,161 981,185 5 | rect $database_8hpp-source.html 261,114 362,138 6 | rect $datasource_8hpp-source.html 421,262 535,286 7 | rect $persistent_8hpp-source.html 743,211 850,235 8 | rect $selectquery_8hpp-source.html 254,335 369,359 9 | rect $updatequery_8hpp-source.html 250,162 373,186 10 | rect $operations_8hpp-source.html 585,261 694,285 11 | -------------------------------------------------------------------------------- /docs/html/field_8hpp__dep__incl.md5: -------------------------------------------------------------------------------- 1 | b969f08866e5f4f75ec47f17ad582e84 -------------------------------------------------------------------------------- /docs/html/field_8hpp__dep__incl.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kramdar/litesql/5aa506425d64f21bb9bb5bca05df7ef528cb01cc/docs/html/field_8hpp__dep__incl.png -------------------------------------------------------------------------------- /docs/html/field_8hpp__incl.map: -------------------------------------------------------------------------------- 1 | base referer 2 | rect $string_8hpp-source.html 129,202 246,226 3 | -------------------------------------------------------------------------------- /docs/html/field_8hpp__incl.md5: -------------------------------------------------------------------------------- 1 | 602cb78ac1cd8866029f935776cdb503 -------------------------------------------------------------------------------- /docs/html/field_8hpp__incl.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kramdar/litesql/5aa506425d64f21bb9bb5bca05df7ef528cb01cc/docs/html/field_8hpp__incl.png -------------------------------------------------------------------------------- /docs/html/future.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | LiteSQL: The Future 4 | 5 | 6 | 7 | 8 | 19 |
20 |

The Future

The library is now in testing and no new features will be added until a stable version is reached.

21 | Current "To Do"-List:

22 |
    23 |
  • writing extensive unit testers
  • ensuring that library compiles on different platforms and compilers
  • documenting
24 |
25 |
26 | SourceForge.net Logo 27 | 28 | -------------------------------------------------------------------------------- /docs/html/graph_legend.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kramdar/litesql/5aa506425d64f21bb9bb5bca05df7ef528cb01cc/docs/html/graph_legend.png -------------------------------------------------------------------------------- /docs/html/inherit__graph__0.map: -------------------------------------------------------------------------------- 1 | base referer 2 | rect $classlitesql_1_1Backend.html 9,8 123,32 3 | -------------------------------------------------------------------------------- /docs/html/inherit__graph__0.md5: -------------------------------------------------------------------------------- 1 | 01be013f60181f1a704181caf109aa55 -------------------------------------------------------------------------------- /docs/html/inherit__graph__0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kramdar/litesql/5aa506425d64f21bb9bb5bca05df7ef528cb01cc/docs/html/inherit__graph__0.png -------------------------------------------------------------------------------- /docs/html/inherit__graph__1.map: -------------------------------------------------------------------------------- 1 | base referer 2 | rect $classlitesql_1_1Backend_1_1Cursor.html 8,8 170,32 3 | -------------------------------------------------------------------------------- /docs/html/inherit__graph__1.md5: -------------------------------------------------------------------------------- 1 | 955662c54afcbefb239443599b5db051 -------------------------------------------------------------------------------- /docs/html/inherit__graph__1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kramdar/litesql/5aa506425d64f21bb9bb5bca05df7ef528cb01cc/docs/html/inherit__graph__1.png -------------------------------------------------------------------------------- /docs/html/inherit__graph__10.map: -------------------------------------------------------------------------------- 1 | base referer 2 | rect $classlitesql_1_1Field.html 8,8 130,32 3 | -------------------------------------------------------------------------------- /docs/html/inherit__graph__10.md5: -------------------------------------------------------------------------------- 1 | fc2a67b9bfcc25cd8c6d29501be385e3 -------------------------------------------------------------------------------- /docs/html/inherit__graph__10.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kramdar/litesql/5aa506425d64f21bb9bb5bca05df7ef528cb01cc/docs/html/inherit__graph__10.png -------------------------------------------------------------------------------- /docs/html/inherit__graph__11.map: -------------------------------------------------------------------------------- 1 | base referer 2 | rect $classlitesql_1_1Persistent.html 8,8 130,32 3 | -------------------------------------------------------------------------------- /docs/html/inherit__graph__11.md5: -------------------------------------------------------------------------------- 1 | d90ab4d322949d7a32e90225dbf76fd7 -------------------------------------------------------------------------------- /docs/html/inherit__graph__11.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kramdar/litesql/5aa506425d64f21bb9bb5bca05df7ef528cb01cc/docs/html/inherit__graph__11.png -------------------------------------------------------------------------------- /docs/html/inherit__graph__12.map: -------------------------------------------------------------------------------- 1 | base referer 2 | rect $classlitesql_1_1Record.html 8,8 114,32 3 | -------------------------------------------------------------------------------- /docs/html/inherit__graph__12.md5: -------------------------------------------------------------------------------- 1 | 7fa3b8810319f74d85fe0ed0d110f631 -------------------------------------------------------------------------------- /docs/html/inherit__graph__12.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kramdar/litesql/5aa506425d64f21bb9bb5bca05df7ef528cb01cc/docs/html/inherit__graph__12.png -------------------------------------------------------------------------------- /docs/html/inherit__graph__13.map: -------------------------------------------------------------------------------- 1 | base referer 2 | rect $classlitesql_1_1RelationHandle.html 9,8 193,32 3 | -------------------------------------------------------------------------------- /docs/html/inherit__graph__13.md5: -------------------------------------------------------------------------------- 1 | b16ad9d13e4e3f66da3690f457f0ca4f -------------------------------------------------------------------------------- /docs/html/inherit__graph__13.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kramdar/litesql/5aa506425d64f21bb9bb5bca05df7ef528cb01cc/docs/html/inherit__graph__13.png -------------------------------------------------------------------------------- /docs/html/inherit__graph__14.map: -------------------------------------------------------------------------------- 1 | base referer 2 | rect $classlitesql_1_1SelectQuery.html 9,8 145,32 3 | -------------------------------------------------------------------------------- /docs/html/inherit__graph__14.md5: -------------------------------------------------------------------------------- 1 | 284e0e498c320444c1ce4adbe34e6c9a -------------------------------------------------------------------------------- /docs/html/inherit__graph__14.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kramdar/litesql/5aa506425d64f21bb9bb5bca05df7ef528cb01cc/docs/html/inherit__graph__14.png -------------------------------------------------------------------------------- /docs/html/inherit__graph__15.map: -------------------------------------------------------------------------------- 1 | base referer 2 | rect $classlitesql_1_1Split.html 9,8 97,32 3 | -------------------------------------------------------------------------------- /docs/html/inherit__graph__15.md5: -------------------------------------------------------------------------------- 1 | 0e38b8de9beb5b0c805580437940d1a3 -------------------------------------------------------------------------------- /docs/html/inherit__graph__15.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kramdar/litesql/5aa506425d64f21bb9bb5bca05df7ef528cb01cc/docs/html/inherit__graph__15.png -------------------------------------------------------------------------------- /docs/html/inherit__graph__16.map: -------------------------------------------------------------------------------- 1 | base referer 2 | rect $classlitesql_1_1Time.html 7,8 101,32 3 | -------------------------------------------------------------------------------- /docs/html/inherit__graph__16.md5: -------------------------------------------------------------------------------- 1 | 3dffe82d7276d8489a525e851c932916 -------------------------------------------------------------------------------- /docs/html/inherit__graph__16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kramdar/litesql/5aa506425d64f21bb9bb5bca05df7ef528cb01cc/docs/html/inherit__graph__16.png -------------------------------------------------------------------------------- /docs/html/inherit__graph__2.map: -------------------------------------------------------------------------------- 1 | base referer 2 | rect $classlitesql_1_1Cursor.html 9,8 142,32 3 | -------------------------------------------------------------------------------- /docs/html/inherit__graph__2.md5: -------------------------------------------------------------------------------- 1 | 4d30437752004af0562cee209a753a3c -------------------------------------------------------------------------------- /docs/html/inherit__graph__2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kramdar/litesql/5aa506425d64f21bb9bb5bca05df7ef528cb01cc/docs/html/inherit__graph__2.png -------------------------------------------------------------------------------- /docs/html/inherit__graph__3.map: -------------------------------------------------------------------------------- 1 | base referer 2 | rect $classlitesql_1_1Database.html 9,8 129,32 3 | -------------------------------------------------------------------------------- /docs/html/inherit__graph__3.md5: -------------------------------------------------------------------------------- 1 | 4b92add2558edda0657bfca8d2ac858a -------------------------------------------------------------------------------- /docs/html/inherit__graph__3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kramdar/litesql/5aa506425d64f21bb9bb5bca05df7ef528cb01cc/docs/html/inherit__graph__3.png -------------------------------------------------------------------------------- /docs/html/inherit__graph__4.map: -------------------------------------------------------------------------------- 1 | base referer 2 | rect $classlitesql_1_1Database_1_1SchemaItem.html 9,8 211,32 3 | -------------------------------------------------------------------------------- /docs/html/inherit__graph__4.md5: -------------------------------------------------------------------------------- 1 | 66b0321ddef4da541c4640a42ab3717a -------------------------------------------------------------------------------- /docs/html/inherit__graph__4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kramdar/litesql/5aa506425d64f21bb9bb5bca05df7ef528cb01cc/docs/html/inherit__graph__4.png -------------------------------------------------------------------------------- /docs/html/inherit__graph__5.map: -------------------------------------------------------------------------------- 1 | base referer 2 | rect $classlitesql_1_1DataSource.html 7,8 173,32 3 | -------------------------------------------------------------------------------- /docs/html/inherit__graph__5.md5: -------------------------------------------------------------------------------- 1 | 1631948c93d83695adca8bdbb6cb950c -------------------------------------------------------------------------------- /docs/html/inherit__graph__5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kramdar/litesql/5aa506425d64f21bb9bb5bca05df7ef528cb01cc/docs/html/inherit__graph__5.png -------------------------------------------------------------------------------- /docs/html/inherit__graph__6.map: -------------------------------------------------------------------------------- 1 | base referer 2 | rect $classlitesql_1_1Date.html 9,8 99,32 3 | -------------------------------------------------------------------------------- /docs/html/inherit__graph__6.md5: -------------------------------------------------------------------------------- 1 | fef797a8b7e00811ea003a351ed250b7 -------------------------------------------------------------------------------- /docs/html/inherit__graph__6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kramdar/litesql/5aa506425d64f21bb9bb5bca05df7ef528cb01cc/docs/html/inherit__graph__6.png -------------------------------------------------------------------------------- /docs/html/inherit__graph__7.map: -------------------------------------------------------------------------------- 1 | base referer 2 | rect $classlitesql_1_1DateTime.html 9,8 129,32 3 | -------------------------------------------------------------------------------- /docs/html/inherit__graph__7.md5: -------------------------------------------------------------------------------- 1 | 0f58e1626ebb24c67fa34a5218d99a83 -------------------------------------------------------------------------------- /docs/html/inherit__graph__7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kramdar/litesql/5aa506425d64f21bb9bb5bca05df7ef528cb01cc/docs/html/inherit__graph__7.png -------------------------------------------------------------------------------- /docs/html/inherit__graph__8.map: -------------------------------------------------------------------------------- 1 | base referer 2 | rect $classlitesql_1_1Except.html 9,152 113,176 3 | rect $classlitesql_1_1DatabaseError.html 164,8 313,32 4 | rect $classlitesql_1_1InsertionError.html 166,56 310,80 5 | rect $classlitesql_1_1InternalError.html 169,104 308,128 6 | rect $classlitesql_1_1MemoryError.html 168,152 309,176 7 | rect $classlitesql_1_1NotFound.html 177,200 300,224 8 | rect $classlitesql_1_1SQLError.html 178,248 298,272 9 | rect $classlitesql_1_1UnknownError.html 164,296 313,320 10 | -------------------------------------------------------------------------------- /docs/html/inherit__graph__8.md5: -------------------------------------------------------------------------------- 1 | 1fae82b0291ed71e59f4ebf4f527ecb1 -------------------------------------------------------------------------------- /docs/html/inherit__graph__8.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kramdar/litesql/5aa506425d64f21bb9bb5bca05df7ef528cb01cc/docs/html/inherit__graph__8.png -------------------------------------------------------------------------------- /docs/html/inherit__graph__9.map: -------------------------------------------------------------------------------- 1 | base referer 2 | rect $classlitesql_1_1Expr.html 8,224 98,248 3 | rect $classlitesql_1_1Connective.html 146,56 277,80 4 | rect $classlitesql_1_1Not.html 170,200 253,224 5 | rect $classlitesql_1_1Oper.html 165,248 258,272 6 | rect $classlitesql_1_1RawExpr.html 153,296 270,320 7 | rect $classlitesql_1_1And.html 332,8 420,32 8 | rect $classlitesql_1_1Or.html 337,56 414,80 9 | rect $classlitesql_1_1Eq.html 336,104 416,128 10 | rect $classlitesql_1_1Gt.html 337,152 414,176 11 | rect $classlitesql_1_1GtEq.html 329,200 422,224 12 | rect $classlitesql_1_1In.html 338,248 413,272 13 | rect $classlitesql_1_1Like.html 332,296 420,320 14 | rect $classlitesql_1_1Lt.html 338,344 413,368 15 | rect $classlitesql_1_1LtEq.html 330,392 421,416 16 | rect $classlitesql_1_1NotEq.html 325,440 426,464 17 | -------------------------------------------------------------------------------- /docs/html/inherit__graph__9.md5: -------------------------------------------------------------------------------- 1 | b8da183524297dbd9c3ffed27ec65bf0 -------------------------------------------------------------------------------- /docs/html/inherit__graph__9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kramdar/litesql/5aa506425d64f21bb9bb5bca05df7ef528cb01cc/docs/html/inherit__graph__9.png -------------------------------------------------------------------------------- /docs/html/inherits.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | LiteSQL: Graphical Class Hierarchy 4 | 5 | 6 | 7 | 8 | 26 |
27 |

Graphical Class Hierarchy

Go to the textual class hierarchy 28 |

29 | 30 | 33 |
31 | 32 | base refererrect $classlitesql_1_1Backend.html 9,8 123,32
34 |

35 |
36 | SourceForge.net Logo 37 | 38 | -------------------------------------------------------------------------------- /docs/html/litesql_8hpp__incl.map: -------------------------------------------------------------------------------- 1 | base referer 2 | rect $types_8hpp-source.html 712,94 829,118 3 | rect $except_8hpp-source.html 877,38 1002,62 4 | rect $datetime_8hpp-source.html 146,458 282,482 5 | rect $cursor_8hpp-source.html 541,122 664,146 6 | rect $database_8hpp-source.html 346,210 485,234 7 | rect $expr_8hpp-source.html 546,310 658,334 8 | rect $selectquery_8hpp-source.html 338,360 493,384 9 | rect $datasource_8hpp-source.html 138,308 290,332 10 | rect $persistent_8hpp-source.html 142,260 286,284 11 | -------------------------------------------------------------------------------- /docs/html/litesql_8hpp__incl.md5: -------------------------------------------------------------------------------- 1 | 649b2d47a021dc6f4566b47730187b8d -------------------------------------------------------------------------------- /docs/html/litesql_8hpp__incl.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kramdar/litesql/5aa506425d64f21bb9bb5bca05df7ef528cb01cc/docs/html/litesql_8hpp__incl.png -------------------------------------------------------------------------------- /docs/html/mysql_8hpp__dep__incl.map: -------------------------------------------------------------------------------- 1 | base referer 2 | rect $database_8hpp-source.html 140,85 241,109 3 | rect $litesql_8hpp-source.html 768,60 850,84 4 | rect $datasource_8hpp-source.html 290,85 405,109 5 | rect $persistent_8hpp-source.html 613,109 720,133 6 | rect $operations_8hpp-source.html 454,109 564,133 7 | -------------------------------------------------------------------------------- /docs/html/mysql_8hpp__dep__incl.md5: -------------------------------------------------------------------------------- 1 | 8a8bf2552ffb7885ea97b74823f89fe5 -------------------------------------------------------------------------------- /docs/html/mysql_8hpp__dep__incl.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kramdar/litesql/5aa506425d64f21bb9bb5bca05df7ef528cb01cc/docs/html/mysql_8hpp__dep__incl.png -------------------------------------------------------------------------------- /docs/html/mysql_notes.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | LiteSQL: MySQL specific notes 4 | 5 | 6 | 7 | 8 | 19 |
20 |

MySQL specific notes

MySQL - support is experimental.

21 | MySQL does not support SQL92 syntax completely. MySQL 4.1 is the first version that supports sub-selects and LiteSQL relies on sub-selects quite heavily in relation code.

22 | Also, MySQL 4.1 does not support INTERSECT and EXCEPT - set operations (intersect<T> and except<T> template functions cannot be used then).

23 |
24 | SourceForge.net Logo 25 | 26 | -------------------------------------------------------------------------------- /docs/html/operations_8hpp__dep__incl.map: -------------------------------------------------------------------------------- 1 | base referer 2 | rect $persistent_8hpp-source.html 167,8 274,32 3 | rect $litesql_8hpp-source.html 322,8 405,32 4 | -------------------------------------------------------------------------------- /docs/html/operations_8hpp__dep__incl.md5: -------------------------------------------------------------------------------- 1 | d0c103f5fafe2233e9f5bdc15f75e1b9 -------------------------------------------------------------------------------- /docs/html/operations_8hpp__dep__incl.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kramdar/litesql/5aa506425d64f21bb9bb5bca05df7ef528cb01cc/docs/html/operations_8hpp__dep__incl.png -------------------------------------------------------------------------------- /docs/html/operations_8hpp__incl.map: -------------------------------------------------------------------------------- 1 | base referer 2 | rect $datasource_8hpp-source.html 168,108 320,132 3 | rect $database_8hpp-source.html 376,58 514,82 4 | rect $expr_8hpp-source.html 570,108 682,132 5 | rect $selectquery_8hpp-source.html 368,157 522,181 6 | -------------------------------------------------------------------------------- /docs/html/operations_8hpp__incl.md5: -------------------------------------------------------------------------------- 1 | b0ae28ab6655e6016c4c2ee2fd8f0b07 -------------------------------------------------------------------------------- /docs/html/operations_8hpp__incl.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kramdar/litesql/5aa506425d64f21bb9bb5bca05df7ef528cb01cc/docs/html/operations_8hpp__incl.png -------------------------------------------------------------------------------- /docs/html/persistent_8hpp__dep__incl.map: -------------------------------------------------------------------------------- 1 | base referer 2 | rect $litesql_8hpp-source.html 162,8 245,32 3 | -------------------------------------------------------------------------------- /docs/html/persistent_8hpp__dep__incl.md5: -------------------------------------------------------------------------------- 1 | 4696696c888b6de9788fd35c40aef460 -------------------------------------------------------------------------------- /docs/html/persistent_8hpp__dep__incl.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kramdar/litesql/5aa506425d64f21bb9bb5bca05df7ef528cb01cc/docs/html/persistent_8hpp__dep__incl.png -------------------------------------------------------------------------------- /docs/html/persistent_8hpp__incl.map: -------------------------------------------------------------------------------- 1 | base referer 2 | rect $utils_8hpp-source.html 535,465 645,489 3 | rect $database_8hpp-source.html 170,366 309,390 4 | rect $expr_8hpp-source.html 370,415 482,439 5 | rect $cursor_8hpp-source.html 365,317 487,341 6 | rect $selectquery_8hpp-source.html 162,465 317,489 7 | rect $relation_8hpp-source.html 175,121 303,145 8 | rect $operations_8hpp-source.html 166,565 313,589 9 | -------------------------------------------------------------------------------- /docs/html/persistent_8hpp__incl.md5: -------------------------------------------------------------------------------- 1 | 438b7cde11128a9b4d2bd76f3654cddf -------------------------------------------------------------------------------- /docs/html/persistent_8hpp__incl.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kramdar/litesql/5aa506425d64f21bb9bb5bca05df7ef528cb01cc/docs/html/persistent_8hpp__incl.png -------------------------------------------------------------------------------- /docs/html/postgresql_8hpp__dep__incl.map: -------------------------------------------------------------------------------- 1 | base referer 2 | rect $database_8hpp-source.html 166,85 267,109 3 | rect $litesql_8hpp-source.html 794,60 877,84 4 | rect $datasource_8hpp-source.html 317,85 431,109 5 | rect $persistent_8hpp-source.html 639,109 746,133 6 | rect $operations_8hpp-source.html 481,109 590,133 7 | -------------------------------------------------------------------------------- /docs/html/postgresql_8hpp__dep__incl.md5: -------------------------------------------------------------------------------- 1 | 67184e006618da32d1624f5614d88da4 -------------------------------------------------------------------------------- /docs/html/postgresql_8hpp__dep__incl.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kramdar/litesql/5aa506425d64f21bb9bb5bca05df7ef528cb01cc/docs/html/postgresql_8hpp__dep__incl.png -------------------------------------------------------------------------------- /docs/html/relation_8hpp__dep__incl.map: -------------------------------------------------------------------------------- 1 | base referer 2 | rect $persistent_8hpp-source.html 149,8 256,32 3 | rect $litesql_8hpp-source.html 304,8 386,32 4 | -------------------------------------------------------------------------------- /docs/html/relation_8hpp__dep__incl.md5: -------------------------------------------------------------------------------- 1 | 05f50271656a563fc5ac039f364d91a1 -------------------------------------------------------------------------------- /docs/html/relation_8hpp__dep__incl.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kramdar/litesql/5aa506425d64f21bb9bb5bca05df7ef528cb01cc/docs/html/relation_8hpp__dep__incl.png -------------------------------------------------------------------------------- /docs/html/relation_8hpp__incl.map: -------------------------------------------------------------------------------- 1 | base referer 2 | -------------------------------------------------------------------------------- /docs/html/relation_8hpp__incl.md5: -------------------------------------------------------------------------------- 1 | 1e9d1dc9814aebfd95c3618cef63802f -------------------------------------------------------------------------------- /docs/html/relation_8hpp__incl.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kramdar/litesql/5aa506425d64f21bb9bb5bca05df7ef528cb01cc/docs/html/relation_8hpp__incl.png -------------------------------------------------------------------------------- /docs/html/selectquery_8hpp__dep__incl.map: -------------------------------------------------------------------------------- 1 | base referer 2 | rect $litesql_8hpp-source.html 650,60 733,84 3 | rect $datasource_8hpp-source.html 173,85 287,109 4 | rect $persistent_8hpp-source.html 495,109 602,133 5 | rect $operations_8hpp-source.html 337,109 446,133 6 | -------------------------------------------------------------------------------- /docs/html/selectquery_8hpp__dep__incl.md5: -------------------------------------------------------------------------------- 1 | ea7cea5a6dc1f187b91ab6facd5e19e3 -------------------------------------------------------------------------------- /docs/html/selectquery_8hpp__dep__incl.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kramdar/litesql/5aa506425d64f21bb9bb5bca05df7ef528cb01cc/docs/html/selectquery_8hpp__dep__incl.png -------------------------------------------------------------------------------- /docs/html/selectquery_8hpp__incl.map: -------------------------------------------------------------------------------- 1 | base referer 2 | rect $utils_8hpp-source.html 334,154 444,178 3 | rect $expr_8hpp-source.html 173,204 285,228 4 | rect $string_8hpp-source.html 494,154 612,178 5 | rect $split_8hpp-source.html 498,56 608,80 6 | rect $field_8hpp-source.html 334,202 444,226 7 | -------------------------------------------------------------------------------- /docs/html/selectquery_8hpp__incl.md5: -------------------------------------------------------------------------------- 1 | 5cd1794405a31f34bbc57412b74788de -------------------------------------------------------------------------------- /docs/html/selectquery_8hpp__incl.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kramdar/litesql/5aa506425d64f21bb9bb5bca05df7ef528cb01cc/docs/html/selectquery_8hpp__incl.png -------------------------------------------------------------------------------- /docs/html/split_8hpp__dep__incl.map: -------------------------------------------------------------------------------- 1 | base referer 2 | rect $utils_8hpp-source.html 127,133 199,157 3 | rect $types_8hpp-source.html 405,34 485,58 4 | rect $except_8hpp-source.html 247,58 335,82 5 | rect $expr_8hpp-source.html 254,157 329,181 6 | rect $selectquery_8hpp-source.html 387,108 502,132 7 | rect $persistent_8hpp-source.html 554,157 661,181 8 | rect $updatequery_8hpp-source.html 383,206 506,230 9 | -------------------------------------------------------------------------------- /docs/html/split_8hpp__dep__incl.md5: -------------------------------------------------------------------------------- 1 | fdad891ff85e6dbf774104c9628ab278 -------------------------------------------------------------------------------- /docs/html/split_8hpp__dep__incl.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kramdar/litesql/5aa506425d64f21bb9bb5bca05df7ef528cb01cc/docs/html/split_8hpp__dep__incl.png -------------------------------------------------------------------------------- /docs/html/split_8hpp__incl.map: -------------------------------------------------------------------------------- 1 | base referer 2 | -------------------------------------------------------------------------------- /docs/html/split_8hpp__incl.md5: -------------------------------------------------------------------------------- 1 | c71bdfb7d04efcf22148f8b173925894 -------------------------------------------------------------------------------- /docs/html/split_8hpp__incl.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kramdar/litesql/5aa506425d64f21bb9bb5bca05df7ef528cb01cc/docs/html/split_8hpp__incl.png -------------------------------------------------------------------------------- /docs/html/sqlite3_8hpp__dep__incl.map: -------------------------------------------------------------------------------- 1 | base referer 2 | rect $database_8hpp-source.html 145,85 246,109 3 | rect $litesql_8hpp-source.html 773,60 856,84 4 | rect $datasource_8hpp-source.html 296,85 410,109 5 | rect $persistent_8hpp-source.html 618,109 725,133 6 | rect $operations_8hpp-source.html 460,109 569,133 7 | -------------------------------------------------------------------------------- /docs/html/sqlite3_8hpp__dep__incl.md5: -------------------------------------------------------------------------------- 1 | c1bba073b0afd2b0501c0769fcf3af54 -------------------------------------------------------------------------------- /docs/html/sqlite3_8hpp__dep__incl.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kramdar/litesql/5aa506425d64f21bb9bb5bca05df7ef528cb01cc/docs/html/sqlite3_8hpp__dep__incl.png -------------------------------------------------------------------------------- /docs/html/string_8hpp__dep__incl.map: -------------------------------------------------------------------------------- 1 | base referer 2 | rect $field_8hpp-source.html 138,56 210,80 3 | rect $utils_8hpp-source.html 138,156 210,180 4 | rect $datetime_8hpp-source.html 258,8 357,32 5 | rect $expr_8hpp-source.html 270,56 345,80 6 | rect $selectquery_8hpp-source.html 409,105 524,129 7 | rect $persistent_8hpp-source.html 576,105 682,129 8 | rect $updatequery_8hpp-source.html 405,154 528,178 9 | rect $types_8hpp-source.html 426,230 506,254 10 | rect $except_8hpp-source.html 264,256 352,280 11 | -------------------------------------------------------------------------------- /docs/html/string_8hpp__dep__incl.md5: -------------------------------------------------------------------------------- 1 | dd849497030de2e075ea466cb1c899d0 -------------------------------------------------------------------------------- /docs/html/string_8hpp__dep__incl.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kramdar/litesql/5aa506425d64f21bb9bb5bca05df7ef528cb01cc/docs/html/string_8hpp__dep__incl.png -------------------------------------------------------------------------------- /docs/html/string_8hpp__incl.map: -------------------------------------------------------------------------------- 1 | base referer 2 | -------------------------------------------------------------------------------- /docs/html/string_8hpp__incl.md5: -------------------------------------------------------------------------------- 1 | 471357b29578dc697d3ae1a82165881e -------------------------------------------------------------------------------- /docs/html/string_8hpp__incl.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kramdar/litesql/5aa506425d64f21bb9bb5bca05df7ef528cb01cc/docs/html/string_8hpp__incl.png -------------------------------------------------------------------------------- /docs/html/tab_b.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kramdar/litesql/5aa506425d64f21bb9bb5bca05df7ef528cb01cc/docs/html/tab_b.gif -------------------------------------------------------------------------------- /docs/html/tab_l.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kramdar/litesql/5aa506425d64f21bb9bb5bca05df7ef528cb01cc/docs/html/tab_l.gif -------------------------------------------------------------------------------- /docs/html/tab_r.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kramdar/litesql/5aa506425d64f21bb9bb5bca05df7ef528cb01cc/docs/html/tab_r.gif -------------------------------------------------------------------------------- /docs/html/types_8hpp__dep__incl.map: -------------------------------------------------------------------------------- 1 | base referer 2 | rect $litesql_8hpp-source.html 730,109 813,133 3 | rect $cursor_8hpp-source.html 282,85 367,109 4 | rect $database_8hpp-source.html 417,160 518,184 5 | rect $backend_8hpp-source.html 135,134 234,158 6 | rect $persistent_8hpp-source.html 571,109 678,133 7 | rect $datasource_8hpp-source.html 567,208 682,232 8 | -------------------------------------------------------------------------------- /docs/html/types_8hpp__dep__incl.md5: -------------------------------------------------------------------------------- 1 | a139a343fe36d6f73af0d3e9a2889cc7 -------------------------------------------------------------------------------- /docs/html/types_8hpp__dep__incl.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kramdar/litesql/5aa506425d64f21bb9bb5bca05df7ef528cb01cc/docs/html/types_8hpp__dep__incl.png -------------------------------------------------------------------------------- /docs/html/types_8hpp__incl.map: -------------------------------------------------------------------------------- 1 | base referer 2 | rect $utils_8hpp-source.html 309,157 418,181 3 | rect $except_8hpp-source.html 136,108 261,132 4 | rect $string_8hpp-source.html 468,109 585,133 5 | rect $split_8hpp-source.html 472,205 581,229 6 | -------------------------------------------------------------------------------- /docs/html/types_8hpp__incl.md5: -------------------------------------------------------------------------------- 1 | 5447e57612e766a1980479859546a8f8 -------------------------------------------------------------------------------- /docs/html/types_8hpp__incl.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kramdar/litesql/5aa506425d64f21bb9bb5bca05df7ef528cb01cc/docs/html/types_8hpp__incl.png -------------------------------------------------------------------------------- /docs/html/updatequery_8hpp__incl.map: -------------------------------------------------------------------------------- 1 | base referer 2 | rect $utils_8hpp-source.html 340,154 449,178 3 | rect $expr_8hpp-source.html 178,204 290,228 4 | rect $string_8hpp-source.html 500,154 617,178 5 | rect $split_8hpp-source.html 504,56 613,80 6 | rect $field_8hpp-source.html 340,202 449,226 7 | -------------------------------------------------------------------------------- /docs/html/updatequery_8hpp__incl.md5: -------------------------------------------------------------------------------- 1 | ce9739eb9dbb6f13c2704ea9078349f9 -------------------------------------------------------------------------------- /docs/html/updatequery_8hpp__incl.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kramdar/litesql/5aa506425d64f21bb9bb5bca05df7ef528cb01cc/docs/html/updatequery_8hpp__incl.png -------------------------------------------------------------------------------- /docs/html/usage_cursor.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | LiteSQL: Using Cursor 4 | 5 | 6 | 7 | 8 | 19 |
20 |

Using Cursor

Often it is not necessary to fetch all objects to memory and then process them.

21 | Memory usage can be minimized using template class Cursor which returns one object at a time.

22 | Creating a cursor(two ways):

Cursor<Record> cur1 = db.cursor(SelectQuery().result("id_").source("Person_"));
23 | Cursor<Person> cur2 = select<Person>(db).cursor();
24 | 

25 | Iterating through the result set:

for (;cur.rowsLeft(); cur++)
26 |     cout << (*cur).name << endl;
27 | 

28 | The remaining contents of the result set can be retrieved with dump-method:

vector<Person> rest = cur.dump();
29 | 
30 |
31 | SourceForge.net Logo 32 | 33 | -------------------------------------------------------------------------------- /docs/html/utils_8hpp__dep__incl.map: -------------------------------------------------------------------------------- 1 | base referer 2 | rect $types_8hpp-source.html 285,34 365,58 3 | rect $except_8hpp-source.html 127,58 215,82 4 | rect $expr_8hpp-source.html 134,157 209,181 5 | rect $selectquery_8hpp-source.html 267,108 382,132 6 | rect $persistent_8hpp-source.html 434,157 541,181 7 | rect $updatequery_8hpp-source.html 263,206 386,230 8 | -------------------------------------------------------------------------------- /docs/html/utils_8hpp__dep__incl.md5: -------------------------------------------------------------------------------- 1 | 294a90499e2525c5fee16da551bec675 -------------------------------------------------------------------------------- /docs/html/utils_8hpp__dep__incl.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kramdar/litesql/5aa506425d64f21bb9bb5bca05df7ef528cb01cc/docs/html/utils_8hpp__dep__incl.png -------------------------------------------------------------------------------- /docs/html/utils_8hpp__incl.map: -------------------------------------------------------------------------------- 1 | base referer 2 | rect $string_8hpp-source.html 129,56 246,80 3 | rect $split_8hpp-source.html 133,104 242,128 4 | -------------------------------------------------------------------------------- /docs/html/utils_8hpp__incl.md5: -------------------------------------------------------------------------------- 1 | 35ea008cd48ef53ee5b71593cd6b0ccd -------------------------------------------------------------------------------- /docs/html/utils_8hpp__incl.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kramdar/litesql/5aa506425d64f21bb9bb5bca05df7ef528cb01cc/docs/html/utils_8hpp__incl.png -------------------------------------------------------------------------------- /include/Makefile.am: -------------------------------------------------------------------------------- 1 | include_HEADERS=litesql.hpp 2 | SUBDIRS=litesql 3 | -------------------------------------------------------------------------------- /include/litesql.hpp: -------------------------------------------------------------------------------- 1 | /* This library is free software; you can redistribute it and/or 2 | * modify it under the terms of the GNU Lesser General Public 3 | * License as published by the Free Software Foundation; either 4 | * version 2.1 of the License, or (at your option) any later version. 5 | * 6 | * This library is distributed in the hope that it will be useful, 7 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 8 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 9 | * Lesser General Public License for more details. 10 | * 11 | * You should have received a copy of the GNU Lesser General Public 12 | * License along with this library; if not, write to the Free Software 13 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 14 | * USA 15 | */ 16 | /** \file litesql.hpp 17 | include this from your project */ 18 | 19 | #ifndef __litesql_hpp 20 | #define __litesql_hpp 21 | #include "config.h" 22 | #include "litesql/types.hpp" 23 | #include "litesql/datetime.hpp" 24 | #include "litesql/except.hpp" 25 | #include "litesql/cursor.hpp" 26 | #include "litesql/database.hpp" 27 | #include "litesql/expr.hpp" 28 | #include "litesql/selectquery.hpp" 29 | #include "litesql/datasource.hpp" 30 | #include "litesql/persistent.hpp" 31 | #endif 32 | -------------------------------------------------------------------------------- /include/litesql/Makefile.am: -------------------------------------------------------------------------------- 1 | litesqlincludedir=$(includedir)/litesql 2 | litesqlinclude_HEADERS=backend.hpp except.hpp operations.hpp selectquery.hpp types.hpp cursor.hpp expr.hpp persistent.hpp split.hpp updatequery.hpp database.hpp field.hpp utils.hpp datasource.hpp relation.hpp string.hpp datetime.hpp 3 | -------------------------------------------------------------------------------- /include/litesql/operations.hpp: -------------------------------------------------------------------------------- 1 | /* LiteSQL 2 | * 3 | * The list of contributors at http://litesql.sf.net/ 4 | * 5 | * See LICENSE for copyright information. */ 6 | 7 | #ifndef __litesql_operations_hpp 8 | #define __litesql_operations_hpp 9 | #include "litesql/datasource.hpp" 10 | /** \file operations.hpp 11 | * select, intersect, union_, except */ 12 | namespace litesql { 13 | using namespace std; 14 | /** returns DataSource for accessing objects of type T */ 15 | template 16 | litesql::DataSource select(const litesql::Database & db, 17 | const litesql::Expr &e=litesql::Expr()) { 18 | return litesql::DataSource(db, e); 19 | } 20 | /** returns DataSource for accessing intersection of two sets of objects 21 | * of type T */ 22 | template 23 | litesql::DataSource intersect(const litesql::DataSource& ds1, 24 | const litesql::DataSource& ds2) { 25 | std::string sel = ds1.idQuery().asString() + " INTERSECT " 26 | + ds2.idQuery().asString(); 27 | return litesql::DataSource(ds1.getDatabase(), T::Id.in(sel)); 28 | } 29 | /** returns DataSource for accessing union of two sets of objects of type T */ 30 | template 31 | litesql::DataSource union_(const litesql::DataSource& ds1, 32 | const litesql::DataSource& ds2) { 33 | std::string sel = ds1.idQuery().asString() + " UNION " 34 | + ds2.idQuery().asString(); 35 | return litesql::DataSource(ds1.getDatabase(), T::Id.in(sel)); 36 | } 37 | /** returns DataSource for accessing objects of type T that are in first 38 | * DataSource but not in second. */ 39 | template 40 | litesql::DataSource except(const litesql::DataSource& ds1, 41 | const litesql::DataSource& ds2) { 42 | std::string sel = ds1.idQuery().asString() + " EXCEPT " 43 | + ds2.idQuery().asString(); 44 | return litesql::DataSource(ds1.getDatabase(), T::Id.in(sel)); 45 | } 46 | 47 | } 48 | #endif 49 | -------------------------------------------------------------------------------- /include/litesql/relation.hpp: -------------------------------------------------------------------------------- 1 | /* LiteSQL 2 | * 3 | * The list of contributors at http://litesql.sf.net/ 4 | * 5 | * See LICENSE for copyright information. */ 6 | 7 | 8 | #ifndef __litesql_relation_hpp 9 | #define __litesql_relation_hpp 10 | #include 11 | #include 12 | /** \file relation.hpp 13 | See \ref usage_using_relations */ 14 | namespace litesql { 15 | /** base class of relation handles attached to Persistent objects */ 16 | template 17 | class RelationHandle { 18 | protected: 19 | const T* owner; 20 | RelationHandle(const T& o) : owner(&o) {} 21 | }; 22 | 23 | } 24 | 25 | #endif 26 | -------------------------------------------------------------------------------- /include/litesql/selectquery.hpp: -------------------------------------------------------------------------------- 1 | /* LiteSQL 2 | * 3 | * The list of contributors at http://litesql.sf.net/ 4 | * 5 | * See LICENSE for copyright information. */ 6 | 7 | 8 | #ifndef litesql_selectquery_hpp 9 | #define litesql_selectquery_hpp 10 | 11 | #include "litesql/utils.hpp" 12 | #include "litesql/expr.hpp" 13 | /** \file selectquery.hpp 14 | contains SelectQuery-class. See \ref usage_selecting_persistents */ 15 | namespace litesql { 16 | /** a class that helps creating SELECT-SQL statements. methods are 17 | self-explanatory. */ 18 | class SelectQuery { 19 | bool _distinct; 20 | int _limit, _offset; 21 | Split _results; 22 | Split _sources; 23 | std::string _where; 24 | Split _groupBy; 25 | std::string _having; 26 | Split _orderBy; 27 | public: 28 | SelectQuery() : _distinct(false), _limit(0), _offset(0), _where("True") {} 29 | SelectQuery & distinct(bool d) ; 30 | SelectQuery & limit(int value); 31 | SelectQuery & offset(int value); 32 | SelectQuery & result(std::string r); 33 | SelectQuery & clearResults(); 34 | SelectQuery & source(std::string s, std::string alias=""); 35 | SelectQuery & where(const Expr & w); 36 | SelectQuery & where(std::string w); 37 | SelectQuery & groupBy(std::string gb); 38 | SelectQuery & having(const Expr & h); 39 | SelectQuery & having(std::string h); 40 | SelectQuery & orderBy(std::string ob, bool ascending=true); 41 | operator std::string() const; 42 | std::string asString() const { return this->operator std::string(); } 43 | }; 44 | } 45 | 46 | #endif 47 | -------------------------------------------------------------------------------- /include/litesql/split.hpp: -------------------------------------------------------------------------------- 1 | /* LiteSQL 2 | * 3 | * The list of contributors at http://litesql.sf.net/ 4 | * 5 | * See LICENSE for copyright information. */ 6 | 7 | /** \file split.hpp 8 | contains class Split */ 9 | #ifndef litesql_split_hpp 10 | #define litesql_split_hpp 11 | #include 12 | #include 13 | namespace litesql { 14 | /** splits and joins strings. Modelled with Python's strings in mind. */ 15 | class Split : public std::vector { 16 | public: 17 | /** empty split */ 18 | Split() {} 19 | /** init with reserved size (only reserved) */ 20 | Split(size_t initial_size) { reserve(initial_size);} 21 | /** from string vector */ 22 | Split(std::vector data) 23 | : std::vector(data) {} 24 | /** from string. Split to parts using delimeter */ 25 | Split(const std::string& s, const std::string& delim=" "); 26 | 27 | /** returns a part of strings 28 | \param start starting index 29 | \param end ending index 30 | Indexes can be negative; actual index is calculated from the end of 31 | Split then.*/ 32 | Split slice(int start, int end) const; 33 | /** returns strings joined with delimiter */ 34 | std::string join(const std::string& delim) const; 35 | 36 | static std::string join(const std::vector& strings,const std::string& delim=" "); 37 | /** adds contents of another split to the end */ 38 | Split & extend(const std::vector & s); 39 | }; 40 | } 41 | #endif 42 | -------------------------------------------------------------------------------- /include/litesql/types.hpp: -------------------------------------------------------------------------------- 1 | /* LiteSQL 2 | * 3 | * The list of contributors at http://litesql.sf.net/ 4 | * 5 | * See LICENSE for copyright information. */ 6 | #ifndef _litesql_types_hpp 7 | #define _litesql_types_hpp 8 | #include 9 | #include 10 | #include "litesql/utils.hpp" 11 | #include "litesql/except.hpp" 12 | /** \file types.hpp 13 | contains class Record and typedef Records */ 14 | 15 | namespace litesql 16 | { 17 | class Database; 18 | /** SQL data row wrapper. */ 19 | class Record : public std::vector 20 | { 21 | public: 22 | Record() : std::vector() {} 23 | Record(size_t reserved) { reserve(reserved); } 24 | }; 25 | /** shortcut */ 26 | typedef std::vector Records; 27 | 28 | } 29 | #endif 30 | -------------------------------------------------------------------------------- /include/litesql/updatequery.hpp: -------------------------------------------------------------------------------- 1 | /* LiteSQL 2 | * 3 | * The list of contributors at http://litesql.sf.net/ 4 | * 5 | * See LICENSE for copyright information. */ 6 | 7 | #ifndef _litesql_updatequery_hpp 8 | #define _litesql_updatequery_hpp 9 | 10 | #include "litesql/utils.hpp" 11 | #include "litesql/expr.hpp" 12 | /** \file updatequery.hpp 13 | contains UpdateQuery-class. */ 14 | namespace litesql { 15 | /** a class that helps creating UPDATE-SQL statements. methods are 16 | self-explanatory. */ 17 | using namespace std; 18 | class UpdateQuery { 19 | string table; 20 | string _where; 21 | Split fields; 22 | Split values; 23 | public: 24 | UpdateQuery(const string& t) : table(t), _where("True") {} 25 | UpdateQuery& where(const Expr& e); 26 | UpdateQuery& set(const FieldType& f, const string& value); 27 | operator std::string() const; 28 | std::string asString() const { return this->operator std::string(); } 29 | }; 30 | } 31 | 32 | #endif 33 | -------------------------------------------------------------------------------- /include/litesql/utils.hpp: -------------------------------------------------------------------------------- 1 | /* LiteSQL 2 | * 3 | * The list of contributors at http://litesql.sf.net/ 4 | * 5 | * See LICENSE for copyright information. */ 6 | 7 | /** \file utils.hpp 8 | includes string.hpp and split.hpp */ 9 | #ifndef _litesql_utils_hpp 10 | #define _litesql_utils_hpp 11 | #include 12 | #include "litesql/string.hpp" 13 | #include "litesql/split.hpp" 14 | namespace litesql { 15 | template 16 | const T& min(const T& v1, const T& v2) { 17 | return (v1 < v2) ? (v1) : (v2); 18 | } 19 | } 20 | #endif 21 | -------------------------------------------------------------------------------- /m4/ltversion.m4: -------------------------------------------------------------------------------- 1 | # ltversion.m4 -- version numbers -*- Autoconf -*- 2 | # 3 | # Copyright (C) 2004 Free Software Foundation, Inc. 4 | # Written by Scott James Remnant, 2004 5 | # 6 | # This file is free software; the Free Software Foundation gives 7 | # unlimited permission to copy and/or distribute it, with or without 8 | # modifications, as long as this notice is preserved. 9 | 10 | # @configure_input@ 11 | 12 | # serial 3294 ltversion.m4 13 | # This file is part of GNU Libtool 14 | 15 | m4_define([LT_PACKAGE_VERSION], [2.4]) 16 | m4_define([LT_PACKAGE_REVISION], [1.3294]) 17 | 18 | AC_DEFUN([LTVERSION_VERSION], 19 | [macro_version='2.4' 20 | macro_revision='1.3294' 21 | _LT_DECL(, macro_version, 0, [Which release of libtool.m4 was used?]) 22 | _LT_DECL(, macro_revision, 0) 23 | ]) 24 | -------------------------------------------------------------------------------- /pkg/Makefile.am: -------------------------------------------------------------------------------- 1 | bin_SCRIPTS = litesql-config 2 | 3 | CLEANFILES = $(bin_SCRIPTS) litesql.pc 4 | 5 | install-data-local: litesql.pc 6 | mkdir -p $(DESTDIR)/$(libdir)/pkgconfig && \ 7 | cp -p litesql.pc $(DESTDIR)/$(libdir)/pkgconfig 8 | 9 | uninstall-local: 10 | -rm -f $(DESTDIR)/$(libdir)/pkgconfig/litesql.pc 11 | 12 | -------------------------------------------------------------------------------- /pkg/litesql.pc.in: -------------------------------------------------------------------------------- 1 | # Information in LiteSQL for 'pkg-config' 2 | 3 | # Written by Eric A. McDonald for the LiteSQL project. 4 | # LiteSQL is by Tero Laitinen. 5 | # See LICENSE for copyright information. 6 | 7 | prefix=@prefix@ 8 | exec_prefix=@exec_prefix@ 9 | includedir=@includedir@ 10 | libdir=@libdir@ 11 | 12 | Name: LiteSQL 13 | Description: Persistent Object Framework for C++ 14 | Version: @PACKAGE_VERSION@ 15 | URL: http://litesql.sourceforge.net 16 | @pkg_config_reqs_tv@ 17 | Libs: -L${libdir} -llitesql @PGSQL_LDFLAGS@ @PGSQL_LIBS@ @MYSQL_LIBS@ 18 | Cflags: -I${includedir} @PGSQL_CXXFLAGS@ @MYSQL_CXXFLAGS@ 19 | 20 | -------------------------------------------------------------------------------- /readme.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kramdar/litesql/5aa506425d64f21bb9bb5bca05df7ef528cb01cc/readme.txt -------------------------------------------------------------------------------- /release_it.bat: -------------------------------------------------------------------------------- 1 | 2 | set CMAKE_BUILDDIR=build\cmake\vc 3 | set STARTDIR=%CD% 4 | set WXDIR=%STARTDIR%\..\..\wxWidgets\2.8.11 5 | 6 | @if "%VS71COMNTOOLS%"=="" call "%VS80COMNTOOLS%\vsvars32.bat" 7 | @if "%VS80COMNTOOLS%"=="" call "%VS71COMNTOOLS%\vsvars32.bat" 8 | 9 | mkdir %CMAKE_BUILDDIR% 10 | 11 | cd %CMAKE_BUILDDIR% 12 | 13 | del CMakeCache.txt 14 | 15 | cmake -D LITESQL_WITH_DOCS:bool=ON -D LITESQL_WITH_MYSQL:bool=ON -D LITESQL_WITH_SQLITE:bool=ON -D LITESQL_WITH_TESTS:bool=ON -D LITESQL_WITH_UI:bool=ON -D LITESQL_MSVC_MT:BOOL=ON -D wxWidgets_ROOT_DIR=%WXDIR% -D wxWidgets_LIB_DIR=%WXDIR%\lib\vc_lib %STARTDIR% 16 | 17 | devenv /rebuild Debug litesql.sln /project "ALL_BUILD.vcproj" /projectconfig Debug 18 | devenv /rebuild Release litesql.sln /project "ALL_BUILD.vcproj" /projectconfig Debug 19 | 20 | devenv /build Debug litesql.sln /project "RUN_TESTS.vcproj" /projectconfig Debug 21 | 22 | devenv /build Release litesql.sln /project "PACKAGE.vcproj" /projectconfig Release 23 | 24 | cpack --config CPackSourceConfig.cmake 25 | 26 | cd %STARTDIR% 27 | 28 | pause 29 | -------------------------------------------------------------------------------- /release_it.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | HOST_SYSTEM=`uname -s` 4 | HOST_ARCH=`uname -m` 5 | 6 | AM_BUILDDIR=build/autotools/$HOST_ARCH-$HOST_SYSTEM 7 | CMAKE_BUILDDIR=build/cmake/$HOST_ARCH-$HOST_SYSTEM 8 | STARTDIR=`pwd` 9 | 10 | mkdir -p $CMAKE_BUILDDIR 11 | 12 | cd $CMAKE_BUILDDIR 13 | cmake -D WITH_DOCS:bool=ON -D WITH_MYSQL:bool=ON -D WITH_SQLITE:bool=ON -D WITH_TEST:bool=ON $STARTDIR 14 | make all test package package_source 15 | cd $STARTDIR 16 | 17 | mkdir -p $AM_BUILDDIR 18 | cd $AM_BUILDDIR 19 | $STARTDIR/configure MYSQL_CONFIG=mysql_config5 20 | make distcheck 21 | cd $STARTDIR 22 | -------------------------------------------------------------------------------- /releasenotes.txt: -------------------------------------------------------------------------------- 1 | Version 0.3.9 2 | ############# 3 | - platform-specific build issues fixed 4 | - fix for xml-parser error on method params 5 | - made function parameters on runtime classe const 6 | - usable GUI-Tool (not all features of litesql are supported, 7 | ui design could be better, on OSX the gui is terrible layouted ) 8 | 9 | Version 0.3.8 10 | ############# 11 | - added double as field type for higher precision calculation 12 | - fixed trac ticket #25 (uncatched exceptions on validating model are 13 | catched now) 14 | - Beta for Gui-Tool for editing and generating Code (cross-platform through wxWidgets) 15 | 16 | Version 0.3.7 17 | ############# 18 | - fixed error on creating indexes (see trac ticket #23) 19 | Version 0.3.6 20 | ############# 21 | 22 | - moved code for loading and storing the model into an own library 23 | 24 | - added initial version of a win32 gui for code generation (not ready for production use) 25 | 26 | - refactored code generators 27 | - added code generator for ActiveRecord (not ready for production use) 28 | - added multi-target code generation ( multiple -t options) 29 | - added options to litesql-gen for output-directory (--output-dir=) 30 | 31 | - fixed a bug with postgres on database update 32 | - fixed a bug: added parsing of index and indexfield tags (was not in the new parser) 33 | -------------------------------------------------------------------------------- /rpm/Makefile.am: -------------------------------------------------------------------------------- 1 | EXTRA_DIST = litesql.spec.in 2 | -------------------------------------------------------------------------------- /src/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_subdirectory(library) 2 | add_subdirectory(generator) 3 | add_subdirectory(tests) 4 | add_subdirectory(examples) 5 | -------------------------------------------------------------------------------- /src/Makefile.am: -------------------------------------------------------------------------------- 1 | SUBDIRS=library generator tests examples 2 | EXTRA_DIST= CMakeLists.txt 3 | -------------------------------------------------------------------------------- /src/examples/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | set(EXECUTABLES example) 2 | 3 | set(example_SOURCES example.cpp exampledatabase.cpp exampledatabase.hpp exampledatabase.xml auth.xml exampledatabase.dot) 4 | 5 | add_custom_command( 6 | OUTPUT ${CMAKE_CURRENT_SOURCE_DIR}/exampledatabase.cpp ${CMAKE_CURRENT_SOURCE_DIR}/exampledatabase.hpp 7 | COMMAND litesql-gen -v -t c++ exampledatabase.xml 8 | MAIN_DEPENDENCY exampledatabase.xml 9 | WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} 10 | DEPENDS litesql-gen exampledatabase.xml auth.xml 11 | ) 12 | 13 | add_custom_command( 14 | OUTPUT ${CMAKE_CURRENT_SOURCE_DIR}/exampledatabase.dot 15 | COMMAND litesql-gen -t graphviz exampledatabase.xml 16 | MAIN_DEPENDENCY exampledatabase.xml 17 | WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} 18 | DEPENDS litesql-gen exampledatabase.xml 19 | ) 20 | 21 | 22 | add_executable(example ${example_SOURCES} ${example_HEADERS}) 23 | 24 | target_link_libraries (example litesql litesql-util ${BACKEND_LIBRARIES}) 25 | 26 | set_property(TARGET example APPEND PROPERTY COMPILE_DEFINITIONS ${SQLITE3_DEFINITIONS}) 27 | 28 | if (WIN32 AND MSVC) 29 | set_property(TARGET example APPEND PROPERTY COMPILE_DEFINITIONS YY_NEVER_INTERACTIVE YY_NO_UNISTD_H) 30 | endif (WIN32 AND MSVC) 31 | 32 | install(TARGETS example RUNTIME DESTINATION bin COMPONENT examples) 33 | 34 | include_directories(../library ${SQLITE3_INCLUDE_DIRS}) 35 | 36 | -------------------------------------------------------------------------------- /src/examples/Makefile.am: -------------------------------------------------------------------------------- 1 | AM_CXXFLAGS=-I$(srcdir)/../../include 2 | 3 | noinst_PROGRAMS=example 4 | 5 | example_SOURCES=example.cpp exampledatabase.cpp exampledatabase.hpp 6 | 7 | example_LDADD=../library/liblitesql.la ../library/liblitesql-util.la 8 | 9 | EXTRA_DIST=CMakeLists.txt \ 10 | exampledatabase.xml \ 11 | auth.xml \ 12 | exampledatabase.dot \ 13 | exampledatabase.png \ 14 | example_output.txt \ 15 | example_queries.txt 16 | -------------------------------------------------------------------------------- /src/examples/auth.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /src/examples/example_output.txt: -------------------------------------------------------------------------------- 1 | There are 4 persons. 2 | ------------------------------------- 3 | id_ = 4 4 | type_ = Person 5 | name_ = Jess 6 | age_ = 15 7 | sex_ = 1 8 | ------------------------------------- 9 | 10 | ------------------------------------- 11 | id_ = 3 12 | type_ = Person 13 | name_ = Jack 14 | age_ = 15 15 | sex_ = 0 16 | ------------------------------------- 17 | 18 | ------------------------------------- 19 | id_ = 1 20 | type_ = Person 21 | name_ = Jeff 22 | age_ = 32 23 | sex_ = 0 24 | ------------------------------------- 25 | 26 | ------------------------------------- 27 | id_ = 2 28 | type_ = Person 29 | name_ = Jill 30 | age_ = 33 31 | sex_ = 1 32 | ------------------------------------- 33 | 34 | Hi! My name is Jack and I am 15 years old. 35 | No Person with id 100 36 | -------------------------------------------------------------------------------- /src/examples/exampledatabase.dot: -------------------------------------------------------------------------------- 1 | digraph database { 2 | node[shape=box,color=black]; 3 | subgraph inheritance { 4 | edge[style=dashed,dir=forward,arrowhead=normal]; 5 | "user"; 6 | "Person"; 7 | "Role"; 8 | "Student" -> "Role"; 9 | "Employee" -> "Role"; 10 | "School"; 11 | "Office"; 12 | "ThingWithMethods"; 13 | } 14 | subgraph relations { 15 | edge[dir=forward,arrowhead=vee]; 16 | "Person" -> "Person" [label="mother"]; 17 | "Person" -> "Person" [label="father"]; 18 | "Person" -> "Person" [label="siblings"]; 19 | "Person" -> "Person" [label="children"]; 20 | "Person" -> "Role" [label="roles"]; 21 | "Role" -> "Person" [label="person"]; 22 | "School" -> "Student" [label="students"]; 23 | "Student" -> "School" [label="school"]; 24 | "Employee" -> "Office" [label="office"]; 25 | "Office" -> "Employee" [label="employees"]; 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /src/examples/exampledatabase.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kramdar/litesql/5aa506425d64f21bb9bb5bca05df7ef528cb01cc/src/examples/exampledatabase.png -------------------------------------------------------------------------------- /src/generator/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | set(libmodel_SOURCES 2 | generator.cpp generator.hpp 3 | litesql-gen-xml.cpp litesql-gen-xml.hpp 4 | litesql-gen-cpp.cpp litesql-gen-cpp.hpp 5 | logger.cpp logger.hpp 6 | xmlobjects.cpp 7 | md5.cpp 8 | xmlobjects.hpp 9 | md5.hpp 10 | xmlobjects.hpp 11 | litesql-gen-graphviz.cpp litesql-gen-graphviz.hpp 12 | litesql-gen-ruby-activerecord.cpp litesql-gen-ruby-activerecord.hpp 13 | ) 14 | 15 | set(litesql-gen_SOURCES 16 | litesql-gen-main.cpp 17 | ) 18 | 19 | set(ddl2litesql_SOURCES 20 | ddl2litesql.cpp 21 | ) 22 | 23 | # for new parser 24 | if (LITESQL_WITH_SAX_PARSER) 25 | list(APPEND libmodel_SOURCES xmlparser.cpp 26 | xmlparser.hpp 27 | objectmodel.cpp 28 | objectmodel.hpp 29 | ) 30 | else (LITESQL_WITH_SAX_PARSER) 31 | list(APPEND libmodel_SOURCES 32 | litesql-gen-actions.cpp 33 | litesql-gen.cpp 34 | litesql-gen.hpp) 35 | endif(LITESQL_WITH_SAX_PARSER) 36 | 37 | add_library(model ${libmodel_SOURCES}) 38 | add_executable(litesql-gen ${litesql-gen_SOURCES}) 39 | add_executable(ddl2litesql ${ddl2litesql_SOURCES}) 40 | 41 | target_link_libraries (litesql-gen litesql litesql-util model ${EXPAT_LIBRARIES}) 42 | target_link_libraries (ddl2litesql litesql-util model ${EXPAT_LIBRARIES}) 43 | 44 | if (LITESQL_WITH_UI) 45 | add_subdirectory(ui) 46 | # old stuff which does not work 47 | # if (MSVC) 48 | # add_subdirectory(win32-ui) 49 | # endif(MSVC) 50 | endif(LITESQL_WITH_UI) 51 | 52 | 53 | 54 | install(TARGETS litesql-gen RUNTIME DESTINATION bin COMPONENT generator) 55 | INCLUDE_DIRECTORIES(../library ${EXPAT_INCLUDE_DIRS}) 56 | -------------------------------------------------------------------------------- /src/generator/Makefile.am: -------------------------------------------------------------------------------- 1 | AM_CXXFLAGS=-I$(srcdir)/../../include -I$(srcdir)/../library 2 | 3 | noinst_LIBRARIES = libmodel.a 4 | 5 | libmodel_a_SOURCES = \ 6 | logger.cpp logger.hpp \ 7 | xmlparser.cpp xmlparser.hpp \ 8 | objectmodel.cpp objectmodel.hpp \ 9 | xmlobjects.hpp \ 10 | xmlobjects.cpp \ 11 | md5.cpp md5.hpp \ 12 | generator.cpp generator.hpp \ 13 | litesql-gen-xml.cpp litesql-gen-xml.hpp \ 14 | litesql-gen-cpp.cpp litesql-gen-cpp.hpp \ 15 | litesql-gen-graphviz.cpp litesql-gen-graphviz.hpp \ 16 | litesql-gen-ruby-activerecord.cpp litesql-gen-ruby-activerecord.hpp 17 | 18 | 19 | bin_PROGRAMS=litesql-gen 20 | 21 | 22 | 23 | litesql_gen_SOURCES= litesql-gen-main.cpp \ 24 | litesql-gen.hpp 25 | 26 | litesql_gen_LDADD=../library/liblitesql.la ../library/liblitesql-util.la libmodel.a 27 | 28 | EXTRA_DIST=CMakeLists.txt 29 | -------------------------------------------------------------------------------- /src/generator/ddl2litesql.cpp: -------------------------------------------------------------------------------- 1 | #include "litesql.hpp" 2 | #include "logger.hpp" 3 | #include "objectmodel.hpp" 4 | #include 5 | 6 | using namespace std; 7 | using namespace litesql; 8 | 9 | const char* help = 10 | "Usage: ddl2litesql [options] \n\n" 11 | "Options:\n" 12 | " -v, --verbose verbosely report code generation\n" 13 | " --help print help\n" 14 | 15 | " --output-dir=/path/to/src output all files to directory \n" 16 | "\n" 17 | "\n\n" 18 | ; 19 | 20 | struct options_t { 21 | string output_dir; 22 | bool printHelp; 23 | }; 24 | 25 | options_t options = {"",false}; 26 | 27 | int parseArgs(int argc, char **argv) 28 | { 29 | if(argc<2) 30 | return -1; 31 | 32 | for (int i = 1; i < argc; i++) { 33 | string arg = argv[i]; 34 | if (arg == "-v" || arg == "--verbose") { 35 | Logger::verbose(true); 36 | continue; 37 | } else if (litesql::startsWith(arg, "--output-dir")) { 38 | litesql::Split param(arg, "="); 39 | options.output_dir=param[1]; 40 | continue; 41 | } else if (arg == "--help") { 42 | options.printHelp = true; 43 | continue; 44 | } else if (i < argc - 1) { 45 | Logger::error("Error: invalid argument "+ arg); 46 | return -1; 47 | } 48 | } 49 | return 0; 50 | } 51 | 52 | int main(int argc, char **argv) { 53 | 54 | int rc = parseArgs(argc,argv); 55 | if (rc!=0) 56 | { 57 | Logger::error(help); 58 | return EXIT_FAILURE; 59 | } 60 | else 61 | { 62 | if (options.printHelp) { 63 | cout << help << endl; 64 | } 65 | 66 | ifstream is; 67 | 68 | is.open(argv[argc-1]); 69 | if (!is.is_open()) 70 | { 71 | Logger::error("cant open ",argv[argc-1]); 72 | return EXIT_FAILURE; 73 | } 74 | else 75 | { 76 | ObjectModel model; 77 | // cout << argv[argc-1] << endl; 78 | 79 | } 80 | } 81 | } 82 | -------------------------------------------------------------------------------- /src/generator/litesql-gen-actions.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kramdar/litesql/5aa506425d64f21bb9bb5bca05df7ef528cb01cc/src/generator/litesql-gen-actions.cpp -------------------------------------------------------------------------------- /src/generator/litesql-gen-cpp.hpp: -------------------------------------------------------------------------------- 1 | #ifndef litesql_gen_cpp_hpp 2 | #define litesql_gen_cpp_hpp 3 | 4 | #include "generator.hpp" 5 | 6 | namespace litesql { 7 | 8 | class CppGenerator : public CodeGenerator { 9 | public: 10 | static const char* NAME; 11 | CppGenerator(): CodeGenerator(NAME) { }; 12 | bool generateCode(const ObjectModel* model); 13 | 14 | void setOutputSourcesDirectory(const std::string& directory); 15 | void setOutputIncludesDirectory(const std::string& directory); 16 | 17 | const std::string& getOutputSourcesDirectory() const; 18 | const std::string& getOutputIncludesDirectory() const; 19 | 20 | std::string getOutputSourcesFilename(const std::string& name) const; 21 | std::string getOutputIncludesFilename(const std::string& name) const; 22 | 23 | private: 24 | std::string m_sources_directory; 25 | std::string m_includes_directory; 26 | 27 | void writeCPPClasses(const ObjectModel* model); 28 | FILE *hpp, *cpp; 29 | }; 30 | 31 | } 32 | #endif 33 | -------------------------------------------------------------------------------- /src/generator/litesql-gen-graphviz.cpp: -------------------------------------------------------------------------------- 1 | #include "litesql-gen-graphviz.hpp" 2 | #include 3 | 4 | using namespace std; 5 | using namespace xml; 6 | 7 | const char* GraphvizGenerator::NAME="graphviz"; 8 | 9 | bool GraphvizGenerator::generate(const ObjectPtr& object ,ostream& os, size_t indent) 10 | { 11 | string indents(indent,' '); 12 | os << indents << '"' << object->name << '"'; 13 | 14 | if (object->parentObject.get()) 15 | os << " -> \"" << object->inherits << "\""; 16 | 17 | os << ';' << endl; 18 | return true; 19 | } 20 | 21 | bool GraphvizGenerator::generate(const Relation::counted_ptr& relation, ostream& os, size_t indent) 22 | { 23 | string indents(indent,' '); 24 | Relation& r = *relation; 25 | for (size_t i2 = 0; i2 < r.related.size(); i2++) { 26 | Relate& rel = *r.related[i2]; 27 | string extra; 28 | for (size_t i3 = 0; i3 < r.related.size(); i3++) { 29 | if (i3 == i2) 30 | continue; 31 | 32 | Relate& destRel = *r.related[i3]; 33 | if (rel.handle.size() > 0) { 34 | extra = " [label=\"" + rel.handle + "\"]"; 35 | os << indents << "\"" << rel.objectName << "\" -> \""<< destRel.objectName <<"\""<< " [label=\"" << rel.handle << "\"]" <<";" <db->name + ".dot")); 46 | 47 | ofstream os(fname.c_str()); 48 | os << "digraph database {" << endl 49 | << " node[shape=box,color=black];" << endl 50 | << " subgraph inheritance {" << endl 51 | << " edge[style=dashed,dir=forward,arrowhead=normal];" << endl; 52 | 53 | CodeGenerator::generate(model->objects,os,4); 54 | 55 | os << " }" << endl 56 | << " subgraph relations {" << endl 57 | << " edge[dir=forward,arrowhead=vee];" << endl; 58 | 59 | CodeGenerator::generate(model->relations,os,4); 60 | 61 | os << " }" << endl 62 | << "}" << endl; 63 | 64 | os.close(); 65 | return true; 66 | } 67 | 68 | 69 | -------------------------------------------------------------------------------- /src/generator/litesql-gen-graphviz.hpp: -------------------------------------------------------------------------------- 1 | #ifndef _litesql_gen_graphviz_hpp 2 | #define _litesql_gen_graphviz_hpp 3 | 4 | #include "generator.hpp" 5 | 6 | namespace litesql { 7 | 8 | class GraphvizGenerator : public CodeGenerator { 9 | public: 10 | static const char* NAME; 11 | 12 | GraphvizGenerator(): CodeGenerator(NAME) { }; 13 | bool generateCode(const ObjectModel* model); 14 | protected: 15 | bool generate(const xml::ObjectPtr& object , std::ostream& os , size_t indent); 16 | bool generate(const xml::Relation::counted_ptr& relation , std::ostream& os , size_t indent); 17 | }; 18 | } 19 | 20 | #endif 21 | -------------------------------------------------------------------------------- /src/generator/litesql-gen-ruby-activerecord.hpp: -------------------------------------------------------------------------------- 1 | #ifndef litesql_gen_ruby_activerecord_hpp 2 | #define litesql_gen_ruby_activerecord_hpp 3 | 4 | #include "generator.hpp" 5 | 6 | namespace litesql { 7 | 8 | class RubyActiveRecordGenerator : public CompositeGenerator { 9 | public: 10 | static const char* NAME; 11 | RubyActiveRecordGenerator(); 12 | }; 13 | 14 | class ActiveRecordClassGenerator : public CodeGenerator { 15 | public: 16 | static const char* NAME; 17 | ActiveRecordClassGenerator(): CodeGenerator(NAME) { }; 18 | bool generateCode(const ObjectModel* model); 19 | protected: 20 | bool generate(const xml::ObjectPtr& object); 21 | }; 22 | 23 | class RubyMigrationsGenerator : public CodeGenerator { 24 | public: 25 | static const char* NAME; 26 | RubyMigrationsGenerator(): CodeGenerator(NAME) { }; 27 | bool generateCode(const ObjectModel* model); 28 | }; 29 | 30 | } 31 | 32 | #endif 33 | -------------------------------------------------------------------------------- /src/generator/litesql-gen-xml.hpp: -------------------------------------------------------------------------------- 1 | #ifndef xmlgenerator_hpp 2 | #define xmlgenerator_hpp 3 | 4 | #include 5 | #include "generator.hpp" 6 | 7 | namespace litesql { 8 | class XmlGenerator : public CodeGenerator { 9 | public: 10 | XmlGenerator(): CodeGenerator("xml") { }; 11 | virtual void setOutputFilename(const std::string& filename); 12 | bool generateCode(const ObjectModel* model); 13 | 14 | protected: 15 | bool generate(const xml::ObjectPtr& object , std::ostream& os , size_t indent=2); 16 | bool generate(xml::Relation* const relation , std::ostream& os , size_t indent=4); 17 | 18 | private: 19 | bool generateDatabase(std::ostream& os,const ObjectModel* model); 20 | std::string m_outputFilename; 21 | }; 22 | } 23 | 24 | #endif //#ifndef xmlgenerator_hpp 25 | 26 | -------------------------------------------------------------------------------- /src/generator/litesql-gen.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kramdar/litesql/5aa506425d64f21bb9bb5bca05df7ef528cb01cc/src/generator/litesql-gen.cpp -------------------------------------------------------------------------------- /src/generator/litesql-gen.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kramdar/litesql/5aa506425d64f21bb9bb5bca05df7ef528cb01cc/src/generator/litesql-gen.hpp -------------------------------------------------------------------------------- /src/generator/litesql.dtd: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | 8 | 11 | 12 | 13 | 19 | 20 | 21 | 23 | 24 | 26 | 27 | 28 | 31 | 32 | 33 | 36 | 37 | 38 | 41 | 42 | 43 | 47 | 48 | 49 | 50 | 55 | 56 | 57 | 59 | 60 | -------------------------------------------------------------------------------- /src/generator/logger.cpp: -------------------------------------------------------------------------------- 1 | #include "logger.hpp" 2 | # 3 | #include 4 | 5 | using namespace std; 6 | using namespace litesql; 7 | 8 | static bool logger_verbose = false; 9 | 10 | void Logger::verbose(bool verbose) 11 | { 12 | logger_verbose = verbose; 13 | } 14 | 15 | void Logger::report(const string& msg,const string& msg2) 16 | { 17 | if (logger_verbose) 18 | cout << msg << msg2 << endl; 19 | } 20 | 21 | void Logger::report(const string& msg) 22 | { 23 | if (logger_verbose) 24 | cout << msg << endl; 25 | } 26 | 27 | void Logger::error(const std::string& msg) 28 | { 29 | cerr << msg << endl; 30 | } 31 | 32 | void Logger::error(const std::string& msg,const std::string& msg2) 33 | { 34 | cerr << msg << msg2 << endl; 35 | } 36 | 37 | void Logger::error(const Except& ex) 38 | { 39 | cerr << ex << endl; 40 | } 41 | 42 | 43 | -------------------------------------------------------------------------------- /src/generator/logger.hpp: -------------------------------------------------------------------------------- 1 | #ifndef LOGGER_HPP 2 | #define LOGGER_HPP 3 | 4 | #include "litesql/except.hpp" 5 | 6 | namespace litesql 7 | { 8 | class Logger { 9 | public: 10 | static void report(const std::string& msg,const std::string& msg2); 11 | static void report(const std::string& msg); 12 | static void error(const std::string& msg,const std::string& msg2); 13 | static void error(const std::string& msg2); 14 | static void error(const Except& ex); 15 | static void verbose(bool verbose); 16 | }; 17 | } 18 | 19 | #endif // #ifndef LOGGER_HPP 20 | -------------------------------------------------------------------------------- /src/generator/objectmodel.hpp: -------------------------------------------------------------------------------- 1 | #ifndef objectmodel_hpp 2 | #define objectmodel_hpp 3 | 4 | #include "xmlobjects.hpp" 5 | 6 | namespace litesql { 7 | 8 | /** the litesql object model */ 9 | class ObjectModel { 10 | public: 11 | typedef counted_ptr counted_ptr; 12 | 13 | 14 | ObjectModel(); 15 | virtual ~ObjectModel(); 16 | /** load model from xml-file (uses a specialized XmlParser) */ 17 | bool loadFromFile(const std::string& filename); 18 | 19 | bool remove(xml::Field::counted_ptr& field); 20 | bool remove(xml::Method::counted_ptr& method); 21 | bool remove(xml::ObjectPtr& object); 22 | 23 | xml::Relation::sequence relations; 24 | xml::ObjectSequence objects; 25 | 26 | xml::DatabasePtr db; 27 | }; 28 | 29 | const char* toString(AT_field_type t); 30 | AT_field_type field_type(const char* value); 31 | 32 | } 33 | #endif //#ifndef objectmodel_hpp 34 | 35 | -------------------------------------------------------------------------------- /src/generator/ui/GenerateView.h: -------------------------------------------------------------------------------- 1 | #ifndef GENERATE_VIEW_H 2 | #define GENERATE_VIEW_H 3 | 4 | #include 5 | 6 | class LitesqlGeneratePanel; 7 | 8 | class GenerateView: public wxView 9 | { 10 | public: 11 | wxMDIChildFrame *frame; 12 | 13 | GenerateView(); 14 | virtual ~GenerateView(); 15 | 16 | 17 | bool OnCreate(wxDocument *doc, long flags); 18 | void OnUpdate(wxView *sender, wxObject *hint = (wxObject *) NULL); 19 | 20 | void OnDraw(wxDC *dc); 21 | bool OnClose(bool deleteWindow = true); 22 | 23 | private: 24 | LitesqlGeneratePanel* m_pGeneratePanel; 25 | 26 | 27 | DECLARE_DYNAMIC_CLASS(GenerateView) 28 | DECLARE_EVENT_TABLE() 29 | }; 30 | 31 | #endif // #ifndef GENERATE_VIEW_H 32 | -------------------------------------------------------------------------------- /src/generator/ui/LitesqlDatabasePanel.cpp: -------------------------------------------------------------------------------- 1 | #include "LitesqlDatabasePanel.h" 2 | #include "xmlObjects.hpp" 3 | 4 | #include "ddx.h" 5 | 6 | using namespace ui; 7 | using namespace xml; 8 | 9 | LitesqlDatabasePanel::LitesqlDatabasePanel( wxWindow* parent,DatabasePtr& db ) 10 | : 11 | DatabasePanel( parent ), 12 | m_database(db) 13 | { 14 | m_textName->SetValidator(StdStringValidator(wxFILTER_ALPHANUMERIC,&m_database->name)); 15 | m_textInclude->SetValidator(StdStringValidator(wxFILTER_ALPHANUMERIC,&m_database->include)); 16 | m_textNamespace->SetValidator(StdStringValidator(wxFILTER_ALPHANUMERIC,&m_database->nspace)); 17 | } 18 | -------------------------------------------------------------------------------- /src/generator/ui/LitesqlDatabasePanel.h: -------------------------------------------------------------------------------- 1 | #ifndef __LitesqlDatabasePanel__ 2 | #define __LitesqlDatabasePanel__ 3 | 4 | /** 5 | @file 6 | Subclass of DatabasePanel, which is generated by wxFormBuilder. 7 | */ 8 | 9 | #include "ui.h" 10 | 11 | #include "objectmodel.hpp" 12 | 13 | namespace ui { 14 | 15 | /** Implementing DatabasePanel */ 16 | class LitesqlDatabasePanel : public DatabasePanel 17 | { 18 | public: 19 | /** Constructor */ 20 | LitesqlDatabasePanel( wxWindow* parent, xml::DatabasePtr& db ); 21 | 22 | private: 23 | xml::DatabasePtr m_database; 24 | }; 25 | 26 | } 27 | #endif // __LitesqlDatabasePanel__ 28 | -------------------------------------------------------------------------------- /src/generator/ui/LitesqlDocument.cpp: -------------------------------------------------------------------------------- 1 | 2 | // For compilers that support precompilation, includes "wx/wx.h". 3 | #include "wx/wxprec.h" 4 | 5 | #ifdef __BORLANDC__ 6 | #pragma hdrstop 7 | #endif 8 | 9 | #ifndef WX_PRECOMP 10 | #include "wx/wx.h" 11 | #endif 12 | 13 | #if !wxUSE_DOC_VIEW_ARCHITECTURE 14 | #error You must set wxUSE_DOC_VIEW_ARCHITECTURE to 1 in setup.h! 15 | #endif 16 | 17 | #if wxUSE_STD_IOSTREAM 18 | #include "wx/ioswrap.h" 19 | #else 20 | #include "wx/txtstrm.h" 21 | #endif 22 | 23 | #include "LitesqlDocument.h" 24 | 25 | #include "litesql-gen-xml.hpp" 26 | 27 | IMPLEMENT_DYNAMIC_CLASS(LitesqlDocument, wxDocument) 28 | 29 | using namespace std; 30 | using namespace litesql; 31 | 32 | LitesqlDocument::LitesqlDocument(void) 33 | : m_pModel(new ObjectModel()) 34 | { 35 | } 36 | 37 | LitesqlDocument::~LitesqlDocument(void) 38 | { 39 | } 40 | 41 | ObjectModel::counted_ptr& LitesqlDocument::GetModel() 42 | { 43 | return m_pModel; 44 | } 45 | 46 | void LitesqlDocument::RemoveField(xml::Field::counted_ptr pField) 47 | { 48 | if ( (m_pModel.get()!=NULL) && (pField.get()!=NULL) ) 49 | { 50 | if (m_pModel->remove(pField)) 51 | { 52 | Modify(true); 53 | UpdateAllViews(); 54 | } 55 | } 56 | } 57 | 58 | #if wxUSE_STD_IOSTREAM 59 | wxSTD ostream& LitesqlDocument::SaveObject(wxSTD ostream& stream) 60 | #else 61 | wxOutputStream& LitesqlDocument::SaveObject(wxOutputStream& stream) 62 | #endif 63 | { 64 | XmlGenerator xml_generator; 65 | 66 | string fname (GetFilename().mb_str()); 67 | xml_generator.setOutputFilename(fname); 68 | 69 | xml_generator.generateCode(m_pModel.get()); 70 | 71 | return stream; 72 | } 73 | 74 | #if wxUSE_STD_IOSTREAM 75 | wxSTD istream& LitesqlDocument::LoadObject(wxSTD istream& stream) 76 | #else 77 | wxInputStream& LitesqlDocument::LoadObject(wxInputStream& stream) 78 | #endif 79 | { 80 | string fname (GetFilename().mb_str()); 81 | m_pModel->loadFromFile(fname); 82 | return stream; 83 | } 84 | -------------------------------------------------------------------------------- /src/generator/ui/LitesqlDocument.cpp.h: -------------------------------------------------------------------------------- 1 | #ifndef LITESQL_DOCUMENT_H 2 | #define LITESQL_DOCUMENT_H 3 | 4 | class LitesqlDocument: public wxDocument 5 | { 6 | DECLARE_DYNAMIC_CLASS(LitesqlDocument) 7 | 8 | private: 9 | public: 10 | 11 | LitesqlDocument(void){}; 12 | ~LitesqlDocument(void); 13 | }; 14 | 15 | #endif // #ifndef LITESQL_DOCUMENT_H 16 | -------------------------------------------------------------------------------- /src/generator/ui/LitesqlDocument.h: -------------------------------------------------------------------------------- 1 | #ifndef LITESQL_DOCUMENT_H 2 | #define LITESQL_DOCUMENT_H 3 | 4 | #include 5 | #include "objectmodel.hpp" 6 | 7 | 8 | class LitesqlDocument: public wxDocument 9 | { 10 | DECLARE_DYNAMIC_CLASS(LitesqlDocument) 11 | 12 | public: 13 | 14 | LitesqlDocument(void); 15 | virtual ~LitesqlDocument(void); 16 | 17 | litesql::ObjectModel::counted_ptr& GetModel(); 18 | void RemoveField(xml::Field::counted_ptr pField); 19 | 20 | protected: 21 | 22 | #if wxUSE_STD_IOSTREAM 23 | wxSTD ostream& SaveObject(wxSTD ostream& text_stream); 24 | wxSTD istream& LoadObject(wxSTD istream& text_stream); 25 | #else 26 | wxOutputStream& SaveObject(wxOutputStream& stream); 27 | wxInputStream& LoadObject(wxInputStream& stream); 28 | #endif 29 | 30 | private: 31 | litesql::ObjectModel::counted_ptr m_pModel; 32 | }; 33 | 34 | #endif // #ifndef LITESQL_DOCUMENT_H 35 | -------------------------------------------------------------------------------- /src/generator/ui/LitesqlMethodPanel.cpp: -------------------------------------------------------------------------------- 1 | #include "LitesqlMethodPanel.h" 2 | #include "objectmodel.hpp" 3 | 4 | using namespace xml; 5 | 6 | LitesqlMethodPanel::LitesqlMethodPanel( wxWindow* parent , Method::counted_ptr& pMethod) 7 | : 8 | MethodPanel( parent ), 9 | m_pMethod(pMethod) 10 | { 11 | m_textCtrlName->SetValidator(StdStringValidator(wxFILTER_ALPHANUMERIC,&m_pMethod->name)); 12 | } 13 | -------------------------------------------------------------------------------- /src/generator/ui/LitesqlMethodPanel.h: -------------------------------------------------------------------------------- 1 | #ifndef __LitesqlMethodPanel__ 2 | #define __LitesqlMethodPanel__ 3 | 4 | /** 5 | @file 6 | Subclass of FieldPanel, which is generated by wxFormBuilder. 7 | */ 8 | 9 | #include "objectmodel.hpp" 10 | 11 | #include "ui.h" 12 | #include "ddx.h" 13 | 14 | /** Implementing FieldPanel */ 15 | class LitesqlMethodPanel : public ui::MethodPanel 16 | { 17 | public: 18 | /** Constructor */ 19 | LitesqlMethodPanel( wxWindow* parent , xml::Method::counted_ptr& pMethod); 20 | 21 | private: 22 | xml::Method::counted_ptr m_pMethod; 23 | }; 24 | 25 | #endif // __LitesqlMethodPanel__ 26 | -------------------------------------------------------------------------------- /src/generator/ui/LitesqlObjectPanel.h: -------------------------------------------------------------------------------- 1 | #ifndef __LitesqlObjectPanel__ 2 | #define __LitesqlObjectPanel__ 3 | 4 | /** 5 | @file 6 | Subclass of ObjectPanel, which is generated by wxFormBuilder. 7 | */ 8 | 9 | #include 10 | #include 11 | 12 | #include "ui.h" 13 | #include "xmlobjects.hpp" 14 | 15 | /**Validator for a wxChoice <-> xml::Field::type */ 16 | class ObjectTypeValidator : public wxGenericValidator { 17 | 18 | DECLARE_DYNAMIC_CLASS(ObjectTypeValidator) 19 | 20 | public: 21 | 22 | ObjectTypeValidator (xml::ObjectPtr val = xml::ObjectPtr(NULL)); 23 | ObjectTypeValidator (const ObjectTypeValidator& val); 24 | 25 | virtual wxObject *Clone() const; 26 | 27 | // Called to transfer data to the window 28 | virtual bool TransferToWindow(); 29 | 30 | // Called to transfer data from the window 31 | virtual bool TransferFromWindow(); 32 | 33 | private: 34 | xml::ObjectPtr m_pObject; 35 | wxString value; 36 | }; 37 | 38 | /** Implementing ObjectPanel */ 39 | class LitesqlObjectPanel : public ui::ObjectPanel 40 | { 41 | public: 42 | /** Constructor */ 43 | LitesqlObjectPanel( wxWindow* parent,xml::ObjectPtr& pObject ); 44 | void setBaseClasses(const xml::ObjectSequence& baseClasses); 45 | xml::ObjectPtr& GetObject(); 46 | 47 | private: 48 | LitesqlObjectPanel(): ui::ObjectPanel(NULL) {}; 49 | 50 | xml::ObjectPtr m_pObject; 51 | DECLARE_DYNAMIC_CLASS(LitesqlObjectPanel); 52 | }; 53 | 54 | #endif // __LitesqlObjectPanel__ 55 | -------------------------------------------------------------------------------- /src/generator/ui/LitesqlRelationPanel.h: -------------------------------------------------------------------------------- 1 | #ifndef __LitesqlRelationPanel__ 2 | #define __LitesqlRelationPanel__ 3 | 4 | /** 5 | @file 6 | Subclass of RelationPanel, which is generated by wxFormBuilder. 7 | */ 8 | #include 9 | #include 10 | 11 | #include "ui.h" 12 | #include "xmlobjects.hpp" 13 | 14 | /**Validator for a wxChoice <-> xml::Field::type */ 15 | class RelateTypeValidator : public wxGenericValidator { 16 | 17 | DECLARE_DYNAMIC_CLASS(RelateTypeValidator) 18 | 19 | public: 20 | 21 | RelateTypeValidator (xml::Relate::counted_ptr val = xml::Relate::counted_ptr(NULL)); 22 | RelateTypeValidator (const RelateTypeValidator& val); 23 | 24 | virtual wxObject *Clone() const; 25 | 26 | // Called to transfer data to the window 27 | virtual bool TransferToWindow(); 28 | 29 | // Called to transfer data from the window 30 | virtual bool TransferFromWindow(); 31 | 32 | private: 33 | xml::Relate::counted_ptr m_pRelate; 34 | wxString value; 35 | }; 36 | 37 | /** Implementing RelationPanel */ 38 | class LitesqlRelationPanel : public ui::RelationPanel 39 | { 40 | public: 41 | /** Constructor */ 42 | LitesqlRelationPanel( wxWindow* parent , xml::Relation::counted_ptr& pRelation); 43 | void setBaseClasses(const xml::ObjectSequence& baseClasses); 44 | 45 | private: 46 | xml::Relation::counted_ptr m_pRelation; 47 | }; 48 | 49 | #endif // __LitesqlRelationPanel__ 50 | -------------------------------------------------------------------------------- /src/generator/ui/LitesqlView.h: -------------------------------------------------------------------------------- 1 | #ifndef LITESQL_VIEW_H 2 | #define LITESQL_VIEW_H 3 | 4 | #include 5 | #include 6 | 7 | class LitesqlModelTreePanel; 8 | 9 | class LitesqlView: public wxView 10 | { 11 | public: 12 | wxMDIChildFrame *frame; 13 | LitesqlModelTreePanel* panel; 14 | 15 | LitesqlView(); 16 | virtual ~LitesqlView(); 17 | 18 | 19 | protected: 20 | wxPanel* GetSelectedPage(); 21 | wxMenu* GetContextMenu(); 22 | 23 | bool OnCreate(wxDocument *doc, long flags); 24 | void OnUpdate(wxView *sender, wxObject *hint = (wxObject *) NULL); 25 | 26 | void OnDraw(wxDC *dc); 27 | bool OnClose(bool deleteWindow = true); 28 | 29 | void OnPageChanged(wxTreebookEvent& event); 30 | void OnPageChanging(wxTreebookEvent& event); 31 | 32 | void OnContextMenu(wxContextMenuEvent& event); 33 | 34 | void OnAddObject(wxCommandEvent& event ); 35 | void OnRemoveObject(wxCommandEvent& event ); 36 | 37 | void OnAddField(wxCommandEvent& event); 38 | void OnRemoveField(wxCommandEvent& event); 39 | 40 | void OnAddMethod(wxCommandEvent& event); 41 | void OnRemoveMethod(wxCommandEvent& event); 42 | 43 | void OnAddRelated(wxCommandEvent&); 44 | void OnRemoveRelated(wxCommandEvent&); 45 | 46 | void OnAddRelation(wxCommandEvent&); 47 | void OnRemoveRelation(wxCommandEvent&); 48 | 49 | void OnGenerate(wxCommandEvent& event ); 50 | 51 | private: 52 | DECLARE_DYNAMIC_CLASS(LitesqlView) 53 | DECLARE_EVENT_TABLE() 54 | 55 | wxMenu* m_ctxMenu; 56 | 57 | }; 58 | 59 | #endif // #ifndef LITESQL_VIEW_H 60 | -------------------------------------------------------------------------------- /src/generator/ui/MainFrame.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include 4 | 5 | #include "objectmodel.hpp" 6 | 7 | #include "MainFrame.h" 8 | #include "VisualLitesqlApp.h" 9 | #include "LitesqlDocument.h" 10 | #include "GenerateView.h" 11 | 12 | #include "ui.h" 13 | 14 | IMPLEMENT_CLASS(MainFrame, wxDocMDIParentFrame) 15 | BEGIN_EVENT_TABLE(MainFrame, wxDocMDIParentFrame) 16 | EVT_MENU(VisualLitesqlApp::ID_ABOUT, MainFrame::OnAbout) 17 | END_EVENT_TABLE() 18 | 19 | MainFrame::MainFrame(wxDocManager *manager, wxFrame *frame, const wxString& title, 20 | const wxPoint& pos, const wxSize& size, long type): 21 | wxDocMDIParentFrame(manager, frame, wxID_ANY, title, pos, size, type, _T("myFrame")) 22 | { 23 | editMenu = (wxMenu *) NULL; 24 | //// Make a menubar 25 | wxMenu *file_menu = new wxMenu; 26 | wxMenu *edit_menu = (wxMenu *) NULL; 27 | 28 | file_menu->Append(wxID_NEW, _T("&New...\tCtrl-N")); 29 | file_menu->Append(wxID_OPEN, _T("&Open...\tCtrl-X")); 30 | 31 | file_menu->AppendSeparator(); 32 | file_menu->Append(wxID_EXIT, _T("E&xit\tAlt-X")); 33 | 34 | // A nice touch: a history of files visited. Use this menu. 35 | m_docManager->FileHistoryUseMenu(file_menu); 36 | 37 | wxMenu *help_menu = new wxMenu; 38 | help_menu->Append(VisualLitesqlApp::ID_ABOUT, _T("&About\tF1")); 39 | 40 | wxMenuBar *menu_bar = new wxMenuBar; 41 | 42 | menu_bar->Append(file_menu, _T("&File")); 43 | if (edit_menu) 44 | menu_bar->Append(edit_menu, _T("&Edit")); 45 | menu_bar->Append(help_menu, _T("&Help")); 46 | 47 | SetMenuBar(menu_bar); 48 | } 49 | 50 | MainFrame::~MainFrame() 51 | {} 52 | 53 | void MainFrame::OnAbout(wxCommandEvent& WXUNUSED(event) ) 54 | { 55 | ui::AboutDialog dlg(this); 56 | dlg.ShowModal(); 57 | } 58 | 59 | -------------------------------------------------------------------------------- /src/generator/ui/MainFrame.h: -------------------------------------------------------------------------------- 1 | #ifndef MAINFRAME_H 2 | #define MAINFRAME_H 3 | 4 | /** 5 | @file 6 | Subclass of DocumentFrameBase, which is generated by wxFormBuilder. 7 | */ 8 | 9 | //#include "ui.h" 10 | #include 11 | 12 | class MainFrame: public wxDocMDIParentFrame 13 | { 14 | DECLARE_CLASS(MainFrame) 15 | public: 16 | wxMenu *editMenu; 17 | 18 | MainFrame(wxDocManager *manager, wxFrame *frame, const wxString& title, const wxPoint& pos, const wxSize& size, 19 | long type); 20 | virtual ~MainFrame(); 21 | 22 | void OnAbout(wxCommandEvent& event); 23 | 24 | protected: 25 | 26 | DECLARE_EVENT_TABLE() 27 | }; 28 | 29 | #endif // #ifndef MAINFRAME_H 30 | -------------------------------------------------------------------------------- /src/generator/ui/VisualLitesqlApp.h: -------------------------------------------------------------------------------- 1 | #ifndef VisualLitesqlApp_H 2 | #define VisualLitesqlApp_H 3 | 4 | #include 5 | #include 6 | 7 | class MainFrame; 8 | 9 | class VisualLitesqlApp : public wxApp 10 | { 11 | public: 12 | enum { 13 | ID_GENERATE = wxID_HIGHEST+1, 14 | ID_ADD_OBJECT, 15 | ID_REMOVE_OBJECT, 16 | ID_ADD_FIELD, 17 | ID_REMOVE_FIELD, 18 | ID_ADD_METHOD, 19 | ID_REMOVE_METHOD, 20 | ID_ADD_RELATED, 21 | ID_REMOVE_RELATED, 22 | ID_ADD_RELATION, 23 | ID_REMOVE_RELATION, 24 | 25 | ID_ABOUT 26 | }; 27 | VisualLitesqlApp(void); 28 | virtual ~VisualLitesqlApp(void); 29 | 30 | void info(const wxString& message); 31 | void warn(const wxString& message); 32 | void error(const wxString& message); 33 | 34 | wxMDIChildFrame *CreateChildFrame(wxDocument *doc, wxView *view); 35 | 36 | wxDocTemplate *m_pGenerateViewTemplate; 37 | 38 | protected: 39 | bool OnInit(void); 40 | int OnExit(void); 41 | 42 | private: 43 | 44 | protected: 45 | wxDocManager* m_docManager; 46 | 47 | MainFrame* pMainframe; 48 | }; 49 | 50 | DECLARE_APP(VisualLitesqlApp) 51 | 52 | #endif // #ifndef VisualLitesqlApp_H 53 | -------------------------------------------------------------------------------- /src/generator/ui/ddx.cpp: -------------------------------------------------------------------------------- 1 | #include "ddx.h" 2 | 3 | 4 | IMPLEMENT_DYNAMIC_CLASS(StdStringValidator,wxTextValidator) 5 | 6 | StdStringValidator::StdStringValidator(long style, std::string *val) 7 | : pValue(val), 8 | value(wxString::FromUTF8(val->c_str()) ), 9 | wxTextValidator(style,&value) 10 | { 11 | }; 12 | 13 | StdStringValidator ::StdStringValidator (const StdStringValidator& val) 14 | { 15 | pValue = val.pValue; 16 | value = val.value; 17 | Copy(val); 18 | m_stringValue = &value; 19 | }; 20 | 21 | wxObject *StdStringValidator ::Clone() const 22 | { return new StdStringValidator(*this); } 23 | 24 | // Called to transfer data to the window 25 | bool StdStringValidator ::TransferToWindow() 26 | { 27 | value = wxString::FromUTF8(pValue->c_str()); 28 | return wxTextValidator::TransferToWindow(); 29 | } 30 | 31 | // Called to transfer data from the window 32 | bool StdStringValidator ::TransferFromWindow() 33 | { 34 | bool result = wxTextValidator::TransferFromWindow(); 35 | *pValue = value.ToUTF8(); 36 | return result; 37 | } 38 | 39 | -------------------------------------------------------------------------------- /src/generator/ui/ddx.h: -------------------------------------------------------------------------------- 1 | #ifndef DDX_H 2 | #define DDX_H 3 | 4 | #include 5 | #include 6 | #include 7 | 8 | class StdStringValidator : public wxTextValidator { 9 | 10 | DECLARE_DYNAMIC_CLASS(StdStringValidator) 11 | 12 | public: 13 | StdStringValidator (long style = wxFILTER_NONE, std::string *val = 0); 14 | StdStringValidator (const StdStringValidator& val); 15 | 16 | virtual wxObject *Clone() const; 17 | 18 | // Called to transfer data to the window 19 | virtual bool TransferToWindow(); 20 | 21 | // Called to transfer data from the window 22 | virtual bool TransferFromWindow(); 23 | 24 | private: 25 | std::string* pValue; 26 | wxString value; 27 | }; 28 | 29 | 30 | 31 | #endif // #ifndef DDX_H 32 | -------------------------------------------------------------------------------- /src/generator/xmlparser.hpp: -------------------------------------------------------------------------------- 1 | #ifndef litesql_xmlparser_hpp 2 | #define litesql_xmlparser_hpp 3 | 4 | #include 5 | 6 | extern "C" { 7 | #include "expat.h" 8 | } 9 | 10 | namespace xml { 11 | /** abstract base class for SAX2 Parser based on libxml2 */ 12 | class XmlParser { 13 | 14 | public: 15 | virtual ~XmlParser(); 16 | bool parseFile(const std::string& filename); 17 | 18 | static const XML_Char* xmlGetAttrValue(const XML_Char** attrs,const XML_Char* key); 19 | 20 | protected: 21 | virtual void onStartElement( const XML_Char *fullname, 22 | const XML_Char **atts) = 0; 23 | virtual void onEndElement( const XML_Char *fullname) = 0; 24 | 25 | private: 26 | XML_Parser saxHandler; 27 | 28 | friend void XMLParser_xmlSAX2StartElement (void *ctx, 29 | const XML_Char *fullname, 30 | const XML_Char **atts); 31 | 32 | friend void XMLParser_xmlSAX2EndElement(void *ctx,const XML_Char *name); 33 | }; 34 | } 35 | #endif 36 | 37 | -------------------------------------------------------------------------------- /src/library/Makefile.am: -------------------------------------------------------------------------------- 1 | AM_CXXFLAGS=-I$(srcdir)/../../include 2 | 3 | lib_LTLIBRARIES=liblitesql.la liblitesql-util.la 4 | 5 | liblitesql_la_SOURCES=database.cpp \ 6 | expr.cpp \ 7 | selectquery.cpp \ 8 | persistent.cpp \ 9 | backend.cpp \ 10 | updatequery.cpp \ 11 | field.cpp \ 12 | datasource.cpp \ 13 | sqlite3_backend.cpp \ 14 | postgresql.cpp \ 15 | mysql.cpp \ 16 | compatibility.cpp \ 17 | datetime.cpp 18 | 19 | liblitesql_util_la_SOURCES= split.cpp \ 20 | string.cpp 21 | 22 | EXTRA_DIST= compatibility.hpp \ 23 | odbc_backend.hpp \ 24 | mysql.hpp \ 25 | postgresql.hpp \ 26 | sqlite3.hpp \ 27 | sqlite3.c \ 28 | sqlite3.h \ 29 | sqlite3ext.h \ 30 | CMakeLists.txt 31 | 32 | liblitesql_la_LDFLAGS = -version-info 3:6 33 | #`echo $(VERSION)|sed -e 's/\./:/g'` 34 | -------------------------------------------------------------------------------- /src/library/compatibility.cpp: -------------------------------------------------------------------------------- 1 | #include "compatibility.hpp" 2 | #include 3 | #include 4 | #ifndef HAVE_STRTOLL 5 | long long int strtoll(const char *nptr, char **endptr, int base) { 6 | return strtol(nptr, endptr, base); 7 | } 8 | #endif 9 | #ifndef HAVE_STRTOF 10 | float strtof (const char *nptr, char **endptr) { 11 | #ifdef HAVE_ATOF 12 | return (float) atof(nptr); 13 | #endif 14 | } 15 | #endif 16 | #ifndef HAVE_LOCALTIME_R 17 | // FIXME: this is not really thread safe, it's just a hack to compile with MSC 18 | // use something like mutex (W32) / pthread_mutex (LINUX) 19 | struct tm *localtime_r(const time_t *clock, struct tm *result) { 20 | struct tm *tmp; 21 | 22 | tmp = localtime(clock); 23 | if ( tmp ) 24 | { 25 | *result = *tmp; 26 | tmp = result; 27 | } 28 | return tmp; 29 | } 30 | #endif 31 | 32 | 33 | -------------------------------------------------------------------------------- /src/library/compatibility.hpp: -------------------------------------------------------------------------------- 1 | #ifndef compatibility_hpp 2 | #define compatibility_hpp 3 | #include "config.h" 4 | 5 | #ifdef HAVE_MEMORY_H 6 | #include 7 | #endif // #ifdef HAVE_MEMORY_H 8 | 9 | #ifndef HAVE_STRTOLL 10 | long long int strtoll(const char *nptr, char **endptr, int base); 11 | #endif 12 | #ifndef HAVE_STRTOF 13 | float strtof (const char *nptr, char **endptr); 14 | #endif 15 | #ifndef HAVE_LOCALTIME_R 16 | #ifdef WIN32 17 | #include 18 | #endif 19 | struct tm *localtime_r(const time_t *clock, struct tm *result); 20 | #endif 21 | 22 | #ifdef WIN32 23 | #define snprintf _snprintf 24 | #endif 25 | 26 | #endif 27 | -------------------------------------------------------------------------------- /src/library/datasource.cpp: -------------------------------------------------------------------------------- 1 | /* LiteSQL - selectObjectQuery - implementation 2 | * 3 | * The list of contributors at http://litesql.sf.net/ 4 | * 5 | * See LICENSE for copyright information. */ 6 | #include "compatibility.hpp" 7 | #include "litesql/datasource.hpp" 8 | namespace litesql { 9 | using namespace std; 10 | SelectQuery selectObjectQuery(const vector& fdatas, 11 | const Expr& e) { 12 | SelectQuery sel; 13 | Split tables; 14 | set tableSet; 15 | 16 | for (size_t i = 0; i < fdatas.size(); i++) 17 | if (tableSet.find(fdatas[i].table()) == tableSet.end()) { 18 | tables.push_back(fdatas[i].table()); 19 | tableSet.insert(fdatas[i].table()); 20 | } 21 | 22 | Split tableFilters; 23 | tableFilters.resize(tables.size()-1); 24 | for (size_t i = 1; i < tables.size(); i++) 25 | tableFilters[i-1] = tables[i-1] + ".id_ = " + tables[i] + ".id_"; 26 | tableSet.clear(); 27 | for (size_t i = 0; i < tables.size(); i++) { 28 | sel.source(tables[i]); 29 | tableSet.insert(tables[i]); 30 | } 31 | if (tables.size() > 1) 32 | sel.where((e && RawExpr(tableFilters.join(" AND "))).asString()); 33 | else 34 | sel.where(e.asString()); 35 | 36 | for (size_t i = 0; i < fdatas.size(); i++) 37 | sel.result(fdatas[i].table() + "." + fdatas[i].name()); 38 | 39 | return sel; 40 | } 41 | } 42 | -------------------------------------------------------------------------------- /src/library/expr.cpp: -------------------------------------------------------------------------------- 1 | /* LiteSQL - Expr-API implementation 2 | * 3 | * The list of contributors at http://litesql.sf.net/ 4 | * 5 | * See LICENSE for copyright information. */ 6 | 7 | 8 | #include "litesql/expr.hpp" 9 | #include "litesql/selectquery.hpp" 10 | namespace litesql { 11 | 12 | const char* Expr::True ="True"; 13 | 14 | In::In(const FieldType & fld, const SelectQuery& s) 15 | : Oper(fld, "in", "(" + s.asString() + ")") {} 16 | And operator&&(const Expr &o1, const Expr &o2) { 17 | return And(o1,o2); 18 | } 19 | Or operator||(const Expr &o1, const Expr &o2) { 20 | return Or(o1,o2); 21 | } 22 | Not operator!(const Expr & exp) { 23 | return Not(exp); 24 | } 25 | Eq operator==(const FieldType& fld, const FieldType& f2) { 26 | return Eq(fld, f2); 27 | } 28 | Gt operator>(const FieldType& fld, const FieldType& o2) { 29 | return Gt(fld, o2); 30 | } 31 | GtEq operator>=(const FieldType& fld, const FieldType& o2) { 32 | return GtEq(fld, o2); 33 | } 34 | Lt operator<(const FieldType& fld, const FieldType& o2) { 35 | return Lt(fld, o2); 36 | } 37 | LtEq operator<=(const FieldType& fld, const FieldType& o2) { 38 | return LtEq(fld, o2); 39 | } 40 | NotEq operator!=(const FieldType& fld, const FieldType& f2) { 41 | return NotEq(fld, f2); 42 | } 43 | 44 | } 45 | -------------------------------------------------------------------------------- /src/library/mysql.hpp: -------------------------------------------------------------------------------- 1 | /* LiteSQL 2 | * 3 | * The list of contributors at http://litesql.sf.net/ 4 | * 5 | * See LICENSE for copyright information. */ 6 | 7 | /** \file mysql.hpp 8 | * MySQL MySQL::Cursor MySQL::Backend */ 9 | #ifndef _litesql_mysql_hpp 10 | #define _litesql_mysql_hpp 11 | 12 | #ifdef HAVE_LIBMYSQLCLIENT 13 | 14 | 15 | #include "litesql/except.hpp" 16 | #include "litesql/types.hpp" 17 | #include "litesql/string.hpp" 18 | #include "litesql/backend.hpp" 19 | 20 | typedef struct st_mysql MYSQL; 21 | 22 | namespace litesql { 23 | 24 | using namespace std; 25 | /** MySQL - backend */ 26 | class MySQL : public Backend { 27 | MYSQL* conn; 28 | string host, user, passwd, database; 29 | int port; 30 | public: 31 | class Cursor; 32 | class Result; 33 | 34 | MySQL(const string& connInfo); 35 | virtual ~MySQL(); 36 | 37 | virtual bool supportsSequences() const; 38 | virtual string getRowIDType() const; 39 | virtual string getInsertID() const; 40 | virtual void begin() const; 41 | virtual void commit() const; 42 | virtual void rollback() const; 43 | Backend::Result* execute(const string& query) const; 44 | Backend::Cursor* cursor(const string& query) const; 45 | }; 46 | } 47 | #endif 48 | #endif 49 | -------------------------------------------------------------------------------- /src/library/odbc_backend.hpp: -------------------------------------------------------------------------------- 1 | /* LiteSQL 2 | * 3 | * The list of contributors at http://litesql.sf.net/ 4 | * 5 | * See LICENSE for copyright information. */ 6 | 7 | /** \file sqlite3.hpp 8 | * SQLite3 SQLite3::Result SQLite3::Cursor */ 9 | #ifndef _litesql_odbc_backend_hpp 10 | #define _litesql_odbc_backend_hpp 11 | #ifdef HAVE_ODBC 12 | //#include 13 | //#include 14 | //#include 15 | 16 | 17 | #include "litesql/except.hpp" 18 | #include "litesql/types.hpp" 19 | #include "litesql/string.hpp" 20 | #include "litesql/backend.hpp" 21 | 22 | #include 23 | 24 | namespace litesql { 25 | using namespace std; 26 | /** ODBC - backend */ 27 | class ODBCBackend : public Backend { 28 | mutable bool transaction; 29 | protected: 30 | void throwError(int status) const; 31 | public: 32 | /** ODBC - result */ 33 | class Result : public Backend::Result { 34 | public: 35 | Records recs; 36 | Record flds; 37 | Result() {} 38 | virtual size_t fieldNum() const; 39 | virtual Record fields() const; 40 | virtual size_t recordNum() const; 41 | virtual Records records() const; 42 | const Records& recordsRef() const; 43 | }; 44 | /** SQLite3 - cursor */ 45 | class Cursor : public Backend::Cursor { 46 | //HDBC* db; 47 | //HSTMT* stmt; 48 | const ODBCBackend& owner; 49 | public: 50 | Cursor(/*HDBC* db, HSTMT* s,*/ const ODBCBackend& owner); 51 | virtual Record fetchOne(); 52 | virtual ~Cursor(); 53 | }; 54 | ODBCBackend(const string& database); 55 | virtual bool supportsSequences() const; 56 | virtual string getInsertID() const; 57 | virtual void begin() const; 58 | virtual void commit() const; 59 | virtual void rollback() const; 60 | Backend::Result* execute(string query) const; 61 | Backend::Cursor* cursor(string query) const; 62 | virtual ~ODBCBackend(); 63 | }; 64 | } 65 | #endif 66 | #endif 67 | -------------------------------------------------------------------------------- /src/library/postgresql.hpp: -------------------------------------------------------------------------------- 1 | /* LiteSQL 2 | * 3 | * The list of contributors at http://litesql.sf.net/ 4 | * 5 | * See LICENSE for copyright information. */ 6 | 7 | /** \file postgresql.hpp 8 | * PostgreSQL PostgreSQL::Result PostgreSQL::Cursor */ 9 | #ifndef _litesql_postgresql_hpp 10 | #define _litesql_postgresql_hpp 11 | #ifdef HAVE_LIBPQ 12 | #include "libpq-fe.h" 13 | #include "litesql/except.hpp" 14 | #include "litesql/types.hpp" 15 | #include "litesql/string.hpp" 16 | #include "litesql/backend.hpp" 17 | 18 | #include 19 | namespace litesql { 20 | using namespace std; 21 | /** PostgreSQL - backend */ 22 | class PostgreSQL : public Backend { 23 | PGconn *conn; 24 | mutable bool transaction; 25 | public: 26 | /** PostgreSQL - result */ 27 | class Result : public Backend::Result { 28 | PGresult *res; 29 | public: 30 | Result(PGresult * r) : res(r) {} 31 | virtual ~Result(); 32 | virtual size_t fieldNum() const; 33 | virtual Record fields() const; 34 | virtual size_t recordNum() const; 35 | virtual Records records() const; 36 | }; 37 | /** PostgreSQL - cursor 38 | * Note: cursors can declared only in transactions so this will 39 | * silently begin a transaction */ 40 | class Cursor : public Backend::Cursor { 41 | const PostgreSQL& pq; 42 | static int sid; 43 | static size_t cacheSize; 44 | string name; 45 | Records cache; 46 | size_t cachePos; 47 | public: 48 | virtual void setCacheSize(int v); 49 | Cursor(const PostgreSQL& p, string q); 50 | virtual Record fetchOne(); 51 | virtual ~Cursor(); 52 | }; 53 | PostgreSQL(const string& connInfo); 54 | virtual bool supportsSequences() const; 55 | virtual void begin() const; 56 | virtual void commit() const; 57 | virtual void rollback() const; 58 | Backend::Result* execute(const string& query) const; 59 | Backend::Cursor* cursor(const string& query) const; 60 | virtual ~PostgreSQL(); 61 | }; 62 | } 63 | #endif 64 | #endif 65 | -------------------------------------------------------------------------------- /src/library/sqlite3.hpp: -------------------------------------------------------------------------------- 1 | /* LiteSQL 2 | * 3 | * The list of contributors at http://litesql.sf.net/ 4 | * 5 | * See LICENSE for copyright information. */ 6 | 7 | /** \file sqlite3.hpp 8 | * SQLite3 SQLite3::Result SQLite3::Cursor */ 9 | #ifndef _litesql_sqlite3_hpp 10 | #define _litesql_sqlite3_hpp 11 | #ifdef HAVE_LIBSQLITE3 12 | #include "litesql/except.hpp" 13 | #include "litesql/types.hpp" 14 | #include "litesql/string.hpp" 15 | #include "litesql/backend.hpp" 16 | 17 | #include 18 | struct sqlite3; 19 | struct sqlite3_stmt; 20 | 21 | namespace litesql { 22 | using namespace std; 23 | /** SQLite3 - backend */ 24 | class SQLite3 : public Backend { 25 | sqlite3 *db; 26 | mutable bool transaction; 27 | protected: 28 | void throwError(int status) const; 29 | public: 30 | class Cursor; 31 | class Result; 32 | 33 | SQLite3(const string& database); 34 | virtual ~SQLite3(); 35 | 36 | virtual bool supportsSequences() const; 37 | virtual string getInsertID() const; 38 | virtual void begin() const; 39 | virtual void commit() const; 40 | virtual void rollback() const; 41 | 42 | Backend::Result* execute(const string& query) const; 43 | Backend::Cursor* cursor(const string& query) const; 44 | }; 45 | } 46 | #endif 47 | #endif 48 | -------------------------------------------------------------------------------- /src/library/updatequery.cpp: -------------------------------------------------------------------------------- 1 | /* LiteSQL - UpdateQuery implementation 2 | * 3 | * The list of contributors at http://litesql.sf.net/ 4 | * 5 | * See LICENSE for copyright information. */ 6 | #include "compatibility.hpp" 7 | #include "litesql/updatequery.hpp" 8 | namespace litesql { 9 | using namespace std; 10 | UpdateQuery& UpdateQuery::where(const Expr& e) { 11 | _where = (RawExpr(_where) && e).asString(); 12 | return *this; 13 | } 14 | UpdateQuery& UpdateQuery::set(const FieldType& f, const string& value) { 15 | fields.push_back(f.name()); 16 | values.push_back(escapeSQL(value)); 17 | return *this; 18 | } 19 | UpdateQuery::operator string() const { 20 | string q = "UPDATE " + table + " SET "; 21 | Split sets; 22 | for (size_t i = 0; i < fields.size(); i++) 23 | sets.push_back(fields[i] + "=" + values[i]); 24 | q += sets.join(","); 25 | if (_where.size()) 26 | q += " WHERE " + _where; 27 | return q; 28 | } 29 | 30 | } 31 | -------------------------------------------------------------------------------- /src/tests/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_executable(test-selectquery test-selectquery.cpp) 2 | target_link_libraries (test-selectquery litesql litesql-util) 3 | add_test(test-selectquery ${EXECUTABLE_OUTPUT_PATH}/test-selectquery selectquery) 4 | 5 | add_executable(test-split test-split.cpp) 6 | target_link_libraries (test-split litesql-util) 7 | add_test(test-split ${EXECUTABLE_OUTPUT_PATH}/test-split split) 8 | 9 | add_executable(test-datetime test-datetime.cpp) 10 | target_link_libraries (test-datetime litesql litesql-util) 11 | add_test(test-datetime ${EXECUTABLE_OUTPUT_PATH}/test-datetime datetime) 12 | 13 | add_executable(test-update-table test-update-table.cpp) 14 | target_link_libraries (test-update-table litesql litesql-util ${BACKEND_LIBRARIES}) 15 | add_test(test-update-table ${EXECUTABLE_OUTPUT_PATH}/test-update-table update-table) 16 | 17 | INCLUDE_DIRECTORIES(../library) 18 | -------------------------------------------------------------------------------- /src/tests/Makefile.am: -------------------------------------------------------------------------------- 1 | AM_CXXFLAGS=-I$(srcdir)/../../include 2 | 3 | noinst_PROGRAMS=test-split \ 4 | test-selectquery \ 5 | test-datetime \ 6 | test-update-table 7 | 8 | test_split_SOURCES=test-split.cpp 9 | test_split_LDADD=../library/liblitesql.la ../library/liblitesql-util.la 10 | 11 | test_selectquery_SOURCES=test-selectquery.cpp 12 | test_selectquery_LDADD=../library/liblitesql.la ../library/liblitesql-util.la 13 | 14 | test_datetime_SOURCES=test-datetime.cpp 15 | test_datetime_LDADD=../library/liblitesql.la ../library/liblitesql-util.la 16 | 17 | test_update_table_SOURCES=test-update-table.cpp 18 | test_update_table_LDADD=../library/liblitesql.la ../library/liblitesql-util.la 19 | 20 | EXTRA_DIST=CMakeLists.txt 21 | -------------------------------------------------------------------------------- /src/tests/test-datetime.cpp: -------------------------------------------------------------------------------- 1 | /* LiteSQL - test-datetime 2 | * 3 | * The list of contributors at http://litesql.sf.net/ 4 | * 5 | * See LICENSE for copyright information. */ 6 | 7 | #include 8 | 9 | #include "litesql/datetime.hpp" 10 | /* 11 | Datetime unit tester 12 | 13 | TC1: test for equality on load/ save (see ticket #13) 14 | */ 15 | using namespace litesql; 16 | 17 | int main(int argc, char *argv[]) { 18 | // TC1 for DateTime 19 | DateTime dt; 20 | std::string dtstring = dt.asString(); 21 | 22 | DateTime dt2 = convert(dtstring); 23 | 24 | assert(dt.timeStamp() == dt2.timeStamp()); 25 | 26 | // TC1 for Date 27 | Date d; 28 | std::string dstring = d.asString(); 29 | 30 | Date d2 = convert(dstring); 31 | 32 | assert(d.timeStamp() == d2.timeStamp()); 33 | 34 | // TC1 for Time 35 | Time t; 36 | std::string tstring = t.asString(); 37 | 38 | Time t2 = convert(tstring); 39 | 40 | assert(t.secs() == t2.secs()); 41 | 42 | 43 | 44 | return 0; 45 | } 46 | -------------------------------------------------------------------------------- /src/tests/test-selectquery.cpp: -------------------------------------------------------------------------------- 1 | /* LiteSQL - test-selectquery 2 | * 3 | * The list of contributors at http://litesql.sf.net/ 4 | * 5 | * See LICENSE for copyright information. */ 6 | 7 | #include "litesql/selectquery.hpp" 8 | /* 9 | SelectQuery unit tester 10 | 11 | TC1: Full blown SQL-query with every possible feature 12 | TC2: Simple SQL-query 13 | */ 14 | using namespace litesql; 15 | int main(int argc, char *argv[]) { 16 | // TC1 17 | SelectQuery tc1; 18 | tc1.distinct(true).limit(15).offset(5) 19 | .result("a.id").result("b.id").result("count(b.pages)") 20 | .source("alphabets", "a").source("books", "b") 21 | .where("a.id = b.id") 22 | .groupBy("b.id") 23 | .having("count(b.pages) > 5") 24 | .orderBy("a.id"); 25 | assert(tc1.asString() == 26 | "SELECT DISTINCT a.id,b.id,count(b.pages) " 27 | "FROM alphabets AS a,books AS b " 28 | "WHERE a.id = b.id " 29 | "GROUP BY b.id " 30 | "HAVING count(b.pages) > 5 " 31 | "ORDER BY a.id LIMIT 15 OFFSET 5"); 32 | // TC2 33 | SelectQuery tc2; 34 | tc2.result("id").result("name").result("filename") 35 | .source("programmes"); 36 | assert(tc2.asString() == "SELECT id,name,filename FROM programmes"); 37 | 38 | 39 | return 0; 40 | } 41 | -------------------------------------------------------------------------------- /src/tests/test-split.cpp: -------------------------------------------------------------------------------- 1 | /* LiteSQL - test-split 2 | * 3 | * The list of contributors at http://litesql.sf.net/ 4 | * 5 | * See LICENSE for copyright information. */ 6 | 7 | #include "litesql/split.hpp" 8 | //#include "litesql.hpp" 9 | #include 10 | /* 11 | Split unit tester 12 | 13 | TC1: split "abc def ghj iklm" with default delimiter (" ") 14 | TC2: split "123-*-4567-*-7891011" with delimiter -*- 15 | TC3: split "nodelimiters" with default delimiter (" ") 16 | TC5: slice with positive values 17 | TC6: slice with negative values 18 | TC7: join 19 | */ 20 | using namespace litesql; 21 | 22 | int main(int argc, char *argv[]) { 23 | // TC1 24 | Split tc1("abc def ghj iklm"); 25 | assert(tc1.size()==4); 26 | assert(tc1[0]=="abc"); 27 | assert(tc1[1]=="def"); 28 | assert(tc1[2]=="ghj"); 29 | assert(tc1[3]=="iklm"); 30 | // TC2 31 | Split tc2("123-*-4567-*-7891011", "-*-"); 32 | assert(tc2.size()==3); 33 | assert(tc2[0]=="123"); 34 | assert(tc2[1]=="4567"); 35 | assert(tc2[2]=="7891011"); 36 | // TC3 37 | Split tc3("nodelimiters"); 38 | assert(tc3.size() == 1); 39 | assert(tc3[0] == "nodelimiters"); 40 | // TC5 41 | Split tc5 = Split("1 23 456 7891").slice(1, 3); 42 | assert(tc5.size()==2); 43 | assert(tc5[0]=="23"); 44 | assert(tc5[1]=="456"); 45 | // TC6 46 | Split tc6 = Split("4 2353 45126 71891").slice(-3, -1); 47 | assert(tc6.size()==2); 48 | assert(tc6[0]=="2353"); 49 | assert(tc6[1]=="45126"); 50 | // TC7 51 | assert(Split("ab|c|def|ghij","|").join(" ")=="ab c def ghij"); 52 | 53 | std::string s_join = Split::join(Split("ab|c|def|ghij","|")," "); 54 | assert(s_join=="ab c def ghij"); 55 | 56 | 57 | return 0; 58 | } 59 | -------------------------------------------------------------------------------- /stamp-h.in: -------------------------------------------------------------------------------- 1 | timestamp 2 | -------------------------------------------------------------------------------- /win32/lib/Win32xxD.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kramdar/litesql/5aa506425d64f21bb9bb5bca05df7ef528cb01cc/win32/lib/Win32xxD.lib -------------------------------------------------------------------------------- /win32/lib/Win32xxR.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kramdar/litesql/5aa506425d64f21bb9bb5bca05df7ef528cb01cc/win32/lib/Win32xxR.lib -------------------------------------------------------------------------------- /win32/lib/libexpatMT.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kramdar/litesql/5aa506425d64f21bb9bb5bca05df7ef528cb01cc/win32/lib/libexpatMT.lib -------------------------------------------------------------------------------- /win32/lib/libexpatMTd.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kramdar/litesql/5aa506425d64f21bb9bb5bca05df7ef528cb01cc/win32/lib/libexpatMTd.lib -------------------------------------------------------------------------------- /win32/readme.txt: -------------------------------------------------------------------------------- 1 | we use expat 2.0.1 as selfcompiled static library here. 2 | 3 | -------------------------------------------------------------------------------- /win32/src/Win32++/About these folders.txt: -------------------------------------------------------------------------------- 1 | The contents of the folders within Win32++ 2 | ========================================== 3 | 4 | help The help for Win32++ 5 | include The Win32++ library for typical use 6 | lib The static library files when they are build 7 | Library Projects The project files used to build the static library 8 | new projects A set of projects to be used in your new projects 9 | src The Win32++ library for building the static library 10 | tests A directory which contains the output of some tools 11 | tools A set of useful batch files for Win32++ 12 | 13 | 14 | About the Win32++ files 15 | ======================= 16 | The Win32++ library is now available in two flavours - one for typical use, 17 | and one for static libraries. 18 | 19 | The "include" folder contains the files that would be included in a typical 20 | project. In this folder, the Win32++ library files are provided purely as a 21 | set of header files. There are no source files, as all the source code is 22 | included inlined in the header files. This makes Win32++ simpler to use, as 23 | we simply need to include header files to add the library to our projects. 24 | 25 | The "src" folder contains the Win32++ library files suitable for creating a 26 | static library. This folder contains both source files and header files. The 27 | header files in this folder are smaller, as they do not include the inlined 28 | code. More experienced programmers might prefer using Win32++ as a static 29 | library as it allows projects to be compiled more quickly. 30 | 31 | Apart from the differences mentioned above, the two libraries are identical 32 | in the officially released versions. Users of the "work in progress" code 33 | available via Tortoise SVN should note that the static library code is updated 34 | less frequently than the code in the "include" folder. 35 | -------------------------------------------------------------------------------- /win32/src/Win32++/include/copyright.txt: -------------------------------------------------------------------------------- 1 | Win32++ Version 6.6 2 | Released: 30th August, 2009 by: 3 | 4 | David Nash 5 | email: dnash@bigpond.net.au 6 | url: https://sourceforge.net/projects/win32-framework 7 | 8 | 9 | Copyright (c) 2005-2009 David Nash 10 | 11 | Permission is hereby granted, free of charge, to 12 | any person obtaining a copy of this software and 13 | associated documentation files (the "Software"), 14 | to deal in the Software without restriction, including 15 | without limitation the rights to use, copy, modify, 16 | merge, publish, distribute, sublicense, and/or sell 17 | copies of the Software, and to permit persons to whom 18 | the Software is furnished to do so, subject to the 19 | following conditions: 20 | 21 | The above copyright notice and this permission notice 22 | shall be included in all copies or substantial portions 23 | of the Software. 24 | 25 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF 26 | ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED 27 | TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A 28 | PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT 29 | SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR 30 | ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN 31 | ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 32 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE 33 | OR OTHER DEALINGS IN THE SOFTWARE. 34 | -------------------------------------------------------------------------------- /win32/src/Win32++/include/wcestddef.h: -------------------------------------------------------------------------------- 1 | 2 | #pragma once 3 | 4 | #pragma comment(linker, "/nodefaultlib:libc.lib") 5 | #pragma comment(linker, "/nodefaultlib:libcd.lib") 6 | 7 | 8 | #include 9 | #if defined(WIN32_PLATFORM_PSPC) || defined(WIN32_PLATFORM_WFSP) 10 | #define SHELL_AYGSHELL 11 | #endif 12 | 13 | #ifdef _CE_DCOM 14 | #define _ATL_APARTMENT_THREADED 15 | #endif 16 | 17 | #if defined(WIN32_PLATFORM_PSPC) || defined(WIN32_PLATFORM_WFSP) 18 | #ifndef _DEVICE_RESOLUTION_AWARE 19 | #define _DEVICE_RESOLUTION_AWARE 20 | #endif 21 | #endif 22 | 23 | 24 | #if _WIN32_WCE == 420 || _WIN32_WCE == 0x420 25 | // For Pocket PC 2003 26 | #pragma comment(lib, "ccrtrtti.lib") 27 | #endif 28 | 29 | #if _MSC_VER >= 1300 30 | 31 | // NOTE - this value is not strongly correlated to the Windows CE OS version being targeted 32 | #undef WINVER 33 | #define WINVER _WIN32_WCE 34 | 35 | #ifdef _DEVICE_RESOLUTION_AWARE 36 | #include "DeviceResolutionAware.h" 37 | #endif 38 | 39 | #if _WIN32_WCE < 0x500 && ( defined(WIN32_PLATFORM_PSPC) || defined(WIN32_PLATFORM_WFSP) ) 40 | #ifdef _X86_ 41 | #if defined(_DEBUG) 42 | #pragma comment(lib, "libcmtx86d.lib") 43 | #else 44 | #pragma comment(lib, "libcmtx86.lib") 45 | #endif 46 | #endif 47 | #endif 48 | 49 | #include 50 | 51 | #endif// _MSC_VER >= 1300 52 | 53 | #ifdef SHELL_AYGSHELL 54 | #include 55 | #pragma comment(lib, "aygshell.lib") 56 | #endif // SHELL_AYGSHELL 57 | 58 | // TODO: reference additional headers your program requires here 59 | -------------------------------------------------------------------------------- /win32/src/Win32++/include/wincore.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kramdar/litesql/5aa506425d64f21bb9bb5bca05df7ef528cb01cc/win32/src/Win32++/include/wincore.h --------------------------------------------------------------------------------