From 9bd3b47182e57ce3667ee1518b5705862baa73c5 Mon Sep 17 00:00:00 2001 From: qxo Date: Wed, 1 Jun 2016 00:15:07 +0800 Subject: [PATCH] =?UTF-8?q?=E5=9B=9E=E9=80=80=E4=B8=8A=E4=B8=80=E6=8F=90?= =?UTF-8?q?=E4=BA=A4=EF=BC=8C=E5=A4=84=E7=90=86index=3D-1=E7=9A=84?= =?UTF-8?q?=E6=83=85=E5=BD=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 以下方法中,如果x.getIndex() == -1 应如何处理请原作者解答一下 ` public boolean visit(SQLVariantRefExpr x) ` --- .../dialect/oracle/visitor/OracleExportParameterVisitor.java | 2 +- .../dialect/postgresql/visitor/PGExportParameterVisitor.java | 2 +- .../sqlserver/visitor/MSSQLServerExportParameterVisitor.java | 2 +- .../java/com/alibaba/druid/sql/visitor/SQLASTOutputVisitor.java | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/main/java/com/alibaba/druid/sql/dialect/oracle/visitor/OracleExportParameterVisitor.java b/src/main/java/com/alibaba/druid/sql/dialect/oracle/visitor/OracleExportParameterVisitor.java index 321d44bfbd..24cfe35e76 100644 --- a/src/main/java/com/alibaba/druid/sql/dialect/oracle/visitor/OracleExportParameterVisitor.java +++ b/src/main/java/com/alibaba/druid/sql/dialect/oracle/visitor/OracleExportParameterVisitor.java @@ -46,7 +46,7 @@ public class OracleExportParameterVisitor extends OracleParameterizedOutputVisit } public OracleExportParameterVisitor(List parameters){ - this(parameters,new StringBuilder(),true); + this(parameters,new StringBuilder(),false); } public OracleExportParameterVisitor(final Appendable appender) { diff --git a/src/main/java/com/alibaba/druid/sql/dialect/postgresql/visitor/PGExportParameterVisitor.java b/src/main/java/com/alibaba/druid/sql/dialect/postgresql/visitor/PGExportParameterVisitor.java index 21d9c936fc..50d820d1ee 100644 --- a/src/main/java/com/alibaba/druid/sql/dialect/postgresql/visitor/PGExportParameterVisitor.java +++ b/src/main/java/com/alibaba/druid/sql/dialect/postgresql/visitor/PGExportParameterVisitor.java @@ -46,7 +46,7 @@ public class PGExportParameterVisitor extends PGParameterizedOutputVisitor imple } public PGExportParameterVisitor(final List parameters){ - this(parameters,new StringBuilder(),true); + this(parameters,new StringBuilder(),false); } public PGExportParameterVisitor(final Appendable appender) { diff --git a/src/main/java/com/alibaba/druid/sql/dialect/sqlserver/visitor/MSSQLServerExportParameterVisitor.java b/src/main/java/com/alibaba/druid/sql/dialect/sqlserver/visitor/MSSQLServerExportParameterVisitor.java index f0ca185e57..3cd037f080 100644 --- a/src/main/java/com/alibaba/druid/sql/dialect/sqlserver/visitor/MSSQLServerExportParameterVisitor.java +++ b/src/main/java/com/alibaba/druid/sql/dialect/sqlserver/visitor/MSSQLServerExportParameterVisitor.java @@ -46,7 +46,7 @@ public class MSSQLServerExportParameterVisitor extends SQLServerParameterizedOut } public MSSQLServerExportParameterVisitor(final List parameters){ - this(parameters,new StringBuilder(),true); + this(parameters,new StringBuilder(),false); } public MSSQLServerExportParameterVisitor(final Appendable appender) { diff --git a/src/main/java/com/alibaba/druid/sql/visitor/SQLASTOutputVisitor.java b/src/main/java/com/alibaba/druid/sql/visitor/SQLASTOutputVisitor.java index 0091adda71..b7634ba64a 100644 --- a/src/main/java/com/alibaba/druid/sql/visitor/SQLASTOutputVisitor.java +++ b/src/main/java/com/alibaba/druid/sql/visitor/SQLASTOutputVisitor.java @@ -845,7 +845,7 @@ public class SQLASTOutputVisitor extends SQLASTVisitorAdapter implements Printab public boolean visit(SQLVariantRefExpr x) { int index = x.getIndex(); - if (parameters == null || index >= parameters.size()) { + if (index < 0 || parameters == null || index >= parameters.size()) { print0(x.getName()); return false; }