diff options
Diffstat (limited to 'odb/relational/header.hxx')
-rw-r--r-- | odb/relational/header.hxx | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/odb/relational/header.hxx b/odb/relational/header.hxx index ee6cecf..427b008 100644 --- a/odb/relational/header.hxx +++ b/odb/relational/header.hxx @@ -406,16 +406,18 @@ namespace relational // Figure out column counts. // - size_t data_columns, cond_columns; + size_t id_columns, data_columns, cond_columns; if (!abst) { type& idt (container_idt (m)); if (class_* idc = composite_wrapper (idt)) - data_columns = cond_columns = column_count (*idc).total; + id_columns = column_count (*idc).total; else - data_columns = cond_columns = 1; + id_columns = 1; + + data_columns = cond_columns = id_columns; switch (ck) { @@ -476,6 +478,7 @@ namespace relational // Store column counts for the source generator. // + m.set ("id-column-count", id_columns); m.set ("cond-column-count", cond_columns); m.set ("data-column-count", data_columns); } @@ -504,7 +507,9 @@ namespace relational { // column_count // - os << "static const std::size_t cond_column_count = " << + os << "static const std::size_t id_column_count = " << + id_columns << "UL;" + << "static const std::size_t cond_column_count = " << cond_columns << "UL;" << "static const std::size_t data_column_count = " << data_columns << "UL;" |