summaryrefslogtreecommitdiff
path: root/odb/relational/schema.hxx
AgeCommit message (Collapse)AuthorFilesLines
2011-10-26Output DEFAULT clause before NULL specification when generating schemaConstantin Michael1-3/+4
Oracle requires that the DEFAULT clause appear before any column contraints are specified when creating a table.
2011-10-24Generate database schema from database model instead of C++ modelBoris Kolpackov1-332/+376
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 Kolpackov1-1/+1
Const data members are automatically treated as readonly. New test: const-member.
2011-10-21Add schema_file implementation to support schema file header and footer hooksConstantin Michael1-0/+19
2011-10-21Minimize Oracle schema_emitter implementationConstantin Michael1-1/+1
2011-10-21Allow per database specialization of schema_emitterConstantin Michael1-0/+33
2011-09-16Support for views; integrated partBoris Kolpackov1-2/+6
2011-08-31Rename comp_value() predicate to composite()Boris Kolpackov1-2/+2
2011-08-31Cosmetic changes and cleanupsBoris Kolpackov1-11/+13
Rename some functions to have consistent names. Add object() predicate.
2011-08-28Add wrapper support for containersBoris Kolpackov1-4/+3
2011-08-28Add wrapper support for composite valuesBoris Kolpackov1-2/+2
NULL semantics for composite values is not yet supported.
2011-08-21Add support for multi-pass database schema dropBoris Kolpackov1-11/+43
2011-08-19Cosmetic changeBoris Kolpackov1-1/+1
2011-08-19Make container object_id reference the objectBoris Kolpackov1-2/+13
Make it ON DELETE CASCADE. Also in erase(), delete the container rows first.
2011-07-22Add pragma for setting type's or member's default valueBoris Kolpackov1-2/+55
New pragma: default. New test: default.
2011-07-22Add support for specifying extra column optionsBoris Kolpackov1-0/+7
New pragmas: options, id_options, index_options, key_options, and value_options.
2011-07-19New design for NULL semanticsBoris Kolpackov1-0/+8
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-07-08Have separate table set for each schema generation passBoris Kolpackov1-23/+33
2011-07-05Add hook for schema column reference generationBoris Kolpackov1-6/+11
2011-07-05Add support for multi-pass database schema generationBoris Kolpackov1-5/+25
2011-07-05Move leading space in object_columns::type hook to object_columns::columnConstantin Michael1-2/+2
2011-07-05Add type hook point to relational schema generationConstantin Michael1-1/+8
2011-04-25Add support for abstract object typesBoris Kolpackov1-3/+3
2011-03-21Create indexes in separate SQL statementsBoris Kolpackov1-26/+50
This is more vendor-neutral.
2011-03-21Separate auto increment from database typeBoris Kolpackov1-2/+8
2011-03-21Split MySQL code generator into common and db-specific partsBoris Kolpackov1-0/+379
The common part (in relational/) still has some MySQL-specific parts. Also, add the notion of the current context which is used to avoid explicitly passing the context object to every generator's c-tor.