Age | Commit message (Collapse) | Author | Files | Lines | |
---|---|---|---|---|---|
2011-11-02 | Optimize load_id(), load() sequence for SQLite and PostgreSQL | Boris Kolpackov | 2 | -2/+2 | |
In these databases both of these functions load the data into the object image. If there is no chance of image overwrite between these calls, then we don't need to load the image the second time. | |||||
2011-11-01 | Implement support for optimistic concurrency | Boris Kolpackov | 4 | -17/+93 | |
New pragmas: optimistic, version. New test: optimistic. New database function: reload(). | |||||
2011-10-30 | Rework statement interfaces wrt param/result passing | Boris Kolpackov | 4 | -71/+67 | |
2011-10-27 | Make sure output directory exist before generating config.h | Boris Kolpackov | 1 | -1/+1 | |
2011-10-27 | Add support for persistent classes without object ids | Boris Kolpackov | 9 | -50/+388 | |
New pragma id (object). New test: common/no-id. | |||||
2011-10-21 | Add support for const data members | Boris Kolpackov | 1 | -2/+2 | |
Const data members are automatically treated as readonly. New test: const-member. | |||||
2011-10-21 | Split 'in' binding into insert/update pair; rename 'out' to select | Boris Kolpackov | 4 | -96/+116 | |
Also add the initial infrastructure for the readonly members support. Right now the split insert/update bindings allows us to avoid sending object id in UPDATE statements. It will also allows us to support readonly members. | |||||
2011-10-19 | Mention autotools as prerequisite in INSTALL-GIT | Boris Kolpackov | 1 | -1/+6 | |
2011-10-03 | Work around bug in Sun CC1.6.01.6 | Boris Kolpackov | 3 | -2/+17 | |
2011-10-03 | Export query operators that were made non-inline | Boris Kolpackov | 1 | -3/+3 | |
2011-10-03 | Bump version to 1.6.0 | Boris Kolpackov | 2 | -4/+4 | |
2011-10-02 | If query substituting placeholder is empty, pass true expression instead | Boris Kolpackov | 2 | -59/+142 | |
This allows uniform usage of views both with and without any extra conditions. Also optimize some common cases so that we don't have useless WHERE TRUE clauses or (...) AND (TRUE) expressions. | |||||
2011-09-22 | Add const char[n] value_traits specialization in addition to char[n]1.6.0.a2 | Boris Kolpackov | 1 | -0/+28 | |
2011-09-21 | Rework const object handling | Boris Kolpackov | 2 | -7/+5 | |
Now objects are always loaded as non-const and the object cache in session treats all objects as non-const. | |||||
2011-09-20 | Bump version to 1.6.0.a2 | Boris Kolpackov | 2 | -4/+4 | |
2011-09-19 | Add assertion for mismatch of result set column count in MySQL and SQLite | Boris Kolpackov | 1 | -0/+9 | |
This is useful for detecting native views that happened to have stray data members. Also update comment in PostgreSQL. | |||||
2011-09-16 | Support for views; integrated part | Boris Kolpackov | 5 | -26/+140 | |
2011-09-15 | Fix bug in result rebinding logic | Boris Kolpackov | 1 | -12/+1 | |
2011-09-09 | New templated query_columns architecture | Boris Kolpackov | 3 | -62/+77 | |
We also now use the correct separate "role"-base join approach instead of having a single merged join for each table. | |||||
2011-09-06 | Add non-inline destructor | Boris Kolpackov | 4 | -2/+19 | |
2011-09-06 | Stylistic changes | Boris Kolpackov | 3 | -8/+6 | |
2011-09-05 | Support for views; native part | Boris Kolpackov | 14 | -91/+569 | |
2011-09-05 | Allow select statement without parameters | Boris Kolpackov | 2 | -5/+26 | |
2011-08-30 | Add comment with some explanations | Boris Kolpackov | 1 | -0/+4 | |
2011-08-30 | Implement uniform handle management across all databases | Boris Kolpackov | 5 | -22/+128 | |
Also use the auto_handle template instead of the raw handle in connection, statement, and result classes. This removes a lot of brittle "exception safety guarantee" code that we had in those classes. | |||||
2011-08-28 | Add create() hook to connection factories | Boris Kolpackov | 2 | -20/+40 | |
This will allow the user to either establish the connection themselves (using the handle c-tor) and/or configure the connection post-creation. | |||||
2011-08-28 | Add support for creating connection from existing handle | Boris Kolpackov | 2 | -2/+15 | |
This will allow for custom connection establishment and configuration. | |||||
2011-08-26 | Add support for specifying client character set for MySQL database | Boris Kolpackov | 3 | -2/+32 | |
2011-08-24 | Add support for transaction multiplexing | Boris Kolpackov | 8 | -16/+44 | |
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-22 | Bump version to 1.6.0.a11.6.0.a1 | Boris Kolpackov | 2 | -4/+4 | |
2011-08-22 | Remove stray function declarations | Boris Kolpackov | 1 | -6/+0 | |
2011-08-21 | Add odb::connection class | Boris Kolpackov | 10 | -71/+110 | |
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-08-19 | Rework query machinery not to use '_' as primary table alias | Boris Kolpackov | 3 | -65/+151 | |
Now we always qualify with the actual table name and use the '_' alias for situations where an object is referencing itself. | |||||
2011-08-18 | Fix custom recursive loading in post_load callback | Boris Kolpackov | 4 | -3/+45 | |
Before we called the callback while holding the statements locked. As a result, if the callback tried to load another object of this type, it failed. Now we unlock the statements (since we have completely loaded the object from ODB's point of view) and then call the callback. The callback test has been updated to test this situation. | |||||
2011-08-04 | Merge branch 'wrapper' | Boris Kolpackov | 1 | -1/+159 | |
2011-08-04 | Add support for value wrappers | Boris Kolpackov | 1 | -1/+159 | |
Wrapper is a class that wraps another type. Examples of wrappers are various smart pointers, holders, etc. A wrapper can be transparent or it can handle the NULL semantics. The new odb::nullable class template is a NULL wrapper that helps to add the NULL semantics to a value type. New test: common/wrapper. | |||||
2011-07-31 | Minor optimization | Boris Kolpackov | 1 | -1/+1 | |
2011-07-28 | Add value_traits specializations for std::vector<char> | Boris Kolpackov | 2 | -0/+52 | |
This allows using it as a buffer for BLOB mapping. | |||||
2011-07-27 | Bump version to 1.6.0 | Boris Kolpackov | 2 | -4/+4 | |
2011-07-25 | Suppress warnings1.5.0 | Boris Kolpackov | 1 | -5/+5 | |
2011-07-25 | Bump version to 1.5.0 | Boris Kolpackov | 2 | -4/+4 | |
2011-07-11 | Free prepared statement cache before closing connection | Boris Kolpackov | 1 | -0/+4 | |
2011-07-04 | Implement support for database operations callbacks | Boris Kolpackov | 3 | -8/+48 | |
New object pragma: callback. New test: common/callback. New manual section: 10.1.4, "callback". | |||||
2011-04-27 | Work around VC++ bugs1.4.0 | Boris Kolpackov | 2 | -2/+3 | |
2011-04-26 | Bump version to 1.4.0 | Boris Kolpackov | 2 | -4/+4 | |
2011-04-25 | Reuse container traits from base objects | Boris Kolpackov | 2 | -14/+62 | |
2011-04-25 | Pass id binding instead of id image in container traits | Boris Kolpackov | 4 | -25/+35 | |
This will allow us to reuse things more. | |||||
2011-04-24 | Remove stray post include | Boris Kolpackov | 1 | -2/+0 | |
2011-04-22 | Initial support for non-polymorphic inheritance | Boris Kolpackov | 1 | -1/+3 | |
Every class gets a separate table. New test: common/inheritance. | |||||
2011-04-20 | Add missing static qualifier | Boris Kolpackov | 1 | -1/+1 | |