aboutsummaryrefslogtreecommitdiff
path: root/odb/pgsql/query.txx
diff options
context:
space:
mode:
authorBoris Kolpackov <boris@codesynthesis.com>2015-07-17 14:16:53 +0200
committerBoris Kolpackov <boris@codesynthesis.com>2015-07-17 14:16:53 +0200
commitcb36059b338552027a511fcf16a62257304e2a02 (patch)
tree3440d89be23d64705d8e7c50875678a4a484fd25 /odb/pgsql/query.txx
parent0d1e7d241cc459ace099db554fee413abcbf7700 (diff)
Handle empty query::in_range() case
Diffstat (limited to 'odb/pgsql/query.txx')
-rw-r--r--odb/pgsql/query.txx25
1 files changed, 15 insertions, 10 deletions
diff --git a/odb/pgsql/query.txx b/odb/pgsql/query.txx
index c1dc0d9..3606ae0 100644
--- a/odb/pgsql/query.txx
+++ b/odb/pgsql/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