aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2011-09-22Make PG generated code look nicer1.6.0.a2Boris Kolpackov1-8/+7
2011-09-22Proofreading fixesBoris Kolpackov1-1/+1
2011-09-21Rework const object handlingBoris Kolpackov7-95/+56
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-20Rename query_clause to query_statement for consistencyBoris Kolpackov3-11/+11
2011-09-20Update documentation with new query syntax for pointers and compositesBoris Kolpackov2-32/+84
2011-09-20Change query syntax to use . for composite and -> for object pointer accessBoris Kolpackov2-47/+108
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-20Fix indentationBoris Kolpackov1-2/+2
2011-09-19Rename generation_failed exception to operation_failedBoris Kolpackov14-106/+106
A more generic name is required since it is now used in both generator and processor (and in the future may be used validator).
2011-09-19Throw exception instead of returning false to indicate validation failureBoris Kolpackov3-24/+19
This is consistent with what's done in processor and generator.
2011-09-19Split validator into 2 passes, before and after processingBoris Kolpackov3-86/+170
This is necessary because we sometimes need information during validation (e.g., object pointer and container status) that is determined by the processor.
2011-09-19Make processing top-level action, like validation and generationBoris Kolpackov12-82/+212
2011-09-19Use scope and location of db pointer pragma instead of classBoris Kolpackov3-31/+63
2011-09-19Use common lookup function instead of duplicating codeBoris Kolpackov3-80/+43
2011-09-19Recognize C++ keywords when parsing C++ expressions in pragmasBoris Kolpackov3-26/+39
2011-09-19Use query_base_type instead of query_type as argument typeBoris Kolpackov2-9/+9
The base type is sufficient.
2011-09-19Rename error.?xx to diagnostics.?xxBoris Kolpackov7-11/+11
2011-09-16Don't use DISTINCT in generated SELECT statementsBoris Kolpackov1-4/+1
We needed it before for objects that involved relationships (and therefore JOINs) but it appears with the new JOIN handling approach (no merging of multiple relationships into a single JOIN), we don't need DISTINCT anymore. All the tests pass and all the examples produce identical output with and without DISTINCT.
2011-09-16Support for views; integrated partBoris Kolpackov26-275/+3515
2011-09-11Generalize pragma code to support arbitrary types for context valuesBoris Kolpackov7-172/+201
2011-09-09New templated query_columns architectureBoris Kolpackov7-320/+567
We also now use the correct separate "role"-base join approach instead of having a single merged join for each table.
2011-09-09Add support for ignoring bases in has_a() testBoris Kolpackov2-0/+11
2011-09-09Fix bug in PG type oid generationBoris Kolpackov1-6/+16
2011-09-06View support customizations for PostgreSQLBoris Kolpackov2-10/+43
2011-09-06Add support for object pragmaBoris Kolpackov5-135/+290
This pragma is used to specify objects in a view declaration.
2011-09-05Support for views; native partBoris Kolpackov13-169/+674
2011-08-31Rename comp_value() predicate to composite()Boris Kolpackov22-75/+75
2011-08-31Add transient() predicateBoris Kolpackov9-9/+15
2011-08-31Cosmetic changes and cleanupsBoris Kolpackov23-164/+185
Rename some functions to have consistent names. Add object() predicate.
2011-08-30Document new connection constructor and create() factory callbackBoris Kolpackov2-15/+126
2011-08-28Add comment to odb::nullable interfaceBoris Kolpackov1-0/+2
2011-08-28Document wrapper support for composite values and containersBoris Kolpackov2-32/+63
2011-08-28Add wrapper support for containersBoris Kolpackov16-70/+134
2011-08-28Add wrapper support for composite valuesBoris Kolpackov17-58/+259
NULL semantics for composite values is not yet supported.
2011-08-26Add support for specifying client character set for MySQL databaseBoris Kolpackov2-7/+33
2011-08-25Add experimental code (commented out) for DELETE JOIN supportBoris Kolpackov1-1/+11
This would be needed to support object relationships in the erase_query() functionality.
2011-08-24Don't append table prefix to names that already have it (container tables)Boris Kolpackov3-6/+19
2011-08-24Document transaction multiplexingBoris Kolpackov2-10/+72
2011-08-23Proofreading fixesBoris Kolpackov1-3/+3
2011-08-23Cosmetic changeBoris Kolpackov1-1/+1
2011-08-22Bump version to 1.6.0.a11.6.0.a1Boris Kolpackov2-5/+5
2011-08-22Document odb::connectionBoris Kolpackov2-91/+284
2011-08-22Add database::erase_query() functionBoris Kolpackov6-34/+141
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-22Enable foreign key constraints checking in SQLiteBoris Kolpackov3-12/+106
Due to bugs in SQLite DDL foreign key support, we have to temporarily disable foreign keys when re-creating the schema. New manual section: 12.5.3, "Foreign Key Constraints".
2011-08-22Add --table-prefix optionBoris Kolpackov3-5/+32
Assign unique table prefixes to most examples. This makes sure that we don't end up with broken schemas where half of the tables were changed by the next test and the other half has foreign keys that now point to nowhere.
2011-08-21Add support for multi-pass database schema dropBoris Kolpackov4-34/+98
2011-08-19Rework query machinery not to use '_' as primary table aliasBoris Kolpackov4-28/+67
Now we always qualify with the actual table name and use the '_' alias for situations where an object is referencing itself.
2011-08-19Cosmetic changeBoris Kolpackov1-1/+1
2011-08-19Make container object_id reference the objectBoris Kolpackov3-13/+56
Make it ON DELETE CASCADE. Also in erase(), delete the container rows first.
2011-08-18Fix custom recursive loading in post_load callbackBoris Kolpackov1-2/+2
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.