You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by ni...@apache.org on 2014/09/16 15:08:04 UTC

[4/6] git commit: CAMEL-7803

CAMEL-7803

 Patch added new boolean flag "preFetched" to allow inserts with parameters that have null values


Project: http://git-wip-us.apache.org/repos/asf/camel/repo
Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/75c973a2
Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/75c973a2
Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/75c973a2

Branch: refs/heads/camel-2.13.x
Commit: 75c973a25e3a12d749dc7da8d5e6f3d92d15cc26
Parents: 543e3a5
Author: nathanwray <na...@users.noreply.github.com>
Authored: Thu Sep 11 11:57:09 2014 -0400
Committer: Willem Jiang <wi...@gmail.com>
Committed: Tue Sep 16 21:04:43 2014 +0800

----------------------------------------------------------------------
 .../DefaultJdbcPrepareStatementStrategy.java    | 20 +++++++++-----------
 1 file changed, 9 insertions(+), 11 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/camel/blob/75c973a2/components/camel-jdbc/src/main/java/org/apache/camel/component/jdbc/DefaultJdbcPrepareStatementStrategy.java
----------------------------------------------------------------------
diff --git a/components/camel-jdbc/src/main/java/org/apache/camel/component/jdbc/DefaultJdbcPrepareStatementStrategy.java b/components/camel-jdbc/src/main/java/org/apache/camel/component/jdbc/DefaultJdbcPrepareStatementStrategy.java
index cceafae..b412ff2 100644
--- a/components/camel-jdbc/src/main/java/org/apache/camel/component/jdbc/DefaultJdbcPrepareStatementStrategy.java
+++ b/components/camel-jdbc/src/main/java/org/apache/camel/component/jdbc/DefaultJdbcPrepareStatementStrategy.java
@@ -72,22 +72,21 @@ public class DefaultJdbcPrepareStatementStrategy implements JdbcPrepareStatement
                 return new Iterator<Object>() {
                     private NamedQueryParser parser = new NamedQueryParser(query);
                     private Object next;
-                    private boolean done;
+                    private boolean done = false;
+                    private boolean preFetched = false;
 
                     @Override
                     public boolean hasNext() {
-                        if (done) {
-                            return false;
+                        if (!done && !preFetched) {
+                            next();
+                            preFetched = true;
                         }
-                        if (next == null) {
-                            next = next();
-                        }
-                        return next != null;
+                        return (!done);
                     }
 
                     @Override
                     public Object next() {
-                        if (next == null) {
+                        if (!preFetched) {
                             String key = parser.next();
                             if (key == null) {
                                 done = true;
@@ -100,9 +99,8 @@ public class DefaultJdbcPrepareStatementStrategy implements JdbcPrepareStatement
                             }
                             next = headerMap.get(key);
                         }
-                        Object answer = next;
-                        next = null;
-                        return answer;
+                        preFetched = false;
+                        return next;
                     }
 
                     @Override