summaryrefslogtreecommitdiff
path: root/odb/relational
AgeCommit message (Collapse)AuthorFilesLines
2013-02-09Update copyright yearBoris Kolpackov70-70/+70
2013-02-07Use multi-pass table creation in MySQLBoris Kolpackov1-25/+204
This deals with table creation order and circular dependencies. Unfortunately, there doesn't seem to be a way in MySQL to drop a foreign key only if it exists without resorting to stored procedures.
2013-02-07Rename boolean to boolean_ (macro clash)Boris Kolpackov1-1/+1
2013-02-05Add support for change-tracking containersBoris Kolpackov8-401/+976
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 Kolpackov11-26/+206
Also improve query support for arrays (decaying).
2013-01-16Make session cache management functions static, add notificationsBoris Kolpackov1-4/+9
2013-01-16Implement two-phase session insertionBoris Kolpackov1-2/+5
On the first step an uninitialized object is inserted into the cache as before (this is necessary to handle recursive loading). The second step is to notify the session that the object has been initialized. On this second step the session can perform change tracking preparations, such as make a copy of the object or reset the modification flag. New test: common/session/custom (implements a custom session that uses copies to track changes).
2013-01-14Fix bug in handling polymorphic derived classes without any value membersBoris Kolpackov1-27/+51
2013-01-14Add support for MSSQL ROWVERSIONBoris Kolpackov5-39/+214
ODB can now use ROWVERSION column as an optimistic concurrency version.
2012-12-12Get rid of warningBoris Kolpackov1-1/+1
2012-12-12Add support for SQL name transformationsBoris Kolpackov21-152/+208
2012-11-28Add support for DLL exporting of generated codeBoris Kolpackov3-20/+29
New options: --export-symbol, --extern-symbol.
2012-11-21Add dynamic multi-database query supportBoris Kolpackov13-1342/+478
2012-11-21Generate query tags in object_traits for dynamic multi-database supportBoris Kolpackov2-86/+11
2012-11-21Move some of the preprocessing from relational to commonBoris Kolpackov1-1030/+37
2012-11-21Fix inefficiency in container processingBoris Kolpackov1-1/+1
2012-11-21Rework query alias tag systemBoris Kolpackov5-137/+283
Now each object pointer or view-associated object with alias gets its own unique tag.
2012-11-21Add dynamic multi-database support excluding queryBoris Kolpackov2-5/+68
2012-11-20Merge branch '2.1'Boris Kolpackov3-0/+18
2012-11-20Ignore polymorphic id reference when generating grow()2.1.12.1Boris Kolpackov3-0/+18
2012-10-29Add support for database prefixes in command line interfaceBoris Kolpackov1-1/+1
2012-10-29Cast odb::database to concrete type when initializing object pointerBoris Kolpackov1-2/+4
2012-10-25Static multi-database supportBoris Kolpackov7-1510/+351
Add new options (--multi-database, --default-database). Generate common code to -odb.?xx files and database-specific to -odb-<db>.?xx.
2012-10-19Implement early connection releaseBoris Kolpackov1-2/+2
2012-10-19Completion of prepared query supportBoris Kolpackov5-270/+402
2012-10-19Initial support for prepared queriesBoris Kolpackov5-137/+296
2012-10-08Ground work for multi-database supportBoris Kolpackov15-252/+401
All generated code now includes database id. The database-specific database class interface has been updated to include all the database operations. The database-specific tests now use this interface.
2012-10-04Make sure we detect TR1 pointers when used as wrappersBoris Kolpackov1-3/+29
2012-10-02Instantiate type of virtual data member with by-value accessorBoris Kolpackov1-7/+42
2012-09-17Convert integer and floating default values immediately2.1.0Boris Kolpackov1-62/+10
It appears that GCC 4.8 reuses token tree nodes that are returned during pragma parsing. So saving such nodes for later no longer works.
2012-09-16Set explicit unlimited size for MSSQL TEXT, NTEXT, and IMAGE typesBoris Kolpackov1-0/+8
2012-09-14Use assignment instead of construction syntax to help VC++Boris Kolpackov1-8/+14
2012-09-13Add --omit-drop and --omit-create optionsBoris Kolpackov1-3/+10
2012-09-13Add --sql-interlude and --sql-interlude-file optionsBoris Kolpackov2-44/+53
2012-09-12Implement --output-name, --generate-schema-only, and --at-once optionsBoris Kolpackov5-6/+6
2012-09-10Add support for alternative UTF-16 image for TEXT in SQLiteBoris Kolpackov2-2/+5
Use it to handle QString and support std::wstring on Windows.
2012-09-04NULL handling improvementsBoris Kolpackov7-150/+124
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-31Add support for virtual data membersBoris Kolpackov3-217/+261
New test: common/virtual.
2012-08-16Add support for automatically discovering accessor/modifier functionsBoris Kolpackov4-148/+390
New options: --{accessor,modifier}-regex, --{accessor,modifier}-regex-trace.
2012-08-15Add support for member accessors/modifiersBoris Kolpackov6-303/+939
New pragmas: get, set, access. New test: common/access.
2012-08-15Factor out check for SQL Server long dataBoris Kolpackov5-88/+56
2012-08-14Fix potential container statement name conflictBoris Kolpackov1-3/+6
2012-08-01Add support for empty column names in composite value typesBoris Kolpackov4-65/+70
2012-07-27Handle special case of array of zero elementsBoris Kolpackov1-0/+7
2012-07-27Add support for defining indexesBoris Kolpackov9-82/+696
New db pragma qualifier: index. New tests: common/index, mysql/index, pgsql/index.
2012-07-27Move indexes from model scope to table scopeBoris Kolpackov8-156/+149
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-27Use cxx_lexer interface instead of pragma_lex() directlyBoris Kolpackov2-47/+51
This will allow us to use different kinds of cxx_lexer implementations in the future.
2012-07-25Simplify auto id implementation in OracleBoris Kolpackov6-101/+71
Specifically, instead of using a trigger to assign the next id from the sequence, get the next value directly in the INSERT statement.
2012-07-25Clean up PostgreSQL auto id implementationBoris Kolpackov2-6/+11
Specifically, avoid sending the auto id value.
2012-07-17Remove unnecessary instance<> usageBoris Kolpackov4-29/+29