summaryrefslogtreecommitdiff
path: root/odb/context.hxx
AgeCommit message (Collapse)AuthorFilesLines
2012-01-29Remove author field from file headerBoris Kolpackov1-1/+0
Too much effort to maintain.
2012-01-27Make container schema override object schemaBoris Kolpackov1-1/+10
2012-01-26Implement support for database schemaBoris Kolpackov1-10/+18
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 auto_() test for auto-idBoris Kolpackov1-0/+6
2012-01-08Add support for defining composite value type as class template instantiationsBoris Kolpackov1-7/+18
2011-11-09Make sure we can use same type as both container and simple valueBoris Kolpackov1-18/+19
2011-11-01Implement support for optimistic concurrencyBoris Kolpackov1-1/+29
New pragmas: optimistic, version. New test: optimistic. New database function: reload().
2011-10-24Generate database schema from database model instead of C++ modelBoris Kolpackov1-1/+5
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-8/+51
Const data members are automatically treated as readonly. New test: const-member.
2011-10-21Add support for readonly membersBoris Kolpackov1-7/+34
New pragma: readonly. New test: readonly.
2011-10-21Split 'in' binding into insert/update pair; rename 'out' to selectBoris Kolpackov1-14/+33
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-09-27Add support for associating tables with viewsBoris Kolpackov1-4/+12
2011-09-19Rename generation_failed exception to operation_failedBoris Kolpackov1-1/+1
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-19Make processing top-level action, like validation and generationBoris Kolpackov1-0/+6
2011-09-19Use scope and location of db pointer pragma instead of classBoris Kolpackov1-0/+9
2011-09-16Support for views; integrated partBoris Kolpackov1-11/+106
2011-09-11Generalize pragma code to support arbitrary types for context valuesBoris Kolpackov1-0/+28
2011-09-09Add support for ignoring bases in has_a() testBoris Kolpackov1-0/+2
2011-09-05Support for views; native partBoris Kolpackov1-4/+25
2011-08-31Rename comp_value() predicate to composite()Boris Kolpackov1-8/+8
2011-08-31Add transient() predicateBoris Kolpackov1-0/+6
2011-08-31Cosmetic changes and cleanupsBoris Kolpackov1-3/+8
Rename some functions to have consistent names. Add object() predicate.
2011-08-28Add wrapper support for containersBoris Kolpackov1-1/+20
2011-08-28Add wrapper support for composite valuesBoris Kolpackov1-0/+24
NULL semantics for composite values is not yet supported.
2011-08-24Don't append table prefix to names that already have it (container tables)Boris Kolpackov1-1/+3
2011-07-22Add support for specifying extra column optionsBoris Kolpackov1-0/+6
New pragmas: options, id_options, index_options, key_options, and value_options.
2011-07-19New design for NULL semanticsBoris Kolpackov1-34/+9
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-29Add --include-regex and --include-regex-trace optionsBoris Kolpackov1-37/+65
This requires libcutl update.
2011-04-25Add support for mapping to database types based on type aliasesBoris Kolpackov1-5/+4
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-6/+20
2011-04-22Initial support for non-polymorphic inheritanceBoris Kolpackov1-2/+13
Every class gets a separate table. New test: common/inheritance.
2011-04-20Cosmetic changesBoris Kolpackov1-4/+4
2011-04-19Add function for getting container member id typeBoris Kolpackov1-0/+6
2011-04-19Remove unused flagBoris Kolpackov1-4/+0
2011-03-24Generalization work for MySQL and SQLite supportBoris Kolpackov1-0/+1
2011-03-21Move the rest of generators to new ctor-less contextBoris Kolpackov1-5/+3
2011-03-21Move tracer to new ctor-less contextBoris Kolpackov1-8/+3
2011-03-21Cache current context in static variableBoris Kolpackov1-0/+1
2011-03-21Move to new "virtual functions in context" modelBoris Kolpackov1-12/+24
2011-03-21Split MySQL code generator into common and db-specific partsBoris Kolpackov1-25/+75
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.
2011-03-14Add upcase(string) function to contextBoris Kolpackov1-0/+3
2011-03-01Add support for embedded database schemasBoris Kolpackov1-1/+15
New options: --schema-format, --default-schema. New example: schema/embedded.
2011-01-04Copyright updateBoris Kolpackov1-1/+1
2010-12-09Cosmetic change (rename naked pointer to raw pointer)Boris Kolpackov1-1/+1
2010-12-09Add lazy pointer supportBoris Kolpackov1-44/+87
Built-in support is provided for raw, auto, and tr1 shared/weak pointers. New test: common/lazy-ptr.
2010-12-01Implement not_null pointer pragmaBoris Kolpackov1-0/+18
New exception: null_pointer.
2010-11-29Make container pragmas also work on types in addition to membersBoris Kolpackov1-2/+15
2010-11-24Implement support for many-to-{one,many} inverse relationshipsBoris Kolpackov1-1/+7
2010-11-22Implement support for one-to-{one,many} inverse relationshipsBoris Kolpackov1-1/+17
New pragma: inverse.
2010-11-18Split object image binding into in and out variantsBoris Kolpackov1-1/+4