aboutsummaryrefslogtreecommitdiff
path: root/odb/context.cxx
AgeCommit message (Collapse)AuthorFilesLines
2014-09-05Use scope of name used in pragma for template instantiationsBoris Kolpackov1-4/+12
2014-01-17Handle query column exporting for composite value typesBoris Kolpackov1-2/+2
A composite value is represented in query_columns as a nested struct. Even though the query_columns template instantiation is exported, VC++ for some reason doesn't appear to also export the nested structs. To work around this, nested structs have to have the export macro in the declaration. But that's not it: we also have to declare the nested structs extern, just like the outer template instantiation itself.
2013-10-15Automatically map C++11 enum classes (strong enums)Boris Kolpackov1-3/+12
2013-09-16Implement summary soft-deletion for composite value typesBoris Kolpackov1-0/+6
2013-09-05Versioned section supportBoris Kolpackov1-8/+58
2013-09-04Container versioning supportBoris Kolpackov1-1/+6
2013-09-02Support for versioning simple value in objectBoris Kolpackov1-0/+3
2013-08-30Statement processing/optimization base workBoris Kolpackov1-0/+6
2013-08-28Support for added and deleted data member pragmasBoris Kolpackov1-0/+18
2013-08-14Add support for object sectionsBoris Kolpackov1-12/+235
Sections are an optimization mechanism that allows the partitioning of data members of a persistent class into groups that can be separately loaded and/or updated.
2013-04-10Generate add/drop foreign key migration statementsBoris Kolpackov1-0/+2
Also add the --fkeys-deferrable-mode option. General schemas generation rework.
2013-02-12Work around odd GCC tree behavior2.2.0Boris Kolpackov1-2/+0
2013-02-09Update copyright yearBoris Kolpackov1-1/+1
2013-02-05Add support for change-tracking containersBoris Kolpackov1-6/+13
ODB now supports "smart" ordered containers. Such containers get extra functions for updating and deleting individual elements. Based on this functionality implement two change-tracking containers: odb::vector (equivalent to std::vector) and QOdbList (equivalent to QList). New tests: common/container/change-tracking and qt/common/container/change- tracking.
2013-01-24Add support for mapping char[N] to CHAR/VARCHAR database typesBoris Kolpackov1-15/+8
Also improve query support for arrays (decaying).
2012-12-12Add support for SQL name transformationsBoris Kolpackov1-54/+327
2012-12-03Make --export-symbol and --extern-symbole values database-prefixableBoris Kolpackov1-5/+7
2012-11-28Add support for DLL exporting of generated codeBoris Kolpackov1-0/+37
New options: --export-symbol, --extern-symbol.
2012-11-21Add dynamic multi-database query supportBoris Kolpackov1-0/+4
2012-11-21Move some of the preprocessing from relational to commonBoris Kolpackov1-17/+1
2012-10-29Add support for database prefixes in command line interfaceBoris Kolpackov1-8/+10
2012-10-25Static multi-database supportBoris Kolpackov1-2/+7
Add new options (--multi-database, --default-database). Generate common code to -odb.?xx files and database-specific to -odb-<db>.?xx.
2012-09-12Implement --output-name, --generate-schema-only, and --at-once optionsBoris Kolpackov1-25/+0
2012-09-04NULL handling improvementsBoris Kolpackov1-18/+59
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-08-16Add support for automatically discovering accessor/modifier functionsBoris Kolpackov1-2/+27
New options: --{accessor,modifier}-regex, --{accessor,modifier}-regex-trace.
2012-08-15Add support for member accessors/modifiersBoris Kolpackov1-0/+386
New pragmas: get, set, access. New test: common/access.
2012-08-01Add support for empty column names in composite value typesBoris Kolpackov1-1/+29
2012-07-31Add support for changing location that ODB views as class definitionBoris Kolpackov1-3/+12
This is useful for making third-party/system types into ODB composite value types. New pragma: definition. New test: common/definition.
2012-04-27Add support for NULL pointers to objects with composite object idsBoris Kolpackov1-0/+15
2012-04-23Polymorphic inheritance supportBoris Kolpackov1-7/+68
2012-03-05Add support for generating schema creation code into separate C++ fileBoris Kolpackov1-0/+3
2012-02-27Add support for specifying table prefix on namespaceBoris Kolpackov1-18/+78
2012-02-22Add support for composite object idsBoris Kolpackov1-3/+67
New pragma id_type (member). New test: common/composite-id. The composite example has also been updated.
2012-01-29Update copyright yearBoris Kolpackov1-1/+1
2012-01-29Remove author field from file headerBoris Kolpackov1-1/+0
Too much effort to maintain.
2012-01-27Rename --default-schema to --schemaBoris Kolpackov1-2/+2
2012-01-27Make container schema override object schemaBoris Kolpackov1-39/+63
2012-01-26Implement support for database schemaBoris Kolpackov1-18/+99
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-20ODB compiler implementation, traits, and types test for SQL ServerBoris Kolpackov1-0/+6
2012-01-08Add support for defining composite value type as class template instantiationsBoris Kolpackov1-29/+59
2011-11-09Make sure we can use same type as both container and simple valueBoris Kolpackov1-6/+4
2011-11-08Get rid of special tracer databaseBoris Kolpackov1-5/+0
The include, types, and pragma tests have been moved to the common/ directory while the object test has been merged into common/lifecycle. The transaction test will be re-implemented as common/ test as soon as SQL statement tracing support is merged.
2011-11-01Implement support for optimistic concurrencyBoris Kolpackov1-0/+2
New pragmas: optimistic, version. New test: optimistic. New database function: reload().
2011-10-24Generate database schema from database model instead of C++ modelBoris Kolpackov1-5/+8
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-34/+87
Const data members are automatically treated as readonly. New test: const-member.
2011-10-21Add support for readonly membersBoris Kolpackov1-49/+90
New pragma: readonly. New test: readonly.
2011-10-21Split 'in' binding into insert/update pair; rename 'out' to selectBoris Kolpackov1-30/+30
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-21Implement SQL type parsing and C++ type mappings for OracleConstantin Michael1-6/+2
2011-10-21Make ODB Oracle awareConstantin Michael1-0/+10
2011-09-19Make processing top-level action, like validation and generationBoris Kolpackov1-0/+36