aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2011-11-03Qualify details namespace with odb to help buggy VC++1.7.0.a1Boris Kolpackov2-3/+3
2011-11-02Bump version to 1.7.0.a1Boris Kolpackov2-5/+5
2011-11-02Add database::reload() overloads for pointersBoris Kolpackov2-0/+46
2011-11-02Add result_iterator::id() function that returns id without loading objectBoris Kolpackov1-0/+6
2011-11-02Optimize load_id(), load() sequence for SQLite and PostgreSQLBoris Kolpackov2-3/+9
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-01Implement support for optimistic concurrencyBoris Kolpackov4-5/+34
New pragmas: optimistic, version. New test: optimistic. New database function: reload().
2011-10-27Make sure output directory exist before generating config.hBoris Kolpackov1-1/+1
2011-10-27Add support for persistent classes without object idsBoris Kolpackov7-77/+398
New pragma id (object). New test: common/no-id.
2011-10-26Correct typoConstantin Michael1-1/+1
2011-10-24Add commentBoris Kolpackov1-0/+5
2011-10-21Add support for const data membersBoris Kolpackov2-13/+43
Const data members are automatically treated as readonly. New test: const-member.
2011-10-21Add support for readonly membersBoris Kolpackov1-0/+10
New pragma: readonly. New test: readonly.
2011-10-21Do not allocate memory for buffer if constructed with zero capacityConstantin Michael1-2/+2
2011-10-21Allow specification of buffer capacity on construction defaulting to 256 bytesConstantin Michael1-2/+7
2011-10-19Mention autotools as prerequisite in INSTALL-GITBoris Kolpackov1-3/+9
2011-10-03Bump version to 1.6.01.6.01.6Boris Kolpackov2-5/+5
2011-09-22Make common result implementation instead of separate for views and objects1.6.0.a2Boris Kolpackov3-307/+173
2011-09-22Workaround for VC9Boris Kolpackov1-5/+13
2011-09-22Workaround for VC9Boris Kolpackov2-2/+2
2011-09-22Workaround for Sun CCBoris Kolpackov2-2/+2
2011-09-21Rework const object handlingBoris Kolpackov16-227/+216
Now objects are always loaded as non-const and the object cache in session treats all objects as non-const.
2011-09-20Bump version to 1.6.0.a2Boris Kolpackov2-5/+5
2011-09-20Change query syntax to use . for composite and -> for object pointer accessBoris Kolpackov1-0/+18
Also make non-inverse query columns act as both an object pointer and a normal column. The latter allows us to use natural expressions such as query<employee>::employer.is_null ().
2011-09-09New templated query_columns architectureBoris Kolpackov1-12/+13
We also now use the correct separate "role"-base join approach instead of having a single merged join for each table.
2011-09-05Support for views; native partBoris Kolpackov11-354/+893
2011-09-05Use more descriptive names in details/meta/Boris Kolpackov8-64/+67
2011-08-28Make sure underlying value is in default-constructed state if nullable is NULLBoris Kolpackov1-6/+3
2011-08-24Add support for transaction multiplexingBoris Kolpackov4-28/+71
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-22Bump version to 1.6.0.a11.6.0.a1Boris Kolpackov2-5/+5
2011-08-22Add database::erase_query() functionBoris Kolpackov3-0/+66
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 Kolpackov10-7/+197
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-21Add support for multi-pass database schema dropBoris Kolpackov2-6/+24
2011-08-04Add support for value wrappersBoris Kolpackov4-0/+455
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-27Bump version to 1.6.0Boris Kolpackov2-5/+5
2011-07-25Bump version to 1.5.01.5.0Boris Kolpackov2-5/+5
2011-07-23Provide different implementations for ODB_POTENTIALLY_UNUSEDBoris Kolpackov1-1/+9
The same approach does not work for VC++ and GCC.
2011-07-23Change unused macro to use a void pointer instead of a referenceConstantin Michael1-1/+1
2011-07-05Add support for multi-pass database schema generationBoris Kolpackov2-5/+20
2011-07-05Aesthetic changesConstantin Michael1-1/+2
2011-07-05Convert buffer to templated basic_bufferConstantin Michael2-23/+31
2011-07-04Implement support for database operations callbacksBoris Kolpackov3-21/+84
New object pragma: callback. New test: common/callback. New manual section: 10.1.4, "callback".
2011-04-26Bump version to 1.4.01.4.0Boris Kolpackov2-5/+5
2011-04-22Refactor such that const keyword always precedes type that it qualifiesConstantin Michael5-17/+17
2011-04-18Fix loaded() function in lazy_ptr to conform to documentationBoris Kolpackov7-14/+66
2011-04-05Bump version to 1.3.01.3.0Boris Kolpackov2-5/+5
2011-03-31Bump version to 1.3.0.b1Boris Kolpackov2-5/+5
2011-03-28Forward-declare result class templateBoris Kolpackov1-0/+4
2011-03-25Add support for forward-declaring shared_base-based typesBoris Kolpackov6-9/+58
The forward declaration must specialize the counter_type template to explicitly specify shared_base as the counter type.
2011-03-16Make sure we can free memory even in case of "unsafe" DLL termination1.2.0Boris Kolpackov1-11/+18
2011-03-15Change shared_ptr callback interface to work in mt-environmentBoris Kolpackov2-5/+5