aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2014-11-26Implement optimistic concurrency support in bulk operationsBoris Kolpackov2-5/+11
Bulk update and SQL Server ROWVERSION not yet supported.
2014-11-26VC12 fixesBoris Kolpackov2-5/+5
2014-11-26Reimplement image copying for OracleBoris Kolpackov12-417/+217
Now we no longer "steal" descriptors (destructive copy). Instead, for LOBs, we clone the locator using OCILobAssign(). For date-time types we extract the data during copying. As a result of this change we no longer need to track image changes and rebind the statements.
2014-11-26Add commentsBoris Kolpackov2-3/+9
2014-11-25Get rid of trailing newlines in error messagesBoris Kolpackov1-0/+7
2014-11-25Implement bulk database operation support for Oracle and SQL ServerBoris Kolpackov19-423/+1179
2014-11-19Bump version to 2.4.0.a4Boris Kolpackov2-4/+4
2014-11-10Implement {query,execute}_{one,value}() shortcut functionsMichael Shepanski2-0/+182
Useful in situations where the query is know to return at most one element (*_one) or exactly one element (*_value).
2014-09-19Call tracer::prepare() before actually preparing statementBoris Kolpackov1-9/+21
This way we give the user the ability to see an invalid statement that would cause the preparation step to fail.
2014-09-06Support using stored procedure call as complete queryBoris Kolpackov1-1/+3
2014-08-29Use default-initialized value instead of 0Boris Kolpackov1-2/+2
0 doesn't work for enum classes.
2014-08-01Bump version to 2.4.0.a3Boris Kolpackov2-4/+4
2014-06-03Support for VC12 (2013), initial workBoris Kolpackov5-2/+234
2014-03-19Export pooled_connection classBoris Kolpackov1-1/+1
It can be used by derived connection factories.
2014-03-01Bump version to 2.4.0.a2Boris Kolpackov2-4/+4
2013-12-12Bump version to 2.4.0.a1Boris Kolpackov2-4/+4
2013-10-19Fix incorrect license in file headers2.3.02.3Boris Kolpackov3-3/+3
2013-10-19Bump version to 2.3.0Boris Kolpackov2-4/+4
2013-10-09Bump version to 2.3.0.b22.3.0.b2Boris Kolpackov2-4/+4
2013-09-28Make schema version access (but not modification) thread-safeBoris Kolpackov3-5/+33
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-17Bump version to 2.3.0.b12.3.0.b1Boris Kolpackov2-4/+4
2013-09-10Schema versioning supportBoris Kolpackov24-115/+599
2013-08-14Add support for object sectionsBoris Kolpackov8-57/+339
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-07-08Add support for Visual Studio 2005Boris Kolpackov4-3/+384
2013-04-25Add support for schema version tableBoris Kolpackov2-1/+107
2013-04-25Add default constructor, finalized() accessor to transactionBoris Kolpackov2-3/+11
2013-02-21Add support for pattern matching (SQL LIKE)Boris Kolpackov3-0/+108
2013-02-13Suppress warning in empty for-loop2.2.0Boris Kolpackov1-1/+1
2013-02-12Qualify vector to work around Sun CC bugsBoris Kolpackov1-0/+4
2013-02-11Support compilers that deduce const arrays to const reference differentlyBoris Kolpackov1-0/+35
2013-02-11Detect POSIX threads on MinGW-W64Boris Kolpackov1-1/+10
2013-02-09Bump version to 2.2.0Boris Kolpackov2-4/+4
2013-02-09Update copyright yearBoris Kolpackov109-109/+109
2013-02-09Escape m4 macroBoris Kolpackov1-1/+1
2013-02-06Add call to AM_PROG_AR which is required by newer automakeBoris Kolpackov1-0/+1
Thanks to Hugo Mildenberger <Hugo.Mildenberger@web.de> for the patch.
2013-02-06Fix incorrect AC_LANG_SOURCE quotingBoris Kolpackov3-15/+15
Thanks to Hugo Mildenberger <Hugo.Mildenberger@web.de> for the patch.
2013-02-05Add support for change-tracking containersBoris Kolpackov5-134/+241
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-6/+8
2013-01-24Add support for mapping char[N] to CHAR/VARCHAR database typesBoris Kolpackov4-233/+473
Also improve query support for arrays (decaying).
2013-01-17Add database id constant (useful for meta-programming)Boris Kolpackov1-0/+5
2013-01-16Make session cache management functions static, add notificationsBoris Kolpackov2-2/+2
2013-01-16Implement two-phase session insertionBoris Kolpackov2-7/+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-15Bump version to 2.2.0.a3Boris Kolpackov2-4/+4
2013-01-15Check that max connections is greater or equal than min in connection poolBoris Kolpackov1-1/+4
2012-12-12Bump version to 2.2.0.a22.2.0.a2Boris Kolpackov2-4/+4
2012-12-03Add support for executing common query using static interfaceBoris Kolpackov4-17/+69
2012-11-29Namespace management for static multi-database supportBoris Kolpackov5-3/+31
Now in libodb the odb::core namespace is split into odb::common (database- independent stuff) and odb::core proper, which imports odb::common. Each database runtime now defines odb::<db>::core namespace which also imports odb::common and adds the database-specific bits. The overall idea is that one can do using namespace odb::<db>::core just like for odb::core.
2012-11-21Add dynamic multi-database query supportBoris Kolpackov11-66/+413
2012-10-29Don't use boolean as identifier2.2.0.a1Boris Kolpackov2-19/+20
Some headers/systems defined it as a macro.
2012-10-29Bump version to 2.2.0.a1Boris Kolpackov2-4/+4