aboutsummaryrefslogtreecommitdiff
path: root/common
AgeCommit message (Collapse)AuthorFilesLines
2013-02-08Add schema_catalog::exists() functionBoris Kolpackov6-1/+201
2013-02-08Add callback_ prefix to transaction callback functionsBoris Kolpackov3-10/+30
Also test callback_update().
2013-02-08Test change-tracking container and reuse inheritanceBoris Kolpackov2-3/+63
2013-02-08Misc fixesBoris Kolpackov2-6/+6
2013-02-07Use multi-pass table creation in MySQLBoris Kolpackov10-11/+233
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-06Fix incorrect dist variableBoris Kolpackov1-1/+1
2013-02-05Add support for change-tracking containersBoris Kolpackov9-52/+943
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-25By default map std::array<char, N> to string instead of binaryBoris Kolpackov1-7/+2
2013-01-24Add support for mapping char[N] to CHAR/VARCHAR database typesBoris Kolpackov9-11/+375
Also improve query support for arrays (decaying).
2013-01-20Add cache_ suffix to session cache functionsBoris Kolpackov2-24/+26
This way they won't conflict with other functions (e.g., delayed database operations) that may have the same names.
2013-01-20Add extra headers to dist target variablesBoris Kolpackov1-1/+2
2013-01-18Add support for post-commit/rollback callbacksBoris Kolpackov11-108/+513
New test: common/transaction/callback.
2013-01-16Make session cache management functions static, add notificationsBoris Kolpackov4-68/+131
2013-01-16Implement two-phase session insertionBoris Kolpackov9-3/+724
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-16Rename common/session to common/session/cacheBoris Kolpackov5-11/+11
2013-01-14Fix bug in handling polymorphic derived classes without any value membersBoris Kolpackov3-1/+98
2012-12-12Don't use 0 to initialize std::function2.2.0.a2Boris Kolpackov1-3/+5
This doesn't work on VC++ 11.
2012-12-12Add support for SQL name transformationsBoris Kolpackov1-9/+9
2012-11-21Add dynamic multi-database query supportBoris Kolpackov1-3/+3
2012-10-29Add workaround for VC++2.2.0.a1Boris Kolpackov1-7/+9
2012-10-29Fix incorrect relative pathsBoris Kolpackov3-12/+12
2012-10-19Remove unnecessary codeBoris Kolpackov1-1/+0
2012-10-19Implement early connection releaseBoris Kolpackov2-69/+77
2012-10-19Add another case to prepared query testBoris Kolpackov1-1/+33
2012-10-19Completion of prepared query supportBoris Kolpackov8-9/+304
2012-10-19Initial support for prepared queriesBoris Kolpackov5-0/+217
2012-10-08Ground work for multi-database supportBoris Kolpackov1-3/+3
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-08Fix bug in transient inheritance handlingBoris Kolpackov24-60/+316
Also test that we can handle it for objects, composite values, and views.
2012-10-08More query result size() fixesBoris Kolpackov1-1/+12
2012-09-28Make sure size() can still be called once we reached the end of result setBoris Kolpackov2-0/+46
2012-09-18Use more portable regex separator2.1.0Boris Kolpackov1-2/+2
In particular, if we use / as in "/foo/bar/", MinGW will replace the leading / with a Windows path. So we use # instead, which seems to work well everywhere.
2012-09-17Remove unused local typedefs (GCC 4.8 warning)Boris Kolpackov4-21/+1
2012-09-17Use type name directly instead of typedef'ing aliasBoris Kolpackov1-2/+1
2012-09-16Add support for Visual Studio 2012Boris Kolpackov42-39/+349
2012-09-14Fix dist targetBoris Kolpackov1-0/+1
2012-09-11Add support for mapping std::array to BLOB and char[16] to UUID typesBoris Kolpackov2-8/+34
2012-09-06Rename id() to no_idBoris Kolpackov1-1/+1
2012-09-06Split polymorphism test.hxx to multiple filesBoris Kolpackov16-1061/+1232
2012-08-31Test handling multi-member composite object id using virtual data memberBoris Kolpackov2-1/+59
2012-08-31Add support for virtual data membersBoris Kolpackov5-0/+381
New test: common/virtual.
2012-08-16Add support for automatically discovering accessor/modifier functionsBoris Kolpackov3-7/+142
New options: --{accessor,modifier}-regex, --{accessor,modifier}-regex-trace.
2012-08-15Add support for member accessors/modifiersBoris Kolpackov6-5/+851
New pragmas: get, set, access. New test: common/access.
2012-08-01Add support for empty column names in composite value typesBoris Kolpackov2-98/+161
2012-07-31Add support for changing location that ODB views as class definitionBoris Kolpackov6-0/+218
This is useful for making third-party/system types into ODB composite value types. New pragma: definition. New test: common/definition.
2012-07-27Restore exception handlingBoris Kolpackov1-5/+0
2012-07-25Add support for defining indexesBoris Kolpackov5-0/+300
New db pragma qualifier: index. New tests: common/index, mysql/index, pgsql/index.
2012-07-17Add support for tests with multiple ODB headersBoris Kolpackov6-44/+62
2012-07-17Disable foreign keys for MySQL and SQLite while creating schemaBoris Kolpackov1-1/+21
2012-07-16Fix code generation for circularly-dependant classes in separate headersBoris Kolpackov10-0/+396
New tests: common/circular/{single,multiple}.
2012-04-29Factor TR1/C++11 shared_ptr test into separate object2.0.0Boris Kolpackov2-53/+70
The current approach causes problems with foreign key constraints during table dropping.