diff options
author | Boris Kolpackov <boris@codesynthesis.com> | 2011-09-09 12:18:39 +0200 |
---|---|---|
committer | Boris Kolpackov <boris@codesynthesis.com> | 2011-09-09 12:18:39 +0200 |
commit | e56ba020233ad7cb4762df300a6774db9195d817 (patch) | |
tree | fe392af07bab9d1fc19cb000e60f58cf39b3d746 /odb/relational/common.hxx | |
parent | 164d595dba8cadbe3b889b6e809aec8a24a8d878 (diff) |
New templated query_columns architecture
We also now use the correct separate "role"-base join approach instead of
having a single merged join for each table.
Diffstat (limited to 'odb/relational/common.hxx')
-rw-r--r-- | odb/relational/common.hxx | 27 |
1 files changed, 25 insertions, 2 deletions
diff --git a/odb/relational/common.hxx b/odb/relational/common.hxx index 8fc88e3..92edba6 100644 --- a/odb/relational/common.hxx +++ b/odb/relational/common.hxx @@ -54,12 +54,35 @@ namespace relational // // + struct query_columns_base: object_columns_base, virtual context + { + typedef query_columns_base base; + + query_columns_base (); + query_columns_base (semantics::class_&); + + virtual void + traverse_object (semantics::class_&); + + virtual void + traverse_composite (semantics::data_member*, semantics::class_&); + + virtual bool + traverse_column (semantics::data_member&, string const&, bool); + + protected: + bool decl_; + string scope_; + }; + + // + // struct query_columns: object_columns_base, virtual context { typedef query_columns base; - query_columns (); - query_columns (semantics::class_&); + query_columns (bool ptr); + query_columns (bool ptr, semantics::class_&); virtual string database_type_id (semantics::data_member&) |