postgresql-jdbc.git / summary / log / commit / refs
commit 2f8a67f7b9ee00cd57fd1d89612995dd339f4192
Author: Laurenz Albe <laurenz.albe@wien.gv.at>
Date: Fri Nov 20 14:25:11 2015 +0000
Prettify code and add another regression test
Make the code adhere to project style guidlines.
The new tests verifies that double question marks will work with
simple statements.
org/postgresql/core/Parser.java | 8 +++++---
org/postgresql/test/jdbc3/CompositeQueryParseTest.java | 5 +++++
2 files changed, 10 insertions(+), 3 deletions(-)
diff --git a/org/postgresql/core/Parser.java b/org/postgresql/core/Parser.java
index f69b1815..fa57a39a 100644
--- a/org/postgresql/core/Parser.java
+++ b/org/postgresql/core/Parser.java
@@ -90,7 +90,11 @@ public class Parser {
i++; // make sure the coming ? is not treated as a bind
} else
{
- if (withParameters)
+ if (!withParameters)
+ {
+ nativeSql.append('?');
+ }
+ else
{
if (bindPositions == null)
bindPositions = new ArrayList<Integer>();
@@ -98,8 +102,6 @@ public class Parser {
int bindIndex = bindPositions.size();
nativeSql.append(NativeQuery.bindName(bindIndex));
}
- else
- nativeSql.append('?');
}
fragmentStart = i + 1;
break;
diff --git a/org/postgresql/test/jdbc3/CompositeQueryParseTest.java b/org/postgresql/test/jdbc3/CompositeQueryParseTest.java
index 7291fe21..6b21cb37 100644
--- a/org/postgresql/test/jdbc3/CompositeQueryParseTest.java
+++ b/org/postgresql/test/jdbc3/CompositeQueryParseTest.java
@@ -38,6 +38,11 @@ public class CompositeQueryParseTest extends TestCase {
assertEquals("select '{\"key\": \"val\"}'::jsonb ? 'key'", reparse("select '{\"key\": \"val\"}'::jsonb ? 'key'", true, false, true));
}
+ public void testRepeatedQuestionmark()
+ {
+ assertEquals("select '{\"key\": \"val\"}'::jsonb ? 'key'", reparse("select '{\"key\": \"val\"}'::jsonb ?? 'key'", true, false, true));
+ }
+
public void testQuotedQuestionmark()
{
assertEquals("select '?'", reparse("select '?'", true, false, true));
[parent: 39d510c096cf]