diff options
Diffstat (limited to 'odb/sqlite/query.cxx')
-rw-r--r-- | odb/sqlite/query.cxx | 25 |
1 files changed, 16 insertions, 9 deletions
diff --git a/odb/sqlite/query.cxx b/odb/sqlite/query.cxx index 4a2082b..ab158bb 100644 --- a/odb/sqlite/query.cxx +++ b/odb/sqlite/query.cxx @@ -156,11 +156,9 @@ namespace odb } void query:: - append (const string& q, clause_part::kind_type k) + append (const string& q) { - if (k == clause_part::native && - !clause_.empty () && - clause_.back ().kind == clause_part::native) + if (!clause_.empty () && clause_.back ().kind == clause_part::native) { string& s (clause_.back ().part); @@ -177,7 +175,19 @@ namespace odb s += q; } else - clause_.push_back (clause_part (k, q)); + clause_.push_back (clause_part (clause_part::native, q)); + } + + void query:: + append (const char* table, const char* column) + { + string s ("\""); + s += table; + s += "\".\""; + s += column; + s += '"'; + + clause_.push_back (clause_part (clause_part::column, s)); } void query:: @@ -188,7 +198,7 @@ namespace odb } string query:: - clause (string const& table) const + clause () const { string r; @@ -204,9 +214,6 @@ namespace odb if (last != ' ' && last != '(') r += ' '; - if (i->part[0] == '.') - r += table; - r += i->part; break; } |