summaryrefslogtreecommitdiff
path: root/odb/relational/source.cxx
AgeCommit message (Collapse)AuthorFilesLines
2018-05-24Update copyright yearKaren Arutyunov1-1/+1
2017-11-07Get rid of GCC 7 case fall-through warningsBoris Kolpackov1-1/+1
2017-01-03Update copyright yearBoris Kolpackov1-1/+1
2016-10-26Implement support for mixed auto/manual id assignment in SQLiteBoris Kolpackov1-1/+0
Now one can do: #pragma db id auto odb::nullable<int64_t> id; And then set the id to NULL to get auto-assignment or to the actual value to use a manual id.
2016-08-15Lock object statements when loading sectionsBoris Kolpackov1-31/+59
Since we use the id image and loading of object pointers can overwrite it.
2016-04-04Add _has_cache() custom session interface, use in OLV implementationBoris Kolpackov1-1/+1
2016-03-30Assert that statements are not already locked in top-level callsBoris Kolpackov1-0/+2
This can be violated with crafty callbacks.
2015-07-15Implement SQLite incremental BLOB/TEXT I/OBoris Kolpackov1-15/+21
2015-07-03Implement nested id supportBoris Kolpackov1-23/+53
Now the 'id' specifier can optionally include the data member path to the id inside the composite value. For example: #pragma db id(first) std::pair<int, int> p; Note that one somewhat counter-intuitive aspect of this new feature is that the whole member marked with id ('p' in the above example) and not just the actual id member ('p.first' in the above example) is treated as readonly. Such nested id also cannot be automatically assigned (auto specifier).
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