summaryrefslogtreecommitdiff
path: root/odb/semantics
AgeCommit message (Collapse)AuthorFilesLines
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
2010-03-29Add missing pointer_iterator wrapperBoris Kolpackov3-3/+5
2010-03-29Assign tree nodes to graph type nodesBoris Kolpackov9-60/+102
2010-03-26Use derived_type as a base for arrayBoris Kolpackov1-1/+1
2010-03-25Add support for union, enum, class/union templateBoris Kolpackov14-23/+730
2010-03-23Semantic graph and parsing codeBoris Kolpackov13-0/+1890
Currently covers/handles namespace, class definitions (including bases and data members), and typedefs in namespace-scopes.