You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ignite.apache.org by is...@apache.org on 2017/05/17 10:34:00 UTC
ignite git commit: IGNITE-4597: CPP: Add methods to reset arguments
in sql query.
Repository: ignite
Updated Branches:
refs/heads/master ccaed07da -> 03ed3813c
IGNITE-4597: CPP: Add methods to reset arguments in sql query.
Project: http://git-wip-us.apache.org/repos/asf/ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/03ed3813
Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/03ed3813
Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/03ed3813
Branch: refs/heads/master
Commit: 03ed3813c51d06653a88162e8822468a66f462ba
Parents: ccaed07
Author: Igor Sapego <is...@gridgain.com>
Authored: Wed May 17 13:15:06 2017 +0300
Committer: Igor Sapego <is...@gridgain.com>
Committed: Wed May 17 13:33:40 2017 +0300
----------------------------------------------------------------------
.../cpp/core-test/src/cache_query_test.cpp | 22 ++++++++++++++++++++
.../core/include/ignite/cache/query/query_sql.h | 8 +++++++
.../ignite/cache/query/query_sql_fields.h | 10 ++++++++-
.../query-example/src/query_example.cpp | 6 +++---
4 files changed, 42 insertions(+), 4 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/03ed3813/modules/platforms/cpp/core-test/src/cache_query_test.cpp
----------------------------------------------------------------------
diff --git a/modules/platforms/cpp/core-test/src/cache_query_test.cpp b/modules/platforms/cpp/core-test/src/cache_query_test.cpp
index e9c4610..65dcda5 100644
--- a/modules/platforms/cpp/core-test/src/cache_query_test.cpp
+++ b/modules/platforms/cpp/core-test/src/cache_query_test.cpp
@@ -871,6 +871,20 @@ BOOST_AUTO_TEST_CASE(TestSqlQuery)
cursor = cache.Query(qry);
CheckSingleGetAllIter(cursor, 1, "A1", 10);
+ // Test resetting query arguments.
+ qry.ClearArguments();
+ qry.AddArgument<int>(30);
+ qry.AddArgument<std::string>("A2");
+
+ cursor = cache.Query(qry);
+ CheckSingle(cursor, 2, "A2", 20);
+
+ cursor = cache.Query(qry);
+ CheckSingleGetAll(cursor, 2, "A2", 20);
+
+ cursor = cache.Query(qry);
+ CheckSingleGetAllIter(cursor, 2, "A2", 20);
+
// Test query returning multiple entries.
qry = SqlQuery("QueryPerson", "age < 30");
@@ -1150,6 +1164,14 @@ BOOST_AUTO_TEST_CASE(TestSqlFieldsQueryBasic)
cursor = cache.Query(qry);
CheckSingle(cursor, 1, "A1", 10);
+
+ // Test resetting query arguments.
+ qry.ClearArguments();
+ qry.AddArgument<int>(30);
+ qry.AddArgument<std::string>("A2");
+
+ cursor = cache.Query(qry);
+ CheckSingle(cursor, 2, "A2", 20);
}
/**
http://git-wip-us.apache.org/repos/asf/ignite/blob/03ed3813/modules/platforms/cpp/core/include/ignite/cache/query/query_sql.h
----------------------------------------------------------------------
diff --git a/modules/platforms/cpp/core/include/ignite/cache/query/query_sql.h b/modules/platforms/cpp/core/include/ignite/cache/query/query_sql.h
index 289d70a..d733476 100644
--- a/modules/platforms/cpp/core/include/ignite/cache/query/query_sql.h
+++ b/modules/platforms/cpp/core/include/ignite/cache/query/query_sql.h
@@ -245,6 +245,14 @@ namespace ignite
}
/**
+ * Remove all added arguments.
+ */
+ void ClearArguments()
+ {
+ args.clear();
+ }
+
+ /**
* Write query info to the stream.
*
* @param writer Writer.
http://git-wip-us.apache.org/repos/asf/ignite/blob/03ed3813/modules/platforms/cpp/core/include/ignite/cache/query/query_sql_fields.h
----------------------------------------------------------------------
diff --git a/modules/platforms/cpp/core/include/ignite/cache/query/query_sql_fields.h b/modules/platforms/cpp/core/include/ignite/cache/query/query_sql_fields.h
index 7c09d85..954cf43 100644
--- a/modules/platforms/cpp/core/include/ignite/cache/query/query_sql_fields.h
+++ b/modules/platforms/cpp/core/include/ignite/cache/query/query_sql_fields.h
@@ -268,6 +268,14 @@ namespace ignite
}
/**
+ * Remove all added arguments.
+ */
+ void ClearArguments()
+ {
+ args.clear();
+ }
+
+ /**
* Write query info to the stream.
*
* @param writer Writer.
@@ -312,4 +320,4 @@ namespace ignite
}
}
-#endif //_IGNITE_CACHE_QUERY_QUERY_SQL_FIELDS
\ No newline at end of file
+#endif //_IGNITE_CACHE_QUERY_QUERY_SQL_FIELDS
http://git-wip-us.apache.org/repos/asf/ignite/blob/03ed3813/modules/platforms/cpp/examples/query-example/src/query_example.cpp
----------------------------------------------------------------------
diff --git a/modules/platforms/cpp/examples/query-example/src/query_example.cpp b/modules/platforms/cpp/examples/query-example/src/query_example.cpp
index 9524100..db7437e 100644
--- a/modules/platforms/cpp/examples/query-example/src/query_example.cpp
+++ b/modules/platforms/cpp/examples/query-example/src/query_example.cpp
@@ -77,7 +77,7 @@ void DoSqlQueryWithDistributedJoin()
std::cout << std::endl;
- qry = SqlQuery("Person", joinSql);
+ qry.ClearArguments();
qry.AddArgument<std::string>("Other");
@@ -258,7 +258,7 @@ void DoSqlQueryWithJoin()
std::cout << "Following people are 'Other' employees: " << std::endl;
- qry = SqlQuery(PERSON_TYPE, sql);
+ qry.ClearArguments();
qry.AddArgument<std::string>("Other");
@@ -302,7 +302,7 @@ void DoSqlQuery()
std::cout << std::endl;
- qry = SqlQuery(PERSON_TYPE, sql);
+ qry.ClearArguments();
// Execute queries for salary range 1000 - 2000.
std::cout << "People with salaries between 1000 and 2000 (queried with SQL query): " << std::endl;