aboutsummaryrefslogtreecommitdiff
path: root/odb/database.hxx
AgeCommit message (Collapse)AuthorFilesLines
2014-11-21Add support for stopping after a failed batchBoris Kolpackov1-10/+10
2014-11-20Add testBoris Kolpackov1-0/+4
2014-11-13Bulk update implementationBoris Kolpackov1-1/+16
2014-11-11Complete initial bulk erase() implementationBoris Kolpackov1-0/+8
2014-11-11Initial bulk erase implementationBoris Kolpackov1-0/+10
2014-11-11Draft implementation for INSERTBoris Kolpackov1-0/+19
2014-11-10Implement {query,execute}_{one,value}() shortcut functionsMichael Shepanski1-0/+62
Useful in situations where the query is know to return at most one element (*_one) or exactly one element (*_value).
2014-10-31Allow lambdas & std::functions as query factories with C++-98 builds of libodbMichael Shepanski1-12/+26
2013-09-28Make schema version access (but not modification) thread-safeBoris Kolpackov1-12/+16
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-12Optimize schema version access for default schemaBoris Kolpackov1-5/+15
2013-09-02Support for versioning simple value in objectBoris Kolpackov1-0/+8
2013-08-28Support for added and deleted data member pragmasBoris Kolpackov1-3/+8
2013-08-27Add support for getting version and migration flag in one structureBoris Kolpackov1-3/+5
2013-08-14Add support for object sectionsBoris Kolpackov1-0/+22
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-04-25Add support for schema version tableBoris Kolpackov1-0/+46
2013-02-09Update copyright yearBoris Kolpackov1-1/+1
2013-01-09Work around "changes meaning" error in older GCCBoris Kolpackov1-4/+4
2012-10-19Completion of prepared query supportBoris Kolpackov1-0/+68
2012-10-08Ground work for multi-database supportBoris Kolpackov1-7/+54
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-02-28Add support for object pointers with two template parametersBoris Kolpackov1-0/+32
Such as C++11 std::unique_ptr.
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-07Add support for SQL statement tracingBoris Kolpackov1-3/+20
2011-11-02Add database::reload() overloads for pointersBoris Kolpackov1-0/+16
2011-11-01Implement support for optimistic concurrencyBoris Kolpackov1-0/+4
New pragmas: optimistic, version. New test: optimistic. New database function: reload().
2011-09-21Rework const object handlingBoris Kolpackov1-4/+2
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-1/+5
2011-08-24Add support for transaction multiplexingBoris Kolpackov1-2/+2
Also delay getting a connection until after we do all the sanity checks (e.g., that there is no active transaction). Otherwise we are running risk of getting blocked rather than throwing an exception.
2011-08-22Add database::erase_query() functionBoris Kolpackov1-0/+18
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-08-21Add odb::connection classBoris Kolpackov1-5/+18
This abstract class represents a connection to the database. One can use it to start a transaction or to execute a native statement out of a transaction. Before we had concrete connection classes in the database runtime libraries (e.g., odb::mysql::connection). Now these classes derive from odb::connection.
2011-01-18Add support for native SQL statement executionBoris Kolpackov1-0/+13
New test: mysql/native. New manual section: 3.9, "Executing Native SQL Statements".
2011-01-04Copyright updateBoris Kolpackov1-1/+1
2010-11-22Add session, database operations on pointers and const objectsBoris Kolpackov1-6/+64
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-09-28Rename begin_transaction() to begin()Boris Kolpackov1-1/+1
2010-09-22Explicitly include odb/exceptions.hxx in odb/database.hxxBoris Kolpackov1-0/+1
2010-09-20Add persist(const) version, make update()'s argument constBoris Kolpackov1-1/+5
2010-09-20Rename store() to update()Boris Kolpackov1-2/+2
2010-09-20Cache result by defaultBoris Kolpackov1-4/+8
2010-08-26Add support for creating other build systems (meta-building)Boris Kolpackov1-1/+9
Add support for automake, VC++ 9, and VC++ 10. Also add the Win32 and 'NULL' threading model implementations.
2010-08-16Make use of const style consistentBoris Kolpackov1-5/+5
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/+16
2010-07-20Get rid of the session mechanism for nowBoris Kolpackov1-21/+37
Add low-level API instead.
2010-06-04Initial implementationBoris Kolpackov1-0/+71