diff options
author | Boris Kolpackov <boris@codesynthesis.com> | 2015-07-17 14:16:53 +0200 |
---|---|---|
committer | Boris Kolpackov <boris@codesynthesis.com> | 2015-07-17 14:16:53 +0200 |
commit | a39485c2dd91c1083a434eb02b833b0094dd87cb (patch) | |
tree | 34373cf56f12bb0622fc90436755fd4d4e4b9dcc /odb/sqlite/query.txx | |
parent | 0f9cfacd6cc45f78f1453a8eeb7ffa542dc5dc48 (diff) |
Handle empty query::in_range() case
Diffstat (limited to 'odb/sqlite/query.txx')
-rw-r--r-- | odb/sqlite/query.txx | 25 |
1 files changed, 15 insertions, 10 deletions
diff --git a/odb/sqlite/query.txx b/odb/sqlite/query.txx index b51b45a..909807f 100644 --- a/odb/sqlite/query.txx +++ b/odb/sqlite/query.txx @@ -100,19 +100,24 @@ namespace odb query_base query_column<T, ID>:: in_range (I begin, I end) const { - query_base q (table_, column_); - q += "IN ("; - - for (I i (begin); i != end; ++i) + if (begin != end) { - if (i != begin) - q += ","; + query_base q (table_, column_); + q += "IN ("; - q.append<T, ID> (val_bind<T> (*i), conversion_); - } + for (I i (begin); i != end; ++i) + { + if (i != begin) + q += ","; - q += ")"; - return q; + q.append<T, ID> (val_bind<T> (*i), conversion_); + } + + q += ")"; + return q; + } + else + return query_base (false); } // like |