You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@shardingsphere.apache.org by pa...@apache.org on 2022/09/07 07:16:29 UTC
[shardingsphere] branch master updated: Set proper index for PostgreSQL positional parameters (#20855)
This is an automated email from the ASF dual-hosted git repository.
panjuan pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/shardingsphere.git
The following commit(s) were added to refs/heads/master by this push:
new cc01274f207 Set proper index for PostgreSQL positional parameters (#20855)
cc01274f207 is described below
commit cc01274f20736890511474dead288917bc7594f4
Author: 吴伟杰 <wu...@apache.org>
AuthorDate: Wed Sep 7 15:16:21 2022 +0800
Set proper index for PostgreSQL positional parameters (#20855)
---
.../infra/rewrite/sql/token/pojo/generic/InsertValue.java | 2 +-
.../infra/rewrite/sql/token/pojo/generic/InsertValueTest.java | 4 ++--
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/shardingsphere-infra/shardingsphere-infra-rewrite/src/main/java/org/apache/shardingsphere/infra/rewrite/sql/token/pojo/generic/InsertValue.java b/shardingsphere-infra/shardingsphere-infra-rewrite/src/main/java/org/apache/shardingsphere/infra/rewrite/sql/token/pojo/generic/InsertValue.java
index 2249596768c..109c960e29c 100644
--- a/shardingsphere-infra/shardingsphere-infra-rewrite/src/main/java/org/apache/shardingsphere/infra/rewrite/sql/token/pojo/generic/InsertValue.java
+++ b/shardingsphere-infra/shardingsphere-infra-rewrite/src/main/java/org/apache/shardingsphere/infra/rewrite/sql/token/pojo/generic/InsertValue.java
@@ -51,7 +51,7 @@ public class InsertValue {
ExpressionSegment expressionSegment = values.get(index);
if (expressionSegment instanceof ParameterMarkerExpressionSegment) {
ParameterMarkerExpressionSegment segment = (ParameterMarkerExpressionSegment) expressionSegment;
- return ParameterMarkerType.QUESTION == segment.getParameterMarkerType() ? "?" : "$" + segment.getParameterMarkerIndex();
+ return ParameterMarkerType.QUESTION == segment.getParameterMarkerType() ? "?" : "$" + (segment.getParameterMarkerIndex() + 1);
} else if (expressionSegment instanceof LiteralExpressionSegment) {
Object literals = ((LiteralExpressionSegment) expressionSegment).getLiterals();
return literals instanceof String ? "'" + ((LiteralExpressionSegment) expressionSegment).getLiterals() + "'" : literals.toString();
diff --git a/shardingsphere-infra/shardingsphere-infra-rewrite/src/test/java/org/apache/shardingsphere/infra/rewrite/sql/token/pojo/generic/InsertValueTest.java b/shardingsphere-infra/shardingsphere-infra-rewrite/src/test/java/org/apache/shardingsphere/infra/rewrite/sql/token/pojo/generic/InsertValueTest.java
index 343264bb7bb..47b0e494604 100644
--- a/shardingsphere-infra/shardingsphere-infra-rewrite/src/test/java/org/apache/shardingsphere/infra/rewrite/sql/token/pojo/generic/InsertValueTest.java
+++ b/shardingsphere-infra/shardingsphere-infra-rewrite/src/test/java/org/apache/shardingsphere/infra/rewrite/sql/token/pojo/generic/InsertValueTest.java
@@ -34,9 +34,9 @@ public final class InsertValueTest {
@Test
public void assertToString() {
- List<ExpressionSegment> expressionSegments = new ArrayList<>(3);
+ List<ExpressionSegment> expressionSegments = new ArrayList<>(4);
ParameterMarkerExpressionSegment parameterMarkerExpressionSegment = new ParameterMarkerExpressionSegment(1, 1, 1);
- ParameterMarkerExpressionSegment positionalParameterMarkerExpressionSegment = new ParameterMarkerExpressionSegment(1, 1, 1, ParameterMarkerType.DOLLAR);
+ ParameterMarkerExpressionSegment positionalParameterMarkerExpressionSegment = new ParameterMarkerExpressionSegment(1, 1, 0, ParameterMarkerType.DOLLAR);
LiteralExpressionSegment literalExpressionSegment = new LiteralExpressionSegment(2, 2, "literals");
ComplexExpressionSegment complexExpressionSegment = new ComplexExpressionSegment() {