aboutsummaryrefslogtreecommitdiff
path: root/odb/database.txx
AgeCommit message (Collapse)AuthorFilesLines
2013-02-09Update copyright yearBoris Kolpackov1-1/+1
2013-01-16Make session cache management functions static, add notificationsBoris Kolpackov1-2/+2
2013-01-16Implement two-phase session insertionBoris Kolpackov1-4/+10
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).
2012-11-21Add dynamic multi-database query supportBoris Kolpackov1-1/+1
2012-10-19Completion of prepared query supportBoris Kolpackov1-1/+0
2012-10-08Ground work for multi-database supportBoris Kolpackov1-52/+47
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-06-18Remove unnecessary checks for current transactionBoris Kolpackov1-2/+3
2012-04-26Make session optionalBoris Kolpackov1-2/+1
2012-04-23Polymorphic inheritance supportBoris Kolpackov1-153/+9
2012-01-29Update copyright yearBoris Kolpackov1-1/+1
2012-01-29Remove author field from file headerBoris Kolpackov1-1/+0
Too much effort to maintain.
2011-11-01Implement support for optimistic concurrencyBoris Kolpackov1-1/+13
New pragmas: optimistic, version. New test: optimistic. New database function: reload().
2011-10-27Add support for persistent classes without object idsBoris Kolpackov1-10/+10
New pragma id (object). New test: common/no-id.
2011-10-21Add support for readonly membersBoris Kolpackov1-0/+10
New pragma: readonly. New test: readonly.
2011-09-21Rework const object handlingBoris Kolpackov1-37/+20
Now objects are always loaded as non-const and the object cache in session treats all objects as non-const.
2011-09-05Support for views; native partBoris Kolpackov1-4/+28
2011-08-22Add database::erase_query() functionBoris Kolpackov1-0/+15
New test: common/erase-query. Documentation is in Section 3.9, "Deleting Persistent Objects". The current implementation does not work well with the session (no removal of the erased objects from the cache).
2011-07-04Implement support for database operations callbacksBoris Kolpackov1-1/+37
New object pragma: callback. New test: common/callback. New manual section: 10.1.4, "callback".
2011-01-04Copyright updateBoris Kolpackov1-1/+1
2010-11-22Add session, database operations on pointers and const objectsBoris Kolpackov1-18/+97
Currently, session is just an object cache. The persist, update, and erase database operations are overloaded to also work on object pointers. All the database operations and the query facility now support const objects. New session-related exceptions: not_in_session, already_in_session, const_object.
2010-11-06Add comment to the likely place of an errorBoris Kolpackov1-0/+3
2010-09-20Add persist(const) version, make update()'s argument constBoris Kolpackov1-1/+14
2010-09-20Rename store() to update()Boris Kolpackov1-2/+2
2010-09-20Cache result by defaultBoris Kolpackov1-2/+7
2010-08-16Make small functions inlineBoris Kolpackov1-25/+0
2010-08-16Make use of const style consistentBoris Kolpackov1-5/+5
2010-08-16Add pointer guard for naked pointerBoris Kolpackov1-1/+1
2010-08-10Make result copy-assignableBoris Kolpackov1-3/+3
Return result from database::query instead of pointer to impl
2010-08-10Add query supportBoris Kolpackov1-0/+24
2010-07-22Rename insert and update to persist and store in traitsBoris Kolpackov1-2/+2
2010-07-20Get rid of the session mechanism for nowBoris Kolpackov1-31/+53
Add low-level API instead.
2010-06-04Initial implementationBoris Kolpackov1-0/+73