summaryrefslogtreecommitdiff
path: root/odb/relational/sqlite
AgeCommit message (Collapse)AuthorFilesLines
2013-02-09Update copyright yearBoris Kolpackov9-9/+9
2013-01-24Add support for mapping char[N] to CHAR/VARCHAR database typesBoris Kolpackov2-4/+23
Also improve query support for arrays (decaying).
2012-12-12Add support for SQL name transformationsBoris Kolpackov2-7/+6
2012-11-21Add dynamic multi-database query supportBoris Kolpackov1-1/+1
2012-11-20Merge branch '2.1'Boris Kolpackov1-0/+6
2012-11-20Ignore polymorphic id reference when generating grow()2.1.12.1Boris Kolpackov1-0/+6
2012-10-08Ground work for multi-database supportBoris Kolpackov2-2/+3
All generated code now includes database id. The database-specific database class interface has been updated to include all the database operations. The database-specific tests now use this interface.
2012-09-10Add support for alternative UTF-16 image for TEXT in SQLiteBoris Kolpackov2-2/+5
Use it to handle QString and support std::wstring on Windows.
2012-09-04NULL handling improvementsBoris Kolpackov1-19/+23
Add support for specifying NULL-ness for types with built-in mapping. Handle Oracle [N]VARCHAR2 and SQLite FLOAT oddities using this mechanism instead of overriding it at the schema generation level. Also use the is_null argument that is passed to value_traits::init_image() to indicate whether the value can be NULL.
2012-07-27Move indexes from model scope to table scopeBoris Kolpackov1-2/+18
Conceptually, indexes belong to tables and some databases (MySQL, MSSQL) indeed treat them as such (i.e., you can have indexes with the same name in different tables).
2012-07-10Add support for custom database type mappingBoris Kolpackov3-57/+129
New pragma qualifier, map, and specifiers: as, to, from. New tests: <database>/custom.
2012-04-27Add support for NULL pointers to objects with composite object idsBoris Kolpackov1-0/+43
2012-04-23Polymorphic inheritance supportBoris Kolpackov3-120/+9
2012-03-07Use RAII to free select statement resultsBoris Kolpackov1-0/+1
2012-02-22Add support for composite object idsBoris Kolpackov6-521/+67
New pragma id_type (member). New test: common/composite-id. The composite example has also been updated.
2012-01-29Update copyright yearBoris Kolpackov8-8/+8
2012-01-29Remove author field from file headerBoris Kolpackov8-8/+0
Too much effort to maintain.
2012-01-26Implement support for database schemaBoris Kolpackov1-0/+30
New pragma qualifier: namespace. New pragma specifier: schema. The table specifier was extended to accept a schema prefix. New option: --default- schema. The common/schema test was extended to cover the new functionality.
2012-01-20Add support for case where we don't send auto object id in INSERTBoris Kolpackov1-0/+1
2012-01-20Cosmetic changesBoris Kolpackov1-11/+9
2012-01-08Add support for defining composite value type as class template instantiationsBoris Kolpackov1-2/+2
2011-11-09Make sure we can use same type as both container and simple valueBoris Kolpackov4-8/+19
2011-11-01Implement support for optimistic concurrencyBoris Kolpackov1-3/+9
New pragmas: optimistic, version. New test: optimistic. New database function: reload().
2011-10-24Generate database schema from database model instead of C++ modelBoris Kolpackov4-83/+121
We now first create the so-called database model from C++ model and then use that to generate the database schema. The new approach also adds more general support for primary/foreign keys, including multi- column keys. Finally, for MySQL we now generate out-of-line foreign key definitions. Because MySQL does not support deferred constraints checking, deferred foreign keys are written commented out, for documentation.
2011-10-21Add support for const data membersBoris Kolpackov4-23/+64
Const data members are automatically treated as readonly. New test: const-member.
2011-10-21Add support for readonly membersBoris Kolpackov1-18/+56
New pragma: readonly. New test: readonly.
2011-10-21Split 'in' binding into insert/update pair; rename 'out' to selectBoris Kolpackov1-7/+49
Also add the initial infrastructure for the readonly members support. Right now the split insert/update bindings allows us to avoid sending object id in UPDATE statements. It will also allows us to support readonly members.
2011-10-21Rename relational::context::use_as to relational::context::need_alias_asConstantin Michael1-1/+1
2011-10-21Add a context flag indicating whether AS SQL keyword should be used for aliasesConstantin Michael1-0/+1
2011-10-21Add flag to context indicating whether to generate grow codeConstantin Michael1-0/+1
2011-09-21Rework const object handlingBoris Kolpackov1-1/+1
Now objects are always loaded as non-const and the object cache in session treats all objects as non-const.
2011-09-19Rename generation_failed exception to operation_failedBoris Kolpackov2-7/+7
A more generic name is required since it is now used in both generator and processor (and in the future may be used validator).
2011-08-31Rename comp_value() predicate to composite()Boris Kolpackov3-10/+10
2011-08-31Add transient() predicateBoris Kolpackov1-1/+1
2011-08-31Cosmetic changes and cleanupsBoris Kolpackov1-1/+1
Rename some functions to have consistent names. Add object() predicate.
2011-08-28Add wrapper support for containersBoris Kolpackov2-8/+12
2011-08-28Add wrapper support for composite valuesBoris Kolpackov3-11/+56
NULL semantics for composite values is not yet supported.
2011-08-22Enable foreign key constraints checking in SQLiteBoris Kolpackov1-0/+16
Due to bugs in SQLite DDL foreign key support, we have to temporarily disable foreign keys when re-creating the schema. New manual section: 12.5.3, "Foreign Key Constraints".
2011-07-22Add pragma for setting type's or member's default valueBoris Kolpackov1-1/+25
New pragma: default. New test: default.
2011-07-19New design for NULL semanticsBoris Kolpackov3-16/+6
Now, instead of being specified as part of the SQL type with the type pragma, there are separate null and not_null pragmas. The not_null pragma was used to control NULL-ness of object pointers. Now the two pragmas are used consistently for object pointers and simple values (and in the future will work for composite values and containers).
2011-04-25Add support for mapping to database types based on type aliasesBoris Kolpackov2-3/+3
This allows us to, for example, always map size_t to 64-bit type. The current implementation does not work for containers. It is not clear whether it will be possible to make it work using the GCC AST.
2011-04-25Add support for abstract object typesBoris Kolpackov1-1/+1
2011-04-19Implement automatic mapping for C++ enumsBoris Kolpackov2-0/+30
2011-04-19Get rid of image type argument in value_traitsBoris Kolpackov2-23/+0
2011-03-28Fix bug in NULL pointer handling codeBoris Kolpackov1-2/+3
2011-03-25Further generalization work for SQLite supportBoris Kolpackov2-1/+16
2011-03-24Generalization work for MySQL and SQLite supportBoris Kolpackov2-4/+19
2011-03-21Rename sqlite::binding to sqlite::bindBoris Kolpackov1-4/+4
2011-03-21Implement grow test for SQLiteBoris Kolpackov1-25/+1
2011-03-21Add support for SQLite type system, adjust code generatorsBoris Kolpackov6-1156/+196