ignite-sql-tests - params fix 2

Project: http://git-wip-us.apache.org/repos/asf/incubator-ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ignite/commit/167549b1
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/167549b1
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/167549b1

Branch: refs/heads/ignite-sql-tests
Commit: 167549b17506c86c500651c84c7c468ca41c8975
Parents: 61eb681
Author: S.Vladykin <[email protected]>
Authored: Mon Feb 9 00:57:27 2015 +0300
Committer: S.Vladykin <[email protected]>
Committed: Mon Feb 9 00:57:27 2015 +0300

----------------------------------------------------------------------
 .../internal/processors/query/h2/IgniteH2Indexing.java |  3 ++-
 .../processors/query/h2/sql/GridSqlQuerySplitter.java  | 13 ++++++++++++-
 2 files changed, 14 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/167549b1/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/IgniteH2Indexing.java
----------------------------------------------------------------------
diff --git 
a/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/IgniteH2Indexing.java
 
b/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/IgniteH2Indexing.java
index 0359334..1807dab 100644
--- 
a/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/IgniteH2Indexing.java
+++ 
b/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/IgniteH2Indexing.java
@@ -366,7 +366,8 @@ public class IgniteH2Indexing implements GridQueryIndexing {
                 stmt.setObject(idx, obj);
         }
         catch (SQLException e) {
-            throw new IgniteCheckedException("Failed to bind parameter [idx=" 
+ idx + ", obj=" + obj + ']', e);
+            throw new IgniteCheckedException("Failed to bind parameter [idx=" 
+ idx + ", obj=" + obj + ", stmt=" +
+                stmt + ']', e);
         }
     }
 

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/167549b1/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/sql/GridSqlQuerySplitter.java
----------------------------------------------------------------------
diff --git 
a/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/sql/GridSqlQuerySplitter.java
 
b/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/sql/GridSqlQuerySplitter.java
index 6c83fbe..797bce7 100644
--- 
a/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/sql/GridSqlQuerySplitter.java
+++ 
b/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/sql/GridSqlQuerySplitter.java
@@ -58,6 +58,9 @@ public class GridSqlQuerySplitter {
      * @return Two step query.
      */
     public static GridCacheTwoStepQuery split(Connection conn, String query, 
Object[] params) {
+        if (params == null)
+            params = GridCacheSqlQuery.EMPTY_PARAMS;
+
         GridSqlSelect srcQry = GridSqlQueryParser.parse(conn, query);
 
         final String mergeTable = table(0);
@@ -140,6 +143,9 @@ public class GridSqlQuerySplitter {
      * @return Extracted parameters list.
      */
     private static List<Object> findParams(GridSqlSelect qry, Object[] params, 
ArrayList<Object> target) {
+        if (params.length == 0)
+            return target;
+
         for (GridSqlElement el : qry.select())
             findParams(el, params, target);
 
@@ -177,7 +183,12 @@ public class GridSqlQuerySplitter {
             while (target.size() < idx)
                 target.add(null);
 
-            target.add(idx, params[idx]);
+            Object param = params[idx];
+
+            if (idx == target.size())
+                target.add(param);
+            else
+                target.set(idx, param);
         }
         else
             for (GridSqlElement child : el)

Reply via email to