aboutsummaryrefslogtreecommitdiff
path: root/common
AgeCommit message (Collapse)AuthorFilesLines
2011-10-02Handle object pointers when comparing view and object data member typesBoris Kolpackov2-5/+37
Also issues an error if an object member associated with a view member is transient or inverse.
2011-10-02If query substituting placeholder is empty, pass true expression insteadBoris Kolpackov2-3/+3
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-27Add support for associating tables with viewsBoris Kolpackov2-7/+63
2011-09-22Remove NDEBUG macro from VC project; tests always need enabled assert()1.6.0.a2Boris Kolpackov2-4/+4
2011-09-21Use int instead of size_t for NULL-able valueBoris Kolpackov1-2/+2
In case of nullable<size_t> the ODB compiler is unable to determine that the wrapped type is size_t. This results in 64-bit integer being stored and 32-bit being loaded. This interacts badly with PG for some reason.
2011-09-21Rework const object handlingBoris Kolpackov2-14/+12
Now objects are always loaded as non-const and the object cache in session treats all objects as non-const.
2011-09-21Add prefix to table nameBoris Kolpackov1-1/+2
2011-09-20Change query syntax to use . for composite and -> for object pointer accessBoris Kolpackov8-20/+45
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-16Support for views; integrated partBoris Kolpackov2-65/+723
2011-09-09Add test for queries involving object relationshipsBoris Kolpackov5-19/+444
2011-09-09New templated query_columns architectureBoris Kolpackov1-1/+2
We also now use the correct separate "role"-base join approach instead of having a single merged join for each table.
2011-09-09Vary members order to improve coverageBoris Kolpackov1-5/+5
In particular, the test now catches a bug in PG type oid generation.
2011-09-06Correct view testBoris Kolpackov1-1/+0
2011-09-05Support for views; native partBoris Kolpackov5-0/+409
2011-08-28Add wrapper support for containersBoris Kolpackov2-7/+62
2011-08-28Add wrapper support for composite valuesBoris Kolpackov2-2/+111
NULL semantics for composite values is not yet supported.
2011-08-25Add experimental code (commented out) for DELETE JOIN supportBoris Kolpackov2-2/+52
This would be needed to support object relationships in the erase_query() functionality.
2011-08-24Make tests use unique table prefixesBoris Kolpackov21-21/+30
2011-08-22Add database::erase_query() functionBoris Kolpackov5-0/+258
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-19Rework query machinery not to use '_' as primary table aliasBoris Kolpackov1-1/+1
Now we always qualify with the actual table name and use the '_' alias for situations where an object is referencing itself.
2011-08-18Fix custom recursive loading in post_load callbackBoris Kolpackov3-6/+50
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-04Add support for value wrappersBoris Kolpackov5-1/+236
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-22Add pragma for setting type's or member's default valueBoris Kolpackov5-0/+256
New pragma: default. New test: default.
2011-07-19New design for NULL semanticsBoris Kolpackov3-5/+6
Now, instead of being specified as part of the SQL type with the type pragma, there are separate null and not_null pragmas. The not_null pragma was used to control NULL-ness of object pointers. Now the two pragmas are used consistently for object pointers and simple values (and in the future will work for composite values and containers).
2011-07-18Qualify id with table alias to help SQLite outBoris Kolpackov1-1/+1
This hack should go away once we have language-integrated support for ORDER BY.
2011-07-11Order results by id to get consistent test output orderBoris Kolpackov1-1/+1
2011-07-06Remove UNSIGNED SQL qualifier to allow PostgreSQL to pass schema testConstantin Michael1-1/+1
2011-07-06Add traits for PostgreSQL query testConstantin Michael2-0/+61
2011-07-05Fix memory leakBoris Kolpackov1-0/+2
2011-07-04Implement support for database operations callbacksBoris Kolpackov5-0/+354
New object pragma: callback. New test: common/callback. New manual section: 10.1.4, "callback".
2011-06-30Test updating of unmodified objectBoris Kolpackov1-4/+13
2011-04-25Add support for abstract object typesBoris Kolpackov2-7/+82
2011-04-25Reuse container traits from composite valuesBoris Kolpackov2-2/+22
2011-04-22Initial support for non-polymorphic inheritanceBoris Kolpackov5-0/+334
Every class gets a separate table. New test: common/inheritance.
2011-04-22Test empty composite value typeBoris Kolpackov1-1/+7
2011-04-18Implement automatic mapping for C++ enumsBoris Kolpackov5-0/+212
2011-04-18Get rid of image type argument in value_traitsBoris Kolpackov2-2/+2
2011-03-30VC++ build system support for SQLiteBoris Kolpackov2-8/+8
2011-03-30Autotools support for SQLiteBoris Kolpackov2-1/+2
2011-03-29Handle deadlocks and SQLite-specific issuesBoris Kolpackov1-8/+36
2011-03-28Add schema creation flag to create_database()Boris Kolpackov1-1/+1
2011-03-28Recode tests to work with implementations lacking result::size()Boris Kolpackov6-21/+30
2011-03-27Add traits implementation for SQLiteBoris Kolpackov3-48/+124
2011-03-27Fix issues preventing building outside source directoryBoris Kolpackov13-39/+39
2011-03-08Use more consistent naming conventionBoris Kolpackov1-15/+15
2011-02-25Add support for tests in subdirectoriesBoris Kolpackov16-32/+32
2011-02-22Fix iteration over uncached query resultBoris Kolpackov2-0/+15
2011-02-18Add odb::core namespace to be used in using-directivesBoris Kolpackov13-13/+14
Port all the examples and tests.
2011-02-17Add test infrastructure for boost profileBoris Kolpackov1-2/+3
2011-01-24Workaround VC 10 bug1.1.0Boris Kolpackov1-1/+1