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]