summaryrefslogtreecommitdiff
path: root/odb/semantics
AgeCommit message (Collapse)AuthorFilesLines
2015-02-07Fix to work with GCC 5Boris Kolpackov1-2/+65
2015-02-06Update copyrightBoris Kolpackov49-49/+49
2015-01-23Diagnose lack of default constructor in pointed-to objectsBoris Kolpackov1-1/+7
Lack of the default constructor will lead to uncompilable generated code.
2013-12-04Implement on_delete pragma for object pointersBoris Kolpackov2-2/+5
Translates to the ON DELETE SQL clause.
2013-10-15Automatically map C++11 enum classes (strong enums)Boris Kolpackov5-43/+204
2013-09-17Add schema name to changelogBoris Kolpackov2-1/+9
2013-09-16Implement logical column drop for SQLiteBoris Kolpackov1-0/+7
2013-09-15Cleanup polymorphic base tables when dropping derived oneBoris Kolpackov3-2/+29
2013-04-26Add support for extra database info in primary keyBoris Kolpackov5-53/+81
Use that to handle Oracle sequence name and SQLite lax auto ids.
2013-04-26Add support for table options in changelog, use to handle MySQL engineBoris Kolpackov2-3/+28
2013-04-26Add database name to changelogBoris Kolpackov2-1/+9
2013-04-10Generate add/drop foreign key migration statementsBoris Kolpackov4-14/+115
Also add the --fkeys-deferrable-mode option. General schemas generation rework.
2013-04-10Generate add/drop table migration statementsBoris Kolpackov3-3/+62
2013-04-10Add changelog support for add/drop index/foreign keyBoris Kolpackov18-112/+582
Also diagnose changes to primary keys and establish the 'alters' association.
2013-04-10Add changelog support for add, drop, and later columnBoris Kolpackov4-6/+260
2013-04-10Add support for maintaining log of database model changesBoris Kolpackov7-13/+126
2013-04-10Add support for copying database modelsBoris Kolpackov21-115/+273
2013-04-10Add changelog, changeset, and add_table semantics nodesBoris Kolpackov13-10/+386
2013-04-10Add initial support for database model serialization to XMLBoris Kolpackov17-124/+478
2013-02-09Update copyright yearBoris Kolpackov43-43/+43
2012-08-31Add support for virtual data membersBoris Kolpackov7-19/+312
New test: common/virtual.
2012-08-15Add support for member accessors/modifiersBoris Kolpackov3-1/+177
New pragmas: get, set, access. New test: common/access.
2012-07-27Add support for defining indexesBoris Kolpackov4-9/+54
New db pragma qualifier: index. New tests: common/index, mysql/index, pgsql/index.
2012-07-27Move indexes from model scope to table scopeBoris Kolpackov5-27/+15
Conceptually, indexes belong to tables and some databases (MySQL, MSSQL) indeed treat them as such (i.e., you can have indexes with the same name in different tables).
2012-07-17Implement multi-pass table dropping for SQL ServerBoris Kolpackov1-0/+5
We have to first drop constraints before dropping tables in case the tables are dropped in a wrong order or there are circular dependencies.
2012-04-23Polymorphic inheritance supportBoris Kolpackov6-9/+104
2012-01-29Update copyright yearBoris Kolpackov43-43/+43
2012-01-29Remove author field from file headerBoris Kolpackov43-43/+0
Too much effort to maintain.
2012-01-26Implement support for database schemaBoris Kolpackov21-137/+479
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.
2011-10-24Generate database schema from database model instead of C++ modelBoris Kolpackov17-0/+1191
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 name hint to the qualifies edge (cvr-qualification)Boris Kolpackov2-0/+17
2011-09-16Support for views; integrated partBoris Kolpackov1-1/+1
2011-04-25Add typedef hints, move hint map to semantics::unitBoris Kolpackov2-1/+36
2011-04-25Add complete() and abstract() predicates to semantics::class_Boris Kolpackov2-0/+18
2011-04-19Store enumerator values in semantics graphBoris Kolpackov2-6/+35
2011-04-19Add additional new_node overloadBoris Kolpackov1-6/+17
2011-04-19Name enumerators in outer scopeBoris Kolpackov1-2/+2
2011-03-21Add default_ctor() to semantics::class_Boris Kolpackov2-0/+12
Use it in the code generators instead of calling the GCC AST macro.
2011-02-01Detect and ignore inner names in the fq_*() functionsBoris Kolpackov2-31/+94
2011-01-04Copyright updateBoris Kolpackov23-23/+23
2010-11-28Add support for literal names (template-id, derived type declarator)Boris Kolpackov4-33/+287
2010-11-15Maintain GCC tree node for all semantic graph nodesBoris Kolpackov17-105/+61
2010-09-13Change GPL v3Boris Kolpackov23-23/+23
2010-09-13Fix a typoBoris Kolpackov1-2/+2
2010-09-02Move constructors to the source filesBoris Kolpackov22-126/+229
This is done so that when the plugin is built as a static library, the object files with type information get pulled in.
2010-08-19Use type names as specified in the header that we compileBoris Kolpackov4-2/+102
2010-06-04Make nameable::fq_name virtualBoris Kolpackov3-2/+11
Override it for fundamental type to do the right thing.
2010-05-21Use forward declarations of GCC AST where possibleBoris Kolpackov1-2/+2
2010-05-04Resolve ambiguityBoris Kolpackov1-0/+2
2010-03-30Use odb prefix for inclusionBoris Kolpackov22-41/+28