summaryrefslogtreecommitdiff
path: root/odb/validator.cxx
AgeCommit message (Collapse)AuthorFilesLines
2015-09-03Diagnose base classes that are defined after usBoris Kolpackov1-2/+48
This can happen with templates/CRP
2015-08-31Don't try to analyze callback signature if one wasn't foundBoris Kolpackov1-20/+22
2015-07-17Diagnose "composite type used before definition" situationsBoris Kolpackov1-23/+63
2015-07-03Implement nested id supportBoris Kolpackov1-18/+61
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-02C++ type mapping support for container elementsasBoris Kolpackov1-2/+2
2015-06-16Diagnose forward use of composite object idsBoris Kolpackov1-1/+31
2015-06-16Implement support for nested members in inverse pragmaBoris Kolpackov1-10/+7
2015-06-15Add points_to pragmaBoris Kolpackov1-2/+80
Currently does not support containers.
2015-06-03Remove gratuitous classesBoris Kolpackov1-7/+6
In the process also get rid of global class processor which conflicts with enum processor on MIPS.
2015-04-14Set polymorphic_objects feature if we have polymorphic-object-based viewBoris Kolpackov1-1/+15
We need the polymorphism-related includes in such a view's implementation.
2015-02-06Update copyrightBoris Kolpackov1-1/+1
2014-11-19Allow empty runtime and execute viewsBoris Kolpackov1-11/+4
Use them to handle INSERT/UPDATE SQL Server stored procedures.
2013-12-04Implement on_delete pragma for object pointersBoris Kolpackov1-2/+23
Translates to the ON DELETE SQL clause.
2013-09-17Add support for defining composite values inside persistent classes, etcBoris Kolpackov1-47/+72
2013-09-16Implement summary soft-deletion for composite value typesBoris Kolpackov1-55/+17
2013-09-15Check version dependencies for polymorphic basesBoris Kolpackov1-4/+8
2013-09-13Validate version dependenciesBoris Kolpackov1-0/+164
2013-09-05Versioned section supportBoris Kolpackov1-58/+58
2013-08-28Support for added and deleted data member pragmasBoris Kolpackov1-8/+162
2013-08-16Implement soft delete for persistent classesBoris Kolpackov1-0/+32
2013-08-14Add support for object sectionsBoris Kolpackov1-4/+152
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-26Make --changelog{,-in,-out,-dir} per-databaseBoris Kolpackov1-1/+1
2013-04-10Enable --generate-schema-only option for separate schema formatBoris Kolpackov1-3/+2
2013-04-10Fix option querying bugBoris Kolpackov1-1/+1
2013-04-10Add --changelog{,-in,-out,-dir} optionsBoris Kolpackov1-0/+9
2013-02-09Update copyright yearBoris Kolpackov1-1/+1
2012-10-29Add support for database prefixes in command line interfaceBoris Kolpackov1-1/+1
2012-10-25Static multi-database supportBoris Kolpackov1-341/+88
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-2/+17
2012-09-06Rename id() to no_idBoris Kolpackov1-1/+1
2012-08-31Add support for virtual data membersBoris Kolpackov1-41/+56
New test: common/virtual.
2012-07-27Add support for defining indexesBoris Kolpackov1-45/+42
New db pragma qualifier: index. New tests: common/index, mysql/index, pgsql/index.
2012-07-10Add support for custom database type mappingBoris Kolpackov1-44/+58
New pragma qualifier, map, and specifiers: as, to, from. New tests: <database>/custom.
2012-04-27Support for NULL value semantics for composite valuesBoris Kolpackov1-4/+50
2012-04-26Make session optionalBoris Kolpackov1-16/+21
2012-04-23Polymorphic inheritance supportBoris Kolpackov1-10/+120
2012-02-22Add support for composite object idsBoris Kolpackov1-198/+385
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-08Add support for defining composite value type as class template instantiationsBoris Kolpackov1-5/+32
2011-11-01Implement support for optimistic concurrencyBoris Kolpackov1-21/+156
New pragmas: optimistic, version. New test: optimistic. New database function: reload().
2011-10-27Add support for persistent classes without object idsBoris Kolpackov1-3/+73
New pragma id (object). New test: common/no-id.
2011-10-24Generate database schema from database model instead of C++ modelBoris Kolpackov1-1/+1
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-4/+4
Const data members are automatically treated as readonly. New test: const-member.
2011-10-21Add support for readonly membersBoris Kolpackov1-0/+26
New pragma: readonly. New test: readonly.
2011-09-19Throw exception instead of returning false to indicate validation failureBoris Kolpackov1-2/+3
This is consistent with what's done in processor and generator.
2011-09-19Split validator into 2 passes, before and after processingBoris Kolpackov1-83/+153
This is necessary because we sometimes need information during validation (e.g., object pointer and container status) that is determined by the processor.
2011-09-19Make processing top-level action, like validation and generationBoris Kolpackov1-9/+70
2011-09-16Support for views; integrated partBoris Kolpackov1-4/+28
2011-09-11Generalize pragma code to support arbitrary types for context valuesBoris Kolpackov1-5/+5