summaryrefslogtreecommitdiff
path: root/odb/context.cxx
AgeCommit message (Collapse)AuthorFilesLines
2011-09-19Make processing top-level action, like validation and generationBoris Kolpackov1-0/+36
2011-09-16Support for views; integrated partBoris Kolpackov1-8/+55
2011-09-09Add support for ignoring bases in has_a() testBoris Kolpackov1-0/+9
2011-09-05Support for views; native partBoris Kolpackov1-2/+15
2011-08-31Rename comp_value() predicate to composite()Boris Kolpackov1-1/+1
2011-08-31Cosmetic changes and cleanupsBoris Kolpackov1-5/+5
Rename some functions to have consistent names. Add object() predicate.
2011-08-28Add wrapper support for containersBoris Kolpackov1-6/+13
2011-08-24Don't append table prefix to names that already have it (container tables)Boris Kolpackov1-3/+11
2011-08-22Add --table-prefix optionBoris Kolpackov1-5/+18
Assign unique table prefixes to most examples. This makes sure that we don't end up with broken schemas where half of the tables were changed by the next test and the other half has foreign keys that now point to nowhere.
2011-08-04Add support for value wrappersBoris Kolpackov1-17/+110
Wrapper is a class that wraps another type. Examples of wrappers are various smart pointers, holders, etc. A wrapper can be transparent or it can handle the NULL semantics. The new odb::nullable class template is a NULL wrapper that helps to add the NULL semantics to a value type. New test: common/wrapper.
2011-07-24Add support for resetting options accumulated with options pragmaBoris Kolpackov1-14/+85
2011-07-22Add pragma for setting type's or member's default valueBoris Kolpackov1-4/+5
New pragma: default. New test: default.
2011-07-22Add support for specifying extra column optionsBoris Kolpackov1-0/+54
New pragmas: options, id_options, index_options, key_options, and value_options.
2011-07-19New design for NULL semanticsBoris Kolpackov1-15/+49
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-0/+58
This requires libcutl update.
2011-04-25Add support for mapping to database types based on type aliasesBoris Kolpackov1-9/+15
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-0/+2
2011-04-24Implement id_type value type pragmaBoris Kolpackov1-0/+1
2011-04-22Initial support for non-polymorphic inheritanceBoris Kolpackov1-49/+0
Every class gets a separate table. New test: common/inheritance.
2011-04-20Cosmetic changesBoris Kolpackov1-1/+1
2011-03-24Generalization work for MySQL and SQLite supportBoris Kolpackov1-0/+2
2011-03-21Add support for SQLite type system, adjust code generatorsBoris Kolpackov1-14/+14
2011-03-21Move tracer to new ctor-less contextBoris Kolpackov1-12/+0
2011-03-21Move to new "virtual functions in context" modelBoris Kolpackov1-7/+10
2011-03-21Split MySQL code generator into common and db-specific partsBoris Kolpackov1-16/+55
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-1/+15
2011-03-01Add support for embedded database schemasBoris Kolpackov1-2/+186
New options: --schema-format, --default-schema. New example: schema/embedded.
2011-01-04Copyright updateBoris Kolpackov1-1/+1
2010-12-09Add lazy pointer supportBoris Kolpackov1-3/+8
Built-in support is provided for raw, auto, and tr1 shared/weak pointers. New test: common/lazy-ptr.
2010-12-01Fix incorrect pragma spellingBoris Kolpackov1-1/+1
2010-12-01Implement not_null pointer pragmaBoris Kolpackov1-0/+1
New exception: null_pointer.
2010-11-29Make container pragmas also work on types in addition to membersBoris Kolpackov1-2/+36
2010-11-24Implement support for many-to-{one,many} inverse relationshipsBoris Kolpackov1-1/+35
2010-11-22Implement support for one-to-{one,many} inverse relationshipsBoris Kolpackov1-2/+3
New pragma: inverse.
2010-11-18Split object image binding into in and out variantsBoris Kolpackov1-9/+24
2010-11-17Add support for unidirectional object relationshipsBoris Kolpackov1-2/+62
New test: common/relationship.
2010-11-06Add support for container persistenceBoris Kolpackov1-71/+123
2010-11-01Factor assignment of database type to separate passBoris Kolpackov1-9/+7
2010-10-27Implement support for composite value typesBoris Kolpackov1-3/+79
New test: common/composite.
2010-09-13Change GPL v3Boris Kolpackov1-1/+1
2010-09-13Internally use primary type names instead of user aliasesBoris Kolpackov1-1/+4
2010-09-13Change pragma syntaxBoris Kolpackov1-2/+7
Change odb pragma namespace to db. Use qualifiers (object, value, and member) to specify type/member name. Add support for mapping C++ types to db types.
2010-08-19Use type names as specified in the header that we compileBoris Kolpackov1-1/+1
2010-08-13Add public_name(), use it in column_name()Boris Kolpackov1-24/+25
2010-07-22Next chunk of functionalityBoris Kolpackov1-65/+12
Add SQL language lexer. Implement MySQL type declaration parser. Create sub-directories for databases, currently mysql and tracer. Create MySQL-specific context.
2010-07-20Add mapping of basic C++ types to DB typesBoris Kolpackov1-4/+75
2010-06-04Next chunk of functionalityBoris Kolpackov1-0/+47
2010-05-21Add escape() functionBoris Kolpackov1-2/+162
2010-04-02Remove unused headersBoris Kolpackov1-2/+0
2010-04-02Detect odb-enabled classes and generate c-tor implementationBoris Kolpackov1-8/+13