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