aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBoris Kolpackov <boris@codesynthesis.com>2011-10-02 17:07:21 +0200
committerBoris Kolpackov <boris@codesynthesis.com>2011-10-02 17:07:21 +0200
commita06b917d661a61aad88dbf4351494b7c84273dc6 (patch)
tree0221f9c6a9bda91a672d9686e8c9dd8543c0ada8
parent8c858f038f9ae213d962d49d5c5ca085a73e588f (diff)
If query substituting placeholder is empty, pass true expression instead
This allows uniform usage of views both with and without any extra conditions. Also optimize some common cases so that we don't have useless WHERE TRUE clauses or (...) AND (TRUE) expressions.
-rw-r--r--common/view/driver.cxx2
-rw-r--r--common/view/test.hxx4
2 files changed, 3 insertions, 3 deletions
diff --git a/common/view/driver.cxx b/common/view/driver.cxx
index cd734bd..a3ef34f 100644
--- a/common/view/driver.cxx
+++ b/common/view/driver.cxx
@@ -268,7 +268,7 @@ main (int argc, char* argv[])
{
transaction t (db->begin ());
- result r (db->query<view1b> (query (true)));
+ result r (db->query<view1b> ());
view1_check (r);
t.commit ();
diff --git a/common/view/test.hxx b/common/view/test.hxx
index 2497097..b5b9d65 100644
--- a/common/view/test.hxx
+++ b/common/view/test.hxx
@@ -164,7 +164,7 @@ struct view1b
// Runtime query.
//
-#pragma db view query()
+#pragma db view //query()
struct view1c
{
std::string first;
@@ -415,7 +415,7 @@ struct view10
// Composite in object.
//
#pragma db view object(person) \
- query((person::measures.weight > 60 && person::measures.hight < 190) \
+ query((person::measures.weight > 60 && person::measures.hight < 190 && (?)) \
+ "ORDER BY" + person::age)
struct view11
{