Age | Commit message (Collapse) | Author | Files | Lines | |
---|---|---|---|---|---|
2011-10-03 | Use traditional const placement | Boris Kolpackov | 1 | -2/+2 | |
2011-10-02 | Handle object pointers when comparing view and object data member types | Boris Kolpackov | 1 | -33/+68 | |
Also issues an error if an object member associated with a view member is transient or inverse. | |||||
2011-10-02 | If query substituting placeholder is empty, pass true expression instead | Boris Kolpackov | 2 | -6/+16 | |
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-27 | Add support for associating tables with views | Boris Kolpackov | 5 | -52/+170 | |
2011-09-22 | Make PG generated code look nicer1.6.0.a2 | Boris Kolpackov | 1 | -8/+7 | |
2011-09-21 | Rework const object handling | Boris Kolpackov | 5 | -70/+17 | |
Now objects are always loaded as non-const and the object cache in session treats all objects as non-const. | |||||
2011-09-20 | Rename query_clause to query_statement for consistency | Boris Kolpackov | 3 | -11/+11 | |
2011-09-20 | Change query syntax to use . for composite and -> for object pointer access | Boris Kolpackov | 2 | -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-20 | Fix indentation | Boris Kolpackov | 1 | -2/+2 | |
2011-09-19 | Rename generation_failed exception to operation_failed | Boris Kolpackov | 10 | -100/+100 | |
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-19 | Make processing top-level action, like validation and generation | Boris Kolpackov | 2 | -8/+8 | |
2011-09-19 | Use scope and location of db pointer pragma instead of class | Boris Kolpackov | 1 | -22/+43 | |
2011-09-19 | Use common lookup function instead of duplicating code | Boris Kolpackov | 1 | -68/+26 | |
2011-09-19 | Use query_base_type instead of query_type as argument type | Boris Kolpackov | 2 | -9/+9 | |
The base type is sufficient. | |||||
2011-09-19 | Rename error.?xx to diagnostics.?xx | Boris Kolpackov | 2 | -2/+2 | |
2011-09-16 | Don't use DISTINCT in generated SELECT statements | Boris Kolpackov | 1 | -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-16 | Support for views; integrated part | Boris Kolpackov | 10 | -68/+2258 | |
2011-09-11 | Generalize pragma code to support arbitrary types for context values | Boris Kolpackov | 2 | -65/+35 | |
2011-09-09 | New templated query_columns architecture | Boris Kolpackov | 7 | -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-09 | Fix bug in PG type oid generation | Boris Kolpackov | 1 | -6/+16 | |
2011-09-06 | View support customizations for PostgreSQL | Boris Kolpackov | 2 | -10/+43 | |
2011-09-06 | Add support for object pragma | Boris Kolpackov | 2 | -14/+85 | |
This pragma is used to specify objects in a view declaration. | |||||
2011-09-05 | Support for views; native part | Boris Kolpackov | 6 | -72/+404 | |
2011-08-31 | Rename comp_value() predicate to composite() | Boris Kolpackov | 15 | -55/+55 | |
2011-08-31 | Add transient() predicate | Boris Kolpackov | 4 | -4/+4 | |
2011-08-31 | Cosmetic changes and cleanups | Boris Kolpackov | 13 | -86/+96 | |
Rename some functions to have consistent names. Add object() predicate. | |||||
2011-08-28 | Add wrapper support for containers | Boris Kolpackov | 12 | -58/+93 | |
2011-08-28 | Add wrapper support for composite values | Boris Kolpackov | 14 | -53/+211 | |
NULL semantics for composite values is not yet supported. | |||||
2011-08-25 | Add experimental code (commented out) for DELETE JOIN support | Boris Kolpackov | 1 | -1/+11 | |
This would be needed to support object relationships in the erase_query() functionality. | |||||
2011-08-22 | Add database::erase_query() function | Boris Kolpackov | 4 | -29/+92 | |
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-22 | Enable foreign key constraints checking in SQLite | Boris Kolpackov | 1 | -0/+16 | |
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-21 | Add support for multi-pass database schema drop | Boris Kolpackov | 4 | -34/+98 | |
2011-08-19 | Rework query machinery not to use '_' as primary table alias | Boris Kolpackov | 4 | -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-19 | Cosmetic change | Boris Kolpackov | 1 | -1/+1 | |
2011-08-19 | Make container object_id reference the object | Boris Kolpackov | 3 | -13/+56 | |
Make it ON DELETE CASCADE. Also in erase(), delete the container rows first. | |||||
2011-08-18 | Fix custom recursive loading in post_load callback | Boris Kolpackov | 1 | -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. | |||||
2011-08-04 | Add support for value wrappers | Boris Kolpackov | 1 | -1/+217 | |
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-25 | Remove @@ notes that no longer apply | Boris Kolpackov | 1 | -1/+1 | |
2011-07-24 | Never generate zero length oid arrays for PostgreSQL | Constantin Michael | 1 | -0/+8 | |
VC++ does not allow zero length array initialization, nor for const values to remain uninitialized. | |||||
2011-07-22 | Add pragma for setting type's or member's default value | Boris Kolpackov | 5 | -3/+318 | |
New pragma: default. New test: default. | |||||
2011-07-22 | Cosmetic change | Boris Kolpackov | 1 | -1/+1 | |
2011-07-22 | Cosmetic change | Boris Kolpackov | 1 | -1/+1 | |
2011-07-22 | Parse and store MySQL ENUM enumerator strings | Boris Kolpackov | 2 | -4/+31 | |
2011-07-22 | Use quote_string() to quote enumerators | Boris Kolpackov | 1 | -3/+1 | |
2011-07-22 | Cosmetic changes | Boris Kolpackov | 1 | -2/+2 | |
2011-07-22 | Add support for SQL string quoting | Boris Kolpackov | 3 | -0/+39 | |
2011-07-22 | Add support for specifying extra column options | Boris Kolpackov | 1 | -0/+7 | |
New pragmas: options, id_options, index_options, key_options, and value_options. | |||||
2011-07-21 | Correct container statement name generation for PostgreSQL | Constantin Michael | 1 | -2/+2 | |
2011-07-19 | New design for NULL semantics | Boris Kolpackov | 12 | -71/+110 | |
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-19 | Cosmetic change | Boris Kolpackov | 1 | -1/+1 | |