aboutsummaryrefslogtreecommitdiff
path: root/odb/validator.cxx
AgeCommit message (Collapse)AuthorFilesLines
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
2011-09-05Support for views; native partBoris Kolpackov1-21/+113
2011-08-31Rename comp_value() predicate to composite()Boris Kolpackov1-4/+4
2011-08-31Add transient() predicateBoris Kolpackov1-1/+1
2011-08-31Cosmetic changes and cleanupsBoris Kolpackov1-6/+6
Rename some functions to have consistent names. Add object() predicate.
2011-07-22Add pragma for setting type's or member's default valueBoris Kolpackov1-0/+12
New pragma: default. New test: default.
2011-07-19New design for NULL semanticsBoris Kolpackov1-6/+77
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-07-04Implement support for database operations callbacksBoris Kolpackov1-0/+43
New object pragma: callback. New test: common/callback. New manual section: 10.1.4, "callback".
2011-04-22Initial support for non-polymorphic inheritanceBoris Kolpackov1-42/+118
Every class gets a separate table. New test: common/inheritance.
2011-01-04Copyright updateBoris Kolpackov1-1/+1
2010-12-07Allow inheritance from transient bases for object and composite value typesBoris Kolpackov1-9/+34
2010-11-28Add support for literal names (template-id, derived type declarator)Boris Kolpackov1-5/+2
2010-10-27Implement support for composite value typesBoris Kolpackov1-2/+70
New test: common/composite.
2010-09-28Get rid of compiler warningsBoris Kolpackov1-1/+1