aboutsummaryrefslogtreecommitdiff
path: root/common
AgeCommit message (Collapse)AuthorFilesLines
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
2011-01-24Rename type to avoid conflict with memberBoris Kolpackov1-2/+2
2011-01-04Copyright updateBoris Kolpackov44-44/+44
2010-12-13Detect TR1 <memory> availabilityBoris Kolpackov11-144/+31
Also use the wrapper header from libodb.
2010-12-10Cosmetic changesBoris Kolpackov1-2/+2
2010-12-09Cosmetic change (rename naked pointer to raw pointer)Boris Kolpackov4-4/+4
2010-12-09Add lazy pointer supportBoris Kolpackov8-22/+651
Built-in support is provided for raw, auto, and tr1 shared/weak pointers. New test: common/lazy-ptr.
2010-11-28Simplify tests by using literal namesBoris Kolpackov5-46/+28
2010-11-26Postpone fetching of the data for cached resultsBoris Kolpackov2-0/+19
This way if an object of the same type is loaded in between iteration, the fetched image won't be messed up.
2010-11-26Save test result to a temp file instead of piping it to diffBoris Kolpackov12-12/+48
This makes tests more robust.
2010-11-26Add support for recursive object loadingBoris Kolpackov1-24/+23
If an object of a type needs to be loaded recursively, then it is addded to the delayed loading list which is processed once the statements are unlocked.
2010-11-25Add support for object pointers in queryBoris Kolpackov3-1/+58
2010-11-24Implement support for many-to-{one,many} inverse relationshipsBoris Kolpackov2-30/+235
2010-11-24Add support for unordered storage of ordered containersBoris Kolpackov2-1/+27
New pragma: unordered.