aboutsummaryrefslogtreecommitdiff
path: root/odb/context.cxx
AgeCommit message (Collapse)AuthorFilesLines
2015-08-24Fix inconsistent composite value member prefix derivationBoris Kolpackov1-5/+19
2015-07-17Diagnose "composite type used before definition" situationsBoris Kolpackov1-12/+11
2015-07-03Implement nested id supportBoris Kolpackov1-16/+24
Now the 'id' specifier can optionally include the data member path to the id inside the composite value. For example: #pragma db id(first) std::pair<int, int> p; Note that one somewhat counter-intuitive aspect of this new feature is that the whole member marked with id ('p' in the above example) and not just the actual id member ('p.first' in the above example) is treated as readonly. Such nested id also cannot be automatically assigned (auto specifier).
2015-07-02Use pre-increment for version in case it is user-defined typeBoris Kolpackov1-1/+3
2015-07-02C++ type mapping support for container elementsasBoris Kolpackov1-2/+2
2015-07-01C++ type mapping support for data membersBoris Kolpackov1-12/+242
2015-06-24Cleanup of member accessBoris Kolpackov1-0/+88
2015-06-22Implement member type mapping, more m.type() cleanupsBoris Kolpackov1-2/+41
2015-06-22Get rid of member_[u]type(), other cleanupsBoris Kolpackov1-36/+30
2015-06-19Populate custom type map, make available in contextBoris Kolpackov1-0/+2
2015-06-16Use (!) to denote database in modifier expressionsBoris Kolpackov1-11/+18
2015-06-16Diagnose forward use of composite object idsBoris Kolpackov1-0/+17
2015-06-16Implement support for nested members in inverse pragmaBoris Kolpackov1-0/+83
2015-02-06Update copyrightBoris Kolpackov1-1/+1
2015-02-04Implement object loading viewsBoris Kolpackov1-7/+55
See section 10.2 in the manual for details.
2015-01-23Handle name truncation in PostgreSQLBoris Kolpackov1-0/+6
2015-01-22Add support for warning about SQL name truncations in OracleBoris Kolpackov1-0/+2
Also detect and issue diagnostics when such truncations lead to name conflicts.
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.