aboutsummaryrefslogtreecommitdiff
path: root/odb/relational/source.cxx
AgeCommit message (Collapse)AuthorFilesLines
2015-07-02C++ type mapping support for container elementsasBoris Kolpackov1-4/+4
2015-06-24Cleanup of member accessBoris Kolpackov1-325/+57
2015-06-22Implement member type mapping, more m.type() cleanupsBoris Kolpackov1-6/+6
2015-06-16Use (!) to denote database in modifier expressionsBoris Kolpackov1-2/+6
2015-06-16Implement support for nested members in inverse pragmaBoris Kolpackov1-28/+26
2015-02-06Update copyrightBoris Kolpackov1-1/+1
2015-02-06Implement join types support in viewsBoris Kolpackov1-11/+61
2015-02-05Implement result modifiers in view query conditionBoris Kolpackov1-1/+12
2015-02-04Implement object loading viewsBoris Kolpackov1-503/+602
See section 10.2 in the manual for details.
2014-11-26Implement optimistic concurrency support in bulk operationsBoris Kolpackov1-26/+200
Bulk update and SQL Server ROWVERSION not yet supported.
2014-11-25Implement bulk database operation support for Oracle and SQL ServerBoris Kolpackov1-4/+405
2014-11-19Allow empty runtime and execute viewsBoris Kolpackov1-38/+46
Use them to handle INSERT/UPDATE SQL Server stored procedures.
2014-09-06Fix bug in view query assembly for stored procedure callBoris Kolpackov1-1/+1
2013-09-28Make schema version access (but not modification) thread-safeBoris Kolpackov1-89/+101
Also cache the version in statements so that we don't have to lock the mutex (slow) every time we need to check the version.
2013-09-17Fix polymorphic section index overrun2.3.0.b1Boris Kolpackov1-8/+19
2013-09-10Schema versioning support for rest of databaseBoris Kolpackov1-20/+22
2013-09-06Rename flags for clarityBoris Kolpackov1-5/+4
2013-09-05Versioned section supportBoris Kolpackov1-27/+145
2013-09-04View versioning supportBoris Kolpackov1-25/+84
2013-09-04Container versioning supportBoris Kolpackov1-15/+49
2013-09-03Handling of dynamic empty statements as result of versioningBoris Kolpackov1-79/+79
2013-09-02Support for versioning simple value in objectBoris Kolpackov1-84/+182
2013-08-30Statement processing/optimization base workBoris Kolpackov1-166/+275
2013-08-28Support for added and deleted data member pragmasBoris Kolpackov1-45/+57
2013-08-14Add support for object sectionsBoris Kolpackov1-154/+939
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-06-13Add support for native views that call stored proceduresBoris Kolpackov1-7/+33
2013-04-10Generate embedded schema in single function instead of one per objectBoris Kolpackov1-5/+0
2013-04-10Generate add/drop foreign key migration statementsBoris Kolpackov1-1/+1
Also add the --fkeys-deferrable-mode option. General schemas generation rework.
2013-04-01Handle inverse member in base class of polymorphic hierarchyBoris Kolpackov1-12/+17
2013-02-09Update copyright yearBoris Kolpackov1-1/+1
2013-02-05Add support for change-tracking containersBoris Kolpackov1-128/+173
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-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 Kolpackov1-7/+19
ODB can now use ROWVERSION column as an optimistic concurrency version.
2012-12-12Add support for SQL name transformationsBoris Kolpackov1-9/+12
2012-11-21Add dynamic multi-database query supportBoris Kolpackov1-57/+121
2012-11-21Rework query alias tag systemBoris Kolpackov1-4/+49
Now each object pointer or view-associated object with alias gets its own unique tag.
2012-11-21Add dynamic multi-database support excluding queryBoris Kolpackov1-5/+65
2012-10-25Static multi-database supportBoris Kolpackov1-2/+2
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 Kolpackov1-28/+128
2012-10-19Initial support for prepared queriesBoris Kolpackov1-112/+251
2012-10-08Ground work for multi-database supportBoris Kolpackov1-12/+15
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-08-31Add support for virtual data membersBoris Kolpackov1-74/+77
New test: common/virtual.
2012-08-16Add support for automatically discovering accessor/modifier functionsBoris Kolpackov1-28/+28
New options: --{accessor,modifier}-regex, --{accessor,modifier}-regex-trace.
2012-08-15Add support for member accessors/modifiersBoris Kolpackov1-102/+237
New pragmas: get, set, access. New test: common/access.
2012-07-27Add support for defining indexesBoris Kolpackov1-1/+1
New db pragma qualifier: index. New tests: common/index, mysql/index, pgsql/index.
2012-07-27Use cxx_lexer interface instead of pragma_lex() directlyBoris Kolpackov1-31/+34
This will allow us to use different kinds of cxx_lexer implementations in the future.
2012-07-25Simplify auto id implementation in OracleBoris Kolpackov1-25/+26
Specifically, instead of using a trigger to assign the next id from the sequence, get the next value directly in the INSERT statement.