summaryrefslogtreecommitdiff
path: root/odb/relational/mysql
AgeCommit message (Collapse)AuthorFilesLines
2012-07-10Add support for custom database type mappingBoris Kolpackov4-59/+128
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-124/+15
2012-03-07Use RAII to free select statement resultsBoris Kolpackov1-0/+1
2012-02-22Add support for composite object idsBoris Kolpackov6-526/+82
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 Kolpackov3-9/+38
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-20ODB compiler implementation, traits, and types test for SQL ServerBoris Kolpackov1-14/+22
2012-01-20Reserve correct amount of memory for quoted idBoris Kolpackov1-1/+1
2012-01-20Use static variables instead of extern in unnamed namespaceBoris Kolpackov2-62/+55
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-156/+242
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-21Use base implementation instead of duplicating codeBoris Kolpackov1-10/+8
2011-10-21Add support for const data membersBoris Kolpackov3-28/+71
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-9/+52
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-10/+10
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-09-16Support for views; integrated partBoris Kolpackov1-1/+25
2011-09-05Support for views; native partBoris Kolpackov1-2/+5
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-19Rework query machinery not to use '_' as primary table aliasBoris Kolpackov1-2/+2
Now we always qualify with the actual table name and use the '_' alias for situations where an object is referencing itself.
2011-07-22Add pragma for setting type's or member's default valueBoris Kolpackov1-0/+79
New pragma: default. New test: default.
2011-07-22Cosmetic changeBoris Kolpackov1-1/+1
2011-07-22Parse and store MySQL ENUM enumerator stringsBoris Kolpackov2-4/+31
2011-07-22Use quote_string() to quote enumeratorsBoris Kolpackov1-3/+1
2011-07-22Cosmetic changesBoris Kolpackov1-2/+2
2011-07-19New design for NULL semanticsBoris Kolpackov4-15/+22
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-06-30Reset range if we have two values in MySQL FLOAT parsingBoris Kolpackov1-0/+8
2011-06-30Take into account precision in MySQL FLOAT type parsingBoris Kolpackov1-1/+16
2011-04-25Add support for mapping to database types based on type aliasesBoris Kolpackov2-4/+7
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-22Initial support for non-polymorphic inheritanceBoris Kolpackov1-2/+2
Every class gets a separate table. New test: common/inheritance.
2011-04-19Map only continuous, zero-based enums to MySQL ENUMBoris Kolpackov1-14/+39
The others map to INT.
2011-04-19Implement automatic mapping for C++ enumsBoris Kolpackov5-24/+167
2011-04-19Get rid of image type argument in value_traitsBoris Kolpackov2-23/+0
2011-03-24Generalization work for MySQL and SQLite supportBoris Kolpackov3-3/+17
2011-03-21Remove unnecessary codeBoris Kolpackov1-5/+5
2011-03-21Add support for SQLite type system, adjust code generatorsBoris Kolpackov1-3/+3