From 1004c97289a1d7db7d9343ca0af656a35ba70459 Mon Sep 17 00:00:00 2001 From: Pavel Bekkerman Date: Tue, 6 Feb 2018 23:27:11 +0200 Subject: [PATCH 1/3] Lomboked the code. --- pom.xml | 882 +++++++++--------- .../net/sf/jsqlparser/expression/Alias.java | 44 +- .../expression/AllComparisonExpression.java | 30 +- .../expression/AnalyticExpression.java | 245 ++--- .../expression/AnyComparisonExpression.java | 37 +- .../expression/BinaryExpression.java | 36 +- .../jsqlparser/expression/CaseExpression.java | 70 +- .../jsqlparser/expression/CastExpression.java | 60 +- .../expression/DateTimeLiteralExpression.java | 82 +- .../sf/jsqlparser/expression/DateValue.java | 38 +- .../sf/jsqlparser/expression/DoubleValue.java | 57 +- .../expression/ExpressionVisitor.java | 2 +- .../expression/ExpressionVisitorAdapter.java | 30 +- .../expression/ExtractExpression.java | 38 +- .../sf/jsqlparser/expression/Function.java | 92 +- .../sf/jsqlparser/expression/HexValue.java | 35 +- .../expression/IntervalExpression.java | 38 +- .../expression/JdbcNamedParameter.java | 12 +- .../jsqlparser/expression/JdbcParameter.java | 50 +- .../jsqlparser/expression/JsonExpression.java | 10 +- .../jsqlparser/expression/KeepExpression.java | 84 +- .../sf/jsqlparser/expression/LongValue.java | 4 +- .../expression/MySQLGroupConcat.java | 35 +- .../jsqlparser/expression/MySQLIndexHint.java | 45 +- .../jsqlparser/expression/NotExpression.java | 16 +- .../sf/jsqlparser/expression/NumericBind.java | 28 +- .../OracleHierarchicalExpression.java | 98 +- .../sf/jsqlparser/expression/OracleHint.java | 92 +- .../sf/jsqlparser/expression/Parenthesis.java | 45 +- .../jsqlparser/expression/RowConstructor.java | 41 +- .../expression/SignedExpression.java | 62 +- .../sf/jsqlparser/expression/StringValue.java | 105 +-- .../expression/TimeKeyExpression.java | 34 +- .../sf/jsqlparser/expression/TimeValue.java | 38 +- .../jsqlparser/expression/TimestampValue.java | 62 +- .../jsqlparser/expression/UserVariable.java | 52 +- .../sf/jsqlparser/expression/WhenClause.java | 50 +- .../jsqlparser/expression/WindowElement.java | 61 +- .../jsqlparser/expression/WindowOffset.java | 87 +- .../sf/jsqlparser/expression/WindowRange.java | 41 +- .../operators/arithmetic/Modulo.java | 19 +- .../operators/relational/Between.java | 64 +- .../relational/ComparisonOperator.java | 17 +- .../relational/ExistsExpression.java | 44 +- .../operators/relational/ExpressionList.java | 39 +- .../operators/relational/InExpression.java | 134 +-- .../relational/IsNullExpression.java | 38 +- .../operators/relational/JsonOperator.java | 25 +- .../operators/relational/LikeExpression.java | 72 +- .../relational/MultiExpressionList.java | 7 +- .../OldOracleJoinBinaryExpression.java | 18 +- .../relational/RegExpMatchOperator.java | 61 +- .../relational/RegExpMySQLOperator.java | 58 +- .../jsqlparser/parser/CCJSqlParserUtil.java | 220 ++--- .../java/net/sf/jsqlparser/schema/Column.java | 116 ++- .../net/sf/jsqlparser/schema/Database.java | 74 +- .../java/net/sf/jsqlparser/schema/Server.java | 22 +- .../java/net/sf/jsqlparser/schema/Table.java | 197 ++-- .../net/sf/jsqlparser/statement/Commit.java | 19 +- .../sf/jsqlparser/statement/SetStatement.java | 95 +- .../sf/jsqlparser/statement/Statements.java | 35 +- .../sf/jsqlparser/statement/UseStatement.java | 19 +- .../sf/jsqlparser/statement/alter/Alter.java | 73 +- .../statement/alter/AlterExpression.java | 131 +-- .../statement/alter/AlterOperation.java | 5 +- .../statement/alter/DeferrableConstraint.java | 37 +- .../statement/alter/EnableConstraint.java | 17 +- .../statement/alter/ValidateConstraint.java | 27 +- .../statement/create/index/CreateIndex.java | 102 +- .../create/table/CheckConstraint.java | 30 +- .../statement/create/table/ColDataType.java | 75 +- .../create/table/ColumnDefinition.java | 57 +- .../statement/create/table/CreateTable.java | 107 +-- .../create/table/ExcludeConstraint.java | 28 +- .../create/table/ForeignKeyIndex.java | 35 +- .../statement/create/table/Index.java | 67 +- .../statement/create/view/AlterView.java | 77 +- .../statement/create/view/CreateView.java | 118 +-- .../jsqlparser/statement/delete/Delete.java | 152 ++- .../sf/jsqlparser/statement/drop/Drop.java | 36 +- .../jsqlparser/statement/execute/Execute.java | 66 +- .../jsqlparser/statement/insert/Insert.java | 332 ++----- .../insert/InsertModifierPriority.java | 5 +- .../sf/jsqlparser/statement/merge/Merge.java | 178 ++-- .../statement/merge/MergeInsert.java | 33 +- .../statement/merge/MergeUpdate.java | 81 +- .../jsqlparser/statement/replace/Replace.java | 172 ++-- .../statement/select/AllTableColumns.java | 41 +- .../jsqlparser/statement/select/Distinct.java | 32 +- .../statement/select/ExpressionListItem.java | 30 +- .../sf/jsqlparser/statement/select/Fetch.java | 53 +- .../sf/jsqlparser/statement/select/First.java | 82 +- .../statement/select/FunctionItem.java | 30 +- .../sf/jsqlparser/statement/select/Join.java | 269 ++---- .../statement/select/LateralSubSelect.java | 60 +- .../sf/jsqlparser/statement/select/Limit.java | 88 +- .../jsqlparser/statement/select/Offset.java | 26 +- .../statement/select/OrderByElement.java | 98 +- .../sf/jsqlparser/statement/select/Pivot.java | 91 +- .../jsqlparser/statement/select/PivotXml.java | 59 +- .../statement/select/PlainSelect.java | 677 +++++--------- .../jsqlparser/statement/select/Select.java | 68 +- .../select/SelectExpressionItem.java | 43 +- .../statement/select/SetOperation.java | 8 +- .../statement/select/SetOperationList.java | 177 ++-- .../sf/jsqlparser/statement/select/Skip.java | 26 +- .../jsqlparser/statement/select/SubJoin.java | 84 +- .../statement/select/SubSelect.java | 151 ++- .../sf/jsqlparser/statement/select/Top.java | 62 +- .../jsqlparser/statement/select/UnionOp.java | 52 +- .../statement/select/ValuesList.java | 149 ++- .../sf/jsqlparser/statement/select/Wait.java | 46 +- .../jsqlparser/statement/select/WithItem.java | 90 +- .../statement/truncate/Truncate.java | 28 +- .../jsqlparser/statement/update/Update.java | 128 +-- .../jsqlparser/statement/upsert/Upsert.java | 180 ++-- .../sf/jsqlparser/util/AddAliasesVisitor.java | 16 +- .../util/ConnectExpressionsVisitor.java | 19 +- .../util/cnfexpression/CNFConverter.java | 4 +- .../util/cnfexpression/CloneHelper.java | 2 +- .../util/deparser/CreateTableDeParser.java | 4 +- .../util/deparser/OrderByDeParser.java | 6 +- .../util/deparser/SelectDeParser.java | 45 +- .../util/deparser/UpdateDeParser.java | 260 +++--- .../net/sf/jsqlparser/parser/JSqlParserCC.jjt | 14 +- .../expression/ExpressionPrecedenceTest.java | 6 +- .../ExpressionVisitorAdapterTest.java | 23 +- .../jsqlparser/expression/LongValueTest.java | 5 +- .../expression/SignedExpressionTest.java | 8 +- .../expression/StringValueTest.java | 3 +- .../expression/TimestampValueTest.java | 7 +- .../mysql/MySqlSqlCalcFoundRowsTest.java | 13 +- .../parser/CCJSqlParserUtilTest.java | 15 +- .../net/sf/jsqlparser/schema/ColumnTest.java | 6 +- .../net/sf/jsqlparser/schema/ServerTest.java | 1 + .../sf/jsqlparser/statement/AdaptersTest.java | 11 +- .../statement/SetStatementTest.java | 4 +- .../jsqlparser/statement/StatementsTest.java | 16 +- .../statement/UseStatementTest.java | 4 +- .../statement/execute/ExecuteTest.java | 6 +- .../net/sf/jsqlparser/test/TestException.java | 1 + .../net/sf/jsqlparser/test/TestUtils.java | 5 +- .../jsqlparser/test/create/AlterViewTest.java | 6 +- .../test/create/CreateIndexTest.java | 10 +- .../test/create/CreateTableTest.java | 3 +- .../test/create/CreateViewTest.java | 3 +- .../sf/jsqlparser/test/delete/DeleteTest.java | 2 +- .../net/sf/jsqlparser/test/drop/DropTest.java | 8 +- .../sf/jsqlparser/test/insert/InsertTest.java | 15 +- .../sf/jsqlparser/test/merge/MergeTest.java | 8 +- .../jsqlparser/test/replace/ReplaceTest.java | 8 +- .../sf/jsqlparser/test/select/HiveTest.java | 12 +- .../jsqlparser/test/select/SelectASTTest.java | 12 +- .../sf/jsqlparser/test/select/SelectTest.java | 71 +- .../test/select/SpecialOracleTest.java | 17 +- .../sf/jsqlparser/test/select/SpeedTest.java | 3 +- .../CCJSqlParserManagerTest.java | 3 +- .../test/truncate/TruncateTest.java | 6 +- .../sf/jsqlparser/test/update/UpdateTest.java | 10 +- .../sf/jsqlparser/test/upsert/UpsertTest.java | 7 +- .../util/AddAliasesVisitorTest.java | 11 +- .../util/ConnectExpressionsVisitorTest.java | 15 +- .../sf/jsqlparser/util/SelectUtilsTest.java | 16 +- .../util/TablesNamesFinderTest.java | 10 +- .../util/cnfexpression/CNFTest.java | 2 +- .../util/deparser/CreateViewDeParserTest.java | 14 +- 166 files changed, 3771 insertions(+), 6335 deletions(-) diff --git a/pom.xml b/pom.xml index 424cdc1d5..d61b3d864 100644 --- a/pom.xml +++ b/pom.xml @@ -1,458 +1,464 @@ - 4.0.0 - com.github.jsqlparser - jsqlparser - 1.2-SNAPSHOT - JSQLParser library - 2004 - - JSQLParser - - bundle - https://github.com/JSQLParser/JSqlParser + 4.0.0 + com.github.jsqlparser + jsqlparser + 1.2-SNAPSHOT + JSQLParser library + 2004 + + JSQLParser + + bundle + https://github.com/JSQLParser/JSqlParser - - - GNU Library or Lesser General Public License (LGPL) V2.1 - http://www.gnu.org/licenses/lgpl-2.1.html - repo - - - The Apache Software License, Version 2.0 - http://www.apache.org/licenses/LICENSE-2.0.txt - repo - - + + + GNU Library or Lesser General Public License (LGPL) V2.1 + http://www.gnu.org/licenses/lgpl-2.1.html + repo + + + The Apache Software License, Version 2.0 + http://www.apache.org/licenses/LICENSE-2.0.txt + repo + + - - - commons-io - commons-io - 2.4 - test - - - junit - junit - 4.12 - test - - - org.hamcrest - hamcrest-library - 1.3 - test - - - org.mockito - mockito-core - 2.7.22 - test - - - org.seleniumhq.selenium - selenium-java - test - 2.44.0 - - - com.opera - operadriver - test - 1.5 - - - org.seleniumhq.selenium - selenium-remote-driver - - - - + + + commons-io + commons-io + 2.4 + test + + + org.projectlombok + lombok + 1.16.18 + provided + + + junit + junit + 4.12 + test + + + org.hamcrest + hamcrest-library + 1.3 + test + + + org.mockito + mockito-core + 2.7.22 + test + + + org.seleniumhq.selenium + selenium-java + test + 2.44.0 + + + com.opera + operadriver + test + 1.5 + + + org.seleniumhq.selenium + selenium-remote-driver + + + + - - - Tobias Warneke - t.warneke@gmx.net - - + + + Tobias Warneke + t.warneke@gmx.net + + - - - sonatype-nexus-staging - https://oss.sonatype.org/service/local/staging/deploy/maven2 - - - sonatype-nexus-snapshots - https://oss.sonatype.org/content/repositories/snapshots - - + + + sonatype-nexus-staging + https://oss.sonatype.org/service/local/staging/deploy/maven2 + + + sonatype-nexus-snapshots + https://oss.sonatype.org/content/repositories/snapshots + + - - scm:git:https://github.com/JSQLParser/JSqlParser.git - scm:git:ssh://git@github.com:JSQLParser/JSqlParser.git - https://github.com/JSQLParser/JSqlParser.git - HEAD - + + scm:git:https://github.com/JSQLParser/JSqlParser.git + scm:git:ssh://git@github.com:JSQLParser/JSqlParser.git + https://github.com/JSQLParser/JSqlParser.git + HEAD + - - GitHub Issues - https://github.com/JSQLParser/JSqlParser/issues - + + GitHub Issues + https://github.com/JSQLParser/JSqlParser/issues + - - - - maven-compiler-plugin - 3.7.0 - - 1.7 - 1.7 - true - ${project.build.sourceEncoding} - - - - org.codehaus.mojo - javacc-maven-plugin - 2.6 - - - javacc - generate-sources - - jjtree-javacc - - - - - true - true - true - - - - net.java.dev.javacc - javacc - 7.0.3 - - - - - org.apache.maven.plugins - maven-eclipse-plugin - 2.9 - - - /target/generated-sources/javacc - - - - - org.apache.maven.plugins - maven-resources-plugin - 2.6 - - ${project.build.sourceEncoding} - - - - org.codehaus.mojo - license-maven-plugin - 1.6 - - false - false - false - - - - first - - update-file-header - - process-sources - - lgpl_v2_1 - - src/main/java - - - - - - - org.apache.maven.plugins - maven-release-plugin - 2.5.3 - - true - false - forked-path - - - - org.apache.maven.scm - maven-scm-provider-gitexe - 1.9.5 - - - - - org.apache.maven.plugins - maven-source-plugin - 2.4 - - - attach-sources - - jar - - - - - - org.apache.maven.plugins - maven-javadoc-plugin - 2.10.3 - - - attach-javadocs - - ${javadoc.opts} - - - jar - - - - - - maven-site-plugin - 3.3 - - - attach-descriptor - - attach-descriptor - - - - - en - - - - org.eluder.coveralls - coveralls-maven-plugin - 3.1.0 - - - org.codehaus.mojo - cobertura-maven-plugin - 2.7 - - xml - 256m - - - net/sf/jsqlparser/parser/*.class - net/sf/jsqlparser/JSQLParserException.class - - - - - - org.apache.felix - maven-bundle-plugin - 3.0.1 - true - - - org.apache.maven.plugins - maven-surefire-plugin - 2.15 - - - - - - - - org.apache.maven.plugins - maven-surefire-report-plugin - 2.16 - - ${project.reporting.outputDirectory}/testresults - - - - org.apache.maven.plugins - maven-javadoc-plugin - 2.10.3 - - true - - - - html - - javadoc - - - - - - org.apache.maven.plugins - maven-project-info-reports-plugin - 2.7 - - - org.apache.maven.plugins - maven-jxr-plugin - 2.3 - - true - - - - org.codehaus.mojo - cobertura-maven-plugin - 2.6 - - true - %{project.reporting.outputDirectory}/cobertura - - - - org.codehaus.mojo - findbugs-maven-plugin - 2.5.3 - - - org.codehaus.mojo - javacc-maven-plugin - 2.6 - - - + + + + maven-compiler-plugin + 3.7.0 + + 1.7 + 1.7 + true + ${project.build.sourceEncoding} + + + + org.codehaus.mojo + javacc-maven-plugin + 2.6 + + + javacc + generate-sources + + jjtree-javacc + + + + + true + true + true + + + + net.java.dev.javacc + javacc + 7.0.3 + + + + + org.apache.maven.plugins + maven-eclipse-plugin + 2.9 + + + /target/generated-sources/javacc + + + + + org.apache.maven.plugins + maven-resources-plugin + 2.6 + + ${project.build.sourceEncoding} + + + + org.codehaus.mojo + license-maven-plugin + 1.6 + + false + false + false + + + + first + + update-file-header + + process-sources + + lgpl_v2_1 + + src/main/java + + + + + + + org.apache.maven.plugins + maven-release-plugin + 2.5.3 + + true + false + forked-path + + + + org.apache.maven.scm + maven-scm-provider-gitexe + 1.9.5 + + + + + org.apache.maven.plugins + maven-source-plugin + 2.4 + + + attach-sources + + jar + + + + + + org.apache.maven.plugins + maven-javadoc-plugin + 2.10.3 + + + attach-javadocs + + ${javadoc.opts} + + + jar + + + + + + maven-site-plugin + 3.3 + + + attach-descriptor + + attach-descriptor + + + + + en + + + + org.eluder.coveralls + coveralls-maven-plugin + 3.1.0 + + + org.codehaus.mojo + cobertura-maven-plugin + 2.7 + + xml + 256m + + + net/sf/jsqlparser/parser/*.class + net/sf/jsqlparser/JSQLParserException.class + + + + + + org.apache.felix + maven-bundle-plugin + 3.0.1 + true + + + org.apache.maven.plugins + maven-surefire-plugin + 2.15 + + + - - - sign-release-artifacts - - - performRelease - true - - - - - - org.apache.maven.plugins - maven-gpg-plugin - 1.4 - - - sign-artifacts - verify - - sign - - - f22e0543 - - - - - - - - - doclint-java8-disable - - [1.8,) - - - -Xdoclint:none - - - - check.sources - - - !skipCheckSources - - - - - - org.apache.maven.plugins - maven-checkstyle-plugin - 2.17 - - - verify-style - process-classes - - check - - - - - true - true - ${project.build.sourceDirectory} - - - - + + + + org.apache.maven.plugins + maven-surefire-report-plugin + 2.16 + + ${project.reporting.outputDirectory}/testresults + + + + org.apache.maven.plugins + maven-javadoc-plugin + 2.10.3 + + true + + + + html + + javadoc + + + + + + org.apache.maven.plugins + maven-project-info-reports-plugin + 2.7 + + + org.apache.maven.plugins + maven-jxr-plugin + 2.3 + + true + + + + org.codehaus.mojo + cobertura-maven-plugin + 2.6 + + true + %{project.reporting.outputDirectory}/cobertura + + + + org.codehaus.mojo + findbugs-maven-plugin + 2.5.3 + + + org.codehaus.mojo + javacc-maven-plugin + 2.6 + + + + + + + sign-release-artifacts + + + performRelease + true + + + + + + org.apache.maven.plugins + maven-gpg-plugin + 1.4 + + + sign-artifacts + verify + + sign + + + f22e0543 + + + + + + + + + doclint-java8-disable + + [1.8,) + + + -Xdoclint:none + + + + check.sources + + + !skipCheckSources + + + + + + org.apache.maven.plugins + maven-checkstyle-plugin + 2.17 + + + verify-style + process-classes + + check + + + + + true + true + ${project.build.sourceDirectory} + + + + - - - - - - - - - - - - + + + + + + + + + + + + - - - - - - - - - - - - - - com.puppycrawl.tools - checkstyle - 6.19 - - - - - - - - - UTF-8 - + + + + + + + + + + + + + com.puppycrawl.tools + checkstyle + 6.19 + + + + + + + + + + UTF-8 + - JSqlParser parses an SQL statement and translate it into a hierarchy of Java classes. + JSqlParser parses an SQL statement and translate it into a hierarchy of Java classes. The generated hierarchy can be navigated using the Visitor Pattern. diff --git a/src/main/java/net/sf/jsqlparser/expression/Alias.java b/src/main/java/net/sf/jsqlparser/expression/Alias.java index 6de501342..b3dabf84a 100644 --- a/src/main/java/net/sf/jsqlparser/expression/Alias.java +++ b/src/main/java/net/sf/jsqlparser/expression/Alias.java @@ -21,42 +21,26 @@ */ package net.sf.jsqlparser.expression; +import lombok.AllArgsConstructor; +import lombok.Data; + /** * * @author toben */ +@Data +@AllArgsConstructor public class Alias { - private String name; - private boolean useAs = true; - - public Alias(String name) { - this.name = name; - } - - public Alias(String name, boolean useAs) { - this.name = name; - this.useAs = useAs; - } - - public String getName() { - return name; - } - - public void setName(String name) { - this.name = name; - } - - public boolean isUseAs() { - return useAs; - } + private String name; + private boolean useAs = true; - public void setUseAs(boolean useAs) { - this.useAs = useAs; - } + public Alias(String name) { + this(name, true); + } - @Override - public String toString() { - return (useAs ? " AS " : " ") + name; - } + @Override + public String toString() { + return (useAs ? " AS " : " ") + name; + } } diff --git a/src/main/java/net/sf/jsqlparser/expression/AllComparisonExpression.java b/src/main/java/net/sf/jsqlparser/expression/AllComparisonExpression.java index 3c596cc1d..541491544 100644 --- a/src/main/java/net/sf/jsqlparser/expression/AllComparisonExpression.java +++ b/src/main/java/net/sf/jsqlparser/expression/AllComparisonExpression.java @@ -21,28 +21,24 @@ */ package net.sf.jsqlparser.expression; +import lombok.Data; +import lombok.RequiredArgsConstructor; import net.sf.jsqlparser.parser.ASTNodeAccessImpl; import net.sf.jsqlparser.statement.select.SubSelect; +@Data +@RequiredArgsConstructor public class AllComparisonExpression extends ASTNodeAccessImpl implements Expression { - private final SubSelect subSelect; + private final SubSelect subSelect; - public AllComparisonExpression(SubSelect subSelect) { - this.subSelect = subSelect; - } + @Override + public void accept(ExpressionVisitor expressionVisitor) { + expressionVisitor.visit(this); + } - public SubSelect getSubSelect() { - return subSelect; - } - - @Override - public void accept(ExpressionVisitor expressionVisitor) { - expressionVisitor.visit(this); - } - - @Override - public String toString() { - return "ALL " + subSelect.toString(); - } + @Override + public String toString() { + return "ALL " + subSelect.toString(); + } } diff --git a/src/main/java/net/sf/jsqlparser/expression/AnalyticExpression.java b/src/main/java/net/sf/jsqlparser/expression/AnalyticExpression.java index d0117ea29..7c10dab2a 100644 --- a/src/main/java/net/sf/jsqlparser/expression/AnalyticExpression.java +++ b/src/main/java/net/sf/jsqlparser/expression/AnalyticExpression.java @@ -21,11 +21,12 @@ */ package net.sf.jsqlparser.expression; -import net.sf.jsqlparser.parser.ASTNodeAccessImpl; -import net.sf.jsqlparser.statement.select.OrderByElement; - import java.util.List; + +import lombok.Data; import net.sf.jsqlparser.expression.operators.relational.ExpressionList; +import net.sf.jsqlparser.parser.ASTNodeAccessImpl; +import net.sf.jsqlparser.statement.select.OrderByElement; import net.sf.jsqlparser.statement.select.PlainSelect; /** @@ -36,165 +37,85 @@ * * @author tw */ +@Data public class AnalyticExpression extends ASTNodeAccessImpl implements Expression { - private ExpressionList partitionExpressionList; - private List orderByElements; - private String name; - private Expression expression; - private Expression offset; - private Expression defaultValue; - private boolean allColumns = false; - private WindowElement windowElement; - private KeepExpression keep = null; - private AnalyticType type = AnalyticType.OVER; - - @Override - public void accept(ExpressionVisitor expressionVisitor) { - expressionVisitor.visit(this); - } - - public List getOrderByElements() { - return orderByElements; - } - - public void setOrderByElements(List orderByElements) { - this.orderByElements = orderByElements; - } - - public KeepExpression getKeep() { - return keep; - } - - public void setKeep(KeepExpression keep) { - this.keep = keep; - } - - public ExpressionList getPartitionExpressionList() { - return partitionExpressionList; - } - - public void setPartitionExpressionList(ExpressionList partitionExpressionList) { - this.partitionExpressionList = partitionExpressionList; - } - - public String getName() { - return name; - } - - public void setName(String name) { - this.name = name; - } - - public Expression getExpression() { - return expression; - } - - public void setExpression(Expression expression) { - this.expression = expression; - } - - public Expression getOffset() { - return offset; - } - - public void setOffset(Expression offset) { - this.offset = offset; - } - - public Expression getDefaultValue() { - return defaultValue; - } - - public void setDefaultValue(Expression defaultValue) { - this.defaultValue = defaultValue; - } - - public WindowElement getWindowElement() { - return windowElement; - } - - public void setWindowElement(WindowElement windowElement) { - this.windowElement = windowElement; - } - - public AnalyticType getType() { - return type; - } - - public void setType(AnalyticType type) { - this.type = type; - } - - @Override - public String toString() { - StringBuilder b = new StringBuilder(); - - b.append(name).append("("); - if (expression != null) { - b.append(expression.toString()); - if (offset != null) { - b.append(", ").append(offset.toString()); - if (defaultValue != null) { - b.append(", ").append(defaultValue.toString()); - } - } - } else if (isAllColumns()) { - b.append("*"); - } - b.append(") "); - if (keep != null) { - b.append(keep.toString()).append(" "); - } - - switch (type) { - case WITHIN_GROUP: - b.append("WITHIN GROUP"); - break; - default: - b.append("OVER"); - } - b.append(" ("); - - toStringPartitionBy(b); - toStringOrderByElements(b); - - b.append(")"); - - return b.toString(); - } - - public boolean isAllColumns() { - return allColumns; - } - - public void setAllColumns(boolean allColumns) { - this.allColumns = allColumns; - } - - private void toStringPartitionBy(StringBuilder b) { - if (partitionExpressionList != null && !partitionExpressionList.getExpressions().isEmpty()) { - b.append("PARTITION BY "); - b.append(PlainSelect. - getStringList(partitionExpressionList.getExpressions(), true, false)); - b.append(" "); - } - } - - private void toStringOrderByElements(StringBuilder b) { - if (orderByElements != null && !orderByElements.isEmpty()) { - b.append("ORDER BY "); - for (int i = 0; i < orderByElements.size(); i++) { - if (i > 0) { - b.append(", "); - } - b.append(orderByElements.get(i).toString()); - } - - if (windowElement != null) { - b.append(' '); - b.append(windowElement); - } - } - } + private ExpressionList partitionExpressionList; + private List orderByElements; + private String name; + private Expression expression; + private Expression offset; + private Expression defaultValue; + private boolean allColumns = false; + private WindowElement windowElement; + private KeepExpression keep = null; + private AnalyticType type = AnalyticType.OVER; + + @Override + public void accept(ExpressionVisitor expressionVisitor) { + expressionVisitor.visit(this); + } + + @Override + public String toString() { + StringBuilder b = new StringBuilder(); + + b.append(name).append("("); + if (expression != null) { + b.append(expression.toString()); + if (offset != null) { + b.append(", ").append(offset.toString()); + if (defaultValue != null) { + b.append(", ").append(defaultValue.toString()); + } + } + } else if (isAllColumns()) { + b.append("*"); + } + b.append(") "); + if (keep != null) { + b.append(keep.toString()).append(" "); + } + + switch (type) { + case WITHIN_GROUP: + b.append("WITHIN GROUP"); + break; + default: + b.append("OVER"); + } + b.append(" ("); + + toStringPartitionBy(b); + toStringOrderByElements(b); + + b.append(")"); + + return b.toString(); + } + + private void toStringPartitionBy(StringBuilder b) { + if (partitionExpressionList != null && !partitionExpressionList.getExpressions().isEmpty()) { + b.append("PARTITION BY "); + b.append(PlainSelect.getStringList(partitionExpressionList.getExpressions(), true, false)); + b.append(" "); + } + } + + private void toStringOrderByElements(StringBuilder b) { + if (orderByElements != null && !orderByElements.isEmpty()) { + b.append("ORDER BY "); + for (int i = 0; i < orderByElements.size(); i++) { + if (i > 0) { + b.append(", "); + } + b.append(orderByElements.get(i).toString()); + } + + if (windowElement != null) { + b.append(' '); + b.append(windowElement); + } + } + } } diff --git a/src/main/java/net/sf/jsqlparser/expression/AnyComparisonExpression.java b/src/main/java/net/sf/jsqlparser/expression/AnyComparisonExpression.java index 9bc270d03..2ce5b2675 100644 --- a/src/main/java/net/sf/jsqlparser/expression/AnyComparisonExpression.java +++ b/src/main/java/net/sf/jsqlparser/expression/AnyComparisonExpression.java @@ -21,6 +21,8 @@ */ package net.sf.jsqlparser.expression; +import lombok.AllArgsConstructor; +import lombok.Data; import net.sf.jsqlparser.parser.ASTNodeAccessImpl; import net.sf.jsqlparser.statement.select.SubSelect; @@ -29,31 +31,20 @@ * * @author toben */ +@Data +@AllArgsConstructor public class AnyComparisonExpression extends ASTNodeAccessImpl implements Expression { - private final SubSelect subSelect; - private final AnyType anyType; + private final AnyType anyType; + private final SubSelect subSelect; - public AnyComparisonExpression(AnyType anyType, SubSelect subSelect) { - this.anyType = anyType; - this.subSelect = subSelect; - } + @Override + public void accept(ExpressionVisitor expressionVisitor) { + expressionVisitor.visit(this); + } - public SubSelect getSubSelect() { - return subSelect; - } - - @Override - public void accept(ExpressionVisitor expressionVisitor) { - expressionVisitor.visit(this); - } - - public AnyType getAnyType() { - return anyType; - } - - @Override - public String toString() { - return anyType.name() + " " + subSelect.toString(); - } + @Override + public String toString() { + return anyType.name() + " " + subSelect.toString(); + } } diff --git a/src/main/java/net/sf/jsqlparser/expression/BinaryExpression.java b/src/main/java/net/sf/jsqlparser/expression/BinaryExpression.java index e0d80983d..f8f1da194 100644 --- a/src/main/java/net/sf/jsqlparser/expression/BinaryExpression.java +++ b/src/main/java/net/sf/jsqlparser/expression/BinaryExpression.java @@ -21,56 +21,24 @@ */ package net.sf.jsqlparser.expression; +import lombok.Data; import net.sf.jsqlparser.parser.ASTNodeAccessImpl; /** * A basic class for binary expressions, that is expressions having a left member and a right member * which are in turn expressions. */ +@Data public abstract class BinaryExpression extends ASTNodeAccessImpl implements Expression { private Expression leftExpression; private Expression rightExpression; private boolean not = false; - - - public BinaryExpression() { - } - - public Expression getLeftExpression() { - return leftExpression; - } - - public Expression getRightExpression() { - return rightExpression; - } - - public void setLeftExpression(Expression expression) { - leftExpression = expression; - } - - public void setRightExpression(Expression expression) { - rightExpression = expression; - } - - public void setNot() { - not = true; - } - - public void removeNot() { - not = false; - } - - public boolean isNot() { - return not; - } - @Override public String toString() { return (not ? "NOT " : "") + getLeftExpression() + " " + getStringExpression() + " " + getRightExpression(); } public abstract String getStringExpression(); - } diff --git a/src/main/java/net/sf/jsqlparser/expression/CaseExpression.java b/src/main/java/net/sf/jsqlparser/expression/CaseExpression.java index eae3f63a1..a7bee555a 100644 --- a/src/main/java/net/sf/jsqlparser/expression/CaseExpression.java +++ b/src/main/java/net/sf/jsqlparser/expression/CaseExpression.java @@ -23,6 +23,7 @@ import java.util.List; +import lombok.Data; import net.sf.jsqlparser.parser.ASTNodeAccessImpl; import net.sf.jsqlparser.statement.select.PlainSelect; @@ -57,63 +58,22 @@ * * @author Havard Rast Blok */ +@Data public class CaseExpression extends ASTNodeAccessImpl implements Expression { - private Expression switchExpression; - private List whenClauses; - private Expression elseExpression; + private Expression switchExpression; + private List whenClauses; + private Expression elseExpression; - @Override - public void accept(ExpressionVisitor expressionVisitor) { - expressionVisitor.visit(this); - } + @Override + public void accept(ExpressionVisitor expressionVisitor) { + expressionVisitor.visit(this); + } - /** - * @return Returns the switchExpression. - */ - public Expression getSwitchExpression() { - return switchExpression; - } - - /** - * @param switchExpression The switchExpression to set. - */ - public void setSwitchExpression(Expression switchExpression) { - this.switchExpression = switchExpression; - } - - /** - * @return Returns the elseExpression. - */ - public Expression getElseExpression() { - return elseExpression; - } - - /** - * @param elseExpression The elseExpression to set. - */ - public void setElseExpression(Expression elseExpression) { - this.elseExpression = elseExpression; - } - - /** - * @return Returns the whenClauses. - */ - public List getWhenClauses() { - return whenClauses; - } - - /** - * @param whenClauses The whenClauses to set. - */ - public void setWhenClauses(List whenClauses) { - this.whenClauses = whenClauses; - } - - @Override - public String toString() { - return "CASE " + ((switchExpression != null) ? switchExpression + " " : "") - + PlainSelect.getStringList(whenClauses, false, false) + " " - + ((elseExpression != null) ? "ELSE " + elseExpression + " " : "") + "END"; - } + @Override + public String toString() { + return "CASE " + ((switchExpression != null) ? switchExpression + " " : "") + + PlainSelect.getStringList(whenClauses, false, false) + " " + + ((elseExpression != null) ? "ELSE " + elseExpression + " " : "") + "END"; + } } diff --git a/src/main/java/net/sf/jsqlparser/expression/CastExpression.java b/src/main/java/net/sf/jsqlparser/expression/CastExpression.java index 89cb4c91b..902de76bc 100644 --- a/src/main/java/net/sf/jsqlparser/expression/CastExpression.java +++ b/src/main/java/net/sf/jsqlparser/expression/CastExpression.java @@ -21,6 +21,7 @@ */ package net.sf.jsqlparser.expression; +import lombok.Data; import net.sf.jsqlparser.parser.ASTNodeAccessImpl; import net.sf.jsqlparser.statement.create.table.ColDataType; @@ -28,47 +29,24 @@ * * @author tw */ +@Data public class CastExpression extends ASTNodeAccessImpl implements Expression { - private Expression leftExpression; - private ColDataType type; - private boolean useCastKeyword = true; - - public ColDataType getType() { - return type; - } - - public void setType(ColDataType type) { - this.type = type; - } - - public Expression getLeftExpression() { - return leftExpression; - } - - public void setLeftExpression(Expression expression) { - leftExpression = expression; - } - - @Override - public void accept(ExpressionVisitor expressionVisitor) { - expressionVisitor.visit(this); - } - - public boolean isUseCastKeyword() { - return useCastKeyword; - } - - public void setUseCastKeyword(boolean useCastKeyword) { - this.useCastKeyword = useCastKeyword; - } - - @Override - public String toString() { - if (useCastKeyword) { - return "CAST(" + leftExpression + " AS " + type.toString() + ")"; - } else { - return leftExpression + "::" + type.toString(); - } - } + private Expression leftExpression; + private ColDataType type; + private boolean useCastKeyword = true; + + @Override + public void accept(ExpressionVisitor expressionVisitor) { + expressionVisitor.visit(this); + } + + @Override + public String toString() { + if (useCastKeyword) { + return "CAST(" + leftExpression + " AS " + type.toString() + ")"; + } else { + return leftExpression + "::" + type.toString(); + } + } } diff --git a/src/main/java/net/sf/jsqlparser/expression/DateTimeLiteralExpression.java b/src/main/java/net/sf/jsqlparser/expression/DateTimeLiteralExpression.java index 769d38bac..f314f6458 100644 --- a/src/main/java/net/sf/jsqlparser/expression/DateTimeLiteralExpression.java +++ b/src/main/java/net/sf/jsqlparser/expression/DateTimeLiteralExpression.java @@ -19,64 +19,52 @@ * . * #L% */ - /* - * Copyright (C) 2016 JSQLParser. - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, - * MA 02110-1301 USA - */ +/* +* Copyright (C) 2016 JSQLParser. +* +* This library is free software; you can redistribute it and/or +* modify it under the terms of the GNU Lesser General Public +* License as published by the Free Software Foundation; either +* version 2.1 of the License, or (at your option) any later version. +* +* This library is distributed in the hope that it will be useful, +* but WITHOUT ANY WARRANTY; without even the implied warranty of +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +* Lesser General Public License for more details. +* +* You should have received a copy of the GNU Lesser General Public +* License along with this library; if not, write to the Free Software +* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, +* MA 02110-1301 USA +*/ package net.sf.jsqlparser.expression; +import lombok.Data; import net.sf.jsqlparser.parser.ASTNodeAccessImpl; /** * * @author toben */ +@Data public class DateTimeLiteralExpression extends ASTNodeAccessImpl implements Expression { - private String value; - private DateTime type; - - public String getValue() { - return value; - } - - public void setValue(String value) { - this.value = value; - } - - public DateTime getType() { - return type; - } - - public void setType(DateTime type) { - this.type = type; - } + private String value; + private DateTime type; - @Override - public void accept(ExpressionVisitor expressionVisitor) { - expressionVisitor.visit(this); - } + @Override + public void accept(ExpressionVisitor expressionVisitor) { + expressionVisitor.visit(this); + } - @Override - public String toString() { - return type.name() + " " + value; - } + @Override + public String toString() { + return type.name() + " " + value; + } - public static enum DateTime { - DATE, TIME, TIMESTAMP; - } + public static enum DateTime { + DATE, + TIME, + TIMESTAMP, + } } diff --git a/src/main/java/net/sf/jsqlparser/expression/DateValue.java b/src/main/java/net/sf/jsqlparser/expression/DateValue.java index 72be75da1..19190dd85 100644 --- a/src/main/java/net/sf/jsqlparser/expression/DateValue.java +++ b/src/main/java/net/sf/jsqlparser/expression/DateValue.java @@ -21,36 +21,30 @@ */ package net.sf.jsqlparser.expression; -import net.sf.jsqlparser.parser.ASTNodeAccessImpl; - import java.sql.Date; +import lombok.Data; +import net.sf.jsqlparser.parser.ASTNodeAccessImpl; + /** * A Date in the form {d 'yyyy-mm-dd'} */ +@Data public class DateValue extends ASTNodeAccessImpl implements Expression { - private Date value; - - public DateValue(String value) { - this.value = Date.valueOf(value.substring(1, value.length() - 1)); - } - - @Override - public void accept(ExpressionVisitor expressionVisitor) { - expressionVisitor.visit(this); - } + private Date value; - public Date getValue() { - return value; - } + public DateValue(String value) { + this.value = Date.valueOf(value.substring(1, value.length() - 1)); + } - public void setValue(Date d) { - value = d; - } + @Override + public void accept(ExpressionVisitor expressionVisitor) { + expressionVisitor.visit(this); + } - @Override - public String toString() { - return "{d '" + value.toString() + "'}"; - } + @Override + public String toString() { + return "{d '" + value.toString() + "'}"; + } } diff --git a/src/main/java/net/sf/jsqlparser/expression/DoubleValue.java b/src/main/java/net/sf/jsqlparser/expression/DoubleValue.java index 1d128e637..fa3519884 100644 --- a/src/main/java/net/sf/jsqlparser/expression/DoubleValue.java +++ b/src/main/java/net/sf/jsqlparser/expression/DoubleValue.java @@ -21,40 +21,39 @@ */ package net.sf.jsqlparser.expression; +import lombok.AccessLevel; +import lombok.Data; +import lombok.Getter; +import lombok.Setter; import net.sf.jsqlparser.parser.ASTNodeAccessImpl; /** * Every number with a point or a exponential format is a DoubleValue */ +@Data public class DoubleValue extends ASTNodeAccessImpl implements Expression { - private double value; - private String stringValue; - - public DoubleValue(final String value) { - String val = value; - if (val.charAt(0) == '+') { - val = val.substring(1); - } - this.value = Double.parseDouble(val); - this.stringValue = val; - } - - @Override - public void accept(ExpressionVisitor expressionVisitor) { - expressionVisitor.visit(this); - } - - public double getValue() { - return value; - } - - public void setValue(double d) { - value = d; - } - - @Override - public String toString() { - return stringValue; - } + private double value; + @Getter(AccessLevel.NONE) + @Setter(AccessLevel.NONE) + private String stringValue; + + public DoubleValue(final String value) { + String val = value; + if (val.charAt(0) == '+') { + val = val.substring(1); + } + this.value = Double.parseDouble(val); + this.stringValue = val; + } + + @Override + public void accept(ExpressionVisitor expressionVisitor) { + expressionVisitor.visit(this); + } + + @Override + public String toString() { + return stringValue; + } } diff --git a/src/main/java/net/sf/jsqlparser/expression/ExpressionVisitor.java b/src/main/java/net/sf/jsqlparser/expression/ExpressionVisitor.java index 59584213e..8ee51d47a 100644 --- a/src/main/java/net/sf/jsqlparser/expression/ExpressionVisitor.java +++ b/src/main/java/net/sf/jsqlparser/expression/ExpressionVisitor.java @@ -41,6 +41,7 @@ import net.sf.jsqlparser.expression.operators.relational.GreaterThanEquals; import net.sf.jsqlparser.expression.operators.relational.InExpression; import net.sf.jsqlparser.expression.operators.relational.IsNullExpression; +import net.sf.jsqlparser.expression.operators.relational.JsonOperator; import net.sf.jsqlparser.expression.operators.relational.LikeExpression; import net.sf.jsqlparser.expression.operators.relational.Matches; import net.sf.jsqlparser.expression.operators.relational.MinorThan; @@ -48,7 +49,6 @@ import net.sf.jsqlparser.expression.operators.relational.NotEqualsTo; import net.sf.jsqlparser.expression.operators.relational.RegExpMatchOperator; import net.sf.jsqlparser.expression.operators.relational.RegExpMySQLOperator; -import net.sf.jsqlparser.expression.operators.relational.JsonOperator; import net.sf.jsqlparser.schema.Column; import net.sf.jsqlparser.statement.select.SubSelect; diff --git a/src/main/java/net/sf/jsqlparser/expression/ExpressionVisitorAdapter.java b/src/main/java/net/sf/jsqlparser/expression/ExpressionVisitorAdapter.java index f78b1c048..82f5761f9 100644 --- a/src/main/java/net/sf/jsqlparser/expression/ExpressionVisitorAdapter.java +++ b/src/main/java/net/sf/jsqlparser/expression/ExpressionVisitorAdapter.java @@ -21,11 +21,37 @@ */ package net.sf.jsqlparser.expression; -import net.sf.jsqlparser.expression.operators.arithmetic.*; +import net.sf.jsqlparser.expression.operators.arithmetic.Addition; +import net.sf.jsqlparser.expression.operators.arithmetic.BitwiseAnd; +import net.sf.jsqlparser.expression.operators.arithmetic.BitwiseLeftShift; +import net.sf.jsqlparser.expression.operators.arithmetic.BitwiseOr; +import net.sf.jsqlparser.expression.operators.arithmetic.BitwiseRightShift; +import net.sf.jsqlparser.expression.operators.arithmetic.BitwiseXor; +import net.sf.jsqlparser.expression.operators.arithmetic.Concat; +import net.sf.jsqlparser.expression.operators.arithmetic.Division; +import net.sf.jsqlparser.expression.operators.arithmetic.Modulo; +import net.sf.jsqlparser.expression.operators.arithmetic.Multiplication; +import net.sf.jsqlparser.expression.operators.arithmetic.Subtraction; import net.sf.jsqlparser.expression.operators.conditional.AndExpression; import net.sf.jsqlparser.expression.operators.conditional.OrExpression; +import net.sf.jsqlparser.expression.operators.relational.Between; +import net.sf.jsqlparser.expression.operators.relational.EqualsTo; +import net.sf.jsqlparser.expression.operators.relational.ExistsExpression; +import net.sf.jsqlparser.expression.operators.relational.ExpressionList; +import net.sf.jsqlparser.expression.operators.relational.GreaterThan; +import net.sf.jsqlparser.expression.operators.relational.GreaterThanEquals; +import net.sf.jsqlparser.expression.operators.relational.InExpression; +import net.sf.jsqlparser.expression.operators.relational.IsNullExpression; +import net.sf.jsqlparser.expression.operators.relational.ItemsListVisitor; import net.sf.jsqlparser.expression.operators.relational.JsonOperator; -import net.sf.jsqlparser.expression.operators.relational.*; +import net.sf.jsqlparser.expression.operators.relational.LikeExpression; +import net.sf.jsqlparser.expression.operators.relational.Matches; +import net.sf.jsqlparser.expression.operators.relational.MinorThan; +import net.sf.jsqlparser.expression.operators.relational.MinorThanEquals; +import net.sf.jsqlparser.expression.operators.relational.MultiExpressionList; +import net.sf.jsqlparser.expression.operators.relational.NotEqualsTo; +import net.sf.jsqlparser.expression.operators.relational.RegExpMatchOperator; +import net.sf.jsqlparser.expression.operators.relational.RegExpMySQLOperator; import net.sf.jsqlparser.schema.Column; import net.sf.jsqlparser.statement.select.AllColumns; import net.sf.jsqlparser.statement.select.AllTableColumns; diff --git a/src/main/java/net/sf/jsqlparser/expression/ExtractExpression.java b/src/main/java/net/sf/jsqlparser/expression/ExtractExpression.java index 013d4039f..e73e1a6a2 100644 --- a/src/main/java/net/sf/jsqlparser/expression/ExtractExpression.java +++ b/src/main/java/net/sf/jsqlparser/expression/ExtractExpression.java @@ -21,6 +21,7 @@ */ package net.sf.jsqlparser.expression; +import lombok.Data; import net.sf.jsqlparser.parser.ASTNodeAccessImpl; /** @@ -29,34 +30,19 @@ * * @author tw */ +@Data public class ExtractExpression extends ASTNodeAccessImpl implements Expression { - private String name; - private Expression expression; + private String name; + private Expression expression; - @Override - public void accept(ExpressionVisitor expressionVisitor) { - expressionVisitor.visit(this); - } + @Override + public void accept(ExpressionVisitor expressionVisitor) { + expressionVisitor.visit(this); + } - public String getName() { - return name; - } - - public void setName(String name) { - this.name = name; - } - - public Expression getExpression() { - return expression; - } - - public void setExpression(Expression expression) { - this.expression = expression; - } - - @Override - public String toString() { - return "EXTRACT(" + name + " FROM " + expression + ')'; - } + @Override + public String toString() { + return "EXTRACT(" + name + " FROM " + expression + ')'; + } } diff --git a/src/main/java/net/sf/jsqlparser/expression/Function.java b/src/main/java/net/sf/jsqlparser/expression/Function.java index 53c1ca3d2..d96090479 100644 --- a/src/main/java/net/sf/jsqlparser/expression/Function.java +++ b/src/main/java/net/sf/jsqlparser/expression/Function.java @@ -21,107 +21,53 @@ */ package net.sf.jsqlparser.expression; +import lombok.Data; import net.sf.jsqlparser.expression.operators.relational.ExpressionList; import net.sf.jsqlparser.parser.ASTNodeAccessImpl; /** * A function as MAX,COUNT... */ +@Data public class Function extends ASTNodeAccessImpl implements Expression { - private String name; - private ExpressionList parameters; - private boolean allColumns = false; - private boolean distinct = false; - private boolean isEscaped = false; - private String attribute; - private KeepExpression keep = null; - - @Override - public void accept(ExpressionVisitor expressionVisitor) { - expressionVisitor.visit(this); - } - /** * The name of he function, i.e. "MAX" * * @return the name of he function */ - public String getName() { - return name; - } - - public void setName(String string) { - name = string; - } - + private String name; + /** + * The list of parameters of the function (if any, else null) If the parameter is "*", + * allColumns is set to true + * + * @return the list of parameters of the function (if any, else null) + */ + private ExpressionList parameters; /** * true if the parameter to the function is "*" * * @return true if the parameter to the function is "*" */ - public boolean isAllColumns() { - return allColumns; - } - - public void setAllColumns(boolean b) { - allColumns = b; - } - + private boolean allColumns = false; /** * true if the function is "distinct" * * @return true if the function is "distinct" */ - public boolean isDistinct() { - return distinct; - } - - public void setDistinct(boolean b) { - distinct = b; - } - - /** - * The list of parameters of the function (if any, else null) If the parameter is "*", - * allColumns is set to true - * - * @return the list of parameters of the function (if any, else null) - */ - public ExpressionList getParameters() { - return parameters; - } - - public void setParameters(ExpressionList list) { - parameters = list; - } - + private boolean distinct = false; /** * Return true if it's in the form "{fn function_body() }" * * @return true if it's java-escaped */ - public boolean isEscaped() { - return isEscaped; - } - - public void setEscaped(boolean isEscaped) { - this.isEscaped = isEscaped; - } - - public String getAttribute() { - return attribute; - } - - public void setAttribute(String attribute) { - this.attribute = attribute; - } - - public KeepExpression getKeep() { - return keep; - } + private boolean escaped = false; + private String attribute; + private KeepExpression keep = null; - public void setKeep(KeepExpression keep) { - this.keep = keep; + @Override + public void accept(ExpressionVisitor expressionVisitor) { + expressionVisitor.visit(this); } @Override @@ -151,7 +97,7 @@ public String toString() { ans += " " + keep.toString(); } - if (isEscaped) { + if (escaped) { ans = "{fn " + ans + "}"; } diff --git a/src/main/java/net/sf/jsqlparser/expression/HexValue.java b/src/main/java/net/sf/jsqlparser/expression/HexValue.java index 6401f5484..fd97056f5 100644 --- a/src/main/java/net/sf/jsqlparser/expression/HexValue.java +++ b/src/main/java/net/sf/jsqlparser/expression/HexValue.java @@ -21,35 +21,26 @@ */ package net.sf.jsqlparser.expression; +import lombok.AllArgsConstructor; +import lombok.Data; import net.sf.jsqlparser.parser.ASTNodeAccessImpl; /** * Every number with a point or a exponential format is a DoubleValue */ +@Data +@AllArgsConstructor public class HexValue extends ASTNodeAccessImpl implements Expression { - private String stringValue; + private String value; - public HexValue(final String value) { - String val = value; - this.stringValue = val; - } + @Override + public void accept(ExpressionVisitor expressionVisitor) { + expressionVisitor.visit(this); + } - @Override - public void accept(ExpressionVisitor expressionVisitor) { - expressionVisitor.visit(this); - } - - public String getValue() { - return stringValue; - } - - public void setValue(String d) { - stringValue = d; - } - - @Override - public String toString() { - return stringValue; - } + @Override + public String toString() { + return value; + } } diff --git a/src/main/java/net/sf/jsqlparser/expression/IntervalExpression.java b/src/main/java/net/sf/jsqlparser/expression/IntervalExpression.java index 7c0503380..03faea5e5 100644 --- a/src/main/java/net/sf/jsqlparser/expression/IntervalExpression.java +++ b/src/main/java/net/sf/jsqlparser/expression/IntervalExpression.java @@ -21,40 +21,26 @@ */ package net.sf.jsqlparser.expression; +import lombok.Data; import net.sf.jsqlparser.parser.ASTNodeAccessImpl; /** * * @author wumpz */ +@Data public class IntervalExpression extends ASTNodeAccessImpl implements Expression { - private String parameter = null; - private String intervalType = null; + private String parameter = null; + private String intervalType = null; - public String getParameter() { - return parameter; - } + @Override + public String toString() { + return "INTERVAL " + parameter + (intervalType != null ? " " + intervalType : ""); + } - public void setParameter(String parameter) { - this.parameter = parameter; - } - - public String getIntervalType() { - return intervalType; - } - - public void setIntervalType(String intervalType) { - this.intervalType = intervalType; - } - - @Override - public String toString() { - return "INTERVAL " + parameter + (intervalType != null ? " " + intervalType : ""); - } - - @Override - public void accept(ExpressionVisitor expressionVisitor) { - expressionVisitor.visit(this); - } + @Override + public void accept(ExpressionVisitor expressionVisitor) { + expressionVisitor.visit(this); + } } diff --git a/src/main/java/net/sf/jsqlparser/expression/JdbcNamedParameter.java b/src/main/java/net/sf/jsqlparser/expression/JdbcNamedParameter.java index e96639b4d..892b2e5e4 100644 --- a/src/main/java/net/sf/jsqlparser/expression/JdbcNamedParameter.java +++ b/src/main/java/net/sf/jsqlparser/expression/JdbcNamedParameter.java @@ -21,28 +21,22 @@ */ package net.sf.jsqlparser.expression; +import lombok.Data; import net.sf.jsqlparser.parser.ASTNodeAccessImpl; /** * * @author aud */ +@Data public class JdbcNamedParameter extends ASTNodeAccessImpl implements Expression { - private String name; - /** * The name of the parameter * * @return the name of the parameter */ - public String getName() { - return name; - } - - public void setName(String name) { - this.name = name; - } + private String name; @Override public void accept(ExpressionVisitor expressionVisitor) { diff --git a/src/main/java/net/sf/jsqlparser/expression/JdbcParameter.java b/src/main/java/net/sf/jsqlparser/expression/JdbcParameter.java index a0b7242b0..e878b6227 100644 --- a/src/main/java/net/sf/jsqlparser/expression/JdbcParameter.java +++ b/src/main/java/net/sf/jsqlparser/expression/JdbcParameter.java @@ -21,47 +21,29 @@ */ package net.sf.jsqlparser.expression; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; import net.sf.jsqlparser.parser.ASTNodeAccessImpl; /** * A '?' in a statement or a ? e.g. ?4 */ +@Data +@NoArgsConstructor +@AllArgsConstructor public class JdbcParameter extends ASTNodeAccessImpl implements Expression { - private Integer index; - private boolean useFixedIndex = false; + private Integer index; + private boolean useFixedIndex = false; - public JdbcParameter() { - } + @Override + public void accept(ExpressionVisitor expressionVisitor) { + expressionVisitor.visit(this); + } - public JdbcParameter(Integer index, boolean useFixedIndex) { - this.index = index; - this.useFixedIndex = useFixedIndex; - } - - public Integer getIndex() { - return index; - } - - public void setIndex(Integer index) { - this.index = index; - } - - public boolean isUseFixedIndex() { - return useFixedIndex; - } - - public void setUseFixedIndex(boolean useFixedIndex) { - this.useFixedIndex = useFixedIndex; - } - - @Override - public void accept(ExpressionVisitor expressionVisitor) { - expressionVisitor.visit(this); - } - - @Override - public String toString() { - return useFixedIndex ? "?" + index : "?"; - } + @Override + public String toString() { + return useFixedIndex ? "?" + index : "?"; + } } diff --git a/src/main/java/net/sf/jsqlparser/expression/JsonExpression.java b/src/main/java/net/sf/jsqlparser/expression/JsonExpression.java index 86cba6e17..bf1f91877 100644 --- a/src/main/java/net/sf/jsqlparser/expression/JsonExpression.java +++ b/src/main/java/net/sf/jsqlparser/expression/JsonExpression.java @@ -24,6 +24,7 @@ import java.util.ArrayList; import java.util.List; +import lombok.Data; import net.sf.jsqlparser.parser.ASTNodeAccessImpl; import net.sf.jsqlparser.schema.Column; @@ -31,6 +32,7 @@ * * @author toben */ +@Data public class JsonExpression extends ASTNodeAccessImpl implements Expression { private Column column; @@ -43,14 +45,6 @@ public void accept(ExpressionVisitor expressionVisitor) { expressionVisitor.visit(this); } - public Column getColumn() { - return column; - } - - public void setColumn(Column column) { - this.column = column; - } - // public List getIdents() { // return idents; // } diff --git a/src/main/java/net/sf/jsqlparser/expression/KeepExpression.java b/src/main/java/net/sf/jsqlparser/expression/KeepExpression.java index 2ee6a8e39..bf3cd8ea5 100644 --- a/src/main/java/net/sf/jsqlparser/expression/KeepExpression.java +++ b/src/main/java/net/sf/jsqlparser/expression/KeepExpression.java @@ -21,11 +21,12 @@ */ package net.sf.jsqlparser.expression; +import java.util.List; + +import lombok.Data; import net.sf.jsqlparser.parser.ASTNodeAccessImpl; import net.sf.jsqlparser.statement.select.OrderByElement; -import java.util.List; - /** * Analytic function. The name of the function is variable but the parameters following the special * analytic function path. e.g. row_number() over (order by test). Additional there can be an @@ -34,64 +35,41 @@ * * @author tw */ +@Data public class KeepExpression extends ASTNodeAccessImpl implements Expression { - private String name; - private List orderByElements; - private boolean first = false; - - @Override - public void accept(ExpressionVisitor expressionVisitor) { - expressionVisitor.visit(this); - } - - public List getOrderByElements() { - return orderByElements; - } - - public void setOrderByElements(List orderByElements) { - this.orderByElements = orderByElements; - } - - public String getName() { - return name; - } - - public void setName(String name) { - this.name = name; - } - - public boolean isFirst() { - return first; - } + private String name; + private List orderByElements; + private boolean first = false; - public void setFirst(boolean first) { - this.first = first; - } + @Override + public void accept(ExpressionVisitor expressionVisitor) { + expressionVisitor.visit(this); + } - @Override - public String toString() { - StringBuilder b = new StringBuilder(); + @Override + public String toString() { + StringBuilder b = new StringBuilder(); - b.append("KEEP (").append(name); + b.append("KEEP (").append(name); - b.append(" ").append(first ? "FIRST" : "LAST").append(" "); - toStringOrderByElements(b); + b.append(" ").append(first ? "FIRST" : "LAST").append(" "); + toStringOrderByElements(b); - b.append(")"); + b.append(")"); - return b.toString(); - } + return b.toString(); + } - private void toStringOrderByElements(StringBuilder b) { - if (orderByElements != null && !orderByElements.isEmpty()) { - b.append("ORDER BY "); - for (int i = 0; i < orderByElements.size(); i++) { - if (i > 0) { - b.append(", "); - } - b.append(orderByElements.get(i).toString()); - } - } - } + private void toStringOrderByElements(StringBuilder b) { + if (orderByElements != null && !orderByElements.isEmpty()) { + b.append("ORDER BY "); + for (int i = 0; i < orderByElements.size(); i++) { + if (i > 0) { + b.append(", "); + } + b.append(orderByElements.get(i).toString()); + } + } + } } diff --git a/src/main/java/net/sf/jsqlparser/expression/LongValue.java b/src/main/java/net/sf/jsqlparser/expression/LongValue.java index 14b9ed3c3..38ddc285f 100644 --- a/src/main/java/net/sf/jsqlparser/expression/LongValue.java +++ b/src/main/java/net/sf/jsqlparser/expression/LongValue.java @@ -21,10 +21,10 @@ */ package net.sf.jsqlparser.expression; -import net.sf.jsqlparser.parser.ASTNodeAccessImpl; - import java.math.BigInteger; +import net.sf.jsqlparser.parser.ASTNodeAccessImpl; + /** * Every number without a point or an exponential format is a LongValue. */ diff --git a/src/main/java/net/sf/jsqlparser/expression/MySQLGroupConcat.java b/src/main/java/net/sf/jsqlparser/expression/MySQLGroupConcat.java index 3f3880b2d..87a5f9b95 100644 --- a/src/main/java/net/sf/jsqlparser/expression/MySQLGroupConcat.java +++ b/src/main/java/net/sf/jsqlparser/expression/MySQLGroupConcat.java @@ -40,6 +40,8 @@ package net.sf.jsqlparser.expression; import java.util.List; + +import lombok.Data; import net.sf.jsqlparser.expression.operators.relational.ExpressionList; import net.sf.jsqlparser.parser.ASTNodeAccessImpl; import net.sf.jsqlparser.statement.select.OrderByElement; @@ -49,6 +51,7 @@ * * @author toben */ +@Data public class MySQLGroupConcat extends ASTNodeAccessImpl implements Expression { private ExpressionList expressionList; @@ -56,38 +59,6 @@ public class MySQLGroupConcat extends ASTNodeAccessImpl implements Expression { private List orderByElements; private String separator; - public ExpressionList getExpressionList() { - return expressionList; - } - - public void setExpressionList(ExpressionList expressionList) { - this.expressionList = expressionList; - } - - public boolean isDistinct() { - return distinct; - } - - public void setDistinct(boolean distinct) { - this.distinct = distinct; - } - - public List getOrderByElements() { - return orderByElements; - } - - public void setOrderByElements(List orderByElements) { - this.orderByElements = orderByElements; - } - - public String getSeparator() { - return separator; - } - - public void setSeparator(String separator) { - this.separator = separator; - } - @Override public void accept(ExpressionVisitor expressionVisitor) { expressionVisitor.visit(this); diff --git a/src/main/java/net/sf/jsqlparser/expression/MySQLIndexHint.java b/src/main/java/net/sf/jsqlparser/expression/MySQLIndexHint.java index ca3bb7580..8fe28baf9 100644 --- a/src/main/java/net/sf/jsqlparser/expression/MySQLIndexHint.java +++ b/src/main/java/net/sf/jsqlparser/expression/MySQLIndexHint.java @@ -23,30 +23,29 @@ import java.util.List; -public class MySQLIndexHint { +import lombok.AllArgsConstructor; +import lombok.Data; - private final String action; - private final String indexQualifier; - private final List indexNames; +@Data +@AllArgsConstructor +public class MySQLIndexHint { - public MySQLIndexHint(String action, String indexQualifier, List indexNames) { - this.action = action; - this.indexQualifier = indexQualifier; - this.indexNames = indexNames; - } + private final String action; + private final String indexQualifier; + private final List indexNames; - @Override - public String toString() { - // use|ignore|force key|index (index1,...,indexN) - StringBuilder buffer = new StringBuilder(); - buffer.append(" ").append(action).append(" ").append(indexQualifier).append(" ("); - for (int i = 0; i < indexNames.size(); i++) { - if (i > 0) { - buffer.append(","); - } - buffer.append(indexNames.get(i)); - } - buffer.append(")"); - return buffer.toString(); - } + @Override + public String toString() { + // use|ignore|force key|index (index1,...,indexN) + StringBuilder buffer = new StringBuilder(); + buffer.append(" ").append(action).append(" ").append(indexQualifier).append(" ("); + for (int i = 0; i < indexNames.size(); i++) { + if (i > 0) { + buffer.append(","); + } + buffer.append(indexNames.get(i)); + } + buffer.append(")"); + return buffer.toString(); + } } diff --git a/src/main/java/net/sf/jsqlparser/expression/NotExpression.java b/src/main/java/net/sf/jsqlparser/expression/NotExpression.java index 39f8c058f..1b733221a 100644 --- a/src/main/java/net/sf/jsqlparser/expression/NotExpression.java +++ b/src/main/java/net/sf/jsqlparser/expression/NotExpression.java @@ -21,27 +21,19 @@ */ package net.sf.jsqlparser.expression; +import lombok.AllArgsConstructor; +import lombok.Data; import net.sf.jsqlparser.parser.ASTNodeAccessImpl; /** * It represents a "-" or "+" before an expression */ +@Data +@AllArgsConstructor public class NotExpression extends ASTNodeAccessImpl implements Expression { private Expression expression; - public NotExpression(Expression expression) { - setExpression(expression); - } - - public Expression getExpression() { - return expression; - } - - public final void setExpression(Expression expression) { - this.expression = expression; - } - @Override public void accept(ExpressionVisitor expressionVisitor) { expressionVisitor.visit(this); diff --git a/src/main/java/net/sf/jsqlparser/expression/NumericBind.java b/src/main/java/net/sf/jsqlparser/expression/NumericBind.java index 6e535bea3..e42cc5a2e 100644 --- a/src/main/java/net/sf/jsqlparser/expression/NumericBind.java +++ b/src/main/java/net/sf/jsqlparser/expression/NumericBind.java @@ -21,31 +21,25 @@ */ package net.sf.jsqlparser.expression; +import lombok.Data; import net.sf.jsqlparser.parser.ASTNodeAccessImpl; /** * * @author aud */ +@Data public class NumericBind extends ASTNodeAccessImpl implements Expression { - private int bindId; + private int bindId; - public int getBindId() { - return bindId; - } + @Override + public void accept(ExpressionVisitor expressionVisitor) { + expressionVisitor.visit(this); + } - public void setBindId(int bindId) { - this.bindId = bindId; - } - - @Override - public void accept(ExpressionVisitor expressionVisitor) { - expressionVisitor.visit(this); - } - - @Override - public String toString() { - return ":" + bindId; - } + @Override + public String toString() { + return ":" + bindId; + } } diff --git a/src/main/java/net/sf/jsqlparser/expression/OracleHierarchicalExpression.java b/src/main/java/net/sf/jsqlparser/expression/OracleHierarchicalExpression.java index b1f701b8b..d079009c0 100644 --- a/src/main/java/net/sf/jsqlparser/expression/OracleHierarchicalExpression.java +++ b/src/main/java/net/sf/jsqlparser/expression/OracleHierarchicalExpression.java @@ -21,78 +21,48 @@ */ package net.sf.jsqlparser.expression; +import lombok.Data; import net.sf.jsqlparser.parser.ASTNodeAccessImpl; /** * * @author toben */ +@Data public class OracleHierarchicalExpression extends ASTNodeAccessImpl implements Expression { - private Expression startExpression; - private Expression connectExpression; - private boolean noCycle = false; - boolean connectFirst = false; + private Expression startExpression; + private Expression connectExpression; + private boolean noCycle = false; + boolean connectFirst = false; - public Expression getStartExpression() { - return startExpression; - } + @Override + public void accept(ExpressionVisitor expressionVisitor) { + expressionVisitor.visit(this); + } - public void setStartExpression(Expression startExpression) { - this.startExpression = startExpression; - } - - public Expression getConnectExpression() { - return connectExpression; - } - - public void setConnectExpression(Expression connectExpression) { - this.connectExpression = connectExpression; - } - - public boolean isNoCycle() { - return noCycle; - } - - public void setNoCycle(boolean noCycle) { - this.noCycle = noCycle; - } - - public boolean isConnectFirst() { - return connectFirst; - } - - public void setConnectFirst(boolean connectFirst) { - this.connectFirst = connectFirst; - } - - @Override - public void accept(ExpressionVisitor expressionVisitor) { - expressionVisitor.visit(this); - } - - @Override - public String toString() { - StringBuilder b = new StringBuilder(); - if (isConnectFirst()) { - b.append(" CONNECT BY "); - if (isNoCycle()) { - b.append("NOCYCLE "); - } - b.append(connectExpression.toString()); - if (startExpression != null) { - b.append(" START WITH ").append(startExpression.toString()); - } - } else { - if (startExpression != null) { - b.append(" START WITH ").append(startExpression.toString()); - } - b.append(" CONNECT BY "); - if (isNoCycle()) { - b.append("NOCYCLE "); - } - b.append(connectExpression.toString()); - } - return b.toString(); - } + @Override + public String toString() { + StringBuilder b = new StringBuilder(); + if (isConnectFirst()) { + b.append(" CONNECT BY "); + if (isNoCycle()) { + b.append("NOCYCLE "); + } + b.append(connectExpression.toString()); + if (startExpression != null) { + b.append(" START WITH ").append(startExpression.toString()); + } + } else { + if (startExpression != null) { + b.append(" START WITH ").append(startExpression.toString()); + } + b.append(" CONNECT BY "); + if (isNoCycle()) { + b.append("NOCYCLE "); + } + b.append(connectExpression.toString()); + } + return b.toString(); + } } diff --git a/src/main/java/net/sf/jsqlparser/expression/OracleHint.java b/src/main/java/net/sf/jsqlparser/expression/OracleHint.java index 58e04532c..bbb75544a 100644 --- a/src/main/java/net/sf/jsqlparser/expression/OracleHint.java +++ b/src/main/java/net/sf/jsqlparser/expression/OracleHint.java @@ -21,73 +21,57 @@ */ package net.sf.jsqlparser.expression; -import net.sf.jsqlparser.parser.ASTNodeAccessImpl; - import java.util.regex.Matcher; import java.util.regex.Pattern; +import lombok.Data; +import net.sf.jsqlparser.parser.ASTNodeAccessImpl; + /** * Oracle Hint Expression * * @author valdo */ +@Data public class OracleHint extends ASTNodeAccessImpl implements Expression { - private static final Pattern SINGLE_LINE = Pattern.compile("--\\+ *([^ ].*[^ ])"); - private static final Pattern MULTI_LINE = Pattern. - compile("\\/\\*\\+ *([^ ].*[^ ]) *\\*+\\/", Pattern.MULTILINE | Pattern.DOTALL); - - private String value; - private boolean singleLine = false; - - public static boolean isHintMatch(String comment) { - return SINGLE_LINE.matcher(comment).find() - || MULTI_LINE.matcher(comment).find(); - } - - public final void setComment(String comment) { - Matcher m; - m = SINGLE_LINE.matcher(comment); - if (m.find()) { - this.value = m.group(1); - this.singleLine = true; - return; - } - m = MULTI_LINE.matcher(comment); - if (m.find()) { - this.value = m.group(1); - this.singleLine = false; - } - } - - public String getValue() { - return value; - } - - public void setValue(String value) { - this.value = value; - } + private static final Pattern SINGLE_LINE = Pattern.compile("--\\+ *([^ ].*[^ ])"); + private static final Pattern MULTI_LINE = Pattern.compile("\\/\\*\\+ *([^ ].*[^ ]) *\\*+\\/", Pattern.MULTILINE | Pattern.DOTALL); - public boolean isSingleLine() { - return singleLine; - } + private String value; + private boolean singleLine = false; - public void setSingleLine(boolean singleLine) { - this.singleLine = singleLine; - } + public static boolean isHintMatch(String comment) { + return SINGLE_LINE.matcher(comment).find() + || MULTI_LINE.matcher(comment).find(); + } - @Override - public void accept(ExpressionVisitor visitor) { - visitor.visit(this); - } + public final void setComment(String comment) { + Matcher m; + m = SINGLE_LINE.matcher(comment); + if (m.find()) { + this.value = m.group(1); + this.singleLine = true; + return; + } + m = MULTI_LINE.matcher(comment); + if (m.find()) { + this.value = m.group(1); + this.singleLine = false; + } + } - @Override - public String toString() { - if (singleLine) { - return "--+ " + value + "\n"; - } else { - return "/*+ " + value + " */"; - } - } + @Override + public void accept(ExpressionVisitor visitor) { + visitor.visit(this); + } + @Override + public String toString() { + if (singleLine) { + return "--+ " + value + "\n"; + } else { + return "/*+ " + value + " */"; + } + } } diff --git a/src/main/java/net/sf/jsqlparser/expression/Parenthesis.java b/src/main/java/net/sf/jsqlparser/expression/Parenthesis.java index 063a0d6d8..41da0e602 100644 --- a/src/main/java/net/sf/jsqlparser/expression/Parenthesis.java +++ b/src/main/java/net/sf/jsqlparser/expression/Parenthesis.java @@ -21,46 +21,31 @@ */ package net.sf.jsqlparser.expression; +import lombok.AllArgsConstructor; +import lombok.Data; import net.sf.jsqlparser.parser.ASTNodeAccessImpl; /** * It represents an expression like "(" expression ")" */ +@Data +@AllArgsConstructor public class Parenthesis extends ASTNodeAccessImpl implements Expression { - private Expression expression; - private boolean not = false; + private Expression expression; + private boolean not = false; - public Parenthesis() { - } + @Override + public void accept(ExpressionVisitor expressionVisitor) { + expressionVisitor.visit(this); + } + + @Override + public String toString() { + return (not ? "NOT " : "") + "(" + expression + ")"; + } public Parenthesis(Expression expression) { setExpression(expression); } - - public Expression getExpression() { - return expression; - } - - public final void setExpression(Expression expression) { - this.expression = expression; - } - - @Override - public void accept(ExpressionVisitor expressionVisitor) { - expressionVisitor.visit(this); - } - - public void setNot() { - not = true; - } - - public boolean isNot() { - return not; - } - - @Override - public String toString() { - return (not ? "NOT " : "") + "(" + expression + ")"; - } } diff --git a/src/main/java/net/sf/jsqlparser/expression/RowConstructor.java b/src/main/java/net/sf/jsqlparser/expression/RowConstructor.java index f0b65a09d..3e31c6d32 100644 --- a/src/main/java/net/sf/jsqlparser/expression/RowConstructor.java +++ b/src/main/java/net/sf/jsqlparser/expression/RowConstructor.java @@ -21,6 +21,7 @@ */ package net.sf.jsqlparser.expression; +import lombok.Data; import net.sf.jsqlparser.expression.operators.relational.ExpressionList; import net.sf.jsqlparser.parser.ASTNodeAccessImpl; @@ -29,37 +30,19 @@ * * @author tw */ +@Data public class RowConstructor extends ASTNodeAccessImpl implements Expression { - private ExpressionList exprList; - private String name = null; + private ExpressionList exprList; + private String name = null; - public RowConstructor() { - } + @Override + public void accept(ExpressionVisitor expressionVisitor) { + expressionVisitor.visit(this); + } - public ExpressionList getExprList() { - return exprList; - } - - public void setExprList(ExpressionList exprList) { - this.exprList = exprList; - } - - public String getName() { - return name; - } - - public void setName(String name) { - this.name = name; - } - - @Override - public void accept(ExpressionVisitor expressionVisitor) { - expressionVisitor.visit(this); - } - - @Override - public String toString() { - return (name != null ? name : "") + exprList.toString(); - } + @Override + public String toString() { + return (name != null ? name : "") + exprList.toString(); + } } diff --git a/src/main/java/net/sf/jsqlparser/expression/SignedExpression.java b/src/main/java/net/sf/jsqlparser/expression/SignedExpression.java index 8d8569405..319208470 100644 --- a/src/main/java/net/sf/jsqlparser/expression/SignedExpression.java +++ b/src/main/java/net/sf/jsqlparser/expression/SignedExpression.java @@ -21,47 +21,37 @@ */ package net.sf.jsqlparser.expression; +import lombok.Data; import net.sf.jsqlparser.parser.ASTNodeAccessImpl; /** * It represents a "-" or "+" or "~" before an expression */ +@Data public class SignedExpression extends ASTNodeAccessImpl implements Expression { - private char sign; - private Expression expression; - - public SignedExpression(char sign, Expression expression) { - setSign(sign); - setExpression(expression); - } - - public char getSign() { - return sign; - } - - public final void setSign(char sign) { - this.sign = sign; - if (sign != '+' && sign != '-' && sign != '~') { - throw new IllegalArgumentException("illegal sign character, only + - ~ allowed"); - } - } - - public Expression getExpression() { - return expression; - } - - public final void setExpression(Expression expression) { - this.expression = expression; - } - - @Override - public void accept(ExpressionVisitor expressionVisitor) { - expressionVisitor.visit(this); - } - - @Override - public String toString() { - return getSign() + expression.toString(); - } + private char sign; + private Expression expression; + + public SignedExpression(char sign, Expression expression) { + setSign(sign); + setExpression(expression); + } + + public final void setSign(char sign) { + this.sign = sign; + if (sign != '+' && sign != '-' && sign != '~') { + throw new IllegalArgumentException("illegal sign character, only + - ~ allowed"); + } + } + + @Override + public void accept(ExpressionVisitor expressionVisitor) { + expressionVisitor.visit(this); + } + + @Override + public String toString() { + return getSign() + expression.toString(); + } } diff --git a/src/main/java/net/sf/jsqlparser/expression/StringValue.java b/src/main/java/net/sf/jsqlparser/expression/StringValue.java index 8d4cda17f..b9427d2a7 100644 --- a/src/main/java/net/sf/jsqlparser/expression/StringValue.java +++ b/src/main/java/net/sf/jsqlparser/expression/StringValue.java @@ -23,77 +23,64 @@ import java.util.Arrays; import java.util.List; + +import lombok.Data; import net.sf.jsqlparser.parser.ASTNodeAccessImpl; /** * A string as in 'example_string' */ +@Data public final class StringValue extends ASTNodeAccessImpl implements Expression { - private String value = ""; - private Character prefix = null; - - /* - N - SQLServer Unicode encoding - U - Oracle Unicode encoding - E - Postgresql Unicode encoding - */ - public static final List ALLOWED_PREFIXES = Arrays.asList('N', 'U', 'E'); - - public StringValue(String escapedValue) { - // romoving "'" at the start and at the end - if (escapedValue.startsWith("'") && escapedValue.endsWith("'")) { - value = escapedValue.substring(1, escapedValue.length() - 1); - return; - } - - if (escapedValue.length() > 2) { - char p = Character.toUpperCase(escapedValue.charAt(0)); - if (ALLOWED_PREFIXES.contains(p) && escapedValue.charAt(1) == '\'' && escapedValue.endsWith("'")) { - this.prefix = p; - value = escapedValue.substring(2, escapedValue.length() - 1); - return; - } - } - - value = escapedValue; - } + private String value = ""; + private Character prefix = null; - public String getValue() { - return value; - } + /* + N - SQLServer Unicode encoding + U - Oracle Unicode encoding + E - Postgresql Unicode encoding + */ + public static final List ALLOWED_PREFIXES = Arrays.asList('N', 'U', 'E'); - public Character getPrefix() { - return prefix; - } + public StringValue(String escapedValue) { + // romoving "'" at the start and at the end + if (escapedValue.startsWith("'") && escapedValue.endsWith("'")) { + value = escapedValue.substring(1, escapedValue.length() - 1); + return; + } - public String getNotExcapedValue() { - StringBuilder buffer = new StringBuilder(value); - int index = 0; - int deletesNum = 0; - while ((index = value.indexOf("''", index)) != -1) { - buffer.deleteCharAt(index - deletesNum); - index += 2; - deletesNum++; - } - return buffer.toString(); - } + if (escapedValue.length() > 2) { + char p = Character.toUpperCase(escapedValue.charAt(0)); + if (ALLOWED_PREFIXES.contains(p) && escapedValue.charAt(1) == '\'' && escapedValue.endsWith("'")) { + this.prefix = p; + value = escapedValue.substring(2, escapedValue.length() - 1); + return; + } + } - public void setValue(String string) { - value = string; - } + value = escapedValue; + } - public void setPrefix(Character prefix) { - this.prefix = prefix; - } + public String getNotExcapedValue() { + StringBuilder buffer = new StringBuilder(value); + int index = 0; + int deletesNum = 0; + while ((index = value.indexOf("''", index)) != -1) { + buffer.deleteCharAt(index - deletesNum); + index += 2; + deletesNum++; + } + return buffer.toString(); + } - @Override - public void accept(ExpressionVisitor expressionVisitor) { - expressionVisitor.visit(this); - } + @Override + public void accept(ExpressionVisitor expressionVisitor) { + expressionVisitor.visit(this); + } - @Override - public String toString() { - return (prefix != null ? prefix : "") + "'" + value + "'"; - } + @Override + public String toString() { + return (prefix != null ? prefix : "") + "'" + value + "'"; + } } diff --git a/src/main/java/net/sf/jsqlparser/expression/TimeKeyExpression.java b/src/main/java/net/sf/jsqlparser/expression/TimeKeyExpression.java index 0e227e37b..8117a2562 100644 --- a/src/main/java/net/sf/jsqlparser/expression/TimeKeyExpression.java +++ b/src/main/java/net/sf/jsqlparser/expression/TimeKeyExpression.java @@ -21,31 +21,23 @@ */ package net.sf.jsqlparser.expression; +import lombok.AllArgsConstructor; +import lombok.Data; import net.sf.jsqlparser.parser.ASTNodeAccessImpl; +@Data +@AllArgsConstructor public class TimeKeyExpression extends ASTNodeAccessImpl implements Expression { - private String stringValue; + private String stringValue; - public TimeKeyExpression(final String value) { - this.stringValue = value; - } + @Override + public void accept(ExpressionVisitor expressionVisitor) { + expressionVisitor.visit(this); + } - @Override - public void accept(ExpressionVisitor expressionVisitor) { - expressionVisitor.visit(this); - } - - public String getStringValue() { - return stringValue; - } - - public void setStringValue(String string) { - stringValue = string; - } - - @Override - public String toString() { - return getStringValue(); - } + @Override + public String toString() { + return getStringValue(); + } } diff --git a/src/main/java/net/sf/jsqlparser/expression/TimeValue.java b/src/main/java/net/sf/jsqlparser/expression/TimeValue.java index b1e7fad41..b8626e465 100644 --- a/src/main/java/net/sf/jsqlparser/expression/TimeValue.java +++ b/src/main/java/net/sf/jsqlparser/expression/TimeValue.java @@ -21,36 +21,30 @@ */ package net.sf.jsqlparser.expression; -import net.sf.jsqlparser.parser.ASTNodeAccessImpl; - import java.sql.Time; +import lombok.Data; +import net.sf.jsqlparser.parser.ASTNodeAccessImpl; + /** * A Time in the form {t 'hh:mm:ss'} */ +@Data public class TimeValue extends ASTNodeAccessImpl implements Expression { - private Time value; - - public TimeValue(String value) { - this.value = Time.valueOf(value.substring(1, value.length() - 1)); - } - - @Override - public void accept(ExpressionVisitor expressionVisitor) { - expressionVisitor.visit(this); - } + private Time value; - public Time getValue() { - return value; - } + public TimeValue(String value) { + this.value = Time.valueOf(value.substring(1, value.length() - 1)); + } - public void setValue(Time d) { - value = d; - } + @Override + public void accept(ExpressionVisitor expressionVisitor) { + expressionVisitor.visit(this); + } - @Override - public String toString() { - return "{t '" + value + "'}"; - } + @Override + public String toString() { + return "{t '" + value + "'}"; + } } diff --git a/src/main/java/net/sf/jsqlparser/expression/TimestampValue.java b/src/main/java/net/sf/jsqlparser/expression/TimestampValue.java index dd72705d3..3ea5bb356 100644 --- a/src/main/java/net/sf/jsqlparser/expression/TimestampValue.java +++ b/src/main/java/net/sf/jsqlparser/expression/TimestampValue.java @@ -21,44 +21,40 @@ */ package net.sf.jsqlparser.expression; -import net.sf.jsqlparser.parser.ASTNodeAccessImpl; - import java.sql.Timestamp; +import lombok.Data; +import net.sf.jsqlparser.parser.ASTNodeAccessImpl; + /** * A Timestamp in the form {ts 'yyyy-mm-dd hh:mm:ss.f . . .'} */ +@Data public class TimestampValue extends ASTNodeAccessImpl implements Expression { - private Timestamp value; - private char quotation = '\''; - public TimestampValue(String value) { - if (value == null) { - throw new java.lang.IllegalArgumentException("null string"); - } else { - if (value.charAt(0) == quotation) { - this.value = Timestamp.valueOf(value.substring(1, value.length() - 1)); - } else { - this.value = Timestamp.valueOf(value.substring(0, value.length())); - } - } - } - - @Override - public void accept(ExpressionVisitor expressionVisitor) { - expressionVisitor.visit(this); - } - - public Timestamp getValue() { - return value; - } - - public void setValue(Timestamp d) { - value = d; - } - - @Override - public String toString() { - return "{ts '" + value + "'}"; - } + private static final char QUOTATION = '\''; + + private Timestamp value; + + public TimestampValue(String value) { + if (value == null) { + throw new java.lang.IllegalArgumentException("null string"); + } else { + if (value.charAt(0) == QUOTATION) { + this.value = Timestamp.valueOf(value.substring(1, value.length() - 1)); + } else { + this.value = Timestamp.valueOf(value.substring(0, value.length())); + } + } + } + + @Override + public void accept(ExpressionVisitor expressionVisitor) { + expressionVisitor.visit(this); + } + + @Override + public String toString() { + return "{ts '" + value + "'}"; + } } diff --git a/src/main/java/net/sf/jsqlparser/expression/UserVariable.java b/src/main/java/net/sf/jsqlparser/expression/UserVariable.java index d751523eb..069cf3f8a 100644 --- a/src/main/java/net/sf/jsqlparser/expression/UserVariable.java +++ b/src/main/java/net/sf/jsqlparser/expression/UserVariable.java @@ -21,6 +21,7 @@ */ package net.sf.jsqlparser.expression; +import lombok.Data; import net.sf.jsqlparser.parser.ASTNodeAccessImpl; /** @@ -28,39 +29,24 @@ * * @author aud */ +@Data public class UserVariable extends ASTNodeAccessImpl implements Expression { - private String name; - private boolean doubleAdd = false; - - /** - * The name of the parameter - * - * @return the name of the parameter - */ - public String getName() { - return name; - } - - public void setName(String name) { - this.name = name; - } - - @Override - public void accept(ExpressionVisitor expressionVisitor) { - expressionVisitor.visit(this); - } - - public boolean isDoubleAdd() { - return doubleAdd; - } - - public void setDoubleAdd(boolean doubleAdd) { - this.doubleAdd = doubleAdd; - } - - @Override - public String toString() { - return "@" + (doubleAdd ? "@" : "") + name; - } + /** + * The name of the parameter + * + * @return the name of the parameter + */ + private String name; + private boolean doubleAdd = false; + + @Override + public void accept(ExpressionVisitor expressionVisitor) { + expressionVisitor.visit(this); + } + + @Override + public String toString() { + return "@" + (doubleAdd ? "@" : "") + name; + } } diff --git a/src/main/java/net/sf/jsqlparser/expression/WhenClause.java b/src/main/java/net/sf/jsqlparser/expression/WhenClause.java index c22ee2743..cd7a20b28 100644 --- a/src/main/java/net/sf/jsqlparser/expression/WhenClause.java +++ b/src/main/java/net/sf/jsqlparser/expression/WhenClause.java @@ -21,6 +21,7 @@ */ package net.sf.jsqlparser.expression; +import lombok.Data; import net.sf.jsqlparser.parser.ASTNodeAccessImpl; /** @@ -28,46 +29,19 @@ * * @author Havard Rast Blok */ +@Data public class WhenClause extends ASTNodeAccessImpl implements Expression { - private Expression whenExpression; - private Expression thenExpression; + private Expression whenExpression; + private Expression thenExpression; - @Override - public void accept(ExpressionVisitor expressionVisitor) { - expressionVisitor.visit(this); - } + @Override + public void accept(ExpressionVisitor expressionVisitor) { + expressionVisitor.visit(this); + } - /** - * @return Returns the thenExpression. - */ - public Expression getThenExpression() { - return thenExpression; - } - - /** - * @param thenExpression The thenExpression to set. - */ - public void setThenExpression(Expression thenExpression) { - this.thenExpression = thenExpression; - } - - /** - * @return Returns the whenExpression. - */ - public Expression getWhenExpression() { - return whenExpression; - } - - /** - * @param whenExpression The whenExpression to set. - */ - public void setWhenExpression(Expression whenExpression) { - this.whenExpression = whenExpression; - } - - @Override - public String toString() { - return "WHEN " + whenExpression + " THEN " + thenExpression; - } + @Override + public String toString() { + return "WHEN " + whenExpression + " THEN " + thenExpression; + } } diff --git a/src/main/java/net/sf/jsqlparser/expression/WindowElement.java b/src/main/java/net/sf/jsqlparser/expression/WindowElement.java index 7ad4f7a07..d84a2ac2c 100644 --- a/src/main/java/net/sf/jsqlparser/expression/WindowElement.java +++ b/src/main/java/net/sf/jsqlparser/expression/WindowElement.java @@ -21,52 +21,31 @@ */ package net.sf.jsqlparser.expression; -public class WindowElement { - - public enum Type { - - ROWS, - RANGE - } - - private Type type; - private WindowOffset offset; - private WindowRange range; +import lombok.Data; - public Type getType() { - return type; - } - - public void setType(Type type) { - this.type = type; - } - - public WindowOffset getOffset() { - return offset; - } +@Data +public class WindowElement { - public void setOffset(WindowOffset offset) { - this.offset = offset; - } + public enum Type { - public WindowRange getRange() { - return range; - } + ROWS, + RANGE + } - public void setRange(WindowRange range) { - this.range = range; - } + private Type type; + private WindowOffset offset; + private WindowRange range; - @Override - public String toString() { - StringBuilder buffer = new StringBuilder(type.toString()); + @Override + public String toString() { + StringBuilder buffer = new StringBuilder(type.toString()); - if (offset != null) { - buffer.append(offset.toString()); - } else if (range != null) { - buffer.append(range.toString()); - } + if (offset != null) { + buffer.append(offset.toString()); + } else if (range != null) { + buffer.append(range.toString()); + } - return buffer.toString(); - } + return buffer.toString(); + } } diff --git a/src/main/java/net/sf/jsqlparser/expression/WindowOffset.java b/src/main/java/net/sf/jsqlparser/expression/WindowOffset.java index e899becc9..01b1055c9 100644 --- a/src/main/java/net/sf/jsqlparser/expression/WindowOffset.java +++ b/src/main/java/net/sf/jsqlparser/expression/WindowOffset.java @@ -21,59 +21,46 @@ */ package net.sf.jsqlparser.expression; -public class WindowOffset { - - public enum Type { - - PRECEDING, - FOLLOWING, - CURRENT, - EXPR - } +import lombok.Data; - private Expression expression; - private Type type; - - public Expression getExpression() { - return expression; - } +@Data +public class WindowOffset { - public void setExpression(Expression expression) { - this.expression = expression; - } + public enum Type { - public Type getType() { - return type; - } + PRECEDING, + FOLLOWING, + CURRENT, + EXPR + } - public void setType(Type type) { - this.type = type; - } + private Expression expression; + private Type type; - @Override - public String toString() { - StringBuilder buffer = new StringBuilder(); - if (expression != null) { - buffer.append(' ').append(expression); - if (type != null) { - buffer.append(' '); - buffer.append(type); - } - } else { - switch (type) { - case PRECEDING: - buffer.append(" UNBOUNDED PRECEDING"); - break; - case FOLLOWING: - buffer.append(" UNBOUNDED FOLLOWING"); - break; - case CURRENT: - buffer.append(" CURRENT ROW"); - break; - default: - break; - } - } - return buffer.toString(); - } + @Override + public String toString() { + StringBuilder buffer = new StringBuilder(); + if (expression != null) { + buffer.append(' ').append(expression); + if (type != null) { + buffer.append(' '); + buffer.append(type); + } + } else { + switch (type) { + case PRECEDING: + buffer.append(" UNBOUNDED PRECEDING"); + break; + case FOLLOWING: + buffer.append(" UNBOUNDED FOLLOWING"); + break; + case CURRENT: + buffer.append(" CURRENT ROW"); + break; + default: + break; + } + } + return buffer.toString(); + } } diff --git a/src/main/java/net/sf/jsqlparser/expression/WindowRange.java b/src/main/java/net/sf/jsqlparser/expression/WindowRange.java index d90ace12c..891f563db 100644 --- a/src/main/java/net/sf/jsqlparser/expression/WindowRange.java +++ b/src/main/java/net/sf/jsqlparser/expression/WindowRange.java @@ -21,34 +21,21 @@ */ package net.sf.jsqlparser.expression; -public class WindowRange { - - private WindowOffset start; - private WindowOffset end; - - public WindowOffset getEnd() { - return end; - } +import lombok.Data; - public void setEnd(WindowOffset end) { - this.end = end; - } - - public WindowOffset getStart() { - return start; - } +@Data +public class WindowRange { - public void setStart(WindowOffset start) { - this.start = start; - } + private WindowOffset start; + private WindowOffset end; - @Override - public String toString() { - StringBuilder buffer = new StringBuilder(); - buffer.append(" BETWEEN"); - buffer.append(start); - buffer.append(" AND"); - buffer.append(end); - return buffer.toString(); - } + @Override + public String toString() { + StringBuilder buffer = new StringBuilder(); + buffer.append(" BETWEEN"); + buffer.append(start); + buffer.append(" AND"); + buffer.append(end); + return buffer.toString(); + } } diff --git a/src/main/java/net/sf/jsqlparser/expression/operators/arithmetic/Modulo.java b/src/main/java/net/sf/jsqlparser/expression/operators/arithmetic/Modulo.java index 9b88105a1..f9aed6bdc 100644 --- a/src/main/java/net/sf/jsqlparser/expression/operators/arithmetic/Modulo.java +++ b/src/main/java/net/sf/jsqlparser/expression/operators/arithmetic/Modulo.java @@ -31,16 +31,13 @@ */ public class Modulo extends BinaryExpression { - public Modulo() { - } + @Override + public void accept(ExpressionVisitor expressionVisitor) { + expressionVisitor.visit(this); + } - @Override - public void accept(ExpressionVisitor expressionVisitor) { - expressionVisitor.visit(this); - } - - @Override - public String getStringExpression() { - return "%"; - } + @Override + public String getStringExpression() { + return "%"; + } } diff --git a/src/main/java/net/sf/jsqlparser/expression/operators/relational/Between.java b/src/main/java/net/sf/jsqlparser/expression/operators/relational/Between.java index d7561b735..a80645f23 100644 --- a/src/main/java/net/sf/jsqlparser/expression/operators/relational/Between.java +++ b/src/main/java/net/sf/jsqlparser/expression/operators/relational/Between.java @@ -21,6 +21,7 @@ */ package net.sf.jsqlparser.expression.operators.relational; +import lombok.Data; import net.sf.jsqlparser.expression.Expression; import net.sf.jsqlparser.expression.ExpressionVisitor; import net.sf.jsqlparser.parser.ASTNodeAccessImpl; @@ -28,53 +29,22 @@ /** * A "BETWEEN" expr1 expr2 statement */ +@Data public class Between extends ASTNodeAccessImpl implements Expression { - private Expression leftExpression; - private boolean not = false; - private Expression betweenExpressionStart; - private Expression betweenExpressionEnd; - - public Expression getBetweenExpressionEnd() { - return betweenExpressionEnd; - } - - public Expression getBetweenExpressionStart() { - return betweenExpressionStart; - } - - public Expression getLeftExpression() { - return leftExpression; - } - - public boolean isNot() { - return not; - } - - public void setBetweenExpressionEnd(Expression expression) { - betweenExpressionEnd = expression; - } - - public void setBetweenExpressionStart(Expression expression) { - betweenExpressionStart = expression; - } - - public void setLeftExpression(Expression expression) { - leftExpression = expression; - } - - public void setNot(boolean b) { - not = b; - } - - @Override - public void accept(ExpressionVisitor expressionVisitor) { - expressionVisitor.visit(this); - } - - @Override - public String toString() { - return leftExpression + " " + (not ? "NOT " : "") + "BETWEEN " + betweenExpressionStart + " AND " - + betweenExpressionEnd; - } + private Expression leftExpression; + private boolean not = false; + private Expression betweenExpressionStart; + private Expression betweenExpressionEnd; + + @Override + public void accept(ExpressionVisitor expressionVisitor) { + expressionVisitor.visit(this); + } + + @Override + public String toString() { + return leftExpression + " " + (not ? "NOT " : "") + "BETWEEN " + betweenExpressionStart + " AND " + + betweenExpressionEnd; + } } diff --git a/src/main/java/net/sf/jsqlparser/expression/operators/relational/ComparisonOperator.java b/src/main/java/net/sf/jsqlparser/expression/operators/relational/ComparisonOperator.java index 1f0b6f35f..8bc8242a5 100644 --- a/src/main/java/net/sf/jsqlparser/expression/operators/relational/ComparisonOperator.java +++ b/src/main/java/net/sf/jsqlparser/expression/operators/relational/ComparisonOperator.java @@ -21,16 +21,15 @@ */ package net.sf.jsqlparser.expression.operators.relational; -public abstract class ComparisonOperator extends OldOracleJoinBinaryExpression { +import lombok.AllArgsConstructor; - private final String operator; +@AllArgsConstructor +public abstract class ComparisonOperator extends OldOracleJoinBinaryExpression { - public ComparisonOperator(String operator) { - this.operator = operator; - } + private final String operator; - @Override - public String getStringExpression() { - return operator; - } + @Override + public String getStringExpression() { + return operator; + } } diff --git a/src/main/java/net/sf/jsqlparser/expression/operators/relational/ExistsExpression.java b/src/main/java/net/sf/jsqlparser/expression/operators/relational/ExistsExpression.java index b556bcbea..895fe32c6 100644 --- a/src/main/java/net/sf/jsqlparser/expression/operators/relational/ExistsExpression.java +++ b/src/main/java/net/sf/jsqlparser/expression/operators/relational/ExistsExpression.java @@ -21,42 +21,28 @@ */ package net.sf.jsqlparser.expression.operators.relational; +import lombok.Data; import net.sf.jsqlparser.expression.Expression; import net.sf.jsqlparser.expression.ExpressionVisitor; import net.sf.jsqlparser.parser.ASTNodeAccessImpl; +@Data public class ExistsExpression extends ASTNodeAccessImpl implements Expression { - private Expression rightExpression; - private boolean not = false; + private Expression rightExpression; + private boolean not = false; - public Expression getRightExpression() { - return rightExpression; - } + @Override + public void accept(ExpressionVisitor expressionVisitor) { + expressionVisitor.visit(this); + } - public void setRightExpression(Expression expression) { - rightExpression = expression; - } + public String getStringExpression() { + return (not ? "NOT " : "") + "EXISTS"; + } - public boolean isNot() { - return not; - } - - public void setNot(boolean b) { - not = b; - } - - @Override - public void accept(ExpressionVisitor expressionVisitor) { - expressionVisitor.visit(this); - } - - public String getStringExpression() { - return (not ? "NOT " : "") + "EXISTS"; - } - - @Override - public String toString() { - return getStringExpression() + " " + rightExpression.toString(); - } + @Override + public String toString() { + return getStringExpression() + " " + rightExpression.toString(); + } } diff --git a/src/main/java/net/sf/jsqlparser/expression/operators/relational/ExpressionList.java b/src/main/java/net/sf/jsqlparser/expression/operators/relational/ExpressionList.java index 39247ea95..b77d5de23 100644 --- a/src/main/java/net/sf/jsqlparser/expression/operators/relational/ExpressionList.java +++ b/src/main/java/net/sf/jsqlparser/expression/operators/relational/ExpressionList.java @@ -23,38 +23,29 @@ import java.util.List; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; import net.sf.jsqlparser.expression.Expression; import net.sf.jsqlparser.statement.select.PlainSelect; /** * A list of expressions, as in SELECT A FROM TAB WHERE B IN (expr1,expr2,expr3) */ +@Data +@NoArgsConstructor +@AllArgsConstructor public class ExpressionList implements ItemsList { - private List expressions; + private List expressions; - public ExpressionList() { - } + @Override + public void accept(ItemsListVisitor itemsListVisitor) { + itemsListVisitor.visit(this); + } - public ExpressionList(List expressions) { - this.expressions = expressions; - } - - public List getExpressions() { - return expressions; - } - - public void setExpressions(List list) { - expressions = list; - } - - @Override - public void accept(ItemsListVisitor itemsListVisitor) { - itemsListVisitor.visit(this); - } - - @Override - public String toString() { - return PlainSelect.getStringList(expressions, true, true); - } + @Override + public String toString() { + return PlainSelect.getStringList(expressions, true, true); + } } diff --git a/src/main/java/net/sf/jsqlparser/expression/operators/relational/InExpression.java b/src/main/java/net/sf/jsqlparser/expression/operators/relational/InExpression.java index 06277a979..a60a76a65 100644 --- a/src/main/java/net/sf/jsqlparser/expression/operators/relational/InExpression.java +++ b/src/main/java/net/sf/jsqlparser/expression/operators/relational/InExpression.java @@ -21,95 +21,59 @@ */ package net.sf.jsqlparser.expression.operators.relational; +import lombok.Data; +import lombok.NoArgsConstructor; import net.sf.jsqlparser.expression.Expression; import net.sf.jsqlparser.expression.ExpressionVisitor; import net.sf.jsqlparser.parser.ASTNodeAccessImpl; +@Data +@NoArgsConstructor public class InExpression extends ASTNodeAccessImpl implements Expression, SupportsOldOracleJoinSyntax { - private Expression leftExpression; - private ItemsList leftItemsList; - private ItemsList rightItemsList; - private boolean not = false; - - private int oldOracleJoinSyntax = NO_ORACLE_JOIN; - - public InExpression() { - } - - public InExpression(Expression leftExpression, ItemsList itemsList) { - setLeftExpression(leftExpression); - setRightItemsList(itemsList); - } - - @Override - public void setOldOracleJoinSyntax(int oldOracleJoinSyntax) { - this.oldOracleJoinSyntax = oldOracleJoinSyntax; - if (oldOracleJoinSyntax < 0 || oldOracleJoinSyntax > 1) { - throw new IllegalArgumentException("unexpected join type for oracle found with IN (type=" + oldOracleJoinSyntax + ")"); - } - } - - @Override - public int getOldOracleJoinSyntax() { - return oldOracleJoinSyntax; - } - - public ItemsList getRightItemsList() { - return rightItemsList; - } - - public Expression getLeftExpression() { - return leftExpression; - } - - public final void setRightItemsList(ItemsList list) { - rightItemsList = list; - } - - public final void setLeftExpression(Expression expression) { - leftExpression = expression; - } - - public boolean isNot() { - return not; - } - - public void setNot(boolean b) { - not = b; - } - - public ItemsList getLeftItemsList() { - return leftItemsList; - } - - public void setLeftItemsList(ItemsList leftItemsList) { - this.leftItemsList = leftItemsList; - } - - @Override - public void accept(ExpressionVisitor expressionVisitor) { - expressionVisitor.visit(this); - } - - private String getLeftExpressionString() { - return leftExpression + (oldOracleJoinSyntax == ORACLE_JOIN_RIGHT ? "(+)" : ""); - } - - @Override - public String toString() { - return (leftExpression == null ? leftItemsList : getLeftExpressionString()) + " " + (not ? "NOT " : "") + "IN " + rightItemsList + ""; - } - - @Override - public int getOraclePriorPosition() { - return SupportsOldOracleJoinSyntax.NO_ORACLE_PRIOR; - } - - @Override - public void setOraclePriorPosition(int priorPosition) { - if (priorPosition != SupportsOldOracleJoinSyntax.NO_ORACLE_PRIOR) { - throw new IllegalArgumentException("unexpected prior for oracle found"); - } - } + private Expression leftExpression; + private ItemsList leftItemsList; + private ItemsList rightItemsList; + private boolean not = false; + + private int oldOracleJoinSyntax = NO_ORACLE_JOIN; + + public InExpression(Expression leftExpression, ItemsList itemsList) { + setLeftExpression(leftExpression); + setRightItemsList(itemsList); + } + + @Override + public void setOldOracleJoinSyntax(int oldOracleJoinSyntax) { + this.oldOracleJoinSyntax = oldOracleJoinSyntax; + if (oldOracleJoinSyntax < 0 || oldOracleJoinSyntax > 1) { + throw new IllegalArgumentException("unexpected join type for oracle found with IN (type=" + oldOracleJoinSyntax + ")"); + } + } + + @Override + public void accept(ExpressionVisitor expressionVisitor) { + expressionVisitor.visit(this); + } + + private String getLeftExpressionString() { + return leftExpression + (oldOracleJoinSyntax == ORACLE_JOIN_RIGHT ? "(+)" : ""); + } + + @Override + public String toString() { + return (leftExpression == null ? leftItemsList : getLeftExpressionString()) + " " + (not ? "NOT " : "") + "IN " + rightItemsList + ""; + } + + @Override + public int getOraclePriorPosition() { + return SupportsOldOracleJoinSyntax.NO_ORACLE_PRIOR; + } + + @Override + public void setOraclePriorPosition(int priorPosition) { + if (priorPosition != SupportsOldOracleJoinSyntax.NO_ORACLE_PRIOR) { + throw new IllegalArgumentException("unexpected prior for oracle found"); + } + } } diff --git a/src/main/java/net/sf/jsqlparser/expression/operators/relational/IsNullExpression.java b/src/main/java/net/sf/jsqlparser/expression/operators/relational/IsNullExpression.java index a229f0c26..c628d7f37 100644 --- a/src/main/java/net/sf/jsqlparser/expression/operators/relational/IsNullExpression.java +++ b/src/main/java/net/sf/jsqlparser/expression/operators/relational/IsNullExpression.java @@ -21,38 +21,24 @@ */ package net.sf.jsqlparser.expression.operators.relational; +import lombok.Data; import net.sf.jsqlparser.expression.Expression; import net.sf.jsqlparser.expression.ExpressionVisitor; import net.sf.jsqlparser.parser.ASTNodeAccessImpl; +@Data public class IsNullExpression extends ASTNodeAccessImpl implements Expression { - private Expression leftExpression; - private boolean not = false; + private Expression leftExpression; + private boolean not = false; - public Expression getLeftExpression() { - return leftExpression; - } + @Override + public void accept(ExpressionVisitor expressionVisitor) { + expressionVisitor.visit(this); + } - public boolean isNot() { - return not; - } - - public void setLeftExpression(Expression expression) { - leftExpression = expression; - } - - public void setNot(boolean b) { - not = b; - } - - @Override - public void accept(ExpressionVisitor expressionVisitor) { - expressionVisitor.visit(this); - } - - @Override - public String toString() { - return leftExpression + " IS " + (not ? "NOT " : "") + "NULL"; - } + @Override + public String toString() { + return leftExpression + " IS " + (not ? "NOT " : "") + "NULL"; + } } diff --git a/src/main/java/net/sf/jsqlparser/expression/operators/relational/JsonOperator.java b/src/main/java/net/sf/jsqlparser/expression/operators/relational/JsonOperator.java index 997961250..69335ad85 100644 --- a/src/main/java/net/sf/jsqlparser/expression/operators/relational/JsonOperator.java +++ b/src/main/java/net/sf/jsqlparser/expression/operators/relational/JsonOperator.java @@ -21,24 +21,23 @@ */ package net.sf.jsqlparser.expression.operators.relational; +import lombok.AllArgsConstructor; +import lombok.Data; import net.sf.jsqlparser.expression.BinaryExpression; import net.sf.jsqlparser.expression.ExpressionVisitor; +@AllArgsConstructor public class JsonOperator extends BinaryExpression { - private String op; //"@>" + private final String op; //"@>" - public JsonOperator(String op) { - this.op = op; - } + @Override + public void accept(ExpressionVisitor expressionVisitor) { + expressionVisitor.visit(this); + } - @Override - public void accept(ExpressionVisitor expressionVisitor) { - expressionVisitor.visit(this); - } - - @Override - public String getStringExpression() { - return op; - } + @Override + public String getStringExpression() { + return op; + } } diff --git a/src/main/java/net/sf/jsqlparser/expression/operators/relational/LikeExpression.java b/src/main/java/net/sf/jsqlparser/expression/operators/relational/LikeExpression.java index 23f70196e..3f7129736 100644 --- a/src/main/java/net/sf/jsqlparser/expression/operators/relational/LikeExpression.java +++ b/src/main/java/net/sf/jsqlparser/expression/operators/relational/LikeExpression.java @@ -21,57 +21,33 @@ */ package net.sf.jsqlparser.expression.operators.relational; +import lombok.Data; import net.sf.jsqlparser.expression.BinaryExpression; import net.sf.jsqlparser.expression.ExpressionVisitor; +@Data public class LikeExpression extends BinaryExpression { - private boolean not = false; - private String escape = null; - private boolean caseInsensitive = false; - - @Override - public boolean isNot() { - return not; - } - - public void setNot(boolean b) { - not = b; - } - - @Override - public void accept(ExpressionVisitor expressionVisitor) { - expressionVisitor.visit(this); - } - - @Override - public String getStringExpression() { - return (not ? "NOT " : "") + (caseInsensitive ? "ILIKE" : "LIKE"); - } - - @Override - public String toString() { - String retval = super.toString(); - if (escape != null) { - retval += " ESCAPE " + "'" + escape + "'"; - } - - return retval; - } - - public String getEscape() { - return escape; - } - - public void setEscape(String escape) { - this.escape = escape; - } - - public boolean isCaseInsensitive() { - return caseInsensitive; - } - - public void setCaseInsensitive(boolean caseInsensitive) { - this.caseInsensitive = caseInsensitive; - } + private boolean not = false; + private String escape = null; + private boolean caseInsensitive = false; + + @Override + public void accept(ExpressionVisitor expressionVisitor) { + expressionVisitor.visit(this); + } + + @Override + public String getStringExpression() { + return (not ? "NOT " : "") + (caseInsensitive ? "ILIKE" : "LIKE"); + } + + @Override + public String toString() { + String retval = super.toString(); + if (escape != null) { + retval += " ESCAPE " + "'" + escape + "'"; + } + return retval; + } } diff --git a/src/main/java/net/sf/jsqlparser/expression/operators/relational/MultiExpressionList.java b/src/main/java/net/sf/jsqlparser/expression/operators/relational/MultiExpressionList.java index 0ff7f477b..852005e56 100644 --- a/src/main/java/net/sf/jsqlparser/expression/operators/relational/MultiExpressionList.java +++ b/src/main/java/net/sf/jsqlparser/expression/operators/relational/MultiExpressionList.java @@ -25,6 +25,8 @@ import java.util.Arrays; import java.util.Iterator; import java.util.List; + +import lombok.Data; import net.sf.jsqlparser.expression.Expression; /** @@ -33,6 +35,7 @@ * * @author toben */ +@Data public class MultiExpressionList implements ItemsList { private List exprList; @@ -46,10 +49,6 @@ public void accept(ItemsListVisitor itemsListVisitor) { itemsListVisitor.visit(this); } - public List getExprList() { - return exprList; - } - public void addExpressionList(ExpressionList el) { if (!exprList.isEmpty() && exprList.get(0).getExpressions().size() != el.getExpressions().size()) { diff --git a/src/main/java/net/sf/jsqlparser/expression/operators/relational/OldOracleJoinBinaryExpression.java b/src/main/java/net/sf/jsqlparser/expression/operators/relational/OldOracleJoinBinaryExpression.java index c620a62e9..56bd1bd93 100644 --- a/src/main/java/net/sf/jsqlparser/expression/operators/relational/OldOracleJoinBinaryExpression.java +++ b/src/main/java/net/sf/jsqlparser/expression/operators/relational/OldOracleJoinBinaryExpression.java @@ -21,9 +21,10 @@ */ package net.sf.jsqlparser.expression.operators.relational; +import lombok.Data; import net.sf.jsqlparser.expression.BinaryExpression; -import static net.sf.jsqlparser.expression.operators.relational.SupportsOldOracleJoinSyntax.ORACLE_PRIOR_START; +@Data public abstract class OldOracleJoinBinaryExpression extends BinaryExpression implements SupportsOldOracleJoinSyntax { private int oldOracleJoinSyntax = NO_ORACLE_JOIN; @@ -49,19 +50,4 @@ public String toString() { + getRightExpression() + (oldOracleJoinSyntax == ORACLE_JOIN_LEFT ? "(+)" : ""); } - - @Override - public int getOldOracleJoinSyntax() { - return oldOracleJoinSyntax; - } - - @Override - public int getOraclePriorPosition() { - return oraclePriorPosition; - } - - @Override - public void setOraclePriorPosition(int oraclePriorPosition) { - this.oraclePriorPosition = oraclePriorPosition; - } } diff --git a/src/main/java/net/sf/jsqlparser/expression/operators/relational/RegExpMatchOperator.java b/src/main/java/net/sf/jsqlparser/expression/operators/relational/RegExpMatchOperator.java index 27f0fff32..b1d86647e 100644 --- a/src/main/java/net/sf/jsqlparser/expression/operators/relational/RegExpMatchOperator.java +++ b/src/main/java/net/sf/jsqlparser/expression/operators/relational/RegExpMatchOperator.java @@ -21,43 +21,46 @@ */ package net.sf.jsqlparser.expression.operators.relational; +import lombok.Data; import net.sf.jsqlparser.expression.BinaryExpression; import net.sf.jsqlparser.expression.ExpressionVisitor; +@Data public class RegExpMatchOperator extends BinaryExpression { - private RegExpMatchOperatorType operatorType; + private RegExpMatchOperatorType operatorType; - public RegExpMatchOperator(RegExpMatchOperatorType operatorType) { - if (operatorType == null) { - throw new NullPointerException(); - } - this.operatorType = operatorType; - } - - public RegExpMatchOperatorType getOperatorType() { - return operatorType; - } + public RegExpMatchOperator(RegExpMatchOperatorType operatorType) { + if (operatorType == null) { + throw new NullPointerException(); + } + this.operatorType = operatorType; + } - @Override - public void accept(ExpressionVisitor expressionVisitor) { - expressionVisitor.visit(this); - } + @Override + public void accept(ExpressionVisitor expressionVisitor) { + expressionVisitor.visit(this); + } + @Override + public String getStringExpression() { + switch (operatorType) { + case MATCH_CASESENSITIVE: + return "~"; + case MATCH_CASEINSENSITIVE: + return "~*"; + case NOT_MATCH_CASESENSITIVE: + return "!~"; + case NOT_MATCH_CASEINSENSITIVE: + return "!~*"; + default: + break; + } + return null; + } + @Override - public String getStringExpression() { - switch (operatorType) { - case MATCH_CASESENSITIVE: - return "~"; - case MATCH_CASEINSENSITIVE: - return "~*"; - case NOT_MATCH_CASESENSITIVE: - return "!~"; - case NOT_MATCH_CASEINSENSITIVE: - return "!~*"; - default: - break; - } - return null; + public String toString() { + return super.toString(); } } diff --git a/src/main/java/net/sf/jsqlparser/expression/operators/relational/RegExpMySQLOperator.java b/src/main/java/net/sf/jsqlparser/expression/operators/relational/RegExpMySQLOperator.java index 4ebe454fb..25898c09c 100644 --- a/src/main/java/net/sf/jsqlparser/expression/operators/relational/RegExpMySQLOperator.java +++ b/src/main/java/net/sf/jsqlparser/expression/operators/relational/RegExpMySQLOperator.java @@ -21,42 +21,38 @@ */ package net.sf.jsqlparser.expression.operators.relational; +import lombok.Data; +import lombok.experimental.Accessors; import net.sf.jsqlparser.expression.BinaryExpression; import net.sf.jsqlparser.expression.ExpressionVisitor; +@Data public class RegExpMySQLOperator extends BinaryExpression { - private RegExpMatchOperatorType operatorType; - private boolean useRLike = false; - - public RegExpMySQLOperator(RegExpMatchOperatorType operatorType) { - if (operatorType == null) { - throw new NullPointerException(); - } - this.operatorType = operatorType; - } - - public RegExpMatchOperatorType getOperatorType() { - return operatorType; - } - - public boolean isUseRLike() { - return useRLike; - } - - public RegExpMySQLOperator useRLike() { - useRLike = true; - return this; - } - - @Override - public void accept(ExpressionVisitor expressionVisitor) { - expressionVisitor.visit(this); - } - + private RegExpMatchOperatorType operatorType; + @Accessors(chain = true) + private boolean useRLike = false; + + public RegExpMySQLOperator(RegExpMatchOperatorType operatorType) { + if (operatorType == null) { + throw new NullPointerException(); + } + this.operatorType = operatorType; + } + + @Override + public void accept(ExpressionVisitor expressionVisitor) { + expressionVisitor.visit(this); + } + + @Override + public String getStringExpression() { + return (useRLike ? "RLIKE" : "REGEXP") + + (operatorType == RegExpMatchOperatorType.MATCH_CASESENSITIVE ? " BINARY" : ""); + } + @Override - public String getStringExpression() { - return (useRLike ? "RLIKE" : "REGEXP") - + (operatorType == RegExpMatchOperatorType.MATCH_CASESENSITIVE ? " BINARY" : ""); + public String toString() { + return super.toString(); } } diff --git a/src/main/java/net/sf/jsqlparser/parser/CCJSqlParserUtil.java b/src/main/java/net/sf/jsqlparser/parser/CCJSqlParserUtil.java index a5f889421..ac0c97cd2 100644 --- a/src/main/java/net/sf/jsqlparser/parser/CCJSqlParserUtil.java +++ b/src/main/java/net/sf/jsqlparser/parser/CCJSqlParserUtil.java @@ -23,6 +23,8 @@ import java.io.InputStream; import java.io.Reader; + +import lombok.experimental.UtilityClass; import net.sf.jsqlparser.JSQLParserException; import net.sf.jsqlparser.expression.Expression; import net.sf.jsqlparser.statement.Statement; @@ -33,126 +35,124 @@ * * @author toben */ +@UtilityClass public final class CCJSqlParserUtil { - private CCJSqlParserUtil() { - } + public Statement parse(Reader statementReader) throws JSQLParserException { + CCJSqlParser parser = new CCJSqlParser(new StreamProvider(statementReader)); + try { + return parser.Statement(); + } catch (Exception ex) { + throw new JSQLParserException(ex); + } + } - public static Statement parse(Reader statementReader) throws JSQLParserException { - CCJSqlParser parser = new CCJSqlParser(new StreamProvider(statementReader)); - try { - return parser.Statement(); - } catch (Exception ex) { - throw new JSQLParserException(ex); - } - } + public Statement parse(String sql) throws JSQLParserException { + CCJSqlParser parser = new CCJSqlParser(new StringProvider(sql)); + try { + return parser.Statement(); + } catch (Exception ex) { + throw new JSQLParserException(ex); + } + } - public static Statement parse(String sql) throws JSQLParserException { - CCJSqlParser parser = new CCJSqlParser(new StringProvider(sql)); - try { - return parser.Statement(); - } catch (Exception ex) { - throw new JSQLParserException(ex); - } - } + public Node parseAST(String sql) throws JSQLParserException { + CCJSqlParser parser = new CCJSqlParser(new StringProvider(sql)); + try { + parser.Statement(); + return parser.jjtree.rootNode(); + } catch (Exception ex) { + throw new JSQLParserException(ex); + } + } - public static Node parseAST(String sql) throws JSQLParserException { - CCJSqlParser parser = new CCJSqlParser(new StringProvider(sql)); - try { - parser.Statement(); - return parser.jjtree.rootNode(); - } catch (Exception ex) { - throw new JSQLParserException(ex); - } - } + public Statement parse(InputStream is) throws JSQLParserException { + try { + CCJSqlParser parser = new CCJSqlParser(new StreamProvider(is)); + return parser.Statement(); + } catch (Exception ex) { + throw new JSQLParserException(ex); + } + } - public static Statement parse(InputStream is) throws JSQLParserException { - try { - CCJSqlParser parser = new CCJSqlParser(new StreamProvider(is)); - return parser.Statement(); - } catch (Exception ex) { - throw new JSQLParserException(ex); - } - } + public Statement parse(InputStream is, String encoding) throws JSQLParserException { + try { + CCJSqlParser parser = new CCJSqlParser(new StreamProvider(is, encoding)); + return parser.Statement(); + } catch (Exception ex) { + throw new JSQLParserException(ex); + } + } - public static Statement parse(InputStream is, String encoding) throws JSQLParserException { - try { - CCJSqlParser parser = new CCJSqlParser(new StreamProvider(is, encoding)); - return parser.Statement(); - } catch (Exception ex) { - throw new JSQLParserException(ex); - } - } + /** + * Parse an expression. + * + * @param expression + * @return + * @throws JSQLParserException + */ + public Expression parseExpression(String expression) throws JSQLParserException { + return parseExpression(expression, true); + } - /** - * Parse an expression. - * - * @param expression - * @return - * @throws JSQLParserException - */ - public static Expression parseExpression(String expression) throws JSQLParserException { - return parseExpression(expression, true); - } - - public static Expression parseExpression(String expression, boolean allowPartialParse) throws JSQLParserException { - CCJSqlParser parser = new CCJSqlParser(new StringProvider(expression)); - try { - Expression expr = parser.SimpleExpression(); - if (!allowPartialParse && parser.getNextToken().kind != CCJSqlParserTokenManager.EOF) { - throw new JSQLParserException("could only parse partial expression " + expr.toString()); - } - return expr; - } catch (JSQLParserException ex) { - throw ex; - } catch (ParseException ex) { - throw new JSQLParserException(ex); - } - } + public Expression parseExpression(String expression, boolean allowPartialParse) throws JSQLParserException { + CCJSqlParser parser = new CCJSqlParser(new StringProvider(expression)); + try { + Expression expr = parser.SimpleExpression(); + if (!allowPartialParse && parser.getNextToken().kind != CCJSqlParserTokenManager.EOF) { + throw new JSQLParserException("could only parse partial expression " + expr.toString()); + } + return expr; + } catch (JSQLParserException ex) { + throw ex; + } catch (ParseException ex) { + throw new JSQLParserException(ex); + } + } - /** - * Parse an conditional expression. This is the expression after a where clause. - * - * @param condExpr - * @return - * @throws JSQLParserException - */ - public static Expression parseCondExpression(String condExpr) throws JSQLParserException { - return parseCondExpression(condExpr, true); - } + /** + * Parse an conditional expression. This is the expression after a where clause. + * + * @param condExpr + * @return + * @throws JSQLParserException + */ + public Expression parseCondExpression(String condExpr) throws JSQLParserException { + return parseCondExpression(condExpr, true); + } - /** - * Parse an conditional expression. This is the expression after a where clause. - * - * @param condExpr - * @param allowPartialParse false: needs the whole string to be processed. - * @return - */ - public static Expression parseCondExpression(String condExpr, boolean allowPartialParse) throws JSQLParserException { - CCJSqlParser parser = new CCJSqlParser(new StringProvider(condExpr)); - try { - Expression expr = parser.Expression(); - if (!allowPartialParse && parser.getNextToken().kind != CCJSqlParserTokenManager.EOF) { - throw new JSQLParserException("could only parse partial expression " + expr.toString()); - } - return expr; - } catch (JSQLParserException ex) { - throw ex; - } catch (ParseException ex) { - throw new JSQLParserException(ex); - } - } + /** + * Parse an conditional expression. This is the expression after a where clause. + * + * @param condExpr + * @param allowPartialParse false: needs the whole string to be processed. + * @return + */ + public Expression parseCondExpression(String condExpr, boolean allowPartialParse) throws JSQLParserException { + CCJSqlParser parser = new CCJSqlParser(new StringProvider(condExpr)); + try { + Expression expr = parser.Expression(); + if (!allowPartialParse && parser.getNextToken().kind != CCJSqlParserTokenManager.EOF) { + throw new JSQLParserException("could only parse partial expression " + expr.toString()); + } + return expr; + } catch (JSQLParserException ex) { + throw ex; + } catch (ParseException ex) { + throw new JSQLParserException(ex); + } + } - /** - * Parse a statement list. - */ - public static Statements parseStatements(String sqls) throws JSQLParserException { - CCJSqlParser parser = new CCJSqlParser(new StringProvider(sqls)); - try { - return parser.Statements(); - } catch (Exception ex) { - throw new JSQLParserException(ex); - } - } + /** + * Parse a statement list. + */ + public Statements parseStatements(String sqls) throws JSQLParserException { + CCJSqlParser parser = new CCJSqlParser(new StringProvider(sqls)); + try { + return parser.Statements(); + } catch (Exception ex) { + throw new JSQLParserException(ex); + } + } } diff --git a/src/main/java/net/sf/jsqlparser/schema/Column.java b/src/main/java/net/sf/jsqlparser/schema/Column.java index 4b343c303..e9346aa37 100644 --- a/src/main/java/net/sf/jsqlparser/schema/Column.java +++ b/src/main/java/net/sf/jsqlparser/schema/Column.java @@ -21,82 +21,70 @@ */ package net.sf.jsqlparser.schema; -import net.sf.jsqlparser.expression.*; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.NoArgsConstructor; +import net.sf.jsqlparser.expression.Expression; +import net.sf.jsqlparser.expression.ExpressionVisitor; import net.sf.jsqlparser.parser.ASTNodeAccessImpl; /** * A column. It can have the table name it belongs to. */ +@Data +@NoArgsConstructor +@EqualsAndHashCode(callSuper = true) public final class Column extends ASTNodeAccessImpl implements Expression, MultiPartName { - private Table table; - private String columnName; + private Table table; + private String columnName; - public Column() { - } + public Column(Table table, String columnName) { + setTable(table); + setColumnName(columnName); + } - public Column(Table table, String columnName) { - setTable(table); - setColumnName(columnName); - } + public Column(String columnName) { + this(null, columnName); + } - public Column(String columnName) { - this(null, columnName); - } + @Override + public String getFullyQualifiedName() { + return getName(false); + } - public Table getTable() { - return table; - } + /** + * Get name with out without using aliases. + * + * @param aliases + * @return + */ + public String getName(boolean aliases) { + StringBuilder fqn = new StringBuilder(); - public void setTable(Table table) { - this.table = table; - } + if (table != null) { + if (table.getAlias() != null && aliases) { + fqn.append(table.getAlias().getName()); + } else { + fqn.append(table.getFullyQualifiedName()); + } + } + if (fqn.length() > 0) { + fqn.append('.'); + } + if (columnName != null) { + fqn.append(columnName); + } + return fqn.toString(); + } - public String getColumnName() { - return columnName; - } + @Override + public void accept(ExpressionVisitor expressionVisitor) { + expressionVisitor.visit(this); + } - public void setColumnName(String string) { - columnName = string; - } - - @Override - public String getFullyQualifiedName() { - return getName(false); - } - - /** - * Get name with out without using aliases. - * - * @param aliases - * @return - */ - public String getName(boolean aliases) { - StringBuilder fqn = new StringBuilder(); - - if (table != null) { - if (table.getAlias() != null && aliases) { - fqn.append(table.getAlias().getName()); - } else { - fqn.append(table.getFullyQualifiedName()); - } - } - if (fqn.length() > 0) { - fqn.append('.'); - } - if (columnName != null) { - fqn.append(columnName); - } - return fqn.toString(); - } - - @Override - public void accept(ExpressionVisitor expressionVisitor) { - expressionVisitor.visit(this); - } - - @Override - public String toString() { - return getName(true); - } + @Override + public String toString() { + return getName(true); + } } diff --git a/src/main/java/net/sf/jsqlparser/schema/Database.java b/src/main/java/net/sf/jsqlparser/schema/Database.java index 5035b4fdd..58be4497b 100644 --- a/src/main/java/net/sf/jsqlparser/schema/Database.java +++ b/src/main/java/net/sf/jsqlparser/schema/Database.java @@ -21,56 +21,42 @@ */ package net.sf.jsqlparser.schema; -public final class Database implements MultiPartName { - - private Server server; - private String databaseName; - - public Database(String databaseName) { - setDatabaseName(databaseName); - } +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; - public Database(Server server, String databaseName) { - setServer(server); - setDatabaseName(databaseName); - } - - public Server getServer() { - return server; - } - - public void setServer(Server server) { - this.server = server; - } +@Data +@NoArgsConstructor +@AllArgsConstructor +public final class Database implements MultiPartName { - public String getDatabaseName() { - return databaseName; - } + private Server server; + private String databaseName; - public void setDatabaseName(String databaseName) { - this.databaseName = databaseName; - } + public Database(String databaseName) { + this(null, databaseName); + } - @Override - public String getFullyQualifiedName() { - String fqn = ""; + @Override + public String getFullyQualifiedName() { + String fqn = ""; - if (server != null) { - fqn += server.getFullyQualifiedName(); - } - if (!fqn.isEmpty()) { - fqn += "."; - } + if (server != null) { + fqn += server.getFullyQualifiedName(); + } + if (!fqn.isEmpty()) { + fqn += "."; + } - if (databaseName != null) { - fqn += databaseName; - } + if (databaseName != null) { + fqn += databaseName; + } - return fqn; - } + return fqn; + } - @Override - public String toString() { - return getFullyQualifiedName(); - } + @Override + public String toString() { + return getFullyQualifiedName(); + } } diff --git a/src/main/java/net/sf/jsqlparser/schema/Server.java b/src/main/java/net/sf/jsqlparser/schema/Server.java index 7b83ab678..53ead19ab 100644 --- a/src/main/java/net/sf/jsqlparser/schema/Server.java +++ b/src/main/java/net/sf/jsqlparser/schema/Server.java @@ -21,8 +21,12 @@ */ package net.sf.jsqlparser.schema; -import java.util.regex.*; +import java.util.regex.Matcher; +import java.util.regex.Pattern; +import lombok.Data; + +@Data public final class Server implements MultiPartName { public static final Pattern SERVER_PATTERN = Pattern. @@ -49,22 +53,6 @@ public Server(String serverName, String instanceName) { setInstanceName(instanceName); } - public String getServerName() { - return serverName; - } - - public void setServerName(String serverName) { - this.serverName = serverName; - } - - public String getInstanceName() { - return instanceName; - } - - public void setInstanceName(String instanceName) { - this.instanceName = instanceName; - } - @Override public String getFullyQualifiedName() { if (serverName != null && !serverName.isEmpty() && instanceName != null && !instanceName. diff --git a/src/main/java/net/sf/jsqlparser/schema/Table.java b/src/main/java/net/sf/jsqlparser/schema/Table.java index 7a7a8ddba..8370d1766 100644 --- a/src/main/java/net/sf/jsqlparser/schema/Table.java +++ b/src/main/java/net/sf/jsqlparser/schema/Table.java @@ -21,132 +21,87 @@ */ package net.sf.jsqlparser.schema; -import net.sf.jsqlparser.expression.*; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.NoArgsConstructor; +import net.sf.jsqlparser.expression.Alias; +import net.sf.jsqlparser.expression.MySQLIndexHint; import net.sf.jsqlparser.parser.ASTNodeAccessImpl; -import net.sf.jsqlparser.statement.select.*; +import net.sf.jsqlparser.statement.select.FromItem; +import net.sf.jsqlparser.statement.select.FromItemVisitor; +import net.sf.jsqlparser.statement.select.IntoTableVisitor; +import net.sf.jsqlparser.statement.select.Pivot; /** * A table. It can have an alias and the schema name it belongs to. */ +@Data +@NoArgsConstructor +@EqualsAndHashCode(callSuper = true) public class Table extends ASTNodeAccessImpl implements FromItem, MultiPartName { - private Database database; - private String schemaName; - private String name; - - private Alias alias; - private Pivot pivot; - private MySQLIndexHint hint; - - public Table() { - } - - public Table(String name) { - this.name = name; - } - - public Table(String schemaName, String name) { - this.schemaName = schemaName; - this.name = name; - } - - public Table(Database database, String schemaName, String name) { - this.database = database; - this.schemaName = schemaName; - this.name = name; - } - - public Database getDatabase() { - return database; - } - - public void setDatabase(Database database) { - this.database = database; - } - - public String getSchemaName() { - return schemaName; - } - - public void setSchemaName(String string) { - schemaName = string; - } - - public String getName() { - return name; - } - - public void setName(String string) { - name = string; - } - - @Override - public Alias getAlias() { - return alias; - } - - @Override - public void setAlias(Alias alias) { - this.alias = alias; - } - - @Override - public String getFullyQualifiedName() { - String fqn = ""; - - if (database != null) { - fqn += database.getFullyQualifiedName(); - } - if (!fqn.isEmpty()) { - fqn += "."; - } - - if (schemaName != null) { - fqn += schemaName; - } - if (!fqn.isEmpty()) { - fqn += "."; - } - - if (name != null) { - fqn += name; - } - - return fqn; - } - - @Override - public void accept(FromItemVisitor fromItemVisitor) { - fromItemVisitor.visit(this); - } - - public void accept(IntoTableVisitor intoTableVisitor) { - intoTableVisitor.visit(this); - } - - @Override - public Pivot getPivot() { - return pivot; - } - - @Override - public void setPivot(Pivot pivot) { - this.pivot = pivot; - } - - public MySQLIndexHint getIndexHint() { - return hint; - } - - public void setHint(MySQLIndexHint hint) { - this.hint = hint; - } - - @Override - public String toString() { - return getFullyQualifiedName() - + ((alias != null) ? alias.toString() : "") - + ((pivot != null) ? " " + pivot : "") - + ((hint != null) ? hint.toString() : ""); - } + private Database database; + private String schemaName; + private String name; + + private Alias alias; + private Pivot pivot; + private MySQLIndexHint mySQLIndexHint; + + public Table(String name) { + this.name = name; + } + + public Table(String schemaName, String name) { + this.schemaName = schemaName; + this.name = name; + } + + public Table(Database database, String schemaName, String name) { + this.database = database; + this.schemaName = schemaName; + this.name = name; + } + + @Override + public String getFullyQualifiedName() { + String fqn = ""; + + if (database != null) { + fqn += database.getFullyQualifiedName(); + } + if (!fqn.isEmpty()) { + fqn += "."; + } + + if (schemaName != null) { + fqn += schemaName; + } + if (!fqn.isEmpty()) { + fqn += "."; + } + + if (name != null) { + fqn += name; + } + + return fqn; + } + + @Override + public void accept(FromItemVisitor fromItemVisitor) { + fromItemVisitor.visit(this); + } + + public void accept(IntoTableVisitor intoTableVisitor) { + intoTableVisitor.visit(this); + } + + @Override + public String toString() { + return getFullyQualifiedName() + + ((alias != null) ? alias.toString() : "") + + ((pivot != null) ? " " + pivot : "") + + ((mySQLIndexHint != null) ? mySQLIndexHint.toString() : ""); + } } diff --git a/src/main/java/net/sf/jsqlparser/statement/Commit.java b/src/main/java/net/sf/jsqlparser/statement/Commit.java index 66116a4bc..9232e1a21 100644 --- a/src/main/java/net/sf/jsqlparser/statement/Commit.java +++ b/src/main/java/net/sf/jsqlparser/statement/Commit.java @@ -22,13 +22,14 @@ package net.sf.jsqlparser.statement; public class Commit implements Statement { - @Override - public void accept(StatementVisitor statementVisitor) { - statementVisitor.visit(this); - } - - @Override - public String toString() { - return "COMMIT"; - } + + @Override + public void accept(StatementVisitor statementVisitor) { + statementVisitor.visit(this); + } + + @Override + public String toString() { + return "COMMIT"; + } } diff --git a/src/main/java/net/sf/jsqlparser/statement/SetStatement.java b/src/main/java/net/sf/jsqlparser/statement/SetStatement.java index 8794bd1ba..fe7f8726a 100644 --- a/src/main/java/net/sf/jsqlparser/statement/SetStatement.java +++ b/src/main/java/net/sf/jsqlparser/statement/SetStatement.java @@ -19,75 +19,54 @@ * . * #L% */ - /* - * Copyright (C) 2015 JSQLParser. - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, - * MA 02110-1301 USA - */ +/* +* Copyright (C) 2015 JSQLParser. +* +* This library is free software; you can redistribute it and/or +* modify it under the terms of the GNU Lesser General Public +* License as published by the Free Software Foundation; either +* version 2.1 of the License, or (at your option) any later version. +* +* This library is distributed in the hope that it will be useful, +* but WITHOUT ANY WARRANTY; without even the implied warranty of +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +* Lesser General Public License for more details. +* +* You should have received a copy of the GNU Lesser General Public +* License along with this library; if not, write to the Free Software +* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, +* MA 02110-1301 USA +*/ package net.sf.jsqlparser.statement; +import lombok.Data; +import lombok.experimental.Accessors; import net.sf.jsqlparser.expression.Expression; /** * * @author toben */ +@Data public class SetStatement implements Statement { - private String name; - private Expression expression; - private boolean useEqual; - - public SetStatement(String name, Expression expression) { - this.name = name; - this.expression = expression; - } - - public boolean isUseEqual() { - return useEqual; - } - - public SetStatement setUseEqual(boolean useEqual) { - this.useEqual = useEqual; - return this; - } - - public String getName() { - return name; - } - - public void setName(String name) { - this.name = name; - } - - public Expression getExpression() { - return expression; - } + private String name; + private Expression expression; + @Accessors(chain = true) + private boolean useEqual; - public void setExpression(Expression expression) { - this.expression = expression; - } + public SetStatement(String name, Expression expression) { + this.name = name; + this.expression = expression; + } - @Override - public String toString() { - return "SET " + name + (useEqual ? " = " : " ") + expression.toString(); - } + @Override + public String toString() { + return "SET " + name + (useEqual ? " = " : " ") + expression.toString(); + } - @Override - public void accept(StatementVisitor statementVisitor) { - statementVisitor.visit(this); - } + @Override + public void accept(StatementVisitor statementVisitor) { + statementVisitor.visit(this); + } } diff --git a/src/main/java/net/sf/jsqlparser/statement/Statements.java b/src/main/java/net/sf/jsqlparser/statement/Statements.java index 1d9f38ebe..c64e66a84 100644 --- a/src/main/java/net/sf/jsqlparser/statement/Statements.java +++ b/src/main/java/net/sf/jsqlparser/statement/Statements.java @@ -23,32 +23,27 @@ import java.util.List; +import lombok.Data; + /** * * @author toben */ +@Data public class Statements { - private List statements; - - public List getStatements() { - return statements; - } - - public void setStatements(List statements) { - this.statements = statements; - } + private List statements; - public void accept(StatementVisitor statementVisitor) { - statementVisitor.visit(this); - } + public void accept(StatementVisitor statementVisitor) { + statementVisitor.visit(this); + } - @Override - public String toString() { - StringBuilder b = new StringBuilder(); - for (Statement stmt : statements) { - b.append(stmt.toString()).append(";\n"); - } - return b.toString(); - } + @Override + public String toString() { + StringBuilder b = new StringBuilder(); + for (Statement stmt : statements) { + b.append(stmt.toString()).append(";\n"); + } + return b.toString(); + } } diff --git a/src/main/java/net/sf/jsqlparser/statement/UseStatement.java b/src/main/java/net/sf/jsqlparser/statement/UseStatement.java index c30308907..7415ae79c 100644 --- a/src/main/java/net/sf/jsqlparser/statement/UseStatement.java +++ b/src/main/java/net/sf/jsqlparser/statement/UseStatement.java @@ -21,26 +21,21 @@ */ package net.sf.jsqlparser.statement; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + /** * * @author toben */ +@Data +@NoArgsConstructor +@AllArgsConstructor public class UseStatement implements Statement { private String name; - public UseStatement(String name) { - this.name = name; - } - - public String getName() { - return name; - } - - public void setName(String name) { - this.name = name; - } - @Override public String toString() { return "USE " + name; diff --git a/src/main/java/net/sf/jsqlparser/statement/alter/Alter.java b/src/main/java/net/sf/jsqlparser/statement/alter/Alter.java index b0ea9342f..c98c6f4c8 100644 --- a/src/main/java/net/sf/jsqlparser/statement/alter/Alter.java +++ b/src/main/java/net/sf/jsqlparser/statement/alter/Alter.java @@ -25,6 +25,7 @@ import java.util.Iterator; import java.util.List; +import lombok.Data; import net.sf.jsqlparser.schema.Table; import net.sf.jsqlparser.statement.Statement; import net.sf.jsqlparser.statement.StatementVisitor; @@ -33,59 +34,43 @@ * * @author toben & wrobstory */ +@Data public class Alter implements Statement { - private Table table; + private Table table; - private List alterExpressions; + private List alterExpressions; - public Table getTable() { - return table; - } + public void addAlterExpression(AlterExpression alterExpression) { + if (alterExpressions == null) { + alterExpressions = new ArrayList(); + } + alterExpressions.add(alterExpression); + } - public void setTable(Table table) { - this.table = table; - } + @Override + public void accept(StatementVisitor statementVisitor) { + statementVisitor.visit(this); + } - public void addAlterExpression(AlterExpression alterExpression) { - if (alterExpressions == null) { - alterExpressions = new ArrayList(); - } - alterExpressions.add(alterExpression); - } + @Override + public String toString() { - public List getAlterExpressions() { - return alterExpressions; - } + StringBuilder b = new StringBuilder(); + b.append("ALTER TABLE ").append(table.getFullyQualifiedName()).append(" "); - public void setAlterExpressions(List alterExpressions) { - this.alterExpressions = alterExpressions; - } + Iterator altIter = alterExpressions.iterator(); - @Override - public void accept(StatementVisitor statementVisitor) { - statementVisitor.visit(this); - } + while (altIter.hasNext()) { + b.append(altIter.next().toString()); - @Override - public String toString() { - - StringBuilder b = new StringBuilder(); - b.append("ALTER TABLE ").append(table.getFullyQualifiedName()).append(" "); - - Iterator altIter = alterExpressions.iterator(); - - while (altIter.hasNext()) { - b.append(altIter.next().toString()); - - // Need to append whitespace after each ADD or DROP statement - // but not the last one - if (altIter.hasNext()) { - b.append(", "); - } - } - - return b.toString(); - } + // Need to append whitespace after each ADD or DROP statement + // but not the last one + if (altIter.hasNext()) { + b.append(", "); + } + } + return b.toString(); + } } diff --git a/src/main/java/net/sf/jsqlparser/statement/alter/AlterExpression.java b/src/main/java/net/sf/jsqlparser/statement/alter/AlterExpression.java index 9788888ed..ed2ae22a6 100644 --- a/src/main/java/net/sf/jsqlparser/statement/alter/AlterExpression.java +++ b/src/main/java/net/sf/jsqlparser/statement/alter/AlterExpression.java @@ -26,6 +26,7 @@ import java.util.Collections; import java.util.List; +import lombok.Data; import net.sf.jsqlparser.statement.create.table.ColDataType; import net.sf.jsqlparser.statement.create.table.Index; import net.sf.jsqlparser.statement.select.PlainSelect; @@ -34,6 +35,7 @@ * * @author toben & wrobstory */ +@Data public class AlterExpression { private AlterOperation operation; @@ -57,58 +59,6 @@ public class AlterExpression { private List constraints; private List parameters; - public AlterOperation getOperation() { - return operation; - } - - public void setOperation(AlterOperation operation) { - this.operation = operation; - } - - public boolean isOnDeleteCascade() { - return onDeleteCascade; - } - - public void setOnDeleteCascade(boolean onDeleteCascade) { - this.onDeleteCascade = onDeleteCascade; - } - - public boolean isOnDeleteRestrict() { - return onDeleteRestrict; - } - - public void setOnDeleteRestrict(boolean onDeleteRestrict) { - this.onDeleteRestrict = onDeleteRestrict; - } - - public boolean isOnDeleteSetNull() { - return onDeleteSetNull; - } - - public void setOnDeleteSetNull(boolean onDeleteSetNull) { - this.onDeleteSetNull = onDeleteSetNull; - } - - public List getFkColumns() { - return fkColumns; - } - - public void setFkColumns(List fkColumns) { - this.fkColumns = fkColumns; - } - - public String getFkSourceTable() { - return fkSourceTable; - } - - public void setFkSourceTable(String fkSourceTable) { - this.fkSourceTable = fkSourceTable; - } - - public List getColDataTypeList() { - return colDataTypeList; - } - public void addColDataType(String columnName, ColDataType colDataType) { addColDataType(new ColumnDataType(columnName, colDataType, null)); } @@ -120,70 +70,6 @@ public void addColDataType(ColumnDataType columnDataType) { colDataTypeList.add(columnDataType); } - public List getFkSourceColumns() { - return fkSourceColumns; - } - - public void setFkSourceColumns(List fkSourceColumns) { - this.fkSourceColumns = fkSourceColumns; - } - - public String getColumnName() { - return columnName; - } - - public void setColumnName(String columnName) { - this.columnName = columnName; - } - - public String getConstraintName() { - return this.constraintName; - } - - public void setConstraintName(final String constraintName) { - this.constraintName = constraintName; - } - - public List getPkColumns() { - return pkColumns; - } - - public void setPkColumns(List pkColumns) { - this.pkColumns = pkColumns; - } - - public List getUkColumns() { - return ukColumns; - } - - public void setUkColumns(List ukColumns) { - this.ukColumns = ukColumns; - } - - public String getUkName() { - return ukName; - } - - public void setUkName(String ukName) { - this.ukName = ukName; - } - - public Index getIndex() { - return index; - } - - public void setIndex(Index index) { - this.index = index; - } - - public List getConstraints() { - return constraints; - } - - public void setConstraints(List constraints) { - this.constraints = constraints; - } - public void addParameters(String... params) { if (parameters == null) { parameters = new ArrayList(); @@ -191,10 +77,6 @@ public void addParameters(String... params) { parameters.addAll(Arrays.asList(params)); } - public List getParameters() { - return parameters; - } - @Override public String toString() { @@ -245,6 +127,7 @@ public String toString() { return b.toString(); } + @Data public static class ColumnDataType { private final String columnName; @@ -257,14 +140,6 @@ public ColumnDataType(String columnName, ColDataType colDataType, List c this.columnSpecs = columnSpecs; } - public String getColumnName() { - return columnName; - } - - public ColDataType getColDataType() { - return colDataType; - } - public List getColumnSpecs() { if (columnSpecs == null) { return Collections.emptyList(); diff --git a/src/main/java/net/sf/jsqlparser/statement/alter/AlterOperation.java b/src/main/java/net/sf/jsqlparser/statement/alter/AlterOperation.java index ea37d08ce..c309253a7 100644 --- a/src/main/java/net/sf/jsqlparser/statement/alter/AlterOperation.java +++ b/src/main/java/net/sf/jsqlparser/statement/alter/AlterOperation.java @@ -26,5 +26,8 @@ * @author toben */ public enum AlterOperation { - ADD, DROP, MODIFY, CHANGE; + ADD, + DROP, + MODIFY, + CHANGE, } diff --git a/src/main/java/net/sf/jsqlparser/statement/alter/DeferrableConstraint.java b/src/main/java/net/sf/jsqlparser/statement/alter/DeferrableConstraint.java index c249b7d8a..9f8179022 100644 --- a/src/main/java/net/sf/jsqlparser/statement/alter/DeferrableConstraint.java +++ b/src/main/java/net/sf/jsqlparser/statement/alter/DeferrableConstraint.java @@ -21,29 +21,22 @@ */ package net.sf.jsqlparser.statement.alter; -public class DeferrableConstraint implements ConstraintState { - - private boolean not; +import lombok.AllArgsConstructor; +import lombok.Data; - public DeferrableConstraint(boolean not) { - this.not = not; - } - - public boolean isNot() { - return not; - } +@Data +@AllArgsConstructor +public class DeferrableConstraint implements ConstraintState { - public void setNot(boolean not) { - this.not = not; - } + private boolean not; - @Override - public String toString() { - StringBuilder b = new StringBuilder(); - if (not) { - b.append("NOT "); - } - b.append("DEFERRABLE"); - return b.toString(); - } + @Override + public String toString() { + StringBuilder b = new StringBuilder(); + if (not) { + b.append("NOT "); + } + b.append("DEFERRABLE"); + return b.toString(); + } } diff --git a/src/main/java/net/sf/jsqlparser/statement/alter/EnableConstraint.java b/src/main/java/net/sf/jsqlparser/statement/alter/EnableConstraint.java index 1bdcd7ec2..a6b3187b5 100644 --- a/src/main/java/net/sf/jsqlparser/statement/alter/EnableConstraint.java +++ b/src/main/java/net/sf/jsqlparser/statement/alter/EnableConstraint.java @@ -21,22 +21,15 @@ */ package net.sf.jsqlparser.statement.alter; +import lombok.AllArgsConstructor; +import lombok.Data; + +@Data +@AllArgsConstructor public class EnableConstraint implements ConstraintState { private boolean disable; - public EnableConstraint(boolean disable) { - this.disable = disable; - } - - public boolean isDisable() { - return disable; - } - - public void setDisable(boolean disable) { - this.disable = disable; - } - @Override public String toString() { return disable ? "DISABLE" : "ENABLE"; diff --git a/src/main/java/net/sf/jsqlparser/statement/alter/ValidateConstraint.java b/src/main/java/net/sf/jsqlparser/statement/alter/ValidateConstraint.java index c4241fa4e..76c3cfc77 100644 --- a/src/main/java/net/sf/jsqlparser/statement/alter/ValidateConstraint.java +++ b/src/main/java/net/sf/jsqlparser/statement/alter/ValidateConstraint.java @@ -21,24 +21,17 @@ */ package net.sf.jsqlparser.statement.alter; -public class ValidateConstraint implements ConstraintState { - - private boolean not; +import lombok.AllArgsConstructor; +import lombok.Data; - public ValidateConstraint(boolean not) { - this.not = not; - } - - public boolean isNot() { - return not; - } +@Data +@AllArgsConstructor +public class ValidateConstraint implements ConstraintState { - public void setNot(boolean not) { - this.not = not; - } + private boolean not; - @Override - public String toString() { - return not ? "NOVALIDATE" : "VALIDATE"; - } + @Override + public String toString() { + return not ? "NOVALIDATE" : "VALIDATE"; + } } diff --git a/src/main/java/net/sf/jsqlparser/statement/create/index/CreateIndex.java b/src/main/java/net/sf/jsqlparser/statement/create/index/CreateIndex.java index 5b590ea45..fa427cfd7 100644 --- a/src/main/java/net/sf/jsqlparser/statement/create/index/CreateIndex.java +++ b/src/main/java/net/sf/jsqlparser/statement/create/index/CreateIndex.java @@ -21,82 +21,68 @@ */ package net.sf.jsqlparser.statement.create.index; -import net.sf.jsqlparser.schema.*; -import net.sf.jsqlparser.statement.*; -import net.sf.jsqlparser.statement.create.table.*; +import java.util.Iterator; -import java.util.*; +import lombok.Data; +import net.sf.jsqlparser.schema.Table; +import net.sf.jsqlparser.statement.Statement; +import net.sf.jsqlparser.statement.StatementVisitor; +import net.sf.jsqlparser.statement.create.table.Index; /** * A "CREATE INDEX" statement * * @author Raymond Augé */ +@Data public class CreateIndex implements Statement { - private Table table; - private Index index; + /** + * The table on which the index is to be created + */ + private Table table; + /** + * The index to be created + */ + private Index index; - @Override - public void accept(StatementVisitor statementVisitor) { - statementVisitor.visit(this); - } + @Override + public void accept(StatementVisitor statementVisitor) { + statementVisitor.visit(this); + } - /** - * The index to be created - */ - public Index getIndex() { - return index; - } + @Override + public String toString() { + StringBuilder buffer = new StringBuilder(); - public void setIndex(Index index) { - this.index = index; - } + buffer.append("CREATE "); - /** - * The table on which the index is to be created - */ - public Table getTable() { - return table; - } + if (index.getType() != null) { + buffer.append(index.getType()); + buffer.append(" "); + } - public void setTable(Table table) { - this.table = table; - } + buffer.append("INDEX "); + buffer.append(index.getName()); + buffer.append(" ON "); + buffer.append(table.getFullyQualifiedName()); - @Override - public String toString() { - StringBuilder buffer = new StringBuilder(); + if (index.getColumnsNames() != null) { + buffer.append(" ("); - buffer.append("CREATE "); + for (Iterator iter = index.getColumnsNames().iterator(); iter.hasNext();) { + String columnName = iter.next(); - if (index.getType() != null) { - buffer.append(index.getType()); - buffer.append(" "); - } + buffer.append(columnName); - buffer.append("INDEX "); - buffer.append(index.getName()); - buffer.append(" ON "); - buffer.append(table.getFullyQualifiedName()); + if (iter.hasNext()) { + buffer.append(", "); + } + } - if (index.getColumnsNames() != null) { - buffer.append(" ("); - - for (Iterator iter = index.getColumnsNames().iterator(); iter.hasNext();) { - String columnName = (String) iter.next(); - - buffer.append(columnName); - - if (iter.hasNext()) { - buffer.append(", "); - } - } - - buffer.append(")"); - } - - return buffer.toString(); - } + buffer.append(")"); + } + return buffer.toString(); + } } diff --git a/src/main/java/net/sf/jsqlparser/statement/create/table/CheckConstraint.java b/src/main/java/net/sf/jsqlparser/statement/create/table/CheckConstraint.java index 8d2c14cfb..d37359c11 100644 --- a/src/main/java/net/sf/jsqlparser/statement/create/table/CheckConstraint.java +++ b/src/main/java/net/sf/jsqlparser/statement/create/table/CheckConstraint.java @@ -21,6 +21,7 @@ */ package net.sf.jsqlparser.statement.create.table; +import lombok.Data; import net.sf.jsqlparser.expression.Expression; import net.sf.jsqlparser.schema.Table; @@ -30,29 +31,14 @@ * * thor mw */ +@Data public class CheckConstraint extends NamedConstraint { - private Table table; - private Expression expression; + private Table table; + private Expression expression; - public Table getTable() { - return table; - } - - public void setTable(Table table) { - this.table = table; - } - - public Expression getExpression() { - return expression; - } - - public void setExpression(Expression expression) { - this.expression = expression; - } - - @Override - public String toString() { - return "CONSTRAINT " + getName() + " CHECK (" + expression + ")"; - } + @Override + public String toString() { + return "CONSTRAINT " + getName() + " CHECK (" + expression + ")"; + } } diff --git a/src/main/java/net/sf/jsqlparser/statement/create/table/ColDataType.java b/src/main/java/net/sf/jsqlparser/statement/create/table/ColDataType.java index fafb4f06d..556fdcabf 100644 --- a/src/main/java/net/sf/jsqlparser/statement/create/table/ColDataType.java +++ b/src/main/java/net/sf/jsqlparser/statement/create/table/ColDataType.java @@ -24,61 +24,30 @@ import java.util.ArrayList; import java.util.List; +import lombok.Data; import net.sf.jsqlparser.statement.select.PlainSelect; +@Data public class ColDataType { - private String dataType; - private List argumentsStringList; - private String characterSet; - private List arrayData = new ArrayList(); - - public List getArgumentsStringList() { - return argumentsStringList; - } - - public String getDataType() { - return dataType; - } - - public void setArgumentsStringList(List list) { - argumentsStringList = list; - } - - public void setDataType(String string) { - dataType = string; - } - - public String getCharacterSet() { - return characterSet; - } - - public void setCharacterSet(String characterSet) { - this.characterSet = characterSet; - } - - public List getArrayData() { - return arrayData; - } - - public void setArrayData(List arrayData) { - this.arrayData = arrayData; - } - - @Override - public String toString() { - StringBuilder arraySpec = new StringBuilder(); - for (Integer item : arrayData) { - arraySpec.append("["); - if (item != null) { - arraySpec.append(item); - } - arraySpec.append("]"); - } - return dataType - + (argumentsStringList != null ? " " + PlainSelect. - getStringList(argumentsStringList, true, true) : "") - + arraySpec.toString() - + (characterSet != null ? " CHARACTER SET " + characterSet : ""); - } + private String dataType; + private List argumentsStringList; + private String characterSet; + private List arrayData = new ArrayList(); + + @Override + public String toString() { + StringBuilder arraySpec = new StringBuilder(); + for (Integer item : arrayData) { + arraySpec.append("["); + if (item != null) { + arraySpec.append(item); + } + arraySpec.append("]"); + } + return dataType + + (argumentsStringList != null ? " " + PlainSelect.getStringList(argumentsStringList, true, true) : "") + + arraySpec.toString() + + (characterSet != null ? " CHARACTER SET " + characterSet : ""); + } } diff --git a/src/main/java/net/sf/jsqlparser/statement/create/table/ColumnDefinition.java b/src/main/java/net/sf/jsqlparser/statement/create/table/ColumnDefinition.java index c43adcbf2..9b4d37d21 100644 --- a/src/main/java/net/sf/jsqlparser/statement/create/table/ColumnDefinition.java +++ b/src/main/java/net/sf/jsqlparser/statement/create/table/ColumnDefinition.java @@ -23,52 +23,29 @@ import java.util.List; +import lombok.Data; import net.sf.jsqlparser.statement.select.PlainSelect; /** * A column definition in a CREATE TABLE statement.
* Example: mycol VARCHAR(30) NOT NULL */ +@Data public class ColumnDefinition { - private String columnName; - private ColDataType colDataType; - private List columnSpecStrings; - - /** - * A list of strings of every word after the datatype of the column.
- * Example ("NOT", "NULL") - */ - public List getColumnSpecStrings() { - return columnSpecStrings; - } - - public void setColumnSpecStrings(List list) { - columnSpecStrings = list; - } - - /** - * The {@link ColDataType} of this column definition - */ - public ColDataType getColDataType() { - return colDataType; - } - - public void setColDataType(ColDataType type) { - colDataType = type; - } - - public String getColumnName() { - return columnName; - } - - public void setColumnName(String string) { - columnName = string; - } - - @Override - public String toString() { - return columnName + " " + colDataType + (columnSpecStrings != null ? " " + PlainSelect. - getStringList(columnSpecStrings, false, false) : ""); - } + private String columnName; + /** + * The {@link ColDataType} of this column definition + */ + private ColDataType colDataType; + /** + * A list of strings of every word after the datatype of the column.
+ * Example ("NOT", "NULL") + */ + private List columnSpecStrings; + + @Override + public String toString() { + return columnName + " " + colDataType + (columnSpecStrings != null ? " " + PlainSelect.getStringList(columnSpecStrings, false, false) : ""); + } } diff --git a/src/main/java/net/sf/jsqlparser/statement/create/table/CreateTable.java b/src/main/java/net/sf/jsqlparser/statement/create/table/CreateTable.java index 0cc64f619..cb7202fd2 100644 --- a/src/main/java/net/sf/jsqlparser/statement/create/table/CreateTable.java +++ b/src/main/java/net/sf/jsqlparser/statement/create/table/CreateTable.java @@ -23,6 +23,7 @@ import java.util.List; +import lombok.Data; import net.sf.jsqlparser.schema.Table; import net.sf.jsqlparser.statement.Statement; import net.sf.jsqlparser.statement.StatementVisitor; @@ -32,113 +33,39 @@ /** * A "CREATE TABLE" statement */ +@Data public class CreateTable implements Statement { - private Table table; - private boolean unlogged = false; - private List createOptionsStrings; - private List tableOptionsStrings; - private List columnDefinitions; - private List indexes; - private Select select; - private boolean selectParenthesis; - private boolean ifNotExists = false; - - @Override - public void accept(StatementVisitor statementVisitor) { - statementVisitor.visit(this); - } - /** * The name of the table to be created */ - public Table getTable() { - return table; - } - - public void setTable(Table table) { - this.table = table; - } - + private Table table; /** * Whether the table is unlogged or not (PostgreSQL 9.1+ feature) - * - * @return */ - public boolean isUnlogged() { - return unlogged; - } - - public void setUnlogged(boolean unlogged) { - this.unlogged = unlogged; - } - + private boolean unlogged = false; + private List createOptionsStrings; /** - * A list of {@link ColumnDefinition}s of this table. + * A list of options (as simple strings) of this table definition, as ("TYPE", "=", "MYISAM") */ - public List getColumnDefinitions() { - return columnDefinitions; - } - - public void setColumnDefinitions(List list) { - columnDefinitions = list; - } - + private List tableOptionsStrings; /** - * A list of options (as simple strings) of this table definition, as ("TYPE", "=", "MYISAM") + * A list of {@link ColumnDefinition}s of this table. */ - public List getTableOptionsStrings() { - return tableOptionsStrings; - } - - public void setTableOptionsStrings(List list) { - tableOptionsStrings = list; - } - - public List getCreateOptionsStrings() { - return createOptionsStrings; - } - - public void setCreateOptionsStrings(List createOptionsStrings) { - this.createOptionsStrings = createOptionsStrings; - } - + private List columnDefinitions; /** * A list of {@link Index}es (for example "PRIMARY KEY") of this table.
* Indexes created with column definitions (as in mycol INT PRIMARY KEY) are not inserted into * this list. */ - public List getIndexes() { - return indexes; - } - - public void setIndexes(List list) { - indexes = list; - } - - public Select getSelect() { - return select; - } - - public void setSelect(Select select, boolean parenthesis) { - this.select = select; - this.selectParenthesis = parenthesis; - } - - public boolean isIfNotExists() { - return ifNotExists; - } - - public void setIfNotExists(boolean ifNotExists) { - this.ifNotExists = ifNotExists; - } - - public boolean isSelectParenthesis() { - return selectParenthesis; - } + private List indexes; + private Select select; + private boolean parenthesis; + private boolean ifNotExists = false; - public void setSelectParenthesis(boolean selectParenthesis) { - this.selectParenthesis = selectParenthesis; + @Override + public void accept(StatementVisitor statementVisitor) { + statementVisitor.visit(this); } @Override @@ -151,7 +78,7 @@ public String toString() { + "TABLE " + (ifNotExists ? "IF NOT EXISTS " : "") + table; if (select != null) { - sql += " AS " + (selectParenthesis ? "(" : "") + select.toString() + (selectParenthesis ? ")" : ""); + sql += " AS " + (parenthesis ? "(" : "") + select.toString() + (parenthesis ? ")" : ""); } else { sql += " ("; diff --git a/src/main/java/net/sf/jsqlparser/statement/create/table/ExcludeConstraint.java b/src/main/java/net/sf/jsqlparser/statement/create/table/ExcludeConstraint.java index 63fee20f0..754e25b9e 100644 --- a/src/main/java/net/sf/jsqlparser/statement/create/table/ExcludeConstraint.java +++ b/src/main/java/net/sf/jsqlparser/statement/create/table/ExcludeConstraint.java @@ -21,6 +21,7 @@ */ package net.sf.jsqlparser.statement.create.table; +import lombok.Data; import net.sf.jsqlparser.expression.Expression; /** @@ -28,25 +29,18 @@ * * @author wrobstory */ +@Data public class ExcludeConstraint extends Index { - private Expression expression; + private Expression expression; - public Expression getExpression() { - return expression; - } - - public void setExpression(Expression expression) { - this.expression = expression; - } - - @Override - public String toString() { - StringBuilder exclusionStatement = new StringBuilder("EXCLUDE WHERE "); - exclusionStatement.append("("); - exclusionStatement.append(expression); - exclusionStatement.append(")"); - return exclusionStatement.toString(); - } + @Override + public String toString() { + StringBuilder exclusionStatement = new StringBuilder("EXCLUDE WHERE "); + exclusionStatement.append("("); + exclusionStatement.append(expression); + exclusionStatement.append(")"); + return exclusionStatement.toString(); + } } diff --git a/src/main/java/net/sf/jsqlparser/statement/create/table/ForeignKeyIndex.java b/src/main/java/net/sf/jsqlparser/statement/create/table/ForeignKeyIndex.java index 0c371751a..cf05f7291 100644 --- a/src/main/java/net/sf/jsqlparser/statement/create/table/ForeignKeyIndex.java +++ b/src/main/java/net/sf/jsqlparser/statement/create/table/ForeignKeyIndex.java @@ -22,6 +22,8 @@ package net.sf.jsqlparser.statement.create.table; import java.util.List; + +import lombok.Data; import net.sf.jsqlparser.schema.Table; import net.sf.jsqlparser.statement.select.PlainSelect; @@ -30,6 +32,7 @@ * * @author toben */ +@Data public class ForeignKeyIndex extends NamedConstraint { private Table table; @@ -37,38 +40,6 @@ public class ForeignKeyIndex extends NamedConstraint { private String onDeleteReferenceOption; private String onUpdateReferenceOption; - public Table getTable() { - return table; - } - - public void setTable(Table table) { - this.table = table; - } - - public List getReferencedColumnNames() { - return referencedColumnNames; - } - - public void setReferencedColumnNames(List referencedColumnNames) { - this.referencedColumnNames = referencedColumnNames; - } - - public String getOnDeleteReferenceOption() { - return onDeleteReferenceOption; - } - - public void setOnDeleteReferenceOption(String onDeleteReferenceOption) { - this.onDeleteReferenceOption = onDeleteReferenceOption; - } - - public String getOnUpdateReferenceOption() { - return onUpdateReferenceOption; - } - - public void setOnUpdateReferenceOption(String onUpdateReferenceOption) { - this.onUpdateReferenceOption = onUpdateReferenceOption; - } - @Override public String toString() { String referenceOptions = ""; diff --git a/src/main/java/net/sf/jsqlparser/statement/create/table/Index.java b/src/main/java/net/sf/jsqlparser/statement/create/table/Index.java index 30beff484..a69ff3bff 100644 --- a/src/main/java/net/sf/jsqlparser/statement/create/table/Index.java +++ b/src/main/java/net/sf/jsqlparser/statement/create/table/Index.java @@ -23,60 +23,29 @@ import java.util.List; +import lombok.Data; import net.sf.jsqlparser.statement.select.PlainSelect; /** * An index (unique, primary etc.) in a CREATE TABLE statement */ +@Data public class Index { - private String type; - private List columnsNames; - private String name; - private List idxSpec; - - /** - * A list of strings of all the columns regarding this index - */ - public List getColumnsNames() { - return columnsNames; - } - - public String getName() { - return name; - } - - /** - * The type of this index: "PRIMARY KEY", "UNIQUE", "INDEX" - */ - public String getType() { - return type; - } - - public void setColumnsNames(List list) { - columnsNames = list; - } - - public void setName(String string) { - name = string; - } - - public void setType(String string) { - type = string; - } - - public List getIndexSpec() { - return idxSpec; - } - - public void setIndexSpec(List idxSpec) { - this.idxSpec = idxSpec; - } - - @Override - public String toString() { - String idxSpecText = PlainSelect.getStringList(idxSpec, false, false); - return type + (name != null ? " " + name : "") + " " + PlainSelect. - getStringList(columnsNames, true, true) + (!"".equals(idxSpecText) ? " " + idxSpecText : ""); - } + /** + * The type of this index: "PRIMARY KEY", "UNIQUE", "INDEX" + */ + private String type; + /** + * A list of strings of all the columns regarding this index + */ + private List columnsNames; + private String name; + private List indexSpec; + + @Override + public String toString() { + String idxSpecText = PlainSelect.getStringList(indexSpec, false, false); + return type + (name != null ? " " + name : "") + " " + PlainSelect.getStringList(columnsNames, true, true) + (!"".equals(idxSpecText) ? " " + idxSpecText : ""); + } } diff --git a/src/main/java/net/sf/jsqlparser/statement/create/view/AlterView.java b/src/main/java/net/sf/jsqlparser/statement/create/view/AlterView.java index fb87502ab..2ed94cf0a 100644 --- a/src/main/java/net/sf/jsqlparser/statement/create/view/AlterView.java +++ b/src/main/java/net/sf/jsqlparser/statement/create/view/AlterView.java @@ -22,6 +22,8 @@ package net.sf.jsqlparser.statement.create.view; import java.util.List; + +import lombok.Data; import net.sf.jsqlparser.schema.Table; import net.sf.jsqlparser.statement.Statement; import net.sf.jsqlparser.statement.StatementVisitor; @@ -31,58 +33,33 @@ /** * A "CREATE VIEW" statement */ +@Data public class AlterView implements Statement { - private Table view; - private SelectBody selectBody; - private List columnNames = null; - - @Override - public void accept(StatementVisitor statementVisitor) { - statementVisitor.visit(this); - } - - /** - * In the syntax tree, a view looks and acts just like a Table. - * - * @return The name of the view to be created. - */ - public Table getView() { - return view; - } - - public void setView(Table view) { - this.view = view; - } - - /** - * @return the SelectBody - */ - public SelectBody getSelectBody() { - return selectBody; - } - - public void setSelectBody(SelectBody selectBody) { - this.selectBody = selectBody; - } - - public List getColumnNames() { - return columnNames; - } + /** + * In the syntax tree, a view looks and acts just like a Table. + */ + private Table view; + /** + * @return the SelectBody + */ + private SelectBody selectBody; + private List columnNames = null; - public void setColumnNames(List columnNames) { - this.columnNames = columnNames; - } + @Override + public void accept(StatementVisitor statementVisitor) { + statementVisitor.visit(this); + } - @Override - public String toString() { - StringBuilder sql = new StringBuilder("ALTER "); - sql.append("VIEW "); - sql.append(view); - if (columnNames != null) { - sql.append(PlainSelect.getStringList(columnNames, true, true)); - } - sql.append(" AS ").append(selectBody); - return sql.toString(); - } + @Override + public String toString() { + StringBuilder sql = new StringBuilder("ALTER "); + sql.append("VIEW "); + sql.append(view); + if (columnNames != null) { + sql.append(PlainSelect.getStringList(columnNames, true, true)); + } + sql.append(" AS ").append(selectBody); + return sql.toString(); + } } diff --git a/src/main/java/net/sf/jsqlparser/statement/create/view/CreateView.java b/src/main/java/net/sf/jsqlparser/statement/create/view/CreateView.java index e3d514515..f3de85e70 100644 --- a/src/main/java/net/sf/jsqlparser/statement/create/view/CreateView.java +++ b/src/main/java/net/sf/jsqlparser/statement/create/view/CreateView.java @@ -22,6 +22,8 @@ package net.sf.jsqlparser.statement.create.view; import java.util.List; + +import lombok.Data; import net.sf.jsqlparser.schema.Table; import net.sf.jsqlparser.statement.Statement; import net.sf.jsqlparser.statement.StatementVisitor; @@ -31,88 +33,44 @@ /** * A "CREATE VIEW" statement */ +@Data public class CreateView implements Statement { - private Table view; - private SelectBody selectBody; - private boolean orReplace = false; - private List columnNames = null; - private boolean materialized = false; - - @Override - public void accept(StatementVisitor statementVisitor) { - statementVisitor.visit(this); - } - - /** - * In the syntax tree, a view looks and acts just like a Table. - * - * @return The name of the view to be created. - */ - public Table getView() { - return view; - } - - public void setView(Table view) { - this.view = view; - } - - /** - * @return was "OR REPLACE" specified? - */ - public boolean isOrReplace() { - return orReplace; - } - - /** - * @param orReplace was "OR REPLACE" specified? - */ - public void setOrReplace(boolean orReplace) { - this.orReplace = orReplace; - } - - /** - * @return the SelectBody - */ - public SelectBody getSelectBody() { - return selectBody; - } - - public void setSelectBody(SelectBody selectBody) { - this.selectBody = selectBody; - } - - public List getColumnNames() { - return columnNames; - } - - public void setColumnNames(List columnNames) { - this.columnNames = columnNames; - } - - public boolean isMaterialized() { - return materialized; - } + /** + * In the syntax tree, a view looks and acts just like a Table. + */ + private Table view; + /** + * @return the SelectBody + */ + private SelectBody selectBody; + /** + * @return was "OR REPLACE" specified? + */ + private boolean orReplace = false; + private List columnNames = null; + private boolean materialized = false; - public void setMaterialized(boolean materialized) { - this.materialized = materialized; - } + @Override + public void accept(StatementVisitor statementVisitor) { + statementVisitor.visit(this); + } - @Override - public String toString() { - StringBuilder sql = new StringBuilder("CREATE "); - if (isOrReplace()) { - sql.append("OR REPLACE "); - } - if (isMaterialized()) { - sql.append("MATERIALIZED "); - } - sql.append("VIEW "); - sql.append(view); - if (columnNames != null) { - sql.append(PlainSelect.getStringList(columnNames, true, true)); - } - sql.append(" AS ").append(selectBody); - return sql.toString(); - } + @Override + public String toString() { + StringBuilder sql = new StringBuilder("CREATE "); + if (isOrReplace()) { + sql.append("OR REPLACE "); + } + if (isMaterialized()) { + sql.append("MATERIALIZED "); + } + sql.append("VIEW "); + sql.append(view); + if (columnNames != null) { + sql.append(PlainSelect.getStringList(columnNames, true, true)); + } + sql.append(" AS ").append(selectBody); + return sql.toString(); + } } diff --git a/src/main/java/net/sf/jsqlparser/statement/delete/Delete.java b/src/main/java/net/sf/jsqlparser/statement/delete/Delete.java index 75e6e06cd..d27da9df9 100644 --- a/src/main/java/net/sf/jsqlparser/statement/delete/Delete.java +++ b/src/main/java/net/sf/jsqlparser/statement/delete/Delete.java @@ -21,6 +21,9 @@ */ package net.sf.jsqlparser.statement.delete; +import java.util.List; + +import lombok.Data; import net.sf.jsqlparser.expression.Expression; import net.sf.jsqlparser.schema.Table; import net.sf.jsqlparser.statement.Statement; @@ -30,105 +33,56 @@ import net.sf.jsqlparser.statement.select.OrderByElement; import net.sf.jsqlparser.statement.select.PlainSelect; -import java.util.List; - +@Data public class Delete implements Statement { - private Table table; - private List tables; - private List joins; - private Expression where; - private Limit limit; - private List orderByElements; - - public List getOrderByElements() { - return orderByElements; - } - - public void setOrderByElements(List orderByElements) { - this.orderByElements = orderByElements; - } - - @Override - public void accept(StatementVisitor statementVisitor) { - statementVisitor.visit(this); - } - - public Table getTable() { - return table; - } - - public Expression getWhere() { - return where; - } - - public void setTable(Table name) { - table = name; - } - - public void setWhere(Expression expression) { - where = expression; - } - - public Limit getLimit() { - return limit; - } - - public void setLimit(Limit limit) { - this.limit = limit; - } - - public List
getTables() { - return tables; - } - - public void setTables(List
tables) { - this.tables = tables; - } - - public List getJoins() { - return joins; - } - - public void setJoins(List joins) { - this.joins = joins; - } - - @Override - public String toString() { - StringBuilder b = new StringBuilder("DELETE"); - - if (tables != null && tables.size() > 0) { - b.append(" "); - for (Table t : tables) { - b.append(t.toString()); - } - } - - b.append(" FROM "); - b.append(table); - - if (joins != null) { - for (Join join : joins) { - if (join.isSimple()) { - b.append(", ").append(join); - } else { - b.append(" ").append(join); - } - } - } - - if (where != null) { - b.append(" WHERE ").append(where); - } - - if (orderByElements != null) { - b.append(PlainSelect.orderByToString(orderByElements)); - } - - if (limit != null) { - b.append(limit); - } - return b.toString(); - } + private Table table; + private List
tables; + private List joins; + private Expression where; + private Limit limit; + private List orderByElements; + + @Override + public void accept(StatementVisitor statementVisitor) { + statementVisitor.visit(this); + } + + @Override + public String toString() { + StringBuilder b = new StringBuilder("DELETE"); + + if (tables != null && tables.size() > 0) { + b.append(" "); + for (Table t : tables) { + b.append(t.toString()); + } + } + + b.append(" FROM "); + b.append(table); + + if (joins != null) { + for (Join join : joins) { + if (join.isSimple()) { + b.append(", ").append(join); + } else { + b.append(" ").append(join); + } + } + } + + if (where != null) { + b.append(" WHERE ").append(where); + } + + if (orderByElements != null) { + b.append(PlainSelect.orderByToString(orderByElements)); + } + + if (limit != null) { + b.append(limit); + } + return b.toString(); + } } diff --git a/src/main/java/net/sf/jsqlparser/statement/drop/Drop.java b/src/main/java/net/sf/jsqlparser/statement/drop/Drop.java index 69dceb189..ec395c6a1 100644 --- a/src/main/java/net/sf/jsqlparser/statement/drop/Drop.java +++ b/src/main/java/net/sf/jsqlparser/statement/drop/Drop.java @@ -22,12 +22,14 @@ package net.sf.jsqlparser.statement.drop; import java.util.List; -import net.sf.jsqlparser.schema.Table; +import lombok.Data; +import net.sf.jsqlparser.schema.Table; import net.sf.jsqlparser.statement.Statement; import net.sf.jsqlparser.statement.StatementVisitor; import net.sf.jsqlparser.statement.select.PlainSelect; +@Data public class Drop implements Statement { private String type; @@ -40,38 +42,6 @@ public void accept(StatementVisitor statementVisitor) { statementVisitor.visit(this); } - public Table getName() { - return name; - } - - public List getParameters() { - return parameters; - } - - public String getType() { - return type; - } - - public void setName(Table string) { - name = string; - } - - public void setParameters(List list) { - parameters = list; - } - - public void setType(String string) { - type = string; - } - - public boolean isIfExists() { - return ifExists; - } - - public void setIfExists(boolean ifExists) { - this.ifExists = ifExists; - } - @Override public String toString() { String sql = "DROP " + type + " " diff --git a/src/main/java/net/sf/jsqlparser/statement/execute/Execute.java b/src/main/java/net/sf/jsqlparser/statement/execute/Execute.java index 009e7455f..67c5a23b0 100644 --- a/src/main/java/net/sf/jsqlparser/statement/execute/Execute.java +++ b/src/main/java/net/sf/jsqlparser/statement/execute/Execute.java @@ -21,6 +21,7 @@ */ package net.sf.jsqlparser.statement.execute; +import lombok.Data; import net.sf.jsqlparser.expression.operators.relational.ExpressionList; import net.sf.jsqlparser.statement.Statement; import net.sf.jsqlparser.statement.StatementVisitor; @@ -30,51 +31,26 @@ * * @author toben */ +@Data public class Execute implements Statement { - private EXEC_TYPE execType = EXEC_TYPE.EXECUTE; - private String name; - private ExpressionList exprList; - - public String getName() { - return name; - } - - public void setName(String name) { - this.name = name; - } - - public ExpressionList getExprList() { - return exprList; - } - - public void setExprList(ExpressionList exprList) { - this.exprList = exprList; - } - - public EXEC_TYPE getExecType() { - return execType; - } - - public void setExecType(EXEC_TYPE execType) { - this.execType = execType; - } - - @Override - public void accept(StatementVisitor statementVisitor) { - statementVisitor.visit(this); - } - - @Override - public String toString() { - return execType.name() + " " + name + " " + PlainSelect. - getStringList(exprList.getExpressions(), true, false); - } - - public static enum EXEC_TYPE { - EXECUTE, - EXEC, - CALL - } - + private EXEC_TYPE execType = EXEC_TYPE.EXECUTE; + private String name; + private ExpressionList exprList; + + @Override + public void accept(StatementVisitor statementVisitor) { + statementVisitor.visit(this); + } + + @Override + public String toString() { + return execType.name() + " " + name + " " + PlainSelect.getStringList(exprList.getExpressions(), true, false); + } + + public static enum EXEC_TYPE { + EXECUTE, + EXEC, + CALL + } } diff --git a/src/main/java/net/sf/jsqlparser/statement/insert/Insert.java b/src/main/java/net/sf/jsqlparser/statement/insert/Insert.java index ad312b433..4c824ae00 100644 --- a/src/main/java/net/sf/jsqlparser/statement/insert/Insert.java +++ b/src/main/java/net/sf/jsqlparser/statement/insert/Insert.java @@ -23,6 +23,7 @@ import java.util.List; +import lombok.Data; import net.sf.jsqlparser.expression.Expression; import net.sf.jsqlparser.expression.operators.relational.ItemsList; import net.sf.jsqlparser.schema.Column; @@ -37,238 +38,105 @@ * The insert statement. Every column name in columnNames matches an item in * itemsList */ +@Data public class Insert implements Statement { - private Table table; - private List columns; - private ItemsList itemsList; - private boolean useValues = true; - private Select select; - private boolean useSelectBrackets = true; - private boolean useDuplicate = false; - private List duplicateUpdateColumns; - private List duplicateUpdateExpressionList; - private InsertModifierPriority modifierPriority = null; - private boolean modifierIgnore = false; - - private boolean returningAllColumns = false; - - private List returningExpressionList = null; - - /* these lines of codes are used to handle SET syntax in the insert part. - * the SET syntax is based on this: https://dev.mysql.com/doc/refman/5.6/en/insert.html. */ - private boolean useSet = false; - private List setColumns; - private List setExpressionList; - - @Override - public void accept(StatementVisitor statementVisitor) { - statementVisitor.visit(this); - } - - public Table getTable() { - return table; - } - - public void setTable(Table name) { - table = name; - } - - /** - * Get the columns (found in "INSERT INTO (col1,col2..) [...]" ) - * - * @return a list of {@link net.sf.jsqlparser.schema.Column} - */ - public List getColumns() { - return columns; - } - - public void setColumns(List list) { - columns = list; - } - - /** - * Get the values (as VALUES (...) or SELECT) - * - * @return the values of the insert - */ - public ItemsList getItemsList() { - return itemsList; - } - - public void setItemsList(ItemsList list) { - itemsList = list; - } - - public boolean isUseValues() { - return useValues; - } - - public void setUseValues(boolean useValues) { - this.useValues = useValues; - } - - public boolean isReturningAllColumns() { - return returningAllColumns; - } - - public void setReturningAllColumns(boolean returningAllColumns) { - this.returningAllColumns = returningAllColumns; - } - - public List getReturningExpressionList() { - return returningExpressionList; - } - - public void setReturningExpressionList(List returningExpressionList) { - this.returningExpressionList = returningExpressionList; - } - - public Select getSelect() { - return select; - } - - public void setSelect(Select select) { - this.select = select; - } - - public boolean isUseSelectBrackets() { - return useSelectBrackets; - } - - public void setUseSelectBrackets(boolean useSelectBrackets) { - this.useSelectBrackets = useSelectBrackets; - } - - public boolean isUseDuplicate() { - return useDuplicate; - } - - public void setUseDuplicate(boolean useDuplicate) { - this.useDuplicate = useDuplicate; - } - - public List getDuplicateUpdateColumns() { - return duplicateUpdateColumns; - } - - public void setDuplicateUpdateColumns(List duplicateUpdateColumns) { - this.duplicateUpdateColumns = duplicateUpdateColumns; - } - - public List getDuplicateUpdateExpressionList() { - return duplicateUpdateExpressionList; - } - - public void setDuplicateUpdateExpressionList(List duplicateUpdateExpressionList) { - this.duplicateUpdateExpressionList = duplicateUpdateExpressionList; - } - - public InsertModifierPriority getModifierPriority() { - return modifierPriority; - } - - public void setModifierPriority(InsertModifierPriority modifierPriority) { - this.modifierPriority = modifierPriority; - } - - public boolean isModifierIgnore() { - return modifierIgnore; - } - - public void setModifierIgnore(boolean modifierIgnore) { - this.modifierIgnore = modifierIgnore; - } - - public void setUseSet(boolean useSet) { - this.useSet = useSet; - } - - public boolean isUseSet() { - return useSet; - } - - public void setSetColumns(List setColumns) { - this.setColumns = setColumns; - } - - public List getSetColumns() { - return setColumns; - } - - public void setSetExpressionList(List setExpressionList) { - this.setExpressionList = setExpressionList; - } - - public List getSetExpressionList() { - return setExpressionList; - } - - @Override - public String toString() { - StringBuilder sql = new StringBuilder(); - - sql.append("INSERT "); - if (modifierPriority != null) { - sql.append(modifierPriority.name()).append(" "); - } - if (modifierIgnore) { - sql.append("IGNORE "); - } - sql.append("INTO "); - sql.append(table).append(" "); - if (columns != null) { - sql.append(PlainSelect.getStringList(columns, true, true)).append(" "); - } - - if (useValues) { - sql.append("VALUES "); - } - - if (itemsList != null) { - sql.append(itemsList); - } else { - if (useSelectBrackets) { - sql.append("("); - } - if (select != null) { - sql.append(select); - } - if (useSelectBrackets) { - sql.append(")"); - } - } - - if (useSet) { - sql.append("SET "); - for (int i = 0; i < getSetColumns().size(); i++) { - if (i != 0) { - sql.append(", "); - } - sql.append(setColumns.get(i)).append(" = "); - sql.append(setExpressionList.get(i)); - } - } - - if (useDuplicate) { - sql.append(" ON DUPLICATE KEY UPDATE "); - for (int i = 0; i < getDuplicateUpdateColumns().size(); i++) { - if (i != 0) { - sql.append(", "); - } - sql.append(duplicateUpdateColumns.get(i)).append(" = "); - sql.append(duplicateUpdateExpressionList.get(i)); - } - } - - if (isReturningAllColumns()) { - sql.append(" RETURNING *"); - } else if (getReturningExpressionList() != null) { - sql.append(" RETURNING ").append(PlainSelect. - getStringList(getReturningExpressionList(), true, false)); - } - - return sql.toString(); - } - + private Table table; + /** + * The columns (found in "INSERT INTO (col1,col2..) [...]" ) + */ + private List columns; + /** + * The values (as VALUES (...) or SELECT) + */ + private ItemsList itemsList; + private boolean useValues = true; + private Select select; + private boolean useSelectBrackets = true; + private boolean useDuplicate = false; + private List duplicateUpdateColumns; + private List duplicateUpdateExpressionList; + private InsertModifierPriority modifierPriority = null; + private boolean modifierIgnore = false; + + private boolean returningAllColumns = false; + + private List returningExpressionList = null; + + /* these lines of codes are used to handle SET syntax in the insert part. + * the SET syntax is based on this: https://dev.mysql.com/doc/refman/5.6/en/insert.html. */ + private boolean useSet = false; + private List setColumns; + private List setExpressionList; + + @Override + public void accept(StatementVisitor statementVisitor) { + statementVisitor.visit(this); + } + + @Override + public String toString() { + StringBuilder sql = new StringBuilder(); + + sql.append("INSERT "); + if (modifierPriority != null) { + sql.append(modifierPriority.name()).append(" "); + } + if (modifierIgnore) { + sql.append("IGNORE "); + } + sql.append("INTO "); + sql.append(table).append(" "); + if (columns != null) { + sql.append(PlainSelect.getStringList(columns, true, true)).append(" "); + } + + if (useValues) { + sql.append("VALUES "); + } + + if (itemsList != null) { + sql.append(itemsList); + } else { + if (useSelectBrackets) { + sql.append("("); + } + if (select != null) { + sql.append(select); + } + if (useSelectBrackets) { + sql.append(")"); + } + } + + if (useSet) { + sql.append("SET "); + for (int i = 0; i < getSetColumns().size(); i++) { + if (i != 0) { + sql.append(", "); + } + sql.append(setColumns.get(i)).append(" = "); + sql.append(setExpressionList.get(i)); + } + } + + if (useDuplicate) { + sql.append(" ON DUPLICATE KEY UPDATE "); + for (int i = 0; i < getDuplicateUpdateColumns().size(); i++) { + if (i != 0) { + sql.append(", "); + } + sql.append(duplicateUpdateColumns.get(i)).append(" = "); + sql.append(duplicateUpdateExpressionList.get(i)); + } + } + + if (isReturningAllColumns()) { + sql.append(" RETURNING *"); + } else if (getReturningExpressionList() != null) { + sql.append(" RETURNING ").append(PlainSelect.getStringList(getReturningExpressionList(), true, false)); + } + + return sql.toString(); + } } diff --git a/src/main/java/net/sf/jsqlparser/statement/insert/InsertModifierPriority.java b/src/main/java/net/sf/jsqlparser/statement/insert/InsertModifierPriority.java index c5296a991..3ac41da8c 100644 --- a/src/main/java/net/sf/jsqlparser/statement/insert/InsertModifierPriority.java +++ b/src/main/java/net/sf/jsqlparser/statement/insert/InsertModifierPriority.java @@ -26,5 +26,8 @@ * @author tw */ public enum InsertModifierPriority { - LOW_PRIORITY, DELAYED, HIGH_PRIORITY, IGNORE + LOW_PRIORITY, + DELAYED, + HIGH_PRIORITY, + IGNORE, } diff --git a/src/main/java/net/sf/jsqlparser/statement/merge/Merge.java b/src/main/java/net/sf/jsqlparser/statement/merge/Merge.java index 5bb95e1dc..4a51c472a 100644 --- a/src/main/java/net/sf/jsqlparser/statement/merge/Merge.java +++ b/src/main/java/net/sf/jsqlparser/statement/merge/Merge.java @@ -21,6 +21,7 @@ */ package net.sf.jsqlparser.statement.merge; +import lombok.Data; import net.sf.jsqlparser.expression.Alias; import net.sf.jsqlparser.expression.Expression; import net.sf.jsqlparser.schema.Table; @@ -33,124 +34,65 @@ * * @author tw */ +@Data public class Merge implements Statement { - private Table table; - private Table usingTable; - private SubSelect usingSelect; - private Alias usingAlias; - private Expression onCondition; - private MergeInsert mergeInsert; - private MergeUpdate mergeUpdate; - private boolean insertFirst = false; - - public Table getTable() { - return table; - } - - public void setTable(Table name) { - table = name; - } - - public Table getUsingTable() { - return usingTable; - } - - public void setUsingTable(Table usingTable) { - this.usingTable = usingTable; - } - - public SubSelect getUsingSelect() { - return usingSelect; - } - - public void setUsingSelect(SubSelect usingSelect) { - this.usingSelect = usingSelect; - if (this.usingSelect != null) { - this.usingSelect.setUseBrackets(false); - } - } - - public Alias getUsingAlias() { - return usingAlias; - } - - public void setUsingAlias(Alias usingAlias) { - this.usingAlias = usingAlias; - } - - public Expression getOnCondition() { - return onCondition; - } - - public void setOnCondition(Expression onCondition) { - this.onCondition = onCondition; - } - - public MergeInsert getMergeInsert() { - return mergeInsert; - } - - public void setMergeInsert(MergeInsert insert) { - this.mergeInsert = insert; - } - - public MergeUpdate getMergeUpdate() { - return mergeUpdate; - } - - public void setMergeUpdate(MergeUpdate mergeUpdate) { - this.mergeUpdate = mergeUpdate; - } - - @Override - public void accept(StatementVisitor statementVisitor) { - statementVisitor.visit(this); - } - - public boolean isInsertFirst() { - return insertFirst; - } - - public void setInsertFirst(boolean insertFirst) { - this.insertFirst = insertFirst; - } - - @Override - public String toString() { - StringBuilder b = new StringBuilder(); - b.append("MERGE INTO "); - b.append(table); - b.append(" USING "); - if (usingTable != null) { - b.append(usingTable.toString()); - } else if (usingSelect != null) { - b.append("(").append(usingSelect.toString()).append(")"); - } - - if (usingAlias != null) { - b.append(usingAlias.toString()); - } - b.append(" ON ("); - b.append(onCondition); - b.append(")"); - - if (insertFirst) { - if (mergeInsert != null) { - b.append(mergeInsert.toString()); - } - } - - if (mergeUpdate != null) { - b.append(mergeUpdate.toString()); - } - - if (!insertFirst) { - if (mergeInsert != null) { - b.append(mergeInsert.toString()); - } - } - - return b.toString(); - } + private Table table; + private Table usingTable; + private SubSelect usingSelect; + private Alias usingAlias; + private Expression onCondition; + private MergeInsert mergeInsert; + private MergeUpdate mergeUpdate; + private boolean insertFirst = false; + + public void setUsingSelect(SubSelect usingSelect) { + this.usingSelect = usingSelect; + if (this.usingSelect != null) { + this.usingSelect.setUseBrackets(false); + } + } + + @Override + public void accept(StatementVisitor statementVisitor) { + statementVisitor.visit(this); + } + + @Override + public String toString() { + StringBuilder b = new StringBuilder(); + b.append("MERGE INTO "); + b.append(table); + b.append(" USING "); + if (usingTable != null) { + b.append(usingTable.toString()); + } else if (usingSelect != null) { + b.append("(").append(usingSelect.toString()).append(")"); + } + + if (usingAlias != null) { + b.append(usingAlias.toString()); + } + b.append(" ON ("); + b.append(onCondition); + b.append(")"); + + if (insertFirst) { + if (mergeInsert != null) { + b.append(mergeInsert.toString()); + } + } + + if (mergeUpdate != null) { + b.append(mergeUpdate.toString()); + } + + if (!insertFirst) { + if (mergeInsert != null) { + b.append(mergeInsert.toString()); + } + } + + return b.toString(); + } } diff --git a/src/main/java/net/sf/jsqlparser/statement/merge/MergeInsert.java b/src/main/java/net/sf/jsqlparser/statement/merge/MergeInsert.java index cfc679c11..19da5d606 100644 --- a/src/main/java/net/sf/jsqlparser/statement/merge/MergeInsert.java +++ b/src/main/java/net/sf/jsqlparser/statement/merge/MergeInsert.java @@ -22,6 +22,8 @@ package net.sf.jsqlparser.statement.merge; import java.util.List; + +import lombok.Data; import net.sf.jsqlparser.expression.Expression; import net.sf.jsqlparser.schema.Column; import net.sf.jsqlparser.statement.select.PlainSelect; @@ -30,30 +32,15 @@ * * @author toben */ +@Data public class MergeInsert { - private List columns = null; - private List values = null; - - public List getColumns() { - return columns; - } - - public void setColumns(List columns) { - this.columns = columns; - } - - public List getValues() { - return values; - } - - public void setValues(List values) { - this.values = values; - } + private List columns = null; + private List values = null; - @Override - public String toString() { - return " WHEN NOT MATCHED THEN INSERT " + PlainSelect.getStringList(columns, true, true) - + " VALUES " + PlainSelect.getStringList(values, true, true); - } + @Override + public String toString() { + return " WHEN NOT MATCHED THEN INSERT " + PlainSelect.getStringList(columns, true, true) + + " VALUES " + PlainSelect.getStringList(values, true, true); + } } diff --git a/src/main/java/net/sf/jsqlparser/statement/merge/MergeUpdate.java b/src/main/java/net/sf/jsqlparser/statement/merge/MergeUpdate.java index bdd1a404d..950f18cfd 100644 --- a/src/main/java/net/sf/jsqlparser/statement/merge/MergeUpdate.java +++ b/src/main/java/net/sf/jsqlparser/statement/merge/MergeUpdate.java @@ -22,6 +22,8 @@ package net.sf.jsqlparser.statement.merge; import java.util.List; + +import lombok.Data; import net.sf.jsqlparser.expression.Expression; import net.sf.jsqlparser.schema.Column; @@ -29,61 +31,30 @@ * * @author toben */ +@Data public class MergeUpdate { - private List columns = null; - private List values = null; - private Expression whereCondition; - private Expression deleteWhereCondition; - - public List getColumns() { - return columns; - } - - public void setColumns(List columns) { - this.columns = columns; - } - - public List getValues() { - return values; - } - - public void setValues(List values) { - this.values = values; - } - - public Expression getWhereCondition() { - return whereCondition; - } - - public void setWhereCondition(Expression whereCondition) { - this.whereCondition = whereCondition; - } - - public Expression getDeleteWhereCondition() { - return deleteWhereCondition; - } - - public void setDeleteWhereCondition(Expression deleteWhereCondition) { - this.deleteWhereCondition = deleteWhereCondition; - } - - @Override - public String toString() { - StringBuilder b = new StringBuilder(); - b.append(" WHEN MATCHED THEN UPDATE SET "); - for (int i = 0; i < columns.size(); i++) { - if (i != 0) { - b.append(", "); - } - b.append(columns.get(i).toString()).append(" = ").append(values.get(i).toString()); - } - if (whereCondition != null) { - b.append(" WHERE ").append(whereCondition.toString()); - } - if (deleteWhereCondition != null) { - b.append(" DELETE WHERE ").append(deleteWhereCondition.toString()); - } - return b.toString(); - } + private List columns = null; + private List values = null; + private Expression whereCondition; + private Expression deleteWhereCondition; + + @Override + public String toString() { + StringBuilder b = new StringBuilder(); + b.append(" WHEN MATCHED THEN UPDATE SET "); + for (int i = 0; i < columns.size(); i++) { + if (i != 0) { + b.append(", "); + } + b.append(columns.get(i).toString()).append(" = ").append(values.get(i).toString()); + } + if (whereCondition != null) { + b.append(" WHERE ").append(whereCondition.toString()); + } + if (deleteWhereCondition != null) { + b.append(" DELETE WHERE ").append(deleteWhereCondition.toString()); + } + return b.toString(); + } } diff --git a/src/main/java/net/sf/jsqlparser/statement/replace/Replace.java b/src/main/java/net/sf/jsqlparser/statement/replace/Replace.java index 936d1665b..a11ed6999 100644 --- a/src/main/java/net/sf/jsqlparser/statement/replace/Replace.java +++ b/src/main/java/net/sf/jsqlparser/statement/replace/Replace.java @@ -23,6 +23,7 @@ import java.util.List; +import lombok.Data; import net.sf.jsqlparser.expression.Expression; import net.sf.jsqlparser.expression.operators.relational.ItemsList; import net.sf.jsqlparser.schema.Column; @@ -34,116 +35,67 @@ /** * The replace statement. */ +@Data public class Replace implements Statement { - private Table table; - private List columns; - private ItemsList itemsList; - private List expressions; - private boolean useValues = true; - private boolean useIntoTables = false; - - @Override - public void accept(StatementVisitor statementVisitor) { - statementVisitor.visit(this); - } - - public Table getTable() { - return table; - } - - public void setTable(Table name) { - table = name; - } - - public boolean isUseIntoTables() { - return useIntoTables; - } - - public void setUseIntoTables(boolean useIntoTables) { - this.useIntoTables = useIntoTables; - } - - /** - * A list of {@link net.sf.jsqlparser.schema.Column}s either from a "REPLACE mytab (col1, col2) - * [...]" or a "REPLACE mytab SET col1=exp1, col2=exp2". - * - * @return a list of {@link net.sf.jsqlparser.schema.Column}s - */ - public List getColumns() { - return columns; - } - - /** - * An {@link ItemsList} (either from a "REPLACE mytab VALUES (exp1,exp2)" or a "REPLACE mytab - * SELECT * FROM mytab2") it is null in case of a "REPLACE mytab SET col1=exp1, col2=exp2" - */ - public ItemsList getItemsList() { - return itemsList; - } - - public void setColumns(List list) { - columns = list; - } - - public void setItemsList(ItemsList list) { - itemsList = list; - } - - /** - * A list of {@link net.sf.jsqlparser.expression.Expression}s (from a "REPLACE mytab SET - * col1=exp1, col2=exp2").
- * it is null in case of a "REPLACE mytab (col1, col2) [...]" - */ - public List getExpressions() { - return expressions; - } - - public void setExpressions(List list) { - expressions = list; - } - - public boolean isUseValues() { - return useValues; - } - - public void setUseValues(boolean useValues) { - this.useValues = useValues; - } - - @Override - public String toString() { - StringBuilder sql = new StringBuilder(); - sql.append("REPLACE "); - if (isUseIntoTables()) { - sql.append("INTO "); - } - sql.append(table); - - if (expressions != null && columns != null) { - // the SET col1=exp1, col2=exp2 case - sql.append(" SET "); - // each element from expressions match up with a column from columns. - for (int i = 0, s = columns.size(); i < s; i++) { - sql.append(columns.get(i)).append("=").append(expressions.get(i)); - sql.append((i < s - 1) ? ", " : ""); - } - } else if (columns != null) { - // the REPLACE mytab (col1, col2) [...] case - sql.append(" ").append(PlainSelect.getStringList(columns, true, true)); - } - - if (itemsList != null) { - // REPLACE mytab SELECT * FROM mytab2 - // or VALUES ('as', ?, 565) - - if (useValues) { - sql.append(" VALUES"); - } - - sql.append(" ").append(itemsList); - } - - return sql.toString(); - } + private Table table; + /** + * A list of {@link net.sf.jsqlparser.schema.Column}s either from a "REPLACE mytab (col1, col2) + * [...]" or a "REPLACE mytab SET col1=exp1, col2=exp2". + */ + private List columns; + /** + * An {@link ItemsList} (either from a "REPLACE mytab VALUES (exp1,exp2)" or a "REPLACE mytab + * SELECT * FROM mytab2") it is null in case of a "REPLACE mytab SET col1=exp1, col2=exp2" + */ + private ItemsList itemsList; + /** + * A list of {@link net.sf.jsqlparser.expression.Expression}s (from a "REPLACE mytab SET + * col1=exp1, col2=exp2").
+ * it is null in case of a "REPLACE mytab (col1, col2) [...]" + */ + private List expressions; + private boolean useValues = true; + private boolean useIntoTables = false; + + @Override + public void accept(StatementVisitor statementVisitor) { + statementVisitor.visit(this); + } + + @Override + public String toString() { + StringBuilder sql = new StringBuilder(); + sql.append("REPLACE "); + if (isUseIntoTables()) { + sql.append("INTO "); + } + sql.append(table); + + if (expressions != null && columns != null) { + // the SET col1=exp1, col2=exp2 case + sql.append(" SET "); + // each element from expressions match up with a column from columns. + for (int i = 0, s = columns.size(); i < s; i++) { + sql.append(columns.get(i)).append("=").append(expressions.get(i)); + sql.append((i < s - 1) ? ", " : ""); + } + } else if (columns != null) { + // the REPLACE mytab (col1, col2) [...] case + sql.append(" ").append(PlainSelect.getStringList(columns, true, true)); + } + + if (itemsList != null) { + // REPLACE mytab SELECT * FROM mytab2 + // or VALUES ('as', ?, 565) + + if (useValues) { + sql.append(" VALUES"); + } + + sql.append(" ").append(itemsList); + } + + return sql.toString(); + } } diff --git a/src/main/java/net/sf/jsqlparser/statement/select/AllTableColumns.java b/src/main/java/net/sf/jsqlparser/statement/select/AllTableColumns.java index 6bc4d087e..451f909e6 100644 --- a/src/main/java/net/sf/jsqlparser/statement/select/AllTableColumns.java +++ b/src/main/java/net/sf/jsqlparser/statement/select/AllTableColumns.java @@ -21,38 +21,29 @@ */ package net.sf.jsqlparser.statement.select; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; /** * All the columns of a table (as in "SELECT TableName.* FROM ...") */ import net.sf.jsqlparser.parser.ASTNodeAccessImpl; -import net.sf.jsqlparser.schema.*; +import net.sf.jsqlparser.schema.Table; +@Data +@NoArgsConstructor +@AllArgsConstructor public class AllTableColumns extends ASTNodeAccessImpl implements SelectItem { - private Table table; + private Table table; - public AllTableColumns() { - } + @Override + public void accept(SelectItemVisitor selectItemVisitor) { + selectItemVisitor.visit(this); + } - public AllTableColumns(Table tableName) { - this.table = tableName; - } - - public Table getTable() { - return table; - } - - public void setTable(Table table) { - this.table = table; - } - - @Override - public void accept(SelectItemVisitor selectItemVisitor) { - selectItemVisitor.visit(this); - } - - @Override - public String toString() { - return table + ".*"; - } + @Override + public String toString() { + return table + ".*"; + } } diff --git a/src/main/java/net/sf/jsqlparser/statement/select/Distinct.java b/src/main/java/net/sf/jsqlparser/statement/select/Distinct.java index e9d62ab0e..2106ff696 100644 --- a/src/main/java/net/sf/jsqlparser/statement/select/Distinct.java +++ b/src/main/java/net/sf/jsqlparser/statement/select/Distinct.java @@ -23,39 +23,23 @@ import java.util.List; +import lombok.Data; +import lombok.NoArgsConstructor; + /** * A DISTINCT [ON (expression, ...)] clause */ +@Data +@NoArgsConstructor public class Distinct { - private List onSelectItems; - private boolean useUnique = false; - - public Distinct() { - } - - public Distinct(boolean useUnique) { - this.useUnique = useUnique; - } - /** * A list of {@link SelectItem}s expressions, as in "select DISTINCT ON (a,b,c) a,b FROM..." - * - * @return a list of {@link SelectItem}s expressions */ - public List getOnSelectItems() { - return onSelectItems; - } - - public void setOnSelectItems(List list) { - onSelectItems = list; - } - - public boolean isUseUnique() { - return useUnique; - } + private List onSelectItems; + private boolean useUnique = false; - public void setUseUnique(boolean useUnique) { + public Distinct(boolean useUnique) { this.useUnique = useUnique; } diff --git a/src/main/java/net/sf/jsqlparser/statement/select/ExpressionListItem.java b/src/main/java/net/sf/jsqlparser/statement/select/ExpressionListItem.java index 35e026a94..b7b41db2d 100644 --- a/src/main/java/net/sf/jsqlparser/statement/select/ExpressionListItem.java +++ b/src/main/java/net/sf/jsqlparser/statement/select/ExpressionListItem.java @@ -21,32 +21,18 @@ */ package net.sf.jsqlparser.statement.select; +import lombok.Data; import net.sf.jsqlparser.expression.Alias; import net.sf.jsqlparser.expression.operators.relational.ExpressionList; +@Data public class ExpressionListItem { - private ExpressionList expressionList; - private Alias alias; + private ExpressionList expressionList; + private Alias alias; - public ExpressionList getExpressionList() { - return expressionList; - } - - public void setExpressionList(ExpressionList expressionList) { - this.expressionList = expressionList; - } - - public Alias getAlias() { - return alias; - } - - public void setAlias(Alias alias) { - this.alias = alias; - } - - @Override - public String toString() { - return expressionList + ((alias != null) ? alias.toString() : ""); - } + @Override + public String toString() { + return expressionList + ((alias != null) ? alias.toString() : ""); + } } diff --git a/src/main/java/net/sf/jsqlparser/statement/select/Fetch.java b/src/main/java/net/sf/jsqlparser/statement/select/Fetch.java index 4f32c7279..ec479cd61 100644 --- a/src/main/java/net/sf/jsqlparser/statement/select/Fetch.java +++ b/src/main/java/net/sf/jsqlparser/statement/select/Fetch.java @@ -21,54 +21,23 @@ */ package net.sf.jsqlparser.statement.select; +import lombok.Data; import net.sf.jsqlparser.expression.JdbcParameter; /** * A fetch clause in the form FETCH (FIRST | NEXT) row_count (ROW | ROWS) ONLY */ +@Data public class Fetch { - private long rowCount; - private JdbcParameter fetchJdbcParameter = null; - private boolean isFetchParamFirst = false; - private String fetchParam = "ROW"; + private long rowCount; + private JdbcParameter fetchJdbcParameter = null; + private boolean isFetchParamFirst = false; + private String fetchParam = "ROW"; - public long getRowCount() { - return rowCount; - } - - public void setRowCount(long l) { - rowCount = l; - } - - public JdbcParameter getFetchJdbcParameter() { - return fetchJdbcParameter; - } - - public String getFetchParam() { - return fetchParam; - } - - public boolean isFetchParamFirst() { - return isFetchParamFirst; - } - - public void setFetchJdbcParameter(JdbcParameter jdbc) { - fetchJdbcParameter = jdbc; - } - - public void setFetchParam(String s) { - this.fetchParam = s; - } - - public void setFetchParamFirst(boolean b) { - this.isFetchParamFirst = b; - } - - @Override - public String toString() { - return " FETCH " + (isFetchParamFirst ? "FIRST" : "NEXT") + " " - + (fetchJdbcParameter!=null ? fetchJdbcParameter.toString() : - Long.toString(rowCount)) + " " + fetchParam + " ONLY"; - } + @Override + public String toString() { + return " FETCH " + (isFetchParamFirst ? "FIRST" : "NEXT") + " " + + (fetchJdbcParameter != null ? fetchJdbcParameter.toString() : Long.toString(rowCount)) + " " + fetchParam + " ONLY"; + } } diff --git a/src/main/java/net/sf/jsqlparser/statement/select/First.java b/src/main/java/net/sf/jsqlparser/statement/select/First.java index a476f025c..709f51a11 100644 --- a/src/main/java/net/sf/jsqlparser/statement/select/First.java +++ b/src/main/java/net/sf/jsqlparser/statement/select/First.java @@ -21,6 +21,7 @@ */ package net.sf.jsqlparser.statement.select; +import lombok.Data; import net.sf.jsqlparser.expression.JdbcParameter; /** @@ -30,62 +31,31 @@ * Initial implementation was done for informix special syntax: * http://www-01.ibm.com/support/knowledgecenter/SSGU8G_12.1.0/com.ibm.sqls.doc/ids_sqs_0156.htm */ +@Data public class First { - public enum Keyword { - FIRST, - LIMIT - } - - private Keyword keyword; - private Long rowCount; - private JdbcParameter jdbcParameter; - private String variable; - - public Long getRowCount() { - return rowCount; - } - - public void setRowCount(Long rowCount) { - this.rowCount = rowCount; - } - - public JdbcParameter getJdbcParameter() { - return jdbcParameter; - } - - public void setJdbcParameter(JdbcParameter jdbcParameter) { - this.jdbcParameter = jdbcParameter; - } - - public Keyword getKeyword() { - return keyword; - } - - public void setKeyword(Keyword keyword) { - this.keyword = keyword; - } - - public String getVariable() { - return variable; - } - - public void setVariable(String variable) { - this.variable = variable; - } - - @Override - public String toString() { - String result = keyword.name() + " "; - - if (rowCount != null) { - result += rowCount; - } else if (jdbcParameter != null) { - result += jdbcParameter.toString(); - } else if (variable != null) { - result += variable; - } - - return result; - } + public enum Keyword { + FIRST, + LIMIT + } + + private Keyword keyword; + private Long rowCount; + private JdbcParameter jdbcParameter; + private String variable; + + @Override + public String toString() { + String result = keyword.name() + " "; + + if (rowCount != null) { + result += rowCount; + } else if (jdbcParameter != null) { + result += jdbcParameter.toString(); + } else if (variable != null) { + result += variable; + } + + return result; + } } diff --git a/src/main/java/net/sf/jsqlparser/statement/select/FunctionItem.java b/src/main/java/net/sf/jsqlparser/statement/select/FunctionItem.java index 292cb6d89..7987a7b89 100644 --- a/src/main/java/net/sf/jsqlparser/statement/select/FunctionItem.java +++ b/src/main/java/net/sf/jsqlparser/statement/select/FunctionItem.java @@ -21,32 +21,18 @@ */ package net.sf.jsqlparser.statement.select; +import lombok.Data; import net.sf.jsqlparser.expression.Alias; import net.sf.jsqlparser.expression.Function; +@Data public class FunctionItem { - private Function function; - private Alias alias; + private Function function; + private Alias alias; - public Alias getAlias() { - return alias; - } - - public void setAlias(Alias alias) { - this.alias = alias; - } - - public Function getFunction() { - return function; - } - - public void setFunction(Function function) { - this.function = function; - } - - @Override - public String toString() { - return function + ((alias != null) ? alias.toString() : ""); - } + @Override + public String toString() { + return function + ((alias != null) ? alias.toString() : ""); + } } diff --git a/src/main/java/net/sf/jsqlparser/statement/select/Join.java b/src/main/java/net/sf/jsqlparser/statement/select/Join.java index 59a0c488c..364930f7d 100644 --- a/src/main/java/net/sf/jsqlparser/statement/select/Join.java +++ b/src/main/java/net/sf/jsqlparser/statement/select/Join.java @@ -23,6 +23,7 @@ import java.util.List; +import lombok.Data; import net.sf.jsqlparser.expression.Expression; import net.sf.jsqlparser.parser.ASTNodeAccessImpl; import net.sf.jsqlparser.schema.Column; @@ -30,196 +31,84 @@ /** * A join clause */ +@Data public class Join extends ASTNodeAccessImpl { - private boolean outer = false; - private boolean right = false; - private boolean left = false; - private boolean natural = false; - private boolean full = false; - private boolean inner = false; - private boolean simple = false; - private boolean cross = false; - private boolean semi = false; - private FromItem rightItem; - private Expression onExpression; - private List usingColumns; - - /** - * Whether is a tab1,tab2 join - * - * @return true if is a "tab1,tab2" join - */ - public boolean isSimple() { - return simple; - } - - public void setSimple(boolean b) { - simple = b; - } - - /** - * Whether is a "INNER" join - * - * @return true if is a "INNER" join - */ - public boolean isInner() { - return inner; - } - - public void setInner(boolean b) { - inner = b; - } - - /** - * Whether is a "OUTER" join - * - * @return true if is a "OUTER" join - */ - public boolean isOuter() { - return outer; - } - - public void setOuter(boolean b) { - outer = b; - } - - /** - * Whether is a "SEMI" join - * - * @return true if is a "SEMI" join - */ - public boolean isSemi() { - return semi; - } - - public void setSemi(boolean b) { - semi = b; - } - - /** - * Whether is a "LEFT" join - * - * @return true if is a "LEFT" join - */ - public boolean isLeft() { - return left; - } - - public void setLeft(boolean b) { - left = b; - } - - /** - * Whether is a "RIGHT" join - * - * @return true if is a "RIGHT" join - */ - public boolean isRight() { - return right; - } - - public void setRight(boolean b) { - right = b; - } - - /** - * Whether is a "NATURAL" join - * - * @return true if is a "NATURAL" join - */ - public boolean isNatural() { - return natural; - } - - public void setNatural(boolean b) { - natural = b; - } - - /** - * Whether is a "FULL" join - * - * @return true if is a "FULL" join - */ - public boolean isFull() { - return full; - } - - public void setFull(boolean b) { - full = b; - } - - public boolean isCross() { - return cross; - } - - public void setCross(boolean cross) { - this.cross = cross; - } - - /** - * Returns the right item of the join - */ - public FromItem getRightItem() { - return rightItem; - } - - public void setRightItem(FromItem item) { - rightItem = item; - } - - /** - * Returns the "ON" expression (if any) - */ - public Expression getOnExpression() { - return onExpression; - } - - public void setOnExpression(Expression expression) { - onExpression = expression; - } - - /** - * Returns the "USING" list of {@link net.sf.jsqlparser.schema.Column}s (if any) - */ - public List getUsingColumns() { - return usingColumns; - } - - public void setUsingColumns(List list) { - usingColumns = list; - } - - @Override - public String toString() { - if (isSimple()) { - return "" + rightItem; - } else { - String type = ""; - - if (isRight()) { - type += "RIGHT "; - } else if (isNatural()) { - type += "NATURAL "; - } else if (isFull()) { - type += "FULL "; - } else if (isLeft()) { - type += "LEFT "; - } else if (isCross()) { - type += "CROSS "; - } - - if (isOuter()) { - type += "OUTER "; - } else if (isInner()) { - type += "INNER "; - } else if (isSemi()) { - type += "SEMI "; - } - - return type + "JOIN " + rightItem + ((onExpression != null) ? " ON " + onExpression + "" : "") - + PlainSelect.getFormatedList(usingColumns, "USING", true, true); - } - - } + /** + * Whether is a "OUTER" join + */ + private boolean outer = false; + /** + * Whether is a "RIGHT" join + */ + private boolean right = false; + /** + * Whether is a "LEFT" join + */ + private boolean left = false; + /** + * Whether is a "NATURAL" join + */ + private boolean natural = false; + /** + * Whether is a "FULL" join + */ + private boolean full = false; + /** + * Whether is a "INNER" join + */ + private boolean inner = false; + /** + * Whether is a tab1,tab2 join + */ + private boolean simple = false; + private boolean cross = false; + /** + * Whether is a "SEMI" join + */ + private boolean semi = false; + /** + * The right item of the join + */ + private FromItem rightItem; + /** + * The "ON" expression (if any) + */ + private Expression onExpression; + /** + * The "USING" list of {@link net.sf.jsqlparser.schema.Column}s (if any) + */ + private List usingColumns; + + @Override + public String toString() { + if (isSimple()) { + return "" + rightItem; + } else { + String type = ""; + + if (isRight()) { + type += "RIGHT "; + } else if (isNatural()) { + type += "NATURAL "; + } else if (isFull()) { + type += "FULL "; + } else if (isLeft()) { + type += "LEFT "; + } else if (isCross()) { + type += "CROSS "; + } + + if (isOuter()) { + type += "OUTER "; + } else if (isInner()) { + type += "INNER "; + } else if (isSemi()) { + type += "SEMI "; + } + + return type + "JOIN " + rightItem + ((onExpression != null) ? " ON " + onExpression + "" : "") + + PlainSelect.getFormatedList(usingColumns, "USING", true, true); + } + } } diff --git a/src/main/java/net/sf/jsqlparser/statement/select/LateralSubSelect.java b/src/main/java/net/sf/jsqlparser/statement/select/LateralSubSelect.java index 903718a54..68c614fe2 100644 --- a/src/main/java/net/sf/jsqlparser/statement/select/LateralSubSelect.java +++ b/src/main/java/net/sf/jsqlparser/statement/select/LateralSubSelect.java @@ -21,6 +21,7 @@ */ package net.sf.jsqlparser.statement.select; +import lombok.Data; import net.sf.jsqlparser.expression.Alias; /** @@ -28,49 +29,22 @@ * * @author Tobias Warneke */ +@Data public class LateralSubSelect implements FromItem { - private SubSelect subSelect; - private Alias alias; - private Pivot pivot; - - public void setSubSelect(SubSelect subSelect) { - this.subSelect = subSelect; - } - - public SubSelect getSubSelect() { - return subSelect; - } - - @Override - public void accept(FromItemVisitor fromItemVisitor) { - fromItemVisitor.visit(this); - } - - @Override - public Alias getAlias() { - return alias; - } - - @Override - public void setAlias(Alias alias) { - this.alias = alias; - } - - @Override - public Pivot getPivot() { - return pivot; - } - - @Override - public void setPivot(Pivot pivot) { - this.pivot = pivot; - } - - @Override - public String toString() { - return "LATERAL" + subSelect.toString() - + ((alias != null) ? alias.toString() : "") - + ((pivot != null) ? " " + pivot : ""); - } + private SubSelect subSelect; + private Alias alias; + private Pivot pivot; + + @Override + public void accept(FromItemVisitor fromItemVisitor) { + fromItemVisitor.visit(this); + } + + @Override + public String toString() { + return "LATERAL" + subSelect.toString() + + ((alias != null) ? alias.toString() : "") + + ((pivot != null) ? " " + pivot : ""); + } } diff --git a/src/main/java/net/sf/jsqlparser/statement/select/Limit.java b/src/main/java/net/sf/jsqlparser/statement/select/Limit.java index 18fc7d898..9d311ddf8 100644 --- a/src/main/java/net/sf/jsqlparser/statement/select/Limit.java +++ b/src/main/java/net/sf/jsqlparser/statement/select/Limit.java @@ -21,71 +21,41 @@ */ package net.sf.jsqlparser.statement.select; +import lombok.Data; import net.sf.jsqlparser.expression.Expression; import net.sf.jsqlparser.parser.ASTNodeAccessImpl; /** * A limit clause in the form [LIMIT {[offset,] row_count) | (row_count | ALL) OFFSET offset}] */ +@Data public class Limit extends ASTNodeAccessImpl { - private Expression rowCount; - private Expression offset; - private boolean limitAll; - private boolean limitNull = false; - - public Expression getOffset() { - return offset; - } - - public Expression getRowCount() { - return rowCount; - } - - public void setOffset(Expression l) { - offset = l; - } - - public void setRowCount(Expression l) { - rowCount = l; - } - - /** - * @return true if the limit is "LIMIT ALL [OFFSET ...]) - */ - public boolean isLimitAll() { - return limitAll; - } - - public void setLimitAll(boolean b) { - limitAll = b; - } - - /** - * @return true if the limit is "LIMIT NULL [OFFSET ...]) - */ - public boolean isLimitNull() { - return limitNull; - } - - public void setLimitNull(boolean b) { - limitNull = b; - } - - @Override - public String toString() { - String retVal = " LIMIT "; - if (limitNull) { - retVal += "NULL"; - } else { - if (null != offset) { - retVal += offset + ", "; - } - if (null != rowCount) { - retVal += rowCount; - } - } - - return retVal; - } + private Expression rowCount; + private Expression offset; + /** + * True if the limit is "LIMIT ALL [OFFSET ...]) + */ + private boolean limitAll; + /** + * True if the limit is "LIMIT NULL [OFFSET ...]) + */ + private boolean limitNull = false; + + @Override + public String toString() { + String retVal = " LIMIT "; + if (limitNull) { + retVal += "NULL"; + } else { + if (null != offset) { + retVal += offset + ", "; + } + if (null != rowCount) { + retVal += rowCount; + } + } + + return retVal; + } } diff --git a/src/main/java/net/sf/jsqlparser/statement/select/Offset.java b/src/main/java/net/sf/jsqlparser/statement/select/Offset.java index d7f280e3e..0bd28fcd4 100644 --- a/src/main/java/net/sf/jsqlparser/statement/select/Offset.java +++ b/src/main/java/net/sf/jsqlparser/statement/select/Offset.java @@ -21,41 +21,19 @@ */ package net.sf.jsqlparser.statement.select; +import lombok.Data; import net.sf.jsqlparser.expression.JdbcParameter; /** * An offset clause in the form OFFSET offset or in the form OFFSET offset (ROW | ROWS) */ +@Data public class Offset { private long offset; private JdbcParameter offsetJdbcParameter = null; private String offsetParam = null; - public long getOffset() { - return offset; - } - - public String getOffsetParam() { - return offsetParam; - } - - public void setOffset(long l) { - offset = l; - } - - public void setOffsetParam(String s) { - offsetParam = s; - } - - public JdbcParameter getOffsetJdbcParameter() { - return offsetJdbcParameter; - } - - public void setOffsetJdbcParameter(JdbcParameter jdbc) { - offsetJdbcParameter = jdbc; - } - @Override public String toString() { return " OFFSET " + (offsetJdbcParameter!=null ? offsetJdbcParameter.toString() : offset) + (offsetParam != null ? " " + offsetParam : ""); diff --git a/src/main/java/net/sf/jsqlparser/statement/select/OrderByElement.java b/src/main/java/net/sf/jsqlparser/statement/select/OrderByElement.java index 1a1a3fe66..6959de412 100644 --- a/src/main/java/net/sf/jsqlparser/statement/select/OrderByElement.java +++ b/src/main/java/net/sf/jsqlparser/statement/select/OrderByElement.java @@ -21,75 +21,45 @@ */ package net.sf.jsqlparser.statement.select; +import lombok.Data; import net.sf.jsqlparser.expression.Expression; /** * An element (column reference) in an "ORDER BY" clause. */ +@Data public class OrderByElement { - public enum NullOrdering { - - NULLS_FIRST, - NULLS_LAST - } - - private Expression expression; - private boolean asc = true; - private NullOrdering nullOrdering; - private boolean ascDesc = false; - - public boolean isAsc() { - return asc; - } - - public NullOrdering getNullOrdering() { - return nullOrdering; - } - - public void setNullOrdering(NullOrdering nullOrdering) { - this.nullOrdering = nullOrdering; - } - - public void setAsc(boolean b) { - asc = b; - } - - public void setAscDescPresent(boolean b) { - ascDesc = b; - } - - public boolean isAscDescPresent() { - return ascDesc; - } - - public void accept(OrderByVisitor orderByVisitor) { - orderByVisitor.visit(this); - } - - public Expression getExpression() { - return expression; - } - - public void setExpression(Expression expression) { - this.expression = expression; - } - - @Override - public String toString() { - StringBuilder b = new StringBuilder(); - b.append(expression.toString()); - - if (!asc) { - b.append(" DESC"); - } else if (ascDesc) { - b.append(" ASC"); - } - - if (nullOrdering != null) { - b.append(' '); - b.append(nullOrdering == NullOrdering.NULLS_FIRST ? "NULLS FIRST" : "NULLS LAST"); - } - return b.toString(); - } + public enum NullOrdering { + + NULLS_FIRST, + NULLS_LAST + } + + private Expression expression; + private boolean asc = true; + private NullOrdering nullOrdering; + private boolean ascDescPresent = false; + + public void accept(OrderByVisitor orderByVisitor) { + orderByVisitor.visit(this); + } + + @Override + public String toString() { + StringBuilder b = new StringBuilder(); + b.append(expression.toString()); + + if (!asc) { + b.append(" DESC"); + } else if (ascDescPresent) { + b.append(" ASC"); + } + + if (nullOrdering != null) { + b.append(' '); + b.append(nullOrdering == NullOrdering.NULLS_FIRST ? "NULLS FIRST" : "NULLS LAST"); + } + return b.toString(); + } } diff --git a/src/main/java/net/sf/jsqlparser/statement/select/Pivot.java b/src/main/java/net/sf/jsqlparser/statement/select/Pivot.java index 83758d116..3a0c085e9 100755 --- a/src/main/java/net/sf/jsqlparser/statement/select/Pivot.java +++ b/src/main/java/net/sf/jsqlparser/statement/select/Pivot.java @@ -21,74 +21,35 @@ */ package net.sf.jsqlparser.statement.select; -import net.sf.jsqlparser.schema.Column; - import java.util.List; + +import lombok.Data; import net.sf.jsqlparser.expression.Alias; +import net.sf.jsqlparser.schema.Column; +@Data public class Pivot { - private List functionItems; - private List forColumns; - private List singleInItems; - private List multiInItems; - private Alias alias; - - public void accept(PivotVisitor pivotVisitor) { - pivotVisitor.visit(this); - } - - public List getSingleInItems() { - return singleInItems; - } - - public void setSingleInItems(List singleInItems) { - this.singleInItems = singleInItems; - } - - public List getMultiInItems() { - return multiInItems; - } - - public void setMultiInItems(List multiInItems) { - this.multiInItems = multiInItems; - } - - public List getFunctionItems() { - return functionItems; - } - - public void setFunctionItems(List functionItems) { - this.functionItems = functionItems; - } - - public List getForColumns() { - return forColumns; - } - - public void setForColumns(List forColumns) { - this.forColumns = forColumns; - } - - public List getInItems() { - return singleInItems == null ? multiInItems : singleInItems; - } - - public Alias getAlias() { - return alias; - } - - public void setAlias(Alias alias) { - this.alias = alias; - } - - @Override - public String toString() { - return "PIVOT (" - + PlainSelect.getStringList(functionItems) - + " FOR " + PlainSelect. - getStringList(forColumns, true, forColumns != null && forColumns.size() > 1) - + " IN " + PlainSelect.getStringList(getInItems(), true, true) + ")" - + (alias!=null?alias.toString():""); - } + private List functionItems; + private List forColumns; + private List singleInItems; + private List multiInItems; + private Alias alias; + + public void accept(PivotVisitor pivotVisitor) { + pivotVisitor.visit(this); + } + + public List getInItems() { + return singleInItems == null ? multiInItems : singleInItems; + } + + @Override + public String toString() { + return "PIVOT (" + + PlainSelect.getStringList(functionItems) + + " FOR " + PlainSelect.getStringList(forColumns, true, forColumns != null && forColumns.size() > 1) + + " IN " + PlainSelect.getStringList(getInItems(), true, true) + ")" + + (alias != null ? alias.toString() : ""); + } } diff --git a/src/main/java/net/sf/jsqlparser/statement/select/PivotXml.java b/src/main/java/net/sf/jsqlparser/statement/select/PivotXml.java index 43f76c12d..d0daa8d33 100644 --- a/src/main/java/net/sf/jsqlparser/statement/select/PivotXml.java +++ b/src/main/java/net/sf/jsqlparser/statement/select/PivotXml.java @@ -21,46 +21,29 @@ */ package net.sf.jsqlparser.statement.select; -import net.sf.jsqlparser.schema.Column; - import java.util.List; -public class PivotXml extends Pivot { - - private SelectBody inSelect; - private boolean inAny = false; - - @Override - public void accept(PivotVisitor pivotVisitor) { - pivotVisitor.visit(this); - } - - public SelectBody getInSelect() { - return inSelect; - } - - public void setInSelect(SelectBody inSelect) { - this.inSelect = inSelect; - } - - public boolean isInAny() { - return inAny; - } - - public void setInAny(boolean inAny) { - this.inAny = inAny; - } +import lombok.Data; +import net.sf.jsqlparser.schema.Column; - @Override - public String toString() { - List forColumns = getForColumns(); - String in = inAny ? "ANY" : inSelect == null ? PlainSelect.getStringList(getInItems()) : inSelect. - toString(); - return "PIVOT XML (" - + PlainSelect.getStringList(getFunctionItems()) - + " FOR " + PlainSelect. - getStringList(forColumns, true, forColumns != null && forColumns.size() > 1) - + " IN (" + in + "))"; - } +@Data +public class PivotXml extends Pivot { + private SelectBody inSelect; + private boolean inAny = false; + + @Override + public void accept(PivotVisitor pivotVisitor) { + pivotVisitor.visit(this); + } + + @Override + public String toString() { + List forColumns = getForColumns(); + String in = inAny ? "ANY" : inSelect == null ? PlainSelect.getStringList(getInItems()) : inSelect.toString(); + return "PIVOT XML (" + + PlainSelect.getStringList(getFunctionItems()) + + " FOR " + PlainSelect.getStringList(forColumns, true, forColumns != null && forColumns.size() > 1) + + " IN (" + in + "))"; + } } diff --git a/src/main/java/net/sf/jsqlparser/statement/select/PlainSelect.java b/src/main/java/net/sf/jsqlparser/statement/select/PlainSelect.java index 233472297..023eac16d 100644 --- a/src/main/java/net/sf/jsqlparser/statement/select/PlainSelect.java +++ b/src/main/java/net/sf/jsqlparser/statement/select/PlainSelect.java @@ -21,451 +21,254 @@ */ package net.sf.jsqlparser.statement.select; -import net.sf.jsqlparser.expression.Expression; -import net.sf.jsqlparser.expression.OracleHierarchicalExpression; -import net.sf.jsqlparser.expression.OracleHint; -import net.sf.jsqlparser.schema.Table; -import net.sf.jsqlparser.parser.ASTNodeAccessImpl; - import java.util.ArrayList; import java.util.Collections; import java.util.Iterator; import java.util.List; +import lombok.Data; +import net.sf.jsqlparser.expression.Expression; +import net.sf.jsqlparser.expression.OracleHierarchicalExpression; +import net.sf.jsqlparser.expression.OracleHint; +import net.sf.jsqlparser.parser.ASTNodeAccessImpl; +import net.sf.jsqlparser.schema.Table; + /** * The core of a "SELECT" statement (no UNION, no ORDER BY) */ +@Data public class PlainSelect extends ASTNodeAccessImpl implements SelectBody { - private Distinct distinct = null; - private List selectItems; - private List
intoTables; - private FromItem fromItem; - private List joins; - private Expression where; - private List groupByColumnReferences; - private List orderByElements; - private Expression having; - private Limit limit; - private Offset offset; - private Fetch fetch; - private Skip skip; - private First first; - private Top top; - private OracleHierarchicalExpression oracleHierarchical = null; - private OracleHint oracleHint = null; - private boolean oracleSiblings = false; - private boolean forUpdate = false; - private Table forUpdateTable = null; - private boolean useBrackets = false; - private Wait wait; - private boolean mySqlSqlCalcFoundRows = false; - - public boolean isUseBrackets() { - return useBrackets; - } - - public void setUseBrackets(boolean useBrackets) { - this.useBrackets = useBrackets; - } - - /** - * The {@link FromItem} in this query - * - * @return the {@link FromItem} - */ - public FromItem getFromItem() { - return fromItem; - } - - public List
getIntoTables() { - return intoTables; - } - - /** - * The {@link SelectItem}s in this query (for example the A,B,C in "SELECT A,B,C") - * - * @return a list of {@link SelectItem}s - */ - public List getSelectItems() { - return selectItems; - } - - public Expression getWhere() { - return where; - } - - public void setFromItem(FromItem item) { - fromItem = item; - } - - public void setIntoTables(List
intoTables) { - this.intoTables = intoTables; - } - - public void setSelectItems(List list) { - selectItems = list; - } - - public void addSelectItems(SelectItem... items) { - if (selectItems == null) { - selectItems = new ArrayList(); - } - Collections.addAll(selectItems, items); - } - - public void setWhere(Expression where) { - this.where = where; - } - - /** - * The list of {@link Join}s - * - * @return the list of {@link Join}s - */ - public List getJoins() { - return joins; - } - - public void setJoins(List list) { - joins = list; - } - - @Override - public void accept(SelectVisitor selectVisitor) { - selectVisitor.visit(this); - } - - public List getOrderByElements() { - return orderByElements; - } - - public void setOrderByElements(List orderByElements) { - this.orderByElements = orderByElements; - } - - public Limit getLimit() { - return limit; - } - - public void setLimit(Limit limit) { - this.limit = limit; - } - - public Offset getOffset() { - return offset; - } - - public void setOffset(Offset offset) { - this.offset = offset; - } - - public Fetch getFetch() { - return fetch; - } - - public void setFetch(Fetch fetch) { - this.fetch = fetch; - } - - public Top getTop() { - return top; - } - - public void setTop(Top top) { - this.top = top; - } - - public Skip getSkip() { - return skip; - } - - public void setSkip(Skip skip) { - this.skip = skip; - } - - public First getFirst() { - return first; - } - - public void setFirst(First first) { - this.first = first; - } - - public Distinct getDistinct() { - return distinct; - } - - public void setDistinct(Distinct distinct) { - this.distinct = distinct; - } - - public Expression getHaving() { - return having; - } - - public void setHaving(Expression expression) { - having = expression; - } - - /** - * A list of {@link Expression}s of the GROUP BY clause. It is null in case there is no GROUP BY - * clause - * - * @return a list of {@link Expression}s - */ - public List getGroupByColumnReferences() { - return groupByColumnReferences; - } - - public void setGroupByColumnReferences(List list) { - groupByColumnReferences = list; - } - - public void addGroupByColumnReference(Expression expr) { - if (groupByColumnReferences == null) { - groupByColumnReferences = new ArrayList(); - } - groupByColumnReferences.add(expr); - } - - public OracleHierarchicalExpression getOracleHierarchical() { - return oracleHierarchical; - } - - public void setOracleHierarchical(OracleHierarchicalExpression oracleHierarchical) { - this.oracleHierarchical = oracleHierarchical; - } - - public boolean isOracleSiblings() { - return oracleSiblings; - } - - public void setOracleSiblings(boolean oracleSiblings) { - this.oracleSiblings = oracleSiblings; - } - - public boolean isForUpdate() { - return forUpdate; - } - - public void setForUpdate(boolean forUpdate) { - this.forUpdate = forUpdate; - } - - public Table getForUpdateTable() { - return forUpdateTable; - } - - public void setForUpdateTable(Table forUpdateTable) { - this.forUpdateTable = forUpdateTable; - } - - public OracleHint getOracleHint() { - return oracleHint; - } - - public void setOracleHint(OracleHint oracleHint) { - this.oracleHint = oracleHint; - } - - /** - * Sets the {@link Wait} for this SELECT - * - * @param wait the {@link Wait} for this SELECT - */ - public void setWait(final Wait wait) { - this.wait = wait; - } - - /** - * Returns the value of the {@link Wait} set for this SELECT - * - * @return the value of the {@link Wait} set for this SELECT - */ - public Wait getWait() { - return wait; - } - - @Override - public String toString() { - StringBuilder sql = new StringBuilder(); - if (useBrackets) { - sql.append("("); - } - sql.append("SELECT "); - - if (oracleHint != null) { - sql.append(oracleHint).append(" "); - } - - if (skip != null) { - sql.append(skip).append(" "); - } - - if (first != null) { - sql.append(first).append(" "); - } - - if (distinct != null) { - sql.append(distinct).append(" "); - } - if (top != null) { - sql.append(top).append(" "); - } - if (mySqlSqlCalcFoundRows) { - sql.append("SQL_CALC_FOUND_ROWS").append(" "); - } - sql.append(getStringList(selectItems)); - - if (intoTables != null) { - sql.append(" INTO "); - for (Iterator
iter = intoTables.iterator(); iter.hasNext();) { - sql.append(iter.next().toString()); - if (iter.hasNext()) { - sql.append(", "); - } - } - } - - if (fromItem != null) { - sql.append(" FROM ").append(fromItem); - if (joins != null) { - Iterator it = joins.iterator(); - while (it.hasNext()) { - Join join = it.next(); - if (join.isSimple()) { - sql.append(", ").append(join); - } else { - sql.append(" ").append(join); - } - } - } - if (where != null) { - sql.append(" WHERE ").append(where); - } - if (oracleHierarchical != null) { - sql.append(oracleHierarchical.toString()); - } - sql.append(getFormatedList(groupByColumnReferences, "GROUP BY")); - if (having != null) { - sql.append(" HAVING ").append(having); - } - sql.append(orderByToString(oracleSiblings, orderByElements)); - if (limit != null) { - sql.append(limit); - } - if (offset != null) { - sql.append(offset); - } - if (fetch != null) { - sql.append(fetch); - } - if (isForUpdate()) { - sql.append(" FOR UPDATE"); - - if (forUpdateTable != null) { - sql.append(" OF ").append(forUpdateTable); - } - - if (wait != null) { - // Wait's toString will do the formatting for us - sql.append(wait); - } - } - } else { - //without from - if (where != null) { - sql.append(" WHERE ").append(where); - } - } - if (useBrackets) { - sql.append(")"); - } - return sql.toString(); - } - - public static String orderByToString(List orderByElements) { - return orderByToString(false, orderByElements); - } - - public static String orderByToString(boolean oracleSiblings, List orderByElements) { - return getFormatedList(orderByElements, oracleSiblings ? "ORDER SIBLINGS BY" : "ORDER BY"); - } - - public static String getFormatedList(List list, String expression) { - return getFormatedList(list, expression, true, false); - } - - public static String getFormatedList(List list, String expression, boolean useComma, boolean useBrackets) { - String sql = getStringList(list, useComma, useBrackets); - - if (sql.length() > 0) { - if (expression.length() > 0) { - sql = " " + expression + " " + sql; - } else { - sql = " " + sql; - } - } - - return sql; - } - - /** - * List the toString out put of the objects in the List comma separated. If the List is null or - * empty an empty string is returned. - * - * The same as getStringList(list, true, false) - * - * @see #getStringList(List, boolean, boolean) - * @param list list of objects with toString methods - * @return comma separated list of the elements in the list - */ - public static String getStringList(List list) { - return getStringList(list, true, false); - } - - /** - * List the toString out put of the objects in the List that can be comma separated. If the List - * is null or empty an empty string is returned. - * - * @param list list of objects with toString methods - * @param useComma true if the list has to be comma separated - * @param useBrackets true if the list has to be enclosed in brackets - * @return comma separated list of the elements in the list - */ - public static String getStringList(List list, boolean useComma, boolean useBrackets) { - StringBuilder ans = new StringBuilder(); -// String ans = ""; - String comma = ","; - if (!useComma) { - comma = ""; - } - if (list != null) { - if (useBrackets) { - ans.append("("); -// ans += "("; - } - - for (int i = 0; i < list.size(); i++) { - ans.append(list.get(i)).append((i < list.size() - 1) ? comma + " " : ""); -// ans += "" + list.get(i) + ((i < list.size() - 1) ? comma + " " : ""); - } - - if (useBrackets) { - ans.append(")"); -// ans += ")"; - } - } - - return ans.toString(); - } - - public void setMySqlSqlCalcFoundRows(boolean mySqlCalcFoundRows) { - this.mySqlSqlCalcFoundRows = mySqlCalcFoundRows; - } - - public boolean getMySqlSqlCalcFoundRows() { - return this.mySqlSqlCalcFoundRows; - } + private Distinct distinct = null; + /** + * The {@link SelectItem}s in this query (for example the A,B,C in "SELECT A,B,C") + */ + private List selectItems; + private List
intoTables; + /** + * The {@link FromItem} in this query + */ + private FromItem fromItem; + /** + * The list of {@link Join}s + */ + private List joins; + private Expression where; + /** + * A list of {@link Expression}s of the GROUP BY clause. It is null in case there is no GROUP BY + * clause + */ + private List groupByColumnReferences; + private List orderByElements; + private Expression having; + private Limit limit; + private Offset offset; + private Fetch fetch; + private Skip skip; + private First first; + private Top top; + private OracleHierarchicalExpression oracleHierarchical = null; + private OracleHint oracleHint = null; + private boolean oracleSiblings = false; + private boolean forUpdate = false; + private Table forUpdateTable = null; + private boolean useBrackets = false; + /** + * Sets the {@link Wait} for this SELECT + */ + private Wait wait; + private boolean mySqlSqlCalcFoundRows = false; + + public void addSelectItems(SelectItem... items) { + if (selectItems == null) { + selectItems = new ArrayList(); + } + Collections.addAll(selectItems, items); + } + + @Override + public void accept(SelectVisitor selectVisitor) { + selectVisitor.visit(this); + } + + public void addGroupByColumnReference(Expression expr) { + if (groupByColumnReferences == null) { + groupByColumnReferences = new ArrayList(); + } + groupByColumnReferences.add(expr); + } + + @Override + public String toString() { + StringBuilder sql = new StringBuilder(); + if (useBrackets) { + sql.append("("); + } + sql.append("SELECT "); + + if (oracleHint != null) { + sql.append(oracleHint).append(" "); + } + + if (skip != null) { + sql.append(skip).append(" "); + } + + if (first != null) { + sql.append(first).append(" "); + } + + if (distinct != null) { + sql.append(distinct).append(" "); + } + if (top != null) { + sql.append(top).append(" "); + } + if (mySqlSqlCalcFoundRows) { + sql.append("SQL_CALC_FOUND_ROWS").append(" "); + } + sql.append(getStringList(selectItems)); + + if (intoTables != null) { + sql.append(" INTO "); + for (Iterator
iter = intoTables.iterator(); iter.hasNext();) { + sql.append(iter.next().toString()); + if (iter.hasNext()) { + sql.append(", "); + } + } + } + + if (fromItem != null) { + sql.append(" FROM ").append(fromItem); + if (joins != null) { + Iterator it = joins.iterator(); + while (it.hasNext()) { + Join join = it.next(); + if (join.isSimple()) { + sql.append(", ").append(join); + } else { + sql.append(" ").append(join); + } + } + } + if (where != null) { + sql.append(" WHERE ").append(where); + } + if (oracleHierarchical != null) { + sql.append(oracleHierarchical.toString()); + } + sql.append(getFormatedList(groupByColumnReferences, "GROUP BY")); + if (having != null) { + sql.append(" HAVING ").append(having); + } + sql.append(orderByToString(oracleSiblings, orderByElements)); + if (limit != null) { + sql.append(limit); + } + if (offset != null) { + sql.append(offset); + } + if (fetch != null) { + sql.append(fetch); + } + if (isForUpdate()) { + sql.append(" FOR UPDATE"); + + if (forUpdateTable != null) { + sql.append(" OF ").append(forUpdateTable); + } + + if (wait != null) { + // Wait's toString will do the formatting for us + sql.append(wait); + } + } + } else { + //without from + if (where != null) { + sql.append(" WHERE ").append(where); + } + } + if (useBrackets) { + sql.append(")"); + } + return sql.toString(); + } + + public static String orderByToString(List orderByElements) { + return orderByToString(false, orderByElements); + } + + public static String orderByToString(boolean oracleSiblings, List orderByElements) { + return getFormatedList(orderByElements, oracleSiblings ? "ORDER SIBLINGS BY" : "ORDER BY"); + } + + public static String getFormatedList(List list, String expression) { + return getFormatedList(list, expression, true, false); + } + + public static String getFormatedList(List list, String expression, boolean useComma, boolean useBrackets) { + String sql = getStringList(list, useComma, useBrackets); + + if (sql.length() > 0) { + if (expression.length() > 0) { + sql = " " + expression + " " + sql; + } else { + sql = " " + sql; + } + } + + return sql; + } + + /** + * List the toString out put of the objects in the List comma separated. If the List is null or + * empty an empty string is returned. + * + * The same as getStringList(list, true, false) + * + * @see #getStringList(List, boolean, boolean) + * @param list list of objects with toString methods + * @return comma separated list of the elements in the list + */ + public static String getStringList(List list) { + return getStringList(list, true, false); + } + + /** + * List the toString out put of the objects in the List that can be comma separated. If the List + * is null or empty an empty string is returned. + * + * @param list list of objects with toString methods + * @param useComma true if the list has to be comma separated + * @param useBrackets true if the list has to be enclosed in brackets + * @return comma separated list of the elements in the list + */ + public static String getStringList(List list, boolean useComma, boolean useBrackets) { + StringBuilder ans = new StringBuilder(); + // String ans = ""; + String comma = ","; + if (!useComma) { + comma = ""; + } + if (list != null) { + if (useBrackets) { + ans.append("("); + // ans += "("; + } + + for (int i = 0; i < list.size(); i++) { + ans.append(list.get(i)).append((i < list.size() - 1) ? comma + " " : ""); + // ans += "" + list.get(i) + ((i < list.size() - 1) ? comma + " " : ""); + } + + if (useBrackets) { + ans.append(")"); + // ans += ")"; + } + } + + return ans.toString(); + } } diff --git a/src/main/java/net/sf/jsqlparser/statement/select/Select.java b/src/main/java/net/sf/jsqlparser/statement/select/Select.java index 2d6b385eb..f5b3bd81e 100644 --- a/src/main/java/net/sf/jsqlparser/statement/select/Select.java +++ b/src/main/java/net/sf/jsqlparser/statement/select/Select.java @@ -24,50 +24,36 @@ import java.util.Iterator; import java.util.List; +import lombok.Data; import net.sf.jsqlparser.statement.Statement; import net.sf.jsqlparser.statement.StatementVisitor; +@Data public class Select implements Statement { - private SelectBody selectBody; - private List withItemsList; - - @Override - public void accept(StatementVisitor statementVisitor) { - statementVisitor.visit(this); - } - - public SelectBody getSelectBody() { - return selectBody; - } - - public void setSelectBody(SelectBody body) { - selectBody = body; - } - - @Override - public String toString() { - StringBuilder retval = new StringBuilder(); - if (withItemsList != null && !withItemsList.isEmpty()) { - retval.append("WITH "); - for (Iterator iter = withItemsList.iterator(); iter.hasNext();) { - WithItem withItem = iter.next(); - retval.append(withItem); - if (iter.hasNext()) { - retval.append(","); - } - retval.append(" "); - } - } - retval.append(selectBody); - return retval.toString(); - } - - public List getWithItemsList() { - return withItemsList; - } - - public void setWithItemsList(List withItemsList) { - this.withItemsList = withItemsList; - } + private SelectBody selectBody; + private List withItemsList; + + @Override + public void accept(StatementVisitor statementVisitor) { + statementVisitor.visit(this); + } + + @Override + public String toString() { + StringBuilder retval = new StringBuilder(); + if (withItemsList != null && !withItemsList.isEmpty()) { + retval.append("WITH "); + for (Iterator iter = withItemsList.iterator(); iter.hasNext();) { + WithItem withItem = iter.next(); + retval.append(withItem); + if (iter.hasNext()) { + retval.append(","); + } + retval.append(" "); + } + } + retval.append(selectBody); + return retval.toString(); + } } diff --git a/src/main/java/net/sf/jsqlparser/statement/select/SelectExpressionItem.java b/src/main/java/net/sf/jsqlparser/statement/select/SelectExpressionItem.java index e1564fc17..6ec1e3eb9 100644 --- a/src/main/java/net/sf/jsqlparser/statement/select/SelectExpressionItem.java +++ b/src/main/java/net/sf/jsqlparser/statement/select/SelectExpressionItem.java @@ -21,6 +21,8 @@ */ package net.sf.jsqlparser.statement.select; +import lombok.Data; +import lombok.NoArgsConstructor; import net.sf.jsqlparser.expression.Alias; import net.sf.jsqlparser.expression.Expression; import net.sf.jsqlparser.parser.ASTNodeAccessImpl; @@ -28,41 +30,24 @@ /** * An expression as in "SELECT expr1 AS EXPR" */ +@Data +@NoArgsConstructor public class SelectExpressionItem extends ASTNodeAccessImpl implements SelectItem { - private Expression expression; - private Alias alias; - - public SelectExpressionItem() { - } + private Expression expression; + private Alias alias; public SelectExpressionItem(Expression expression) { this.expression = expression; } - public Alias getAlias() { - return alias; - } - - public Expression getExpression() { - return expression; - } - - public void setAlias(Alias alias) { - this.alias = alias; - } - - public void setExpression(Expression expression) { - this.expression = expression; - } - @Override - public void accept(SelectItemVisitor selectItemVisitor) { - selectItemVisitor.visit(this); - } - - @Override - public String toString() { - return expression + ((alias != null) ? alias.toString() : ""); - } + public void accept(SelectItemVisitor selectItemVisitor) { + selectItemVisitor.visit(this); + } + + @Override + public String toString() { + return expression + ((alias != null) ? alias.toString() : ""); + } } diff --git a/src/main/java/net/sf/jsqlparser/statement/select/SetOperation.java b/src/main/java/net/sf/jsqlparser/statement/select/SetOperation.java index 25aa06477..6beb61a9b 100644 --- a/src/main/java/net/sf/jsqlparser/statement/select/SetOperation.java +++ b/src/main/java/net/sf/jsqlparser/statement/select/SetOperation.java @@ -21,6 +21,8 @@ */ package net.sf.jsqlparser.statement.select; +import lombok.AllArgsConstructor; +import lombok.Data; import net.sf.jsqlparser.parser.ASTNodeAccessImpl; import net.sf.jsqlparser.statement.select.SetOperationList.SetOperationType; @@ -29,14 +31,12 @@ * * @author tw */ +@Data +@AllArgsConstructor public abstract class SetOperation extends ASTNodeAccessImpl { private SetOperationType type; - public SetOperation(SetOperationType type) { - this.type = type; - } - @Override public String toString() { return type.name(); diff --git a/src/main/java/net/sf/jsqlparser/statement/select/SetOperationList.java b/src/main/java/net/sf/jsqlparser/statement/select/SetOperationList.java index 7bde7cd87..8d1c284fa 100644 --- a/src/main/java/net/sf/jsqlparser/statement/select/SetOperationList.java +++ b/src/main/java/net/sf/jsqlparser/statement/select/SetOperationList.java @@ -23,123 +23,78 @@ import java.util.List; +import lombok.Data; + /** * A database set operation. This operation consists of a list of plainSelects connected by set * operations (UNION,INTERSECT,MINUS,EXCEPT). All these operations have the same priority. * * @author tw */ +@Data public class SetOperationList implements SelectBody { - private List selects; - private List brackets; - private List operations; - private List orderByElements; - private Limit limit; - private Offset offset; - private Fetch fetch; - - @Override - public void accept(SelectVisitor selectVisitor) { - selectVisitor.visit(this); - } - - public List getOrderByElements() { - return orderByElements; - } - - public List getSelects() { - return selects; - } - - public List getOperations() { - return operations; - } - - public List getBrackets() { - return brackets; - } - - public void setBrackets(List brackets) { - this.brackets = brackets; - } - - public void setOrderByElements(List orderByElements) { - this.orderByElements = orderByElements; - } - - public void setBracketsOpsAndSelects(List brackets, List select, List ops) { - selects = select; - operations = ops; - this.brackets = brackets; - - if (select.size() - 1 != ops.size() || select.size() != brackets.size()) { - throw new IllegalArgumentException("list sizes are not valid"); - } - } - - public Limit getLimit() { - return limit; - } - - public void setLimit(Limit limit) { - this.limit = limit; - } - - public Offset getOffset() { - return offset; - } - - public void setOffset(Offset offset) { - this.offset = offset; - } - - public Fetch getFetch() { - return fetch; - } - - public void setFetch(Fetch fetch) { - this.fetch = fetch; - } - - @Override - public String toString() { - StringBuilder buffer = new StringBuilder(); - - for (int i = 0; i < selects.size(); i++) { - if (i != 0) { - buffer.append(" ").append(operations.get(i - 1).toString()).append(" "); - } - if (brackets == null || brackets.get(i)) { - buffer.append("(").append(selects.get(i).toString()).append(")"); - } else { - buffer.append(selects.get(i).toString()); - } - } - - if (orderByElements != null) { - buffer.append(PlainSelect.orderByToString(orderByElements)); - } - if (limit != null) { - buffer.append(limit.toString()); - } - if (offset != null) { - buffer.append(offset.toString()); - } - if (fetch != null) { - buffer.append(fetch.toString()); - } - return buffer.toString(); - } - - /** - * list of set operations. - */ - public enum SetOperationType { - - INTERSECT, - EXCEPT, - MINUS, - UNION - } + private List selects; + private List brackets; + private List operations; + private List orderByElements; + private Limit limit; + private Offset offset; + private Fetch fetch; + + @Override + public void accept(SelectVisitor selectVisitor) { + selectVisitor.visit(this); + } + + public void setBracketsOpsAndSelects(List brackets, List select, List ops) { + selects = select; + operations = ops; + this.brackets = brackets; + + if (select.size() - 1 != ops.size() || select.size() != brackets.size()) { + throw new IllegalArgumentException("list sizes are not valid"); + } + } + + @Override + public String toString() { + StringBuilder buffer = new StringBuilder(); + + for (int i = 0; i < selects.size(); i++) { + if (i != 0) { + buffer.append(" ").append(operations.get(i - 1).toString()).append(" "); + } + if (brackets == null || brackets.get(i)) { + buffer.append("(").append(selects.get(i).toString()).append(")"); + } else { + buffer.append(selects.get(i).toString()); + } + } + + if (orderByElements != null) { + buffer.append(PlainSelect.orderByToString(orderByElements)); + } + if (limit != null) { + buffer.append(limit.toString()); + } + if (offset != null) { + buffer.append(offset.toString()); + } + if (fetch != null) { + buffer.append(fetch.toString()); + } + return buffer.toString(); + } + + /** + * list of set operations. + */ + public enum SetOperationType { + + INTERSECT, + EXCEPT, + MINUS, + UNION, + } } diff --git a/src/main/java/net/sf/jsqlparser/statement/select/Skip.java b/src/main/java/net/sf/jsqlparser/statement/select/Skip.java index d9237ee69..8defaa4e3 100644 --- a/src/main/java/net/sf/jsqlparser/statement/select/Skip.java +++ b/src/main/java/net/sf/jsqlparser/statement/select/Skip.java @@ -21,6 +21,7 @@ */ package net.sf.jsqlparser.statement.select; +import lombok.Data; import net.sf.jsqlparser.expression.JdbcParameter; /** @@ -29,36 +30,13 @@ * Initial implementation was done for informix special syntax: * http://www-01.ibm.com/support/knowledgecenter/SSGU8G_12.1.0/com.ibm.sqls.doc/ids_sqs_0156.htm */ +@Data public class Skip { private Long rowCount; private JdbcParameter jdbcParameter; private String variable; - public Long getRowCount() { - return rowCount; - } - - public void setRowCount(Long rowCount) { - this.rowCount = rowCount; - } - - public JdbcParameter getJdbcParameter() { - return jdbcParameter; - } - - public void setJdbcParameter(JdbcParameter jdbcParameter) { - this.jdbcParameter = jdbcParameter; - } - - public String getVariable() { - return variable; - } - - public void setVariable(String variable) { - this.variable = variable; - } - @Override public String toString() { String result = "SKIP "; diff --git a/src/main/java/net/sf/jsqlparser/statement/select/SubJoin.java b/src/main/java/net/sf/jsqlparser/statement/select/SubJoin.java index cba6af885..42d5054c7 100644 --- a/src/main/java/net/sf/jsqlparser/statement/select/SubJoin.java +++ b/src/main/java/net/sf/jsqlparser/statement/select/SubJoin.java @@ -21,70 +21,36 @@ */ package net.sf.jsqlparser.statement.select; -import net.sf.jsqlparser.expression.Alias; - import java.util.List; +import lombok.Data; +import net.sf.jsqlparser.expression.Alias; + /** * A table created by "(tab1 [join tab2]* )". */ +@Data public class SubJoin implements FromItem { - private FromItem left; - private Alias alias; - private Pivot pivot; - private List joinList; - - @Override - public void accept(FromItemVisitor fromItemVisitor) { - fromItemVisitor.visit(this); - } - - public FromItem getLeft() { - return left; - } - - public void setLeft(FromItem l) { - left = l; - } - - public List getJoinList() { - return joinList; - } - - public void setJoinList(List joinList) { - this.joinList = joinList; - } - - @Override - public Pivot getPivot() { - return pivot; - } - - @Override - public void setPivot(Pivot pivot) { - this.pivot = pivot; - } - - @Override - public Alias getAlias() { - return alias; - } - - @Override - public void setAlias(Alias alias) { - this.alias = alias; - } - - @Override - public String toString() { - StringBuilder sb = new StringBuilder(); - sb.append("(").append(left); - for(Join j : joinList) { - sb.append(" ").append(j); - } - - sb.append(")").append((alias != null) ? (" " + alias.toString()) : "").append((pivot != null) ? " " + pivot : ""); - return sb.toString(); - } + private FromItem left; + private Alias alias; + private Pivot pivot; + private List joinList; + + @Override + public void accept(FromItemVisitor fromItemVisitor) { + fromItemVisitor.visit(this); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("(").append(left); + for (Join j : joinList) { + sb.append(" ").append(j); + } + + sb.append(")").append((alias != null) ? (" " + alias.toString()) : "").append((pivot != null) ? " " + pivot : ""); + return sb.toString(); + } } diff --git a/src/main/java/net/sf/jsqlparser/statement/select/SubSelect.java b/src/main/java/net/sf/jsqlparser/statement/select/SubSelect.java index d6659becc..a8ea39574 100644 --- a/src/main/java/net/sf/jsqlparser/statement/select/SubSelect.java +++ b/src/main/java/net/sf/jsqlparser/statement/select/SubSelect.java @@ -23,6 +23,8 @@ import java.util.Iterator; import java.util.List; + +import lombok.Data; import net.sf.jsqlparser.expression.Alias; import net.sf.jsqlparser.expression.Expression; import net.sf.jsqlparser.expression.ExpressionVisitor; @@ -33,103 +35,58 @@ /** * A subselect followed by an optional alias. */ +@Data public class SubSelect extends ASTNodeAccessImpl implements FromItem, Expression, ItemsList { - private SelectBody selectBody; - private Alias alias; - private boolean useBrackets = true; - private List withItemsList; - - private Pivot pivot; - - @Override - public void accept(FromItemVisitor fromItemVisitor) { - fromItemVisitor.visit(this); - } - - public SelectBody getSelectBody() { - return selectBody; - } - - public void setSelectBody(SelectBody body) { - selectBody = body; - } - - @Override - public void accept(ExpressionVisitor expressionVisitor) { - expressionVisitor.visit(this); - } - - @Override - public Alias getAlias() { - return alias; - } - - @Override - public void setAlias(Alias alias) { - this.alias = alias; - } - - @Override - public Pivot getPivot() { - return pivot; - } - - @Override - public void setPivot(Pivot pivot) { - this.pivot = pivot; - } - - public boolean isUseBrackets() { - return useBrackets; - } - - public void setUseBrackets(boolean useBrackets) { - this.useBrackets = useBrackets; - } - - public List getWithItemsList() { - return withItemsList; - } - - public void setWithItemsList(List withItemsList) { - this.withItemsList = withItemsList; - } - - @Override - public void accept(ItemsListVisitor itemsListVisitor) { - itemsListVisitor.visit(this); - } - - @Override - public String toString() { - StringBuilder retval = new StringBuilder(); - if (useBrackets) { - retval.append("("); - } - if (withItemsList != null && !withItemsList.isEmpty()) { - retval.append("WITH "); - for (Iterator iter = withItemsList.iterator(); iter.hasNext();) { - WithItem withItem = iter.next(); - retval.append(withItem); - if (iter.hasNext()) { - retval.append(","); - } - retval.append(" "); - } - } - retval.append(selectBody); - if (useBrackets) { - retval.append(")"); - } - - if (alias != null) { - retval.append(alias.toString()); - } - if (pivot != null) { - retval.append(" ").append(pivot); - } - - return retval.toString(); - } + private SelectBody selectBody; + private Alias alias; + private boolean useBrackets = true; + private List withItemsList; + + private Pivot pivot; + + @Override + public void accept(FromItemVisitor fromItemVisitor) { + fromItemVisitor.visit(this); + } + + @Override + public void accept(ExpressionVisitor expressionVisitor) { + expressionVisitor.visit(this); + } + + @Override + public void accept(ItemsListVisitor itemsListVisitor) { + itemsListVisitor.visit(this); + } + + @Override + public String toString() { + StringBuilder retval = new StringBuilder(); + if (useBrackets) { + retval.append("("); + } + if (withItemsList != null && !withItemsList.isEmpty()) { + retval.append("WITH "); + for (Iterator iter = withItemsList.iterator(); iter.hasNext();) { + WithItem withItem = iter.next(); + retval.append(withItem); + if (iter.hasNext()) { + retval.append(","); + } + retval.append(" "); + } + } + retval.append(selectBody); + if (useBrackets) { + retval.append(")"); + } + if (alias != null) { + retval.append(alias.toString()); + } + if (pivot != null) { + retval.append(" ").append(pivot); + } + return retval.toString(); + } } diff --git a/src/main/java/net/sf/jsqlparser/statement/select/Top.java b/src/main/java/net/sf/jsqlparser/statement/select/Top.java index bb283d57d..1aa650ce4 100644 --- a/src/main/java/net/sf/jsqlparser/statement/select/Top.java +++ b/src/main/java/net/sf/jsqlparser/statement/select/Top.java @@ -21,59 +21,37 @@ */ package net.sf.jsqlparser.statement.select; +import lombok.Data; import net.sf.jsqlparser.expression.Expression; /** * A top clause in the form [TOP (row_count) or TOP row_count] */ +@Data public class Top { - private boolean hasParenthesis = false; - private boolean isPercentage = false; - private Expression expression; + private boolean parenthesis = false; + private boolean percentage = false; + private Expression expression; - public Expression getExpression() { - return expression; - } + @Override + public String toString() { + String result = "TOP "; - public void setExpression(Expression expression) { - this.expression = expression; - } + if (parenthesis) { + result += "("; + } - public boolean hasParenthesis() { - return hasParenthesis; - } + result += expression.toString(); - public void setParenthesis(boolean hasParenthesis) { - this.hasParenthesis = hasParenthesis; - } + if (parenthesis) { + result += ")"; + } - public boolean isPercentage() { - return isPercentage; - } + if (percentage) { + result += " PERCENT"; + } - public void setPercentage(boolean percentage) { - this.isPercentage = percentage; - } - - @Override - public String toString() { - String result = "TOP "; - - if (hasParenthesis) { - result += "("; - } - - result += expression.toString(); - - if (hasParenthesis) { - result += ")"; - } - - if (isPercentage) { - result += " PERCENT"; - } - - return result; - } + return result; + } } diff --git a/src/main/java/net/sf/jsqlparser/statement/select/UnionOp.java b/src/main/java/net/sf/jsqlparser/statement/select/UnionOp.java index 43eb49469..9ee9e9514 100644 --- a/src/main/java/net/sf/jsqlparser/statement/select/UnionOp.java +++ b/src/main/java/net/sf/jsqlparser/statement/select/UnionOp.java @@ -21,45 +21,31 @@ */ package net.sf.jsqlparser.statement.select; +import lombok.Data; import net.sf.jsqlparser.statement.select.SetOperationList.SetOperationType; /** * * @author tw */ +@Data public class UnionOp extends SetOperation { - private boolean distinct; - private boolean all; - - public UnionOp() { - super(SetOperationType.UNION); - } - - public boolean isAll() { - return all; - } - - public void setAll(boolean all) { - this.all = all; - } - - public boolean isDistinct() { - return distinct; - } - - public void setDistinct(boolean distinct) { - this.distinct = distinct; - } - - @Override - public String toString() { - String allDistinct = ""; - if (isAll()) { - allDistinct = " ALL"; - } else if (isDistinct()) { - allDistinct = " DISTINCT"; - } - return super.toString() + allDistinct; - } + private boolean distinct; + private boolean all; + + public UnionOp() { + super(SetOperationType.UNION); + } + + @Override + public String toString() { + String allDistinct = ""; + if (isAll()) { + allDistinct = " ALL"; + } else if (isDistinct()) { + allDistinct = " DISTINCT"; + } + return super.toString() + allDistinct; + } } diff --git a/src/main/java/net/sf/jsqlparser/statement/select/ValuesList.java b/src/main/java/net/sf/jsqlparser/statement/select/ValuesList.java index 26f9a919f..114fa0b0b 100644 --- a/src/main/java/net/sf/jsqlparser/statement/select/ValuesList.java +++ b/src/main/java/net/sf/jsqlparser/statement/select/ValuesList.java @@ -21,12 +21,14 @@ */ package net.sf.jsqlparser.statement.select; -import net.sf.jsqlparser.expression.operators.relational.ExpressionList; -import net.sf.jsqlparser.expression.operators.relational.MultiExpressionList; - import java.util.Iterator; import java.util.List; + +import lombok.Data; +import lombok.NoArgsConstructor; import net.sf.jsqlparser.expression.Alias; +import net.sf.jsqlparser.expression.operators.relational.ExpressionList; +import net.sf.jsqlparser.expression.operators.relational.MultiExpressionList; /** * This is a container for a values item within a select statement. It holds some syntactical stuff @@ -34,95 +36,58 @@ * * @author toben */ +@Data +@NoArgsConstructor public class ValuesList implements FromItem { - private Alias alias; - private MultiExpressionList multiExpressionList; - private boolean noBrackets = false; - private List columnNames; - - public ValuesList() { - } - - public ValuesList(MultiExpressionList multiExpressionList) { - this.multiExpressionList = multiExpressionList; - } - - @Override - public void accept(FromItemVisitor fromItemVisitor) { - fromItemVisitor.visit(this); - } - - @Override - public Alias getAlias() { - return alias; - } - - @Override - public void setAlias(Alias alias) { - this.alias = alias; - } - - @Override - public Pivot getPivot() { - return null; - } - - @Override - public void setPivot(Pivot pivot) { - } - - public MultiExpressionList getMultiExpressionList() { - return multiExpressionList; - } - - public void setMultiExpressionList(MultiExpressionList multiExpressionList) { - this.multiExpressionList = multiExpressionList; - } - - public boolean isNoBrackets() { - return noBrackets; - } - - public void setNoBrackets(boolean noBrackets) { - this.noBrackets = noBrackets; - } - - @Override - public String toString() { - StringBuilder b = new StringBuilder(); - - b.append("(VALUES "); - for (Iterator it = getMultiExpressionList().getExprList().iterator(); it. - hasNext();) { - b.append(PlainSelect.getStringList(it.next().getExpressions(), true, !isNoBrackets())); - if (it.hasNext()) { - b.append(", "); - } - } - b.append(")"); - if (alias != null) { - b.append(alias.toString()); - - if (columnNames != null) { - b.append("("); - for (Iterator it = columnNames.iterator(); it.hasNext();) { - b.append(it.next()); - if (it.hasNext()) { - b.append(", "); - } - } - b.append(")"); - } - } - return b.toString(); - } - - public List getColumnNames() { - return columnNames; - } - - public void setColumnNames(List columnNames) { - this.columnNames = columnNames; - } + private Alias alias; + private MultiExpressionList multiExpressionList; + private boolean noBrackets = false; + private List columnNames; + + public ValuesList(MultiExpressionList multiExpressionList) { + this.multiExpressionList = multiExpressionList; + } + + @Override + public void accept(FromItemVisitor fromItemVisitor) { + fromItemVisitor.visit(this); + } + + @Override + public Pivot getPivot() { + return null; + } + + @Override + public void setPivot(Pivot pivot) {} + + @Override + public String toString() { + StringBuilder b = new StringBuilder(); + + b.append("(VALUES "); + for (Iterator it = getMultiExpressionList().getExprList().iterator(); it.hasNext();) { + b.append(PlainSelect.getStringList(it.next().getExpressions(), true, !isNoBrackets())); + if (it.hasNext()) { + b.append(", "); + } + } + b.append(")"); + if (alias != null) { + b.append(alias.toString()); + + if (columnNames != null) { + b.append("("); + for (Iterator it = columnNames.iterator(); it.hasNext();) { + b.append(it.next()); + if (it.hasNext()) { + b.append(", "); + } + } + b.append(")"); + } + } + return b.toString(); + } } diff --git a/src/main/java/net/sf/jsqlparser/statement/select/Wait.java b/src/main/java/net/sf/jsqlparser/statement/select/Wait.java index 7de26ba26..e7f411469 100644 --- a/src/main/java/net/sf/jsqlparser/statement/select/Wait.java +++ b/src/main/java/net/sf/jsqlparser/statement/select/Wait.java @@ -10,41 +10,29 @@ */ package net.sf.jsqlparser.statement.select; +import lombok.Data; + /** * A timeout applied to SELECT to specify how long to wait for the row on the lock to be released. * * @author janmonterrubio */ +@Data public class Wait { - private long timeout; - - /** - * Returns the number of seconds specified for the WAIT command - * - * @return the number of seconds specified for the WAIT command - */ - public long getTimeout() { - return timeout; - } - - /** - * Sets the number of seconds to WAIT for this {@link Wait} - * - * @param timeout the number of seconds to WAIT for this {@link Wait} - */ - public void setTimeout(long timeout) { - this.timeout = timeout; - } + /** + * The number of seconds specified for the WAIT command + */ + private long timeout; - /** - * Returns a String containing the WAIT clause and its timeout, where TIMEOUT is specified by - * {@link #getTimeout()}. The returned string will null be: - * " WAIT <TIMEOUT>" - * - */ - @Override - public String toString() { - return " WAIT " + timeout; - } + /** + * Returns a String containing the WAIT clause and its timeout, where TIMEOUT is specified by + * {@link #getTimeout()}. The returned string will null be: + * " WAIT <TIMEOUT>" + * + */ + @Override + public String toString() { + return " WAIT " + timeout; + } } diff --git a/src/main/java/net/sf/jsqlparser/statement/select/WithItem.java b/src/main/java/net/sf/jsqlparser/statement/select/WithItem.java index 6a8b16d30..81591e595 100644 --- a/src/main/java/net/sf/jsqlparser/statement/select/WithItem.java +++ b/src/main/java/net/sf/jsqlparser/statement/select/WithItem.java @@ -23,72 +23,36 @@ import java.util.List; +import lombok.Data; + /** * One of the parts of a "WITH" clause of a "SELECT" statement */ +@Data public class WithItem implements SelectBody { - private String name; - private List withItemList; - private SelectBody selectBody; - private boolean recursive; - - /** - * The name of this WITH item (for example, "myWITH" in "WITH myWITH AS (SELECT A,B,C))" - * - * @return the name of this WITH - */ - public String getName() { - return name; - } - - public void setName(String name) { - this.name = name; - } - - public boolean isRecursive() { - return recursive; - } - - public void setRecursive(boolean recursive) { - this.recursive = recursive; - } - - /** - * The {@link SelectBody} of this WITH item is the part after the "AS" keyword - * - * @return {@link SelectBody} of this WITH item - */ - public SelectBody getSelectBody() { - return selectBody; - } - - public void setSelectBody(SelectBody selectBody) { - this.selectBody = selectBody; - } - - /** - * The {@link SelectItem}s in this WITH (for example the A,B,C in "WITH mywith (A,B,C) AS ...") - * - * @return a list of {@link SelectItem}s - */ - public List getWithItemList() { - return withItemList; - } - - public void setWithItemList(List withItemList) { - this.withItemList = withItemList; - } - - @Override - public String toString() { - return (recursive ? "RECURSIVE " : "") + name + ((withItemList != null) ? " " + PlainSelect. - getStringList(withItemList, true, true) : "") - + " AS (" + selectBody + ")"; - } - - @Override - public void accept(SelectVisitor visitor) { - visitor.visit(this); - } + /** + * The name of this WITH item (for example, "myWITH" in "WITH myWITH AS (SELECT A,B,C))" + */ + private String name; + /** + * The {@link SelectItem}s in this WITH (for example the A,B,C in "WITH mywith (A,B,C) AS ...") + */ + private List withItemList; + /** + * The {@link SelectBody} of this WITH item is the part after the "AS" keyword + */ + private SelectBody selectBody; + private boolean recursive; + + @Override + public String toString() { + return (recursive ? "RECURSIVE " : "") + name + ((withItemList != null) ? " " + PlainSelect.getStringList(withItemList, true, true) : "") + + " AS (" + selectBody + ")"; + } + + @Override + public void accept(SelectVisitor visitor) { + visitor.visit(this); + } } diff --git a/src/main/java/net/sf/jsqlparser/statement/truncate/Truncate.java b/src/main/java/net/sf/jsqlparser/statement/truncate/Truncate.java index d07299289..63419fa9e 100644 --- a/src/main/java/net/sf/jsqlparser/statement/truncate/Truncate.java +++ b/src/main/java/net/sf/jsqlparser/statement/truncate/Truncate.java @@ -21,6 +21,7 @@ */ package net.sf.jsqlparser.statement.truncate; +import lombok.Data; import net.sf.jsqlparser.schema.Table; import net.sf.jsqlparser.statement.Statement; import net.sf.jsqlparser.statement.StatementVisitor; @@ -28,25 +29,18 @@ /** * A TRUNCATE TABLE statement */ +@Data public class Truncate implements Statement { - private Table table; + private Table table; - @Override - public void accept(StatementVisitor statementVisitor) { - statementVisitor.visit(this); - } + @Override + public void accept(StatementVisitor statementVisitor) { + statementVisitor.visit(this); + } - public Table getTable() { - return table; - } - - public void setTable(Table table) { - this.table = table; - } - - @Override - public String toString() { - return "TRUNCATE TABLE " + table; - } + @Override + public String toString() { + return "TRUNCATE TABLE " + table; + } } diff --git a/src/main/java/net/sf/jsqlparser/statement/update/Update.java b/src/main/java/net/sf/jsqlparser/statement/update/Update.java index ab9e22c16..5828994bc 100644 --- a/src/main/java/net/sf/jsqlparser/statement/update/Update.java +++ b/src/main/java/net/sf/jsqlparser/statement/update/Update.java @@ -23,6 +23,7 @@ import java.util.List; +import lombok.Data; import net.sf.jsqlparser.expression.Expression; import net.sf.jsqlparser.schema.Column; import net.sf.jsqlparser.schema.Table; @@ -30,20 +31,28 @@ import net.sf.jsqlparser.statement.StatementVisitor; import net.sf.jsqlparser.statement.select.FromItem; import net.sf.jsqlparser.statement.select.Join; +import net.sf.jsqlparser.statement.select.Limit; +import net.sf.jsqlparser.statement.select.OrderByElement; import net.sf.jsqlparser.statement.select.PlainSelect; import net.sf.jsqlparser.statement.select.Select; -import net.sf.jsqlparser.statement.select.OrderByElement; -import net.sf.jsqlparser.statement.select.Limit; import net.sf.jsqlparser.statement.select.SelectExpressionItem; /** * The update statement. */ +@Data public class Update implements Statement { private List
tables; private Expression where; + /** + * The {@link net.sf.jsqlparser.schema.Column}s in this update (as col1 and col2 in UPDATE + * col1='a', col2='b') + */ private List columns; + /** + * The {@link Expression}s in this update (as 'a' and 'b' in UPDATE col1='a', col2='b') + */ private List expressions; private FromItem fromItem; private List joins; @@ -60,121 +69,6 @@ public void accept(StatementVisitor statementVisitor) { statementVisitor.visit(this); } - public List
getTables() { - return tables; - } - - public Expression getWhere() { - return where; - } - - public void setTables(List
list) { - tables = list; - } - - public void setWhere(Expression expression) { - where = expression; - } - - /** - * The {@link net.sf.jsqlparser.schema.Column}s in this update (as col1 and col2 in UPDATE - * col1='a', col2='b') - * - * @return a list of {@link net.sf.jsqlparser.schema.Column}s - */ - public List getColumns() { - return columns; - } - - /** - * The {@link Expression}s in this update (as 'a' and 'b' in UPDATE col1='a', col2='b') - * - * @return a list of {@link Expression}s - */ - public List getExpressions() { - return expressions; - } - - public void setColumns(List list) { - columns = list; - } - - public void setExpressions(List list) { - expressions = list; - } - - public FromItem getFromItem() { - return fromItem; - } - - public void setFromItem(FromItem fromItem) { - this.fromItem = fromItem; - } - - public List getJoins() { - return joins; - } - - public void setJoins(List joins) { - this.joins = joins; - } - - public Select getSelect() { - return select; - } - - public void setSelect(Select select) { - this.select = select; - } - - public boolean isUseColumnsBrackets() { - return useColumnsBrackets; - } - - public void setUseColumnsBrackets(boolean useColumnsBrackets) { - this.useColumnsBrackets = useColumnsBrackets; - } - - public boolean isUseSelect() { - return useSelect; - } - - public void setUseSelect(boolean useSelect) { - this.useSelect = useSelect; - } - - public void setOrderByElements(List orderByElements) { - this.orderByElements = orderByElements; - } - - public void setLimit(Limit limit) { - this.limit = limit; - } - - public List getOrderByElements() { - return orderByElements; - } - - public Limit getLimit() { - return limit; - } - - public boolean isReturningAllColumns() { - return returningAllColumns; - } - - public void setReturningAllColumns(boolean returningAllColumns) { - this.returningAllColumns = returningAllColumns; - } - - public List getReturningExpressionList() { - return returningExpressionList; - } - - public void setReturningExpressionList(List returningExpressionList) { - this.returningExpressionList = returningExpressionList; - } - @Override public String toString() { StringBuilder b = new StringBuilder("UPDATE "); diff --git a/src/main/java/net/sf/jsqlparser/statement/upsert/Upsert.java b/src/main/java/net/sf/jsqlparser/statement/upsert/Upsert.java index a5d9a86db..5f80a5f6f 100644 --- a/src/main/java/net/sf/jsqlparser/statement/upsert/Upsert.java +++ b/src/main/java/net/sf/jsqlparser/statement/upsert/Upsert.java @@ -23,6 +23,7 @@ import java.util.List; +import lombok.Data; import net.sf.jsqlparser.expression.Expression; import net.sf.jsqlparser.expression.operators.relational.ItemsList; import net.sf.jsqlparser.schema.Column; @@ -46,135 +47,62 @@ * @author messfish * */ +@Data public class Upsert implements Statement { - private Table table; - private List columns; - private ItemsList itemsList; - private boolean useValues = true; - private Select select; - private boolean useSelectBrackets = true; - private boolean useDuplicate = false; - private List duplicateUpdateColumns; - private List duplicateUpdateExpressionList; + private Table table; + private List columns; + private ItemsList itemsList; + private boolean useValues = true; + private Select select; + private boolean useSelectBrackets = true; + private boolean useDuplicate = false; + private List duplicateUpdateColumns; + private List duplicateUpdateExpressionList; - @Override - public void accept(StatementVisitor statementVisitor) { - statementVisitor.visit(this); - } - - public void setTable(Table name) { - table = name; - } - - public Table getTable() { - return table; - } - - public void setColumns(List list) { - columns = list; - } - - public List getColumns() { - return columns; - } - - public void setItemsList(ItemsList list) { - itemsList = list; - } - - public ItemsList getItemsList() { - return itemsList; - } - - public void setUseValues(boolean useValues) { - this.useValues = useValues; - } - - public boolean isUseValues() { - return useValues; - } - - public void setSelect(Select select) { - this.select = select; - } - - public Select getSelect() { - return select; - } - - public void setUseSelectBrackets(boolean useSelectBrackets) { - this.useSelectBrackets = useSelectBrackets; - } - - public boolean isUseSelectBrackets() { - return useSelectBrackets; - } - - public void setUseDuplicate(boolean useDuplicate) { - this.useDuplicate = useDuplicate; - } - - public boolean isUseDuplicate() { - return useDuplicate; - } - - public void setDuplicateUpdateColumns(List duplicateUpdateColumns) { - this.duplicateUpdateColumns = duplicateUpdateColumns; - } - - public List getDuplicateUpdateColumns() { - return duplicateUpdateColumns; - } - - public void setDuplicateUpdateExpressionList(List duplicateUpdateExpressionList) { - this.duplicateUpdateExpressionList = duplicateUpdateExpressionList; - } - - public List getDuplicateUpdateExpressionList() { - return duplicateUpdateExpressionList; - } - - @Override - public String toString() { - StringBuilder sb = new StringBuilder(); - - sb.append("UPSERT INTO "); - sb.append(table).append(" "); - if (columns != null) { - sb.append(PlainSelect.getStringList(columns, true, true)).append(" "); - } - if (useValues) { - sb.append("VALUES "); - } - - if (itemsList != null) { - sb.append(itemsList); - } else { - if (useSelectBrackets) { - sb.append("("); - } - if (select != null) { - sb.append(select); - } - if (useSelectBrackets) { - sb.append(")"); - } - } + @Override + public void accept(StatementVisitor statementVisitor) { + statementVisitor.visit(this); + } - if (useDuplicate) { - sb.append(" ON DUPLICATE KEY UPDATE "); - for (int i = 0; i < getDuplicateUpdateColumns().size(); i++) { - if (i != 0) { - sb.append(", "); - } - sb.append(duplicateUpdateColumns.get(i)).append(" = "); - sb.append(duplicateUpdateExpressionList.get(i)); - } - } - - return sb.toString(); - } + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); -} + sb.append("UPSERT INTO "); + sb.append(table).append(" "); + if (columns != null) { + sb.append(PlainSelect.getStringList(columns, true, true)).append(" "); + } + if (useValues) { + sb.append("VALUES "); + } + + if (itemsList != null) { + sb.append(itemsList); + } else { + if (useSelectBrackets) { + sb.append("("); + } + if (select != null) { + sb.append(select); + } + if (useSelectBrackets) { + sb.append(")"); + } + } + if (useDuplicate) { + sb.append(" ON DUPLICATE KEY UPDATE "); + for (int i = 0; i < getDuplicateUpdateColumns().size(); i++) { + if (i != 0) { + sb.append(", "); + } + sb.append(duplicateUpdateColumns.get(i)).append(" = "); + sb.append(duplicateUpdateExpressionList.get(i)); + } + } + + return sb.toString(); + } +} diff --git a/src/main/java/net/sf/jsqlparser/util/AddAliasesVisitor.java b/src/main/java/net/sf/jsqlparser/util/AddAliasesVisitor.java index 370a363df..1c343ed39 100644 --- a/src/main/java/net/sf/jsqlparser/util/AddAliasesVisitor.java +++ b/src/main/java/net/sf/jsqlparser/util/AddAliasesVisitor.java @@ -21,10 +21,20 @@ */ package net.sf.jsqlparser.util; -import net.sf.jsqlparser.expression.*; -import net.sf.jsqlparser.statement.select.*; +import java.util.LinkedList; +import java.util.List; -import java.util.*; +import net.sf.jsqlparser.expression.Alias; +import net.sf.jsqlparser.statement.select.AllColumns; +import net.sf.jsqlparser.statement.select.AllTableColumns; +import net.sf.jsqlparser.statement.select.PlainSelect; +import net.sf.jsqlparser.statement.select.SelectBody; +import net.sf.jsqlparser.statement.select.SelectExpressionItem; +import net.sf.jsqlparser.statement.select.SelectItem; +import net.sf.jsqlparser.statement.select.SelectItemVisitor; +import net.sf.jsqlparser.statement.select.SelectVisitor; +import net.sf.jsqlparser.statement.select.SetOperationList; +import net.sf.jsqlparser.statement.select.WithItem; /** * Add aliases to every column and expression selected by a select - statement. Existing aliases are diff --git a/src/main/java/net/sf/jsqlparser/util/ConnectExpressionsVisitor.java b/src/main/java/net/sf/jsqlparser/util/ConnectExpressionsVisitor.java index a581f2398..9c7953ffa 100644 --- a/src/main/java/net/sf/jsqlparser/util/ConnectExpressionsVisitor.java +++ b/src/main/java/net/sf/jsqlparser/util/ConnectExpressionsVisitor.java @@ -21,10 +21,21 @@ */ package net.sf.jsqlparser.util; -import net.sf.jsqlparser.expression.*; -import net.sf.jsqlparser.statement.select.*; - -import java.util.*; +import java.util.LinkedList; +import java.util.List; + +import net.sf.jsqlparser.expression.Alias; +import net.sf.jsqlparser.expression.BinaryExpression; +import net.sf.jsqlparser.statement.select.AllColumns; +import net.sf.jsqlparser.statement.select.AllTableColumns; +import net.sf.jsqlparser.statement.select.PlainSelect; +import net.sf.jsqlparser.statement.select.SelectBody; +import net.sf.jsqlparser.statement.select.SelectExpressionItem; +import net.sf.jsqlparser.statement.select.SelectItem; +import net.sf.jsqlparser.statement.select.SelectItemVisitor; +import net.sf.jsqlparser.statement.select.SelectVisitor; +import net.sf.jsqlparser.statement.select.SetOperationList; +import net.sf.jsqlparser.statement.select.WithItem; /** * Connect all selected expressions with a binary expression. Out of select a,b from table one gets diff --git a/src/main/java/net/sf/jsqlparser/util/cnfexpression/CNFConverter.java b/src/main/java/net/sf/jsqlparser/util/cnfexpression/CNFConverter.java index c327aa5ca..c5b399132 100644 --- a/src/main/java/net/sf/jsqlparser/util/cnfexpression/CNFConverter.java +++ b/src/main/java/net/sf/jsqlparser/util/cnfexpression/CNFConverter.java @@ -27,10 +27,10 @@ import java.util.Queue; import java.util.Stack; +import net.sf.jsqlparser.expression.BinaryExpression; import net.sf.jsqlparser.expression.Expression; import net.sf.jsqlparser.expression.NotExpression; import net.sf.jsqlparser.expression.operators.relational.LikeExpression; -import net.sf.jsqlparser.expression.BinaryExpression; /** * This class handles the conversion from a normal expression tree into @@ -380,7 +380,7 @@ private void handleNot(int index) { if (child instanceof LikeExpression) { ((LikeExpression) child).setNot(true); }else if(child instanceof BinaryExpression) { - ((BinaryExpression) child).setNot(); + ((BinaryExpression) child).setNot(true); }else { child = new NotExpression(child); } diff --git a/src/main/java/net/sf/jsqlparser/util/cnfexpression/CloneHelper.java b/src/main/java/net/sf/jsqlparser/util/cnfexpression/CloneHelper.java index ffd8e555b..6cbfd5566 100644 --- a/src/main/java/net/sf/jsqlparser/util/cnfexpression/CloneHelper.java +++ b/src/main/java/net/sf/jsqlparser/util/cnfexpression/CloneHelper.java @@ -92,7 +92,7 @@ public Expression modify(Expression express) { if(express instanceof BinaryExpression) { BinaryExpression binary = (BinaryExpression) express; if(binary.isNot()) { - binary.removeNot(); + binary.setNot(false); return new NotExpression(modify(binary)); } } diff --git a/src/main/java/net/sf/jsqlparser/util/deparser/CreateTableDeParser.java b/src/main/java/net/sf/jsqlparser/util/deparser/CreateTableDeParser.java index 9226f366b..245bdabde 100644 --- a/src/main/java/net/sf/jsqlparser/util/deparser/CreateTableDeParser.java +++ b/src/main/java/net/sf/jsqlparser/util/deparser/CreateTableDeParser.java @@ -61,11 +61,11 @@ public void deParse(CreateTable createTable) { buffer.append(createTable.getTable().getFullyQualifiedName()); if (createTable.getSelect() != null) { buffer.append(" AS "); - if (createTable.isSelectParenthesis()) { + if (createTable.isParenthesis()) { buffer.append("("); } buffer.append(createTable.getSelect().toString()); - if (createTable.isSelectParenthesis()) { + if (createTable.isParenthesis()) { buffer.append(")"); } } else { diff --git a/src/main/java/net/sf/jsqlparser/util/deparser/OrderByDeParser.java b/src/main/java/net/sf/jsqlparser/util/deparser/OrderByDeParser.java index dca6fbc8e..d0c20f5fb 100644 --- a/src/main/java/net/sf/jsqlparser/util/deparser/OrderByDeParser.java +++ b/src/main/java/net/sf/jsqlparser/util/deparser/OrderByDeParser.java @@ -21,12 +21,12 @@ */ package net.sf.jsqlparser.util.deparser; -import net.sf.jsqlparser.expression.ExpressionVisitor; -import net.sf.jsqlparser.statement.select.OrderByElement; - import java.util.Iterator; import java.util.List; +import net.sf.jsqlparser.expression.ExpressionVisitor; +import net.sf.jsqlparser.statement.select.OrderByElement; + public class OrderByDeParser { private StringBuilder buffer; diff --git a/src/main/java/net/sf/jsqlparser/util/deparser/SelectDeParser.java b/src/main/java/net/sf/jsqlparser/util/deparser/SelectDeParser.java index a1278df6f..29eb94d7b 100644 --- a/src/main/java/net/sf/jsqlparser/util/deparser/SelectDeParser.java +++ b/src/main/java/net/sf/jsqlparser/util/deparser/SelectDeParser.java @@ -21,11 +21,42 @@ */ package net.sf.jsqlparser.util.deparser; -import net.sf.jsqlparser.expression.*; -import net.sf.jsqlparser.schema.*; -import net.sf.jsqlparser.statement.select.*; - -import java.util.*; +import java.util.Iterator; +import java.util.List; + +import net.sf.jsqlparser.expression.Alias; +import net.sf.jsqlparser.expression.Expression; +import net.sf.jsqlparser.expression.ExpressionVisitor; +import net.sf.jsqlparser.expression.ExpressionVisitorAdapter; +import net.sf.jsqlparser.expression.MySQLIndexHint; +import net.sf.jsqlparser.expression.OracleHint; +import net.sf.jsqlparser.schema.Column; +import net.sf.jsqlparser.schema.Table; +import net.sf.jsqlparser.statement.select.AllColumns; +import net.sf.jsqlparser.statement.select.AllTableColumns; +import net.sf.jsqlparser.statement.select.Fetch; +import net.sf.jsqlparser.statement.select.First; +import net.sf.jsqlparser.statement.select.FromItem; +import net.sf.jsqlparser.statement.select.FromItemVisitor; +import net.sf.jsqlparser.statement.select.Join; +import net.sf.jsqlparser.statement.select.LateralSubSelect; +import net.sf.jsqlparser.statement.select.Offset; +import net.sf.jsqlparser.statement.select.Pivot; +import net.sf.jsqlparser.statement.select.PivotVisitor; +import net.sf.jsqlparser.statement.select.PivotXml; +import net.sf.jsqlparser.statement.select.PlainSelect; +import net.sf.jsqlparser.statement.select.SelectExpressionItem; +import net.sf.jsqlparser.statement.select.SelectItem; +import net.sf.jsqlparser.statement.select.SelectItemVisitor; +import net.sf.jsqlparser.statement.select.SelectVisitor; +import net.sf.jsqlparser.statement.select.SetOperationList; +import net.sf.jsqlparser.statement.select.Skip; +import net.sf.jsqlparser.statement.select.SubJoin; +import net.sf.jsqlparser.statement.select.SubSelect; +import net.sf.jsqlparser.statement.select.TableFunction; +import net.sf.jsqlparser.statement.select.Top; +import net.sf.jsqlparser.statement.select.ValuesList; +import net.sf.jsqlparser.statement.select.WithItem; /** * A class to de-parse (that is, tranform from JSqlParser hierarchy into a string) a @@ -97,7 +128,7 @@ public void visit(PlainSelect plainSelect) { buffer.append(top).append(" "); } - if (plainSelect.getMySqlSqlCalcFoundRows()) { + if (plainSelect.isMySqlSqlCalcFoundRows()) { buffer.append("SQL_CALC_FOUND_ROWS").append(" "); } @@ -236,7 +267,7 @@ public void visit(Table tableName) { if (pivot != null) { pivot.accept(this); } - MySQLIndexHint indexHint = tableName.getIndexHint(); + MySQLIndexHint indexHint = tableName.getMySQLIndexHint(); if (indexHint != null) { buffer.append(indexHint); } diff --git a/src/main/java/net/sf/jsqlparser/util/deparser/UpdateDeParser.java b/src/main/java/net/sf/jsqlparser/util/deparser/UpdateDeParser.java index cbdd7dca6..bd05cec44 100644 --- a/src/main/java/net/sf/jsqlparser/util/deparser/UpdateDeParser.java +++ b/src/main/java/net/sf/jsqlparser/util/deparser/UpdateDeParser.java @@ -28,14 +28,14 @@ import net.sf.jsqlparser.expression.ExpressionVisitorAdapter; import net.sf.jsqlparser.schema.Column; import net.sf.jsqlparser.statement.select.Join; +import net.sf.jsqlparser.statement.select.OrderByElement; +import net.sf.jsqlparser.statement.select.OrderByVisitor; import net.sf.jsqlparser.statement.select.PlainSelect; -import net.sf.jsqlparser.statement.update.Update; import net.sf.jsqlparser.statement.select.Select; -import net.sf.jsqlparser.statement.select.SelectVisitor; -import net.sf.jsqlparser.statement.select.OrderByVisitor; -import net.sf.jsqlparser.statement.select.OrderByElement; import net.sf.jsqlparser.statement.select.SelectExpressionItem; +import net.sf.jsqlparser.statement.select.SelectVisitor; import net.sf.jsqlparser.statement.select.SelectVisitorAdapter; +import net.sf.jsqlparser.statement.update.Update; /** * A class to de-parse (that is, tranform from JSqlParser hierarchy into a string) an @@ -43,132 +43,128 @@ */ public class UpdateDeParser implements OrderByVisitor { - private StringBuilder buffer = new StringBuilder(); - private ExpressionVisitor expressionVisitor = new ExpressionVisitorAdapter(); - private SelectVisitor selectVisitor = new SelectVisitorAdapter(); - - public UpdateDeParser() { - } - - /** - * @param expressionVisitor a {@link ExpressionVisitor} to de-parse expressions. It has to share - * the same
- * StringBuilder (buffer parameter) as this object in order to work - * @param selectVisitor a {@link SelectVisitor} to de-parse - * {@link net.sf.jsqlparser.statement.select.Select}s. It has to share the same
- * StringBuilder (buffer parameter) as this object in order to work - * @param buffer the buffer that will be filled with the select - */ - public UpdateDeParser(ExpressionVisitor expressionVisitor, SelectVisitor selectVisitor, StringBuilder buffer) { - this.buffer = buffer; - this.expressionVisitor = expressionVisitor; - this.selectVisitor = selectVisitor; - } - - public StringBuilder getBuffer() { - return buffer; - } - - public void setBuffer(StringBuilder buffer) { - this.buffer = buffer; - } - - public void deParse(Update update) { - buffer.append("UPDATE ").append(PlainSelect.getStringList(update.getTables(), true, false)). - append(" SET "); - - if (!update.isUseSelect()) { - for (int i = 0; i < update.getColumns().size(); i++) { - Column column = update.getColumns().get(i); - column.accept(expressionVisitor); - - buffer.append(" = "); - - Expression expression = update.getExpressions().get(i); - expression.accept(expressionVisitor); - if (i < update.getColumns().size() - 1) { - buffer.append(", "); - } - } - } else { - if (update.isUseColumnsBrackets()) { - buffer.append("("); - } - for (int i = 0; i < update.getColumns().size(); i++) { - if (i != 0) { - buffer.append(", "); - } - Column column = update.getColumns().get(i); - column.accept(expressionVisitor); - } - if (update.isUseColumnsBrackets()) { - buffer.append(")"); - } - buffer.append(" = "); - buffer.append("("); - Select select = update.getSelect(); - select.getSelectBody().accept(selectVisitor); - buffer.append(")"); - } - - if (update.getFromItem() != null) { - buffer.append(" FROM ").append(update.getFromItem()); - if (update.getJoins() != null) { - for (Join join : update.getJoins()) { - if (join.isSimple()) { - buffer.append(", ").append(join); - } else { - buffer.append(" ").append(join); - } - } - } - } - - if (update.getWhere() != null) { - buffer.append(" WHERE "); - update.getWhere().accept(expressionVisitor); - } - if (update.getOrderByElements() != null) { - new OrderByDeParser(expressionVisitor, buffer).deParse(update.getOrderByElements()); - } - if (update.getLimit() != null) { - new LimitDeparser(buffer).deParse(update.getLimit()); - } - - if (update.isReturningAllColumns()) { - buffer.append(" RETURNING *"); - } else if (update.getReturningExpressionList() != null) { - buffer.append(" RETURNING "); - for (Iterator iter = update.getReturningExpressionList(). - iterator(); iter.hasNext();) { - buffer.append(iter.next().toString()); - if (iter.hasNext()) { - buffer.append(", "); - } - } - } - } - - public ExpressionVisitor getExpressionVisitor() { - return expressionVisitor; - } - - public void setExpressionVisitor(ExpressionVisitor visitor) { - expressionVisitor = visitor; - } - - @Override - public void visit(OrderByElement orderBy) { - orderBy.getExpression().accept(expressionVisitor); - if (!orderBy.isAsc()) { - buffer.append(" DESC"); - } else if (orderBy.isAscDescPresent()) { - buffer.append(" ASC"); - } - if (orderBy.getNullOrdering() != null) { - buffer.append(' '); - buffer. - append(orderBy.getNullOrdering() == OrderByElement.NullOrdering.NULLS_FIRST ? "NULLS FIRST" : "NULLS LAST"); - } - } + private StringBuilder buffer = new StringBuilder(); + private ExpressionVisitor expressionVisitor = new ExpressionVisitorAdapter(); + private SelectVisitor selectVisitor = new SelectVisitorAdapter(); + + public UpdateDeParser() {} + + /** + * @param expressionVisitor a {@link ExpressionVisitor} to de-parse expressions. It has to share + * the same
+ * StringBuilder (buffer parameter) as this object in order to work + * @param selectVisitor a {@link SelectVisitor} to de-parse + * {@link net.sf.jsqlparser.statement.select.Select}s. It has to share the same
+ * StringBuilder (buffer parameter) as this object in order to work + * @param buffer the buffer that will be filled with the select + */ + public UpdateDeParser(ExpressionVisitor expressionVisitor, SelectVisitor selectVisitor, StringBuilder buffer) { + this.buffer = buffer; + this.expressionVisitor = expressionVisitor; + this.selectVisitor = selectVisitor; + } + + public StringBuilder getBuffer() { + return buffer; + } + + public void setBuffer(StringBuilder buffer) { + this.buffer = buffer; + } + + public void deParse(Update update) { + buffer.append("UPDATE ").append(PlainSelect.getStringList(update.getTables(), true, false)).append(" SET "); + + if (!update.isUseSelect()) { + for (int i = 0; i < update.getColumns().size(); i++) { + Column column = update.getColumns().get(i); + column.accept(expressionVisitor); + + buffer.append(" = "); + + Expression expression = update.getExpressions().get(i); + expression.accept(expressionVisitor); + if (i < update.getColumns().size() - 1) { + buffer.append(", "); + } + } + } else { + if (update.isUseColumnsBrackets()) { + buffer.append("("); + } + for (int i = 0; i < update.getColumns().size(); i++) { + if (i != 0) { + buffer.append(", "); + } + Column column = update.getColumns().get(i); + column.accept(expressionVisitor); + } + if (update.isUseColumnsBrackets()) { + buffer.append(")"); + } + buffer.append(" = "); + buffer.append("("); + Select select = update.getSelect(); + select.getSelectBody().accept(selectVisitor); + buffer.append(")"); + } + + if (update.getFromItem() != null) { + buffer.append(" FROM ").append(update.getFromItem()); + if (update.getJoins() != null) { + for (Join join : update.getJoins()) { + if (join.isSimple()) { + buffer.append(", ").append(join); + } else { + buffer.append(" ").append(join); + } + } + } + } + + if (update.getWhere() != null) { + buffer.append(" WHERE "); + update.getWhere().accept(expressionVisitor); + } + if (update.getOrderByElements() != null) { + new OrderByDeParser(expressionVisitor, buffer).deParse(update.getOrderByElements()); + } + if (update.getLimit() != null) { + new LimitDeparser(buffer).deParse(update.getLimit()); + } + + if (update.isReturningAllColumns()) { + buffer.append(" RETURNING *"); + } else if (update.getReturningExpressionList() != null) { + buffer.append(" RETURNING "); + for (Iterator iter = update.getReturningExpressionList().iterator(); iter.hasNext();) { + buffer.append(iter.next().toString()); + if (iter.hasNext()) { + buffer.append(", "); + } + } + } + } + + public ExpressionVisitor getExpressionVisitor() { + return expressionVisitor; + } + + public void setExpressionVisitor(ExpressionVisitor visitor) { + expressionVisitor = visitor; + } + + @Override + public void visit(OrderByElement orderBy) { + orderBy.getExpression().accept(expressionVisitor); + if (!orderBy.isAsc()) { + buffer.append(" DESC"); + } else if (orderBy.isAscDescPresent()) { + buffer.append(" ASC"); + } + if (orderBy.getNullOrdering() != null) { + buffer.append(' '); + buffer.append(orderBy.getNullOrdering() == OrderByElement.NullOrdering.NULLS_FIRST ? "NULLS FIRST" : "NULLS LAST"); + } + } } diff --git a/src/main/jjtree/net/sf/jsqlparser/parser/JSqlParserCC.jjt b/src/main/jjtree/net/sf/jsqlparser/parser/JSqlParserCC.jjt index 79c29ec15..e00c8fca2 100644 --- a/src/main/jjtree/net/sf/jsqlparser/parser/JSqlParserCC.jjt +++ b/src/main/jjtree/net/sf/jsqlparser/parser/JSqlParserCC.jjt @@ -1489,7 +1489,7 @@ FromItem FromItem(): LOOKAHEAD(2) indexHint=MySQLIndexHint() { if (fromItem instanceof Table) - ((Table) fromItem).setHint(indexHint); + ((Table) fromItem).setMySQLIndexHint(indexHint); } ] ) @@ -1964,7 +1964,7 @@ Expression AndExpression() : left=Condition() | [ { not = true; } ] - "(" left=OrExpression() ")" {left = new Parenthesis(left); if (not) { ((Parenthesis)left).setNot(); not = false; } } + "(" left=OrExpression() ")" {left = new Parenthesis(left); if (not) { ((Parenthesis)left).setNot(true); not = false; } } ) { result = left; } @@ -1975,7 +1975,7 @@ Expression AndExpression() : right=Condition() | [ { not = true; } ] - "(" right=OrExpression() ")" {right = new Parenthesis(right); if (not) { ((Parenthesis)right).setNot(); not = false; } } + "(" right=OrExpression() ")" {right = new Parenthesis(right); if (not) { ((Parenthesis)right).setNot(true); not = false; } } ) { result = new AndExpression(left, right); @@ -2032,7 +2032,7 @@ Expression RegularCondition() #RegularCondition: | "@@" { result = new Matches(); } | "~" { result = new RegExpMatchOperator(RegExpMatchOperatorType.MATCH_CASESENSITIVE); } | [ { binary=true; } ] { result = new RegExpMySQLOperator(binary?RegExpMatchOperatorType.MATCH_CASESENSITIVE:RegExpMatchOperatorType.MATCH_CASEINSENSITIVE); } - | [ { binary=true; } ] { result = new RegExpMySQLOperator(binary?RegExpMatchOperatorType.MATCH_CASESENSITIVE:RegExpMatchOperatorType.MATCH_CASEINSENSITIVE).useRLike(); } + | [ { binary=true; } ] { result = new RegExpMySQLOperator(binary?RegExpMatchOperatorType.MATCH_CASESENSITIVE:RegExpMatchOperatorType.MATCH_CASEINSENSITIVE).setUseRLike(true); } | "~*" { result = new RegExpMatchOperator(RegExpMatchOperatorType.MATCH_CASEINSENSITIVE); } | "!~" { result = new RegExpMatchOperator(RegExpMatchOperatorType.NOT_MATCH_CASESENSITIVE); } | "!~*" { result = new RegExpMatchOperator(RegExpMatchOperatorType.NOT_MATCH_CASEINSENSITIVE); } @@ -2057,7 +2057,7 @@ Expression RegularCondition() #RegularCondition: regCond.setLeftExpression(leftExpression); regCond.setRightExpression(rightExpression); if (not) - regCond.setNot(); + regCond.setNot(true); if (oracleJoin>0) ((SupportsOldOracleJoinSyntax)result).setOldOracleJoinSyntax(oracleJoin); @@ -3120,8 +3120,8 @@ CreateTable CreateTable(): ) | ( - ( LOOKAHEAD("(" Select() ")") "(" select = Select() { createTable.setSelect(select, true); } ")" - | select = Select() { createTable.setSelect(select, false); } ) + ( LOOKAHEAD("(" Select() ")") "(" select = Select() { createTable.setSelect(select); createTable.setParenthesis(true); } ")" + | select = Select() { createTable.setSelect(select); createTable.setParenthesis(false); } ) ) ] diff --git a/src/test/java/net/sf/jsqlparser/expression/ExpressionPrecedenceTest.java b/src/test/java/net/sf/jsqlparser/expression/ExpressionPrecedenceTest.java index 7200ad2c1..2bfa4a500 100644 --- a/src/test/java/net/sf/jsqlparser/expression/ExpressionPrecedenceTest.java +++ b/src/test/java/net/sf/jsqlparser/expression/ExpressionPrecedenceTest.java @@ -18,12 +18,14 @@ */ package net.sf.jsqlparser.expression; +import static org.junit.Assert.assertTrue; + +import org.junit.Test; + import net.sf.jsqlparser.JSQLParserException; import net.sf.jsqlparser.expression.operators.arithmetic.BitwiseAnd; import net.sf.jsqlparser.expression.operators.arithmetic.Concat; import net.sf.jsqlparser.parser.CCJSqlParserUtil; -import static org.junit.Assert.assertTrue; -import org.junit.Test; /** * diff --git a/src/test/java/net/sf/jsqlparser/expression/ExpressionVisitorAdapterTest.java b/src/test/java/net/sf/jsqlparser/expression/ExpressionVisitorAdapterTest.java index 92117eacc..50fb41156 100644 --- a/src/test/java/net/sf/jsqlparser/expression/ExpressionVisitorAdapterTest.java +++ b/src/test/java/net/sf/jsqlparser/expression/ExpressionVisitorAdapterTest.java @@ -18,8 +18,21 @@ */ package net.sf.jsqlparser.expression; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNotNull; +import static org.junit.Assert.assertNull; +import static org.junit.Assert.assertTrue; +import static org.junit.Assert.fail; + import java.util.ArrayList; import java.util.List; + +import org.junit.After; +import org.junit.AfterClass; +import org.junit.Before; +import org.junit.BeforeClass; +import org.junit.Test; + import net.sf.jsqlparser.JSQLParserException; import net.sf.jsqlparser.expression.operators.relational.InExpression; import net.sf.jsqlparser.expression.operators.relational.ItemsList; @@ -28,16 +41,6 @@ import net.sf.jsqlparser.statement.select.PlainSelect; import net.sf.jsqlparser.statement.select.Select; import net.sf.jsqlparser.statement.select.SelectVisitorAdapter; -import org.junit.After; -import org.junit.AfterClass; -import static org.junit.Assert.assertNotNull; -import static org.junit.Assert.assertNull; -import static org.junit.Assert.assertTrue; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.fail; -import org.junit.Before; -import org.junit.BeforeClass; -import org.junit.Test; /** * diff --git a/src/test/java/net/sf/jsqlparser/expression/LongValueTest.java b/src/test/java/net/sf/jsqlparser/expression/LongValueTest.java index 1b952a7f5..6ae51e381 100644 --- a/src/test/java/net/sf/jsqlparser/expression/LongValueTest.java +++ b/src/test/java/net/sf/jsqlparser/expression/LongValueTest.java @@ -18,13 +18,16 @@ */ package net.sf.jsqlparser.expression; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.fail; + import java.math.BigInteger; + import org.junit.After; import org.junit.AfterClass; import org.junit.Before; import org.junit.BeforeClass; import org.junit.Test; -import static org.junit.Assert.*; /** * diff --git a/src/test/java/net/sf/jsqlparser/expression/SignedExpressionTest.java b/src/test/java/net/sf/jsqlparser/expression/SignedExpressionTest.java index c190bc74f..9b8fc595c 100644 --- a/src/test/java/net/sf/jsqlparser/expression/SignedExpressionTest.java +++ b/src/test/java/net/sf/jsqlparser/expression/SignedExpressionTest.java @@ -18,14 +18,16 @@ */ package net.sf.jsqlparser.expression; -import net.sf.jsqlparser.JSQLParserException; -import net.sf.jsqlparser.parser.CCJSqlParserUtil; +import static org.junit.Assert.fail; + import org.junit.After; import org.junit.AfterClass; import org.junit.Before; import org.junit.BeforeClass; import org.junit.Test; -import static org.junit.Assert.*; + +import net.sf.jsqlparser.JSQLParserException; +import net.sf.jsqlparser.parser.CCJSqlParserUtil; /** * diff --git a/src/test/java/net/sf/jsqlparser/expression/StringValueTest.java b/src/test/java/net/sf/jsqlparser/expression/StringValueTest.java index b4eaf2c0c..7ff9cd184 100644 --- a/src/test/java/net/sf/jsqlparser/expression/StringValueTest.java +++ b/src/test/java/net/sf/jsqlparser/expression/StringValueTest.java @@ -18,12 +18,13 @@ */ package net.sf.jsqlparser.expression; +import static org.junit.Assert.assertEquals; + import org.junit.After; import org.junit.AfterClass; import org.junit.Before; import org.junit.BeforeClass; import org.junit.Test; -import static org.junit.Assert.*; /** * diff --git a/src/test/java/net/sf/jsqlparser/expression/TimestampValueTest.java b/src/test/java/net/sf/jsqlparser/expression/TimestampValueTest.java index ac74ccd71..471d66e25 100644 --- a/src/test/java/net/sf/jsqlparser/expression/TimestampValueTest.java +++ b/src/test/java/net/sf/jsqlparser/expression/TimestampValueTest.java @@ -1,13 +1,14 @@ package net.sf.jsqlparser.expression; -import net.sf.jsqlparser.JSQLParserException; -import org.junit.Test; - import java.text.DateFormat; import java.text.SimpleDateFormat; import java.util.Date; import java.util.Locale; +import org.junit.Test; + +import net.sf.jsqlparser.JSQLParserException; + /** * @author Linyu Chen */ diff --git a/src/test/java/net/sf/jsqlparser/expression/mysql/MySqlSqlCalcFoundRowsTest.java b/src/test/java/net/sf/jsqlparser/expression/mysql/MySqlSqlCalcFoundRowsTest.java index d5755e60b..29aa2c990 100644 --- a/src/test/java/net/sf/jsqlparser/expression/mysql/MySqlSqlCalcFoundRowsTest.java +++ b/src/test/java/net/sf/jsqlparser/expression/mysql/MySqlSqlCalcFoundRowsTest.java @@ -21,6 +21,12 @@ */ package net.sf.jsqlparser.expression.mysql; +import static net.sf.jsqlparser.test.TestUtils.assertSqlCanBeParsedAndDeparsed; +import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertTrue; + +import org.junit.Test; + import net.sf.jsqlparser.JSQLParserException; import net.sf.jsqlparser.parser.CCJSqlParserUtil; import net.sf.jsqlparser.statement.Statement; @@ -28,11 +34,6 @@ import net.sf.jsqlparser.statement.select.PlainSelect; import net.sf.jsqlparser.statement.select.Select; import net.sf.jsqlparser.statement.select.SelectVisitorAdapter; -import org.junit.Test; - -import static net.sf.jsqlparser.test.TestUtils.assertSqlCanBeParsedAndDeparsed; -import static org.junit.Assert.assertFalse; -import static org.junit.Assert.assertTrue; /** * @author sam @@ -61,7 +62,7 @@ public void visit(Select select) { select.getSelectBody().accept(new SelectVisitorAdapter() { @Override public void visit(PlainSelect plainSelect) { - ref.sqlCalcFoundRows = plainSelect.getMySqlSqlCalcFoundRows(); + ref.sqlCalcFoundRows = plainSelect.isMySqlSqlCalcFoundRows(); } }); } diff --git a/src/test/java/net/sf/jsqlparser/parser/CCJSqlParserUtilTest.java b/src/test/java/net/sf/jsqlparser/parser/CCJSqlParserUtilTest.java index 1710412cc..4a357ef05 100644 --- a/src/test/java/net/sf/jsqlparser/parser/CCJSqlParserUtilTest.java +++ b/src/test/java/net/sf/jsqlparser/parser/CCJSqlParserUtilTest.java @@ -1,5 +1,14 @@ package net.sf.jsqlparser.parser; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertTrue; + +import org.junit.After; +import org.junit.AfterClass; +import org.junit.Before; +import org.junit.BeforeClass; +import org.junit.Test; + import net.sf.jsqlparser.JSQLParserException; import net.sf.jsqlparser.expression.Expression; import net.sf.jsqlparser.expression.LongValue; @@ -7,12 +16,6 @@ import net.sf.jsqlparser.expression.operators.arithmetic.Addition; import net.sf.jsqlparser.expression.operators.arithmetic.Multiplication; import net.sf.jsqlparser.schema.Column; -import org.junit.After; -import org.junit.AfterClass; -import org.junit.Before; -import org.junit.BeforeClass; -import org.junit.Test; -import static org.junit.Assert.*; /** * diff --git a/src/test/java/net/sf/jsqlparser/schema/ColumnTest.java b/src/test/java/net/sf/jsqlparser/schema/ColumnTest.java index a32808d9d..4ba15ba0b 100644 --- a/src/test/java/net/sf/jsqlparser/schema/ColumnTest.java +++ b/src/test/java/net/sf/jsqlparser/schema/ColumnTest.java @@ -18,13 +18,15 @@ */ package net.sf.jsqlparser.schema; -import net.sf.jsqlparser.expression.Alias; +import static org.junit.Assert.assertEquals; + import org.junit.After; import org.junit.AfterClass; import org.junit.Before; import org.junit.BeforeClass; import org.junit.Test; -import static org.junit.Assert.*; + +import net.sf.jsqlparser.expression.Alias; /** * diff --git a/src/test/java/net/sf/jsqlparser/schema/ServerTest.java b/src/test/java/net/sf/jsqlparser/schema/ServerTest.java index 924492c74..ad8a26583 100644 --- a/src/test/java/net/sf/jsqlparser/schema/ServerTest.java +++ b/src/test/java/net/sf/jsqlparser/schema/ServerTest.java @@ -1,6 +1,7 @@ package net.sf.jsqlparser.schema; import static org.junit.Assert.assertEquals; + import org.junit.Test; /* diff --git a/src/test/java/net/sf/jsqlparser/statement/AdaptersTest.java b/src/test/java/net/sf/jsqlparser/statement/AdaptersTest.java index 9997d125b..13d136861 100644 --- a/src/test/java/net/sf/jsqlparser/statement/AdaptersTest.java +++ b/src/test/java/net/sf/jsqlparser/statement/AdaptersTest.java @@ -1,5 +1,11 @@ package net.sf.jsqlparser.statement; +import static org.junit.Assert.assertEquals; + +import java.util.Stack; + +import org.junit.Test; + import net.sf.jsqlparser.JSQLParserException; import net.sf.jsqlparser.expression.BinaryExpression; import net.sf.jsqlparser.expression.ExpressionVisitorAdapter; @@ -10,11 +16,6 @@ import net.sf.jsqlparser.statement.select.PlainSelect; import net.sf.jsqlparser.statement.select.Select; import net.sf.jsqlparser.statement.select.SelectVisitorAdapter; -import org.junit.Test; - -import java.util.Stack; - -import static org.junit.Assert.assertEquals; /** * @author aalmiray diff --git a/src/test/java/net/sf/jsqlparser/statement/SetStatementTest.java b/src/test/java/net/sf/jsqlparser/statement/SetStatementTest.java index 8b3609909..c3548786e 100644 --- a/src/test/java/net/sf/jsqlparser/statement/SetStatementTest.java +++ b/src/test/java/net/sf/jsqlparser/statement/SetStatementTest.java @@ -18,14 +18,16 @@ */ package net.sf.jsqlparser.statement; -import net.sf.jsqlparser.JSQLParserException; import static net.sf.jsqlparser.test.TestUtils.assertSqlCanBeParsedAndDeparsed; + import org.junit.After; import org.junit.AfterClass; import org.junit.Before; import org.junit.BeforeClass; import org.junit.Test; +import net.sf.jsqlparser.JSQLParserException; + /** * * @author toben diff --git a/src/test/java/net/sf/jsqlparser/statement/StatementsTest.java b/src/test/java/net/sf/jsqlparser/statement/StatementsTest.java index 0ec8b9c47..6686fe9cd 100644 --- a/src/test/java/net/sf/jsqlparser/statement/StatementsTest.java +++ b/src/test/java/net/sf/jsqlparser/statement/StatementsTest.java @@ -1,17 +1,21 @@ package net.sf.jsqlparser.statement; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNull; +import static org.junit.Assert.assertTrue; + +import org.junit.After; +import org.junit.AfterClass; +import org.junit.Before; +import org.junit.BeforeClass; +import org.junit.Test; + import net.sf.jsqlparser.JSQLParserException; import net.sf.jsqlparser.parser.CCJSqlParser; import net.sf.jsqlparser.parser.CCJSqlParserUtil; import net.sf.jsqlparser.parser.ParseException; import net.sf.jsqlparser.parser.StringProvider; import net.sf.jsqlparser.statement.select.Select; -import org.junit.After; -import org.junit.AfterClass; -import org.junit.Before; -import org.junit.BeforeClass; -import org.junit.Test; -import static org.junit.Assert.*; /** * diff --git a/src/test/java/net/sf/jsqlparser/statement/UseStatementTest.java b/src/test/java/net/sf/jsqlparser/statement/UseStatementTest.java index da59576af..1a13972f5 100644 --- a/src/test/java/net/sf/jsqlparser/statement/UseStatementTest.java +++ b/src/test/java/net/sf/jsqlparser/statement/UseStatementTest.java @@ -18,10 +18,12 @@ */ package net.sf.jsqlparser.statement; -import net.sf.jsqlparser.JSQLParserException; import static net.sf.jsqlparser.test.TestUtils.assertSqlCanBeParsedAndDeparsed; + import org.junit.Test; +import net.sf.jsqlparser.JSQLParserException; + /** * * @author toben diff --git a/src/test/java/net/sf/jsqlparser/statement/execute/ExecuteTest.java b/src/test/java/net/sf/jsqlparser/statement/execute/ExecuteTest.java index 64beb853d..9c0213693 100644 --- a/src/test/java/net/sf/jsqlparser/statement/execute/ExecuteTest.java +++ b/src/test/java/net/sf/jsqlparser/statement/execute/ExecuteTest.java @@ -18,13 +18,15 @@ */ package net.sf.jsqlparser.statement.execute; -import net.sf.jsqlparser.JSQLParserException; +import static net.sf.jsqlparser.test.TestUtils.assertSqlCanBeParsedAndDeparsed; + import org.junit.After; import org.junit.AfterClass; import org.junit.Before; import org.junit.BeforeClass; import org.junit.Test; -import static net.sf.jsqlparser.test.TestUtils.*; + +import net.sf.jsqlparser.JSQLParserException; /** * diff --git a/src/test/java/net/sf/jsqlparser/test/TestException.java b/src/test/java/net/sf/jsqlparser/test/TestException.java index 282bbe6b0..69d5fd3b5 100644 --- a/src/test/java/net/sf/jsqlparser/test/TestException.java +++ b/src/test/java/net/sf/jsqlparser/test/TestException.java @@ -3,6 +3,7 @@ /** * An exception class with stack trace informations */ +@SuppressWarnings("serial") public class TestException extends Exception { private Throwable cause = null; diff --git a/src/test/java/net/sf/jsqlparser/test/TestUtils.java b/src/test/java/net/sf/jsqlparser/test/TestUtils.java index cf93755a3..ece2da3e5 100644 --- a/src/test/java/net/sf/jsqlparser/test/TestUtils.java +++ b/src/test/java/net/sf/jsqlparser/test/TestUtils.java @@ -18,6 +18,9 @@ */ package net.sf.jsqlparser.test; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNotNull; + import java.io.StringReader; import java.util.regex.Pattern; @@ -35,8 +38,6 @@ import net.sf.jsqlparser.util.deparser.ExpressionDeParser; import net.sf.jsqlparser.util.deparser.SelectDeParser; import net.sf.jsqlparser.util.deparser.StatementDeParser; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertNotNull; /** * diff --git a/src/test/java/net/sf/jsqlparser/test/create/AlterViewTest.java b/src/test/java/net/sf/jsqlparser/test/create/AlterViewTest.java index 99984b6d8..dc0d733b6 100644 --- a/src/test/java/net/sf/jsqlparser/test/create/AlterViewTest.java +++ b/src/test/java/net/sf/jsqlparser/test/create/AlterViewTest.java @@ -1,9 +1,11 @@ package net.sf.jsqlparser.test.create; -import net.sf.jsqlparser.JSQLParserException; -import static net.sf.jsqlparser.test.TestUtils.*; +import static net.sf.jsqlparser.test.TestUtils.assertSqlCanBeParsedAndDeparsed; + import org.junit.Test; +import net.sf.jsqlparser.JSQLParserException; + public class AlterViewTest { @Test diff --git a/src/test/java/net/sf/jsqlparser/test/create/CreateIndexTest.java b/src/test/java/net/sf/jsqlparser/test/create/CreateIndexTest.java index 2f0d6e62c..5a4c788ed 100644 --- a/src/test/java/net/sf/jsqlparser/test/create/CreateIndexTest.java +++ b/src/test/java/net/sf/jsqlparser/test/create/CreateIndexTest.java @@ -1,14 +1,16 @@ package net.sf.jsqlparser.test.create; +import static net.sf.jsqlparser.test.TestUtils.assertSqlCanBeParsedAndDeparsed; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNull; + import java.io.StringReader; +import org.junit.Test; + import net.sf.jsqlparser.JSQLParserException; import net.sf.jsqlparser.parser.CCJSqlParserManager; import net.sf.jsqlparser.statement.create.index.CreateIndex; -import static net.sf.jsqlparser.test.TestUtils.*; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertNull; -import org.junit.Test; /** * @author Raymond Augé diff --git a/src/test/java/net/sf/jsqlparser/test/create/CreateTableTest.java b/src/test/java/net/sf/jsqlparser/test/create/CreateTableTest.java index 1a0e38589..1bd9475b6 100644 --- a/src/test/java/net/sf/jsqlparser/test/create/CreateTableTest.java +++ b/src/test/java/net/sf/jsqlparser/test/create/CreateTableTest.java @@ -1,5 +1,7 @@ package net.sf.jsqlparser.test.create; +import static net.sf.jsqlparser.test.TestUtils.assertSqlCanBeParsedAndDeparsed; + import java.io.BufferedReader; import java.io.InputStreamReader; import java.io.StringReader; @@ -16,7 +18,6 @@ import net.sf.jsqlparser.statement.create.table.Index; import net.sf.jsqlparser.test.TestException; import net.sf.jsqlparser.util.TablesNamesFinder; -import static net.sf.jsqlparser.test.TestUtils.*; public class CreateTableTest extends TestCase { diff --git a/src/test/java/net/sf/jsqlparser/test/create/CreateViewTest.java b/src/test/java/net/sf/jsqlparser/test/create/CreateViewTest.java index 10c4bc82d..222f32ad2 100644 --- a/src/test/java/net/sf/jsqlparser/test/create/CreateViewTest.java +++ b/src/test/java/net/sf/jsqlparser/test/create/CreateViewTest.java @@ -1,5 +1,7 @@ package net.sf.jsqlparser.test.create; +import static net.sf.jsqlparser.test.TestUtils.assertSqlCanBeParsedAndDeparsed; + import java.io.StringReader; import junit.framework.TestCase; @@ -8,7 +10,6 @@ import net.sf.jsqlparser.schema.Table; import net.sf.jsqlparser.statement.create.view.CreateView; import net.sf.jsqlparser.statement.select.PlainSelect; -import static net.sf.jsqlparser.test.TestUtils.*; public class CreateViewTest extends TestCase { diff --git a/src/test/java/net/sf/jsqlparser/test/delete/DeleteTest.java b/src/test/java/net/sf/jsqlparser/test/delete/DeleteTest.java index 0b23a3021..e439de5ba 100644 --- a/src/test/java/net/sf/jsqlparser/test/delete/DeleteTest.java +++ b/src/test/java/net/sf/jsqlparser/test/delete/DeleteTest.java @@ -1,6 +1,7 @@ package net.sf.jsqlparser.test.delete; import static net.sf.jsqlparser.test.TestUtils.assertSqlCanBeParsedAndDeparsed; +import static org.junit.Assert.assertEquals; import java.io.StringReader; @@ -9,7 +10,6 @@ import net.sf.jsqlparser.JSQLParserException; import net.sf.jsqlparser.parser.CCJSqlParserManager; import net.sf.jsqlparser.statement.delete.Delete; -import static org.junit.Assert.assertEquals; public class DeleteTest { diff --git a/src/test/java/net/sf/jsqlparser/test/drop/DropTest.java b/src/test/java/net/sf/jsqlparser/test/drop/DropTest.java index 5d6357d97..d06eba742 100644 --- a/src/test/java/net/sf/jsqlparser/test/drop/DropTest.java +++ b/src/test/java/net/sf/jsqlparser/test/drop/DropTest.java @@ -1,13 +1,15 @@ package net.sf.jsqlparser.test.drop; +import static net.sf.jsqlparser.test.TestUtils.assertSqlCanBeParsedAndDeparsed; +import static org.junit.Assert.assertEquals; + import java.io.StringReader; +import org.junit.Test; + import net.sf.jsqlparser.JSQLParserException; import net.sf.jsqlparser.parser.CCJSqlParserManager; import net.sf.jsqlparser.statement.drop.Drop; -import static net.sf.jsqlparser.test.TestUtils.*; -import static org.junit.Assert.assertEquals; -import org.junit.Test; public class DropTest { diff --git a/src/test/java/net/sf/jsqlparser/test/insert/InsertTest.java b/src/test/java/net/sf/jsqlparser/test/insert/InsertTest.java index 2171e16f8..1e11a3588 100644 --- a/src/test/java/net/sf/jsqlparser/test/insert/InsertTest.java +++ b/src/test/java/net/sf/jsqlparser/test/insert/InsertTest.java @@ -1,7 +1,17 @@ package net.sf.jsqlparser.test.insert; +import static net.sf.jsqlparser.test.TestUtils.assertSqlCanBeParsedAndDeparsed; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertNotNull; +import static org.junit.Assert.assertNull; +import static org.junit.Assert.assertTrue; +import static org.junit.Assert.fail; + import java.io.StringReader; +import org.junit.Test; + import net.sf.jsqlparser.JSQLParserException; import net.sf.jsqlparser.expression.DoubleValue; import net.sf.jsqlparser.expression.JdbcParameter; @@ -14,11 +24,6 @@ import net.sf.jsqlparser.statement.insert.Insert; import net.sf.jsqlparser.statement.select.PlainSelect; -import static net.sf.jsqlparser.test.TestUtils.assertSqlCanBeParsedAndDeparsed; -import static org.junit.Assert.*; - -import org.junit.Test; - public class InsertTest { private CCJSqlParserManager parserManager = new CCJSqlParserManager(); diff --git a/src/test/java/net/sf/jsqlparser/test/merge/MergeTest.java b/src/test/java/net/sf/jsqlparser/test/merge/MergeTest.java index 26de09cec..048a3bf7a 100644 --- a/src/test/java/net/sf/jsqlparser/test/merge/MergeTest.java +++ b/src/test/java/net/sf/jsqlparser/test/merge/MergeTest.java @@ -18,12 +18,14 @@ */ package net.sf.jsqlparser.test.merge; +import static net.sf.jsqlparser.test.TestUtils.assertSqlCanBeParsedAndDeparsed; +import static org.junit.Assert.fail; + +import org.junit.Test; + import net.sf.jsqlparser.JSQLParserException; import net.sf.jsqlparser.parser.CCJSqlParserUtil; import net.sf.jsqlparser.statement.Statement; -import org.junit.Test; -import static net.sf.jsqlparser.test.TestUtils.*; -import static org.junit.Assert.fail; /** * diff --git a/src/test/java/net/sf/jsqlparser/test/replace/ReplaceTest.java b/src/test/java/net/sf/jsqlparser/test/replace/ReplaceTest.java index 00dd04fd4..e88032b60 100644 --- a/src/test/java/net/sf/jsqlparser/test/replace/ReplaceTest.java +++ b/src/test/java/net/sf/jsqlparser/test/replace/ReplaceTest.java @@ -1,7 +1,12 @@ package net.sf.jsqlparser.test.replace; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertTrue; + import java.io.StringReader; +import org.junit.Test; + import net.sf.jsqlparser.JSQLParserException; import net.sf.jsqlparser.expression.JdbcParameter; import net.sf.jsqlparser.expression.LongValue; @@ -12,9 +17,6 @@ import net.sf.jsqlparser.statement.replace.Replace; import net.sf.jsqlparser.statement.select.SubSelect; import net.sf.jsqlparser.test.TestUtils; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertTrue; -import org.junit.Test; public class ReplaceTest { diff --git a/src/test/java/net/sf/jsqlparser/test/select/HiveTest.java b/src/test/java/net/sf/jsqlparser/test/select/HiveTest.java index 7ad06843c..42aa97c7f 100644 --- a/src/test/java/net/sf/jsqlparser/test/select/HiveTest.java +++ b/src/test/java/net/sf/jsqlparser/test/select/HiveTest.java @@ -1,16 +1,18 @@ package net.sf.jsqlparser.test.select; +import static net.sf.jsqlparser.test.TestUtils.assertSqlCanBeParsedAndDeparsed; +import static net.sf.jsqlparser.test.TestUtils.assertStatementCanBeDeparsedAs; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertTrue; + +import org.junit.Test; + import net.sf.jsqlparser.parser.CCJSqlParserUtil; import net.sf.jsqlparser.schema.Table; import net.sf.jsqlparser.statement.Statement; import net.sf.jsqlparser.statement.select.PlainSelect; import net.sf.jsqlparser.statement.select.Select; -import static net.sf.jsqlparser.test.TestUtils.*; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertTrue; -import org.junit.Test; - /** * Created by nhanitvn on 5/19/16. */ diff --git a/src/test/java/net/sf/jsqlparser/test/select/SelectASTTest.java b/src/test/java/net/sf/jsqlparser/test/select/SelectASTTest.java index 0c964de10..9639f1f15 100644 --- a/src/test/java/net/sf/jsqlparser/test/select/SelectASTTest.java +++ b/src/test/java/net/sf/jsqlparser/test/select/SelectASTTest.java @@ -18,22 +18,24 @@ */ package net.sf.jsqlparser.test.select; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNotNull; + +import org.junit.Test; + import net.sf.jsqlparser.JSQLParserException; import net.sf.jsqlparser.parser.CCJSqlParserDefaultVisitor; import net.sf.jsqlparser.parser.CCJSqlParserTreeConstants; import net.sf.jsqlparser.parser.CCJSqlParserUtil; -import net.sf.jsqlparser.schema.Column; -import net.sf.jsqlparser.parser.Token; import net.sf.jsqlparser.parser.SimpleNode; +import net.sf.jsqlparser.parser.Token; +import net.sf.jsqlparser.schema.Column; import net.sf.jsqlparser.statement.Statement; import net.sf.jsqlparser.statement.select.OrderByElement; import net.sf.jsqlparser.statement.select.PlainSelect; import net.sf.jsqlparser.statement.select.Select; import net.sf.jsqlparser.statement.select.SelectExpressionItem; import net.sf.jsqlparser.statement.select.SelectItem; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertNotNull; -import org.junit.Test; /** * diff --git a/src/test/java/net/sf/jsqlparser/test/select/SelectTest.java b/src/test/java/net/sf/jsqlparser/test/select/SelectTest.java index 8168c61be..9d01ab82c 100644 --- a/src/test/java/net/sf/jsqlparser/test/select/SelectTest.java +++ b/src/test/java/net/sf/jsqlparser/test/select/SelectTest.java @@ -1,20 +1,53 @@ package net.sf.jsqlparser.test.select; -import junit.framework.*; -import net.sf.jsqlparser.*; -import net.sf.jsqlparser.expression.*; -import net.sf.jsqlparser.expression.operators.arithmetic.*; -import net.sf.jsqlparser.expression.operators.relational.*; -import net.sf.jsqlparser.parser.*; -import net.sf.jsqlparser.schema.*; -import net.sf.jsqlparser.statement.*; -import net.sf.jsqlparser.statement.select.*; -import org.apache.commons.io.*; - -import java.io.*; -import java.util.*; - -import static net.sf.jsqlparser.test.TestUtils.*; +import static net.sf.jsqlparser.test.TestUtils.assertExpressionCanBeDeparsedAs; +import static net.sf.jsqlparser.test.TestUtils.assertOracleHintExists; +import static net.sf.jsqlparser.test.TestUtils.assertSqlCanBeParsedAndDeparsed; +import static net.sf.jsqlparser.test.TestUtils.assertStatementCanBeDeparsedAs; + +import java.io.IOException; +import java.io.StringReader; +import java.util.List; + +import org.apache.commons.io.IOUtils; + +import junit.framework.TestCase; +import net.sf.jsqlparser.JSQLParserException; +import net.sf.jsqlparser.expression.BinaryExpression; +import net.sf.jsqlparser.expression.DoubleValue; +import net.sf.jsqlparser.expression.Expression; +import net.sf.jsqlparser.expression.Function; +import net.sf.jsqlparser.expression.IntervalExpression; +import net.sf.jsqlparser.expression.JdbcNamedParameter; +import net.sf.jsqlparser.expression.JdbcParameter; +import net.sf.jsqlparser.expression.LongValue; +import net.sf.jsqlparser.expression.SignedExpression; +import net.sf.jsqlparser.expression.StringValue; +import net.sf.jsqlparser.expression.TimeValue; +import net.sf.jsqlparser.expression.TimestampValue; +import net.sf.jsqlparser.expression.operators.arithmetic.Multiplication; +import net.sf.jsqlparser.expression.operators.arithmetic.Subtraction; +import net.sf.jsqlparser.expression.operators.relational.EqualsTo; +import net.sf.jsqlparser.expression.operators.relational.GreaterThan; +import net.sf.jsqlparser.expression.operators.relational.InExpression; +import net.sf.jsqlparser.expression.operators.relational.LikeExpression; +import net.sf.jsqlparser.parser.CCJSqlParserManager; +import net.sf.jsqlparser.parser.CCJSqlParserUtil; +import net.sf.jsqlparser.schema.Column; +import net.sf.jsqlparser.schema.Table; +import net.sf.jsqlparser.statement.Statement; +import net.sf.jsqlparser.statement.Statements; +import net.sf.jsqlparser.statement.select.AllTableColumns; +import net.sf.jsqlparser.statement.select.First; +import net.sf.jsqlparser.statement.select.PlainSelect; +import net.sf.jsqlparser.statement.select.Select; +import net.sf.jsqlparser.statement.select.SelectExpressionItem; +import net.sf.jsqlparser.statement.select.SelectItem; +import net.sf.jsqlparser.statement.select.SetOperationList; +import net.sf.jsqlparser.statement.select.Skip; +import net.sf.jsqlparser.statement.select.TableFunction; +import net.sf.jsqlparser.statement.select.Top; +import net.sf.jsqlparser.statement.select.Wait; public class SelectTest extends TestCase { @@ -555,7 +588,7 @@ public void testTopWithParenthesis() throws JSQLParserException { final Top top = selectBody.getTop(); assertEquals("5", top.getExpression().toString()); - assertTrue(top.hasParenthesis()); + assertTrue(top.isParenthesis()); assertTrue(top.isPercentage()); final List selectItems = selectBody.getSelectItems(); @@ -697,7 +730,7 @@ public void testSkipFirst() throws JSQLParserException { assertNotNull(skip.getJdbcParameter()); assertNotNull(skip.getJdbcParameter().getIndex()); assertTrue(skip.getJdbcParameter().isUseFixedIndex()); - assertEquals((int) 1, (int) skip.getJdbcParameter().getIndex()); + assertEquals(1, (int) skip.getJdbcParameter().getIndex()); assertNull(skip.getVariable()); final First first = selectBody.getFirst(); assertNull(first.getJdbcParameter()); @@ -1206,7 +1239,7 @@ public void testNotLike() throws JSQLParserException { PlainSelect plainSelect = (PlainSelect) select.getSelectBody(); assertEquals("test", ((StringValue) ((LikeExpression) plainSelect.getWhere()). getRightExpression()).getValue()); - assertEquals(true, (boolean) ((LikeExpression) plainSelect.getWhere()).isNot()); + assertEquals(true, ((LikeExpression) plainSelect.getWhere()).isNot()); } public void testNotLikeWithNotBeforeExpression() throws JSQLParserException { @@ -1215,7 +1248,7 @@ public void testNotLikeWithNotBeforeExpression() throws JSQLParserException { PlainSelect plainSelect = (PlainSelect) select.getSelectBody(); assertEquals("test", ((StringValue) ((LikeExpression) plainSelect.getWhere()). getRightExpression()).getValue()); - assertEquals(true, (boolean) ((LikeExpression) plainSelect.getWhere()).isNot()); + assertEquals(true, ((LikeExpression) plainSelect.getWhere()).isNot()); } public void testIlike() throws JSQLParserException { diff --git a/src/test/java/net/sf/jsqlparser/test/select/SpecialOracleTest.java b/src/test/java/net/sf/jsqlparser/test/select/SpecialOracleTest.java index bb1b178b4..1135c1f00 100644 --- a/src/test/java/net/sf/jsqlparser/test/select/SpecialOracleTest.java +++ b/src/test/java/net/sf/jsqlparser/test/select/SpecialOracleTest.java @@ -18,20 +18,21 @@ */ package net.sf.jsqlparser.test.select; -import net.sf.jsqlparser.JSQLParserException; -import net.sf.jsqlparser.parser.CCJSqlParserUtil; -import net.sf.jsqlparser.statement.Statement; -import org.apache.commons.io.FileUtils; -import org.junit.ComparisonFailure; -import org.junit.Test; +import static net.sf.jsqlparser.test.TestUtils.assertSqlCanBeParsedAndDeparsed; +import static org.junit.Assert.assertTrue; import java.io.File; import java.io.IOException; import java.util.logging.Level; import java.util.logging.Logger; -import static net.sf.jsqlparser.test.TestUtils.assertSqlCanBeParsedAndDeparsed; -import static org.junit.Assert.assertTrue; +import org.apache.commons.io.FileUtils; +import org.junit.ComparisonFailure; +import org.junit.Test; + +import net.sf.jsqlparser.JSQLParserException; +import net.sf.jsqlparser.parser.CCJSqlParserUtil; +import net.sf.jsqlparser.statement.Statement; /** * Tries to parse and deparse all statments in net.sf.jsqlparser.test.oracle-tests. diff --git a/src/test/java/net/sf/jsqlparser/test/select/SpeedTest.java b/src/test/java/net/sf/jsqlparser/test/select/SpeedTest.java index 8c1f4b54c..088e87eb2 100644 --- a/src/test/java/net/sf/jsqlparser/test/select/SpeedTest.java +++ b/src/test/java/net/sf/jsqlparser/test/select/SpeedTest.java @@ -8,6 +8,8 @@ import java.util.Iterator; import java.util.List; +import org.junit.Test; + import net.sf.jsqlparser.JSQLParserException; import net.sf.jsqlparser.parser.CCJSqlParserManager; import net.sf.jsqlparser.statement.Statement; @@ -15,7 +17,6 @@ import net.sf.jsqlparser.test.TestException; import net.sf.jsqlparser.test.simpleparsing.CCJSqlParserManagerTest; import net.sf.jsqlparser.util.TablesNamesFinder; -import org.junit.Test; public class SpeedTest { diff --git a/src/test/java/net/sf/jsqlparser/test/simpleparsing/CCJSqlParserManagerTest.java b/src/test/java/net/sf/jsqlparser/test/simpleparsing/CCJSqlParserManagerTest.java index 0f4d8fafc..daf5a950a 100644 --- a/src/test/java/net/sf/jsqlparser/test/simpleparsing/CCJSqlParserManagerTest.java +++ b/src/test/java/net/sf/jsqlparser/test/simpleparsing/CCJSqlParserManagerTest.java @@ -4,11 +4,12 @@ import java.io.InputStreamReader; import java.io.StringReader; +import org.junit.Test; + import net.sf.jsqlparser.JSQLParserException; import net.sf.jsqlparser.parser.CCJSqlParserManager; import net.sf.jsqlparser.test.TestException; import net.sf.jsqlparser.test.create.CreateTableTest; -import org.junit.Test; public class CCJSqlParserManagerTest { diff --git a/src/test/java/net/sf/jsqlparser/test/truncate/TruncateTest.java b/src/test/java/net/sf/jsqlparser/test/truncate/TruncateTest.java index 916bdc838..9baf840f6 100644 --- a/src/test/java/net/sf/jsqlparser/test/truncate/TruncateTest.java +++ b/src/test/java/net/sf/jsqlparser/test/truncate/TruncateTest.java @@ -1,11 +1,13 @@ package net.sf.jsqlparser.test.truncate; +import static org.junit.Assert.assertEquals; + import java.io.StringReader; +import org.junit.Test; + import net.sf.jsqlparser.parser.CCJSqlParserManager; import net.sf.jsqlparser.statement.truncate.Truncate; -import static org.junit.Assert.assertEquals; -import org.junit.Test; public class TruncateTest { diff --git a/src/test/java/net/sf/jsqlparser/test/update/UpdateTest.java b/src/test/java/net/sf/jsqlparser/test/update/UpdateTest.java index cf7bedf65..7b06b59ce 100644 --- a/src/test/java/net/sf/jsqlparser/test/update/UpdateTest.java +++ b/src/test/java/net/sf/jsqlparser/test/update/UpdateTest.java @@ -1,7 +1,13 @@ package net.sf.jsqlparser.test.update; +import static net.sf.jsqlparser.test.TestUtils.assertSqlCanBeParsedAndDeparsed; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertTrue; + import java.io.StringReader; +import org.junit.Test; + import net.sf.jsqlparser.JSQLParserException; import net.sf.jsqlparser.expression.JdbcParameter; import net.sf.jsqlparser.expression.LongValue; @@ -10,10 +16,6 @@ import net.sf.jsqlparser.parser.CCJSqlParserManager; import net.sf.jsqlparser.schema.Column; import net.sf.jsqlparser.statement.update.Update; -import static net.sf.jsqlparser.test.TestUtils.*; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertTrue; -import org.junit.Test; public class UpdateTest { diff --git a/src/test/java/net/sf/jsqlparser/test/upsert/UpsertTest.java b/src/test/java/net/sf/jsqlparser/test/upsert/UpsertTest.java index 8788f25d1..56351d541 100644 --- a/src/test/java/net/sf/jsqlparser/test/upsert/UpsertTest.java +++ b/src/test/java/net/sf/jsqlparser/test/upsert/UpsertTest.java @@ -1,7 +1,12 @@ package net.sf.jsqlparser.test.upsert; import static net.sf.jsqlparser.test.TestUtils.assertSqlCanBeParsedAndDeparsed; -import static org.junit.Assert.*; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertNotNull; +import static org.junit.Assert.assertNull; +import static org.junit.Assert.assertTrue; +import static org.junit.Assert.fail; import java.io.StringReader; diff --git a/src/test/java/net/sf/jsqlparser/util/AddAliasesVisitorTest.java b/src/test/java/net/sf/jsqlparser/util/AddAliasesVisitorTest.java index ccf141ef5..d28586bdc 100644 --- a/src/test/java/net/sf/jsqlparser/util/AddAliasesVisitorTest.java +++ b/src/test/java/net/sf/jsqlparser/util/AddAliasesVisitorTest.java @@ -1,15 +1,18 @@ package net.sf.jsqlparser.util; +import static org.junit.Assert.assertEquals; + import java.io.StringReader; -import net.sf.jsqlparser.JSQLParserException; -import net.sf.jsqlparser.parser.CCJSqlParserManager; -import net.sf.jsqlparser.statement.select.Select; + import org.junit.After; import org.junit.AfterClass; import org.junit.Before; import org.junit.BeforeClass; import org.junit.Test; -import static org.junit.Assert.*; + +import net.sf.jsqlparser.JSQLParserException; +import net.sf.jsqlparser.parser.CCJSqlParserManager; +import net.sf.jsqlparser.statement.select.Select; /** * diff --git a/src/test/java/net/sf/jsqlparser/util/ConnectExpressionsVisitorTest.java b/src/test/java/net/sf/jsqlparser/util/ConnectExpressionsVisitorTest.java index 2f47a6198..0691bdfe8 100644 --- a/src/test/java/net/sf/jsqlparser/util/ConnectExpressionsVisitorTest.java +++ b/src/test/java/net/sf/jsqlparser/util/ConnectExpressionsVisitorTest.java @@ -1,18 +1,21 @@ package net.sf.jsqlparser.util; +import static org.junit.Assert.assertEquals; + import java.io.StringReader; + +import org.junit.After; +import org.junit.AfterClass; +import org.junit.Before; +import org.junit.BeforeClass; +import org.junit.Test; + import net.sf.jsqlparser.JSQLParserException; import net.sf.jsqlparser.expression.BinaryExpression; import net.sf.jsqlparser.expression.operators.arithmetic.Addition; import net.sf.jsqlparser.expression.operators.arithmetic.Concat; import net.sf.jsqlparser.parser.CCJSqlParserManager; import net.sf.jsqlparser.statement.select.Select; -import org.junit.After; -import org.junit.AfterClass; -import org.junit.Before; -import org.junit.BeforeClass; -import org.junit.Test; -import static org.junit.Assert.*; /** * diff --git a/src/test/java/net/sf/jsqlparser/util/SelectUtilsTest.java b/src/test/java/net/sf/jsqlparser/util/SelectUtilsTest.java index 1d1176441..2b0b54fce 100644 --- a/src/test/java/net/sf/jsqlparser/util/SelectUtilsTest.java +++ b/src/test/java/net/sf/jsqlparser/util/SelectUtilsTest.java @@ -1,7 +1,17 @@ package net.sf.jsqlparser.util; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertTrue; + import java.util.Arrays; import java.util.List; + +import org.junit.After; +import org.junit.AfterClass; +import org.junit.Before; +import org.junit.BeforeClass; +import org.junit.Test; + import net.sf.jsqlparser.JSQLParserException; import net.sf.jsqlparser.expression.Alias; import net.sf.jsqlparser.expression.Expression; @@ -15,12 +25,6 @@ import net.sf.jsqlparser.statement.select.PlainSelect; import net.sf.jsqlparser.statement.select.Select; import net.sf.jsqlparser.statement.select.SelectExpressionItem; -import org.junit.After; -import org.junit.AfterClass; -import org.junit.Before; -import org.junit.BeforeClass; -import org.junit.Test; -import static org.junit.Assert.*; /** * diff --git a/src/test/java/net/sf/jsqlparser/util/TablesNamesFinderTest.java b/src/test/java/net/sf/jsqlparser/util/TablesNamesFinderTest.java index f35434001..45d6cb18c 100644 --- a/src/test/java/net/sf/jsqlparser/util/TablesNamesFinderTest.java +++ b/src/test/java/net/sf/jsqlparser/util/TablesNamesFinderTest.java @@ -1,14 +1,20 @@ package net.sf.jsqlparser.util; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNull; +import static org.junit.Assert.assertTrue; + import java.io.BufferedReader; import java.io.InputStreamReader; import java.io.StringReader; import java.util.Iterator; import java.util.List; + +import org.junit.Test; + import net.sf.jsqlparser.JSQLParserException; import net.sf.jsqlparser.expression.Expression; import net.sf.jsqlparser.expression.OracleHint; - import net.sf.jsqlparser.parser.CCJSqlParserManager; import net.sf.jsqlparser.parser.CCJSqlParserUtil; import net.sf.jsqlparser.statement.Statement; @@ -22,8 +28,6 @@ import net.sf.jsqlparser.statement.upsert.Upsert; import net.sf.jsqlparser.test.TestException; import net.sf.jsqlparser.test.simpleparsing.CCJSqlParserManagerTest; -import static org.junit.Assert.*; -import org.junit.Test; public class TablesNamesFinderTest { diff --git a/src/test/java/net/sf/jsqlparser/util/cnfexpression/CNFTest.java b/src/test/java/net/sf/jsqlparser/util/cnfexpression/CNFTest.java index 3f8563a29..f3be41d7c 100644 --- a/src/test/java/net/sf/jsqlparser/util/cnfexpression/CNFTest.java +++ b/src/test/java/net/sf/jsqlparser/util/cnfexpression/CNFTest.java @@ -1,6 +1,6 @@ package net.sf.jsqlparser.util.cnfexpression; -import static org.junit.Assert.*; +import static org.junit.Assert.assertEquals; import org.junit.Test; diff --git a/src/test/java/net/sf/jsqlparser/util/deparser/CreateViewDeParserTest.java b/src/test/java/net/sf/jsqlparser/util/deparser/CreateViewDeParserTest.java index 5288e5717..e81ba930f 100644 --- a/src/test/java/net/sf/jsqlparser/util/deparser/CreateViewDeParserTest.java +++ b/src/test/java/net/sf/jsqlparser/util/deparser/CreateViewDeParserTest.java @@ -18,6 +18,14 @@ */ package net.sf.jsqlparser.util.deparser; +import static org.junit.Assert.assertEquals; + +import org.junit.After; +import org.junit.AfterClass; +import org.junit.Before; +import org.junit.BeforeClass; +import org.junit.Test; + import net.sf.jsqlparser.JSQLParserException; import net.sf.jsqlparser.parser.CCJSqlParserDefaultVisitor; import net.sf.jsqlparser.parser.CCJSqlParserTreeConstants; @@ -26,12 +34,6 @@ import net.sf.jsqlparser.schema.Column; import net.sf.jsqlparser.schema.Table; import net.sf.jsqlparser.statement.create.view.CreateView; -import org.junit.After; -import org.junit.AfterClass; -import static org.junit.Assert.assertEquals; -import org.junit.Before; -import org.junit.BeforeClass; -import org.junit.Test; /** * From a2a99c2f1e90c9839bb522950cfc208f2549e9a9 Mon Sep 17 00:00:00 2001 From: Pavel Bekkerman Date: Wed, 7 Feb 2018 00:18:01 +0200 Subject: [PATCH 2/3] Lomboked: replaced Tabs with Spaces according to Source Code conventions. --- .../net/sf/jsqlparser/expression/Alias.java | 18 +- .../expression/AllComparisonExpression.java | 18 +- .../expression/AnalyticExpression.java | 136 +++--- .../expression/AnyComparisonExpression.java | 20 +- .../net/sf/jsqlparser/expression/AnyType.java | 36 +- .../expression/BinaryExpression.java | 2 +- .../jsqlparser/expression/CaseExpression.java | 26 +- .../jsqlparser/expression/CastExpression.java | 30 +- .../expression/DateTimeLiteralExpression.java | 30 +- .../sf/jsqlparser/expression/DateValue.java | 24 +- .../sf/jsqlparser/expression/DoubleValue.java | 40 +- .../expression/ExpressionVisitorAdapter.java | 3 +- .../expression/ExtractExpression.java | 20 +- .../sf/jsqlparser/expression/Function.java | 2 +- .../sf/jsqlparser/expression/HexValue.java | 18 +- .../expression/IntervalExpression.java | 20 +- .../jsqlparser/expression/JdbcParameter.java | 20 +- .../jsqlparser/expression/JsonExpression.java | 30 +- .../jsqlparser/expression/KeepExpression.java | 54 +-- .../expression/MySQLGroupConcat.java | 36 +- .../jsqlparser/expression/MySQLIndexHint.java | 34 +- .../sf/jsqlparser/expression/NumericBind.java | 18 +- .../OracleHierarchicalExpression.java | 64 +-- .../sf/jsqlparser/expression/OracleHint.java | 68 +-- .../sf/jsqlparser/expression/Parenthesis.java | 20 +- .../jsqlparser/expression/RowConstructor.java | 20 +- .../expression/SignedExpression.java | 40 +- .../sf/jsqlparser/expression/StringValue.java | 86 ++-- .../expression/TimeKeyExpression.java | 18 +- .../sf/jsqlparser/expression/TimeValue.java | 24 +- .../jsqlparser/expression/TimestampValue.java | 50 +- .../jsqlparser/expression/UserVariable.java | 30 +- .../sf/jsqlparser/expression/WhenClause.java | 20 +- .../jsqlparser/expression/WindowElement.java | 34 +- .../jsqlparser/expression/WindowOffset.java | 68 +-- .../sf/jsqlparser/expression/WindowRange.java | 22 +- .../operators/arithmetic/Modulo.java | 16 +- .../operators/relational/Between.java | 26 +- .../relational/ComparisonOperator.java | 10 +- .../relational/ExistsExpression.java | 26 +- .../operators/relational/ExpressionList.java | 18 +- .../operators/relational/InExpression.java | 74 +-- .../relational/IsNullExpression.java | 20 +- .../operators/relational/JsonOperator.java | 19 +- .../operators/relational/LikeExpression.java | 38 +- .../relational/MultiExpressionList.java | 2 +- .../OldOracleJoinBinaryExpression.java | 14 +- .../relational/RegExpMatchOperator.java | 58 +-- .../relational/RegExpMySQLOperator.java | 40 +- .../sf/jsqlparser/parser/ASTNodeAccess.java | 36 +- .../net/sf/jsqlparser/parser/BaseToken.java | 37 +- .../jsqlparser/parser/CCJSqlParserUtil.java | 214 ++++----- .../jsqlparser/parser/SimpleCharStream.java | 26 +- .../java/net/sf/jsqlparser/schema/Column.java | 88 ++-- .../net/sf/jsqlparser/schema/Database.java | 58 +-- .../java/net/sf/jsqlparser/schema/Server.java | 6 +- .../java/net/sf/jsqlparser/schema/Table.java | 104 ++-- .../net/sf/jsqlparser/statement/Commit.java | 16 +- .../sf/jsqlparser/statement/SetStatement.java | 32 +- .../statement/StatementVisitorAdapter.java | 12 +- .../sf/jsqlparser/statement/Statements.java | 24 +- .../sf/jsqlparser/statement/alter/Alter.java | 54 +-- .../statement/alter/AlterExpression.java | 10 +- .../statement/alter/AlterOperation.java | 8 +- .../statement/alter/ConstraintState.java | 3 +- .../statement/alter/DeferrableConstraint.java | 20 +- .../statement/alter/ValidateConstraint.java | 10 +- .../statement/create/index/CreateIndex.java | 74 +-- .../create/table/CheckConstraint.java | 12 +- .../statement/create/table/ColDataType.java | 38 +- .../create/table/ColumnDefinition.java | 28 +- .../statement/create/table/CreateTable.java | 4 +- .../create/table/ExcludeConstraint.java | 18 +- .../create/table/ForeignKeyIndex.java | 5 +- .../statement/create/table/Index.java | 30 +- .../create/table/NamedConstraint.java | 39 +- .../statement/create/view/AlterView.java | 48 +- .../statement/create/view/CreateView.java | 70 +-- .../jsqlparser/statement/delete/Delete.java | 82 ++-- .../sf/jsqlparser/statement/drop/Drop.java | 2 +- .../jsqlparser/statement/execute/Execute.java | 32 +- .../jsqlparser/statement/insert/Insert.java | 196 ++++---- .../insert/InsertModifierPriority.java | 8 +- .../sf/jsqlparser/statement/merge/Merge.java | 100 ++-- .../statement/merge/MergeInsert.java | 14 +- .../statement/merge/MergeUpdate.java | 44 +- .../jsqlparser/statement/replace/Replace.java | 106 ++-- .../statement/select/AllColumns.java | 3 +- .../statement/select/AllTableColumns.java | 18 +- .../statement/select/ExpressionListItem.java | 12 +- .../sf/jsqlparser/statement/select/Fetch.java | 18 +- .../sf/jsqlparser/statement/select/First.java | 40 +- .../statement/select/FunctionItem.java | 12 +- .../sf/jsqlparser/statement/select/Join.java | 146 +++--- .../statement/select/LateralSubSelect.java | 26 +- .../sf/jsqlparser/statement/select/Limit.java | 50 +- .../jsqlparser/statement/select/Offset.java | 2 +- .../statement/select/OrderByElement.java | 52 +- .../sf/jsqlparser/statement/select/Pivot.java | 38 +- .../jsqlparser/statement/select/PivotXml.java | 30 +- .../statement/select/PlainSelect.java | 418 ++++++++-------- .../jsqlparser/statement/select/Select.java | 46 +- .../select/SelectExpressionItem.java | 18 +- .../statement/select/SetOperationList.java | 110 ++--- .../jsqlparser/statement/select/SubJoin.java | 36 +- .../statement/select/SubSelect.java | 92 ++-- .../statement/select/TableFunction.java | 3 +- .../sf/jsqlparser/statement/select/Top.java | 36 +- .../jsqlparser/statement/select/UnionOp.java | 30 +- .../statement/select/ValuesList.java | 86 ++-- .../sf/jsqlparser/statement/select/Wait.java | 28 +- .../jsqlparser/statement/select/WithItem.java | 44 +- .../statement/truncate/Truncate.java | 18 +- .../jsqlparser/statement/update/Update.java | 3 +- .../jsqlparser/statement/upsert/Upsert.java | 98 ++-- .../util/ConnectExpressionsVisitor.java | 6 +- .../net/sf/jsqlparser/util/SelectUtils.java | 3 +- .../sf/jsqlparser/util/TablesNamesFinder.java | 87 ++-- .../util/cnfexpression/CNFConverter.java | 140 +++--- .../util/cnfexpression/CloneHelper.java | 40 +- .../cnfexpression/MultipleExpression.java | 28 +- .../util/deparser/CreateTableDeParser.java | 6 +- .../util/deparser/DeleteDeParser.java | 3 +- .../util/deparser/ExpressionDeParser.java | 6 +- .../util/deparser/InsertDeParser.java | 6 +- .../util/deparser/OrderByDeParser.java | 6 +- .../util/deparser/ReplaceDeParser.java | 3 +- .../util/deparser/SelectDeParser.java | 41 +- .../util/deparser/StatementDeParser.java | 6 +- .../util/deparser/UpdateDeParser.java | 248 +++++----- .../util/deparser/UpsertDeParser.java | 8 +- .../ExpressionVisitorAdapterTest.java | 35 +- .../jsqlparser/expression/LongValueTest.java | 15 +- .../expression/SignedExpressionTest.java | 15 +- .../expression/StringValueTest.java | 15 +- .../mysql/MySqlSqlCalcFoundRowsTest.java | 6 +- .../parser/CCJSqlParserUtilTest.java | 27 +- .../net/sf/jsqlparser/schema/ColumnTest.java | 15 +- .../sf/jsqlparser/statement/AdaptersTest.java | 10 +- .../statement/SetStatementTest.java | 15 +- .../jsqlparser/statement/StatementsTest.java | 15 +- .../statement/UseStatementTest.java | 1 - .../statement/execute/ExecuteTest.java | 19 +- .../net/sf/jsqlparser/test/CommitTest.java | 3 +- .../net/sf/jsqlparser/test/TestUtils.java | 10 +- .../sf/jsqlparser/test/alter/AlterTest.java | 43 +- .../test/create/CreateIndexTest.java | 15 +- .../test/create/CreateTableTest.java | 121 +++-- .../test/create/CreateViewTest.java | 6 +- .../net/sf/jsqlparser/test/drop/DropTest.java | 6 +- .../sf/jsqlparser/test/insert/InsertTest.java | 48 +- .../sf/jsqlparser/test/merge/MergeTest.java | 182 +++---- .../jsqlparser/test/replace/ReplaceTest.java | 16 +- .../sf/jsqlparser/test/select/HiveTest.java | 13 +- .../sf/jsqlparser/test/select/MemoryTest.java | 2 +- .../jsqlparser/test/select/SelectASTTest.java | 7 +- .../sf/jsqlparser/test/select/SelectTest.java | 453 ++++++++---------- .../test/select/SpecialOracleTest.java | 47 +- .../sf/jsqlparser/test/select/SpeedTest.java | 16 +- .../CCJSqlParserManagerTest.java | 6 +- .../sf/jsqlparser/test/update/UpdateTest.java | 8 +- .../sf/jsqlparser/test/upsert/UpsertTest.java | 41 +- .../util/AddAliasesVisitorTest.java | 18 +- .../util/ConnectExpressionsVisitorTest.java | 17 +- .../sf/jsqlparser/util/SelectUtilsTest.java | 32 +- .../util/TablesNamesFinderTest.java | 14 +- .../util/cnfexpression/CNFTest.java | 68 +-- .../util/deparser/CreateViewDeParserTest.java | 22 +- .../util/deparser/ExecuteDeParserTest.java | 1 + .../util/deparser/ExpressionDeParserTest.java | 2 + .../util/deparser/StatementDeParserTest.java | 10 +- 171 files changed, 3322 insertions(+), 3511 deletions(-) diff --git a/src/main/java/net/sf/jsqlparser/expression/Alias.java b/src/main/java/net/sf/jsqlparser/expression/Alias.java index b3dabf84a..24b79771e 100644 --- a/src/main/java/net/sf/jsqlparser/expression/Alias.java +++ b/src/main/java/net/sf/jsqlparser/expression/Alias.java @@ -32,15 +32,15 @@ @AllArgsConstructor public class Alias { - private String name; - private boolean useAs = true; + private String name; + private boolean useAs = true; - public Alias(String name) { - this(name, true); - } + public Alias(String name) { + this(name, true); + } - @Override - public String toString() { - return (useAs ? " AS " : " ") + name; - } + @Override + public String toString() { + return (useAs ? " AS " : " ") + name; + } } diff --git a/src/main/java/net/sf/jsqlparser/expression/AllComparisonExpression.java b/src/main/java/net/sf/jsqlparser/expression/AllComparisonExpression.java index 541491544..8e143c2eb 100644 --- a/src/main/java/net/sf/jsqlparser/expression/AllComparisonExpression.java +++ b/src/main/java/net/sf/jsqlparser/expression/AllComparisonExpression.java @@ -30,15 +30,15 @@ @RequiredArgsConstructor public class AllComparisonExpression extends ASTNodeAccessImpl implements Expression { - private final SubSelect subSelect; + private final SubSelect subSelect; - @Override - public void accept(ExpressionVisitor expressionVisitor) { - expressionVisitor.visit(this); - } + @Override + public void accept(ExpressionVisitor expressionVisitor) { + expressionVisitor.visit(this); + } - @Override - public String toString() { - return "ALL " + subSelect.toString(); - } + @Override + public String toString() { + return "ALL " + subSelect.toString(); + } } diff --git a/src/main/java/net/sf/jsqlparser/expression/AnalyticExpression.java b/src/main/java/net/sf/jsqlparser/expression/AnalyticExpression.java index 7c10dab2a..1e901fd6a 100644 --- a/src/main/java/net/sf/jsqlparser/expression/AnalyticExpression.java +++ b/src/main/java/net/sf/jsqlparser/expression/AnalyticExpression.java @@ -40,82 +40,82 @@ @Data public class AnalyticExpression extends ASTNodeAccessImpl implements Expression { - private ExpressionList partitionExpressionList; - private List orderByElements; - private String name; - private Expression expression; - private Expression offset; - private Expression defaultValue; - private boolean allColumns = false; - private WindowElement windowElement; - private KeepExpression keep = null; - private AnalyticType type = AnalyticType.OVER; + private ExpressionList partitionExpressionList; + private List orderByElements; + private String name; + private Expression expression; + private Expression offset; + private Expression defaultValue; + private boolean allColumns = false; + private WindowElement windowElement; + private KeepExpression keep = null; + private AnalyticType type = AnalyticType.OVER; - @Override - public void accept(ExpressionVisitor expressionVisitor) { - expressionVisitor.visit(this); - } + @Override + public void accept(ExpressionVisitor expressionVisitor) { + expressionVisitor.visit(this); + } - @Override - public String toString() { - StringBuilder b = new StringBuilder(); + @Override + public String toString() { + StringBuilder b = new StringBuilder(); - b.append(name).append("("); - if (expression != null) { - b.append(expression.toString()); - if (offset != null) { - b.append(", ").append(offset.toString()); - if (defaultValue != null) { - b.append(", ").append(defaultValue.toString()); - } - } - } else if (isAllColumns()) { - b.append("*"); - } - b.append(") "); - if (keep != null) { - b.append(keep.toString()).append(" "); - } + b.append(name).append("("); + if (expression != null) { + b.append(expression.toString()); + if (offset != null) { + b.append(", ").append(offset.toString()); + if (defaultValue != null) { + b.append(", ").append(defaultValue.toString()); + } + } + } else if (isAllColumns()) { + b.append("*"); + } + b.append(") "); + if (keep != null) { + b.append(keep.toString()).append(" "); + } - switch (type) { - case WITHIN_GROUP: - b.append("WITHIN GROUP"); - break; - default: - b.append("OVER"); - } - b.append(" ("); + switch (type) { + case WITHIN_GROUP: + b.append("WITHIN GROUP"); + break; + default: + b.append("OVER"); + } + b.append(" ("); - toStringPartitionBy(b); - toStringOrderByElements(b); + toStringPartitionBy(b); + toStringOrderByElements(b); - b.append(")"); + b.append(")"); - return b.toString(); - } + return b.toString(); + } - private void toStringPartitionBy(StringBuilder b) { - if (partitionExpressionList != null && !partitionExpressionList.getExpressions().isEmpty()) { - b.append("PARTITION BY "); - b.append(PlainSelect.getStringList(partitionExpressionList.getExpressions(), true, false)); - b.append(" "); - } - } + private void toStringPartitionBy(StringBuilder b) { + if (partitionExpressionList != null && !partitionExpressionList.getExpressions().isEmpty()) { + b.append("PARTITION BY "); + b.append(PlainSelect.getStringList(partitionExpressionList.getExpressions(), true, false)); + b.append(" "); + } + } - private void toStringOrderByElements(StringBuilder b) { - if (orderByElements != null && !orderByElements.isEmpty()) { - b.append("ORDER BY "); - for (int i = 0; i < orderByElements.size(); i++) { - if (i > 0) { - b.append(", "); - } - b.append(orderByElements.get(i).toString()); - } + private void toStringOrderByElements(StringBuilder b) { + if (orderByElements != null && !orderByElements.isEmpty()) { + b.append("ORDER BY "); + for (int i = 0; i < orderByElements.size(); i++) { + if (i > 0) { + b.append(", "); + } + b.append(orderByElements.get(i).toString()); + } - if (windowElement != null) { - b.append(' '); - b.append(windowElement); - } - } - } + if (windowElement != null) { + b.append(' '); + b.append(windowElement); + } + } + } } diff --git a/src/main/java/net/sf/jsqlparser/expression/AnyComparisonExpression.java b/src/main/java/net/sf/jsqlparser/expression/AnyComparisonExpression.java index 2ce5b2675..789eb2dec 100644 --- a/src/main/java/net/sf/jsqlparser/expression/AnyComparisonExpression.java +++ b/src/main/java/net/sf/jsqlparser/expression/AnyComparisonExpression.java @@ -35,16 +35,16 @@ @AllArgsConstructor public class AnyComparisonExpression extends ASTNodeAccessImpl implements Expression { - private final AnyType anyType; - private final SubSelect subSelect; + private final AnyType anyType; + private final SubSelect subSelect; - @Override - public void accept(ExpressionVisitor expressionVisitor) { - expressionVisitor.visit(this); - } + @Override + public void accept(ExpressionVisitor expressionVisitor) { + expressionVisitor.visit(this); + } - @Override - public String toString() { - return anyType.name() + " " + subSelect.toString(); - } + @Override + public String toString() { + return anyType.name() + " " + subSelect.toString(); + } } diff --git a/src/main/java/net/sf/jsqlparser/expression/AnyType.java b/src/main/java/net/sf/jsqlparser/expression/AnyType.java index 1e5c24519..3c23275f4 100644 --- a/src/main/java/net/sf/jsqlparser/expression/AnyType.java +++ b/src/main/java/net/sf/jsqlparser/expression/AnyType.java @@ -19,24 +19,24 @@ * . * #L% */ - /* - * Copyright (C) 2015 JSQLParser. - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, - * MA 02110-1301 USA - */ +/* +* Copyright (C) 2015 JSQLParser. +* +* This library is free software; you can redistribute it and/or +* modify it under the terms of the GNU Lesser General Public +* License as published by the Free Software Foundation; either +* version 2.1 of the License, or (at your option) any later version. +* +* This library is distributed in the hope that it will be useful, +* but WITHOUT ANY WARRANTY; without even the implied warranty of +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +* Lesser General Public License for more details. +* +* You should have received a copy of the GNU Lesser General Public +* License along with this library; if not, write to the Free Software +* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, +* MA 02110-1301 USA +*/ package net.sf.jsqlparser.expression; /** diff --git a/src/main/java/net/sf/jsqlparser/expression/BinaryExpression.java b/src/main/java/net/sf/jsqlparser/expression/BinaryExpression.java index f8f1da194..a156f5162 100644 --- a/src/main/java/net/sf/jsqlparser/expression/BinaryExpression.java +++ b/src/main/java/net/sf/jsqlparser/expression/BinaryExpression.java @@ -34,7 +34,7 @@ public abstract class BinaryExpression extends ASTNodeAccessImpl implements Expr private Expression leftExpression; private Expression rightExpression; private boolean not = false; - + @Override public String toString() { return (not ? "NOT " : "") + getLeftExpression() + " " + getStringExpression() + " " + getRightExpression(); diff --git a/src/main/java/net/sf/jsqlparser/expression/CaseExpression.java b/src/main/java/net/sf/jsqlparser/expression/CaseExpression.java index a7bee555a..98dda47bb 100644 --- a/src/main/java/net/sf/jsqlparser/expression/CaseExpression.java +++ b/src/main/java/net/sf/jsqlparser/expression/CaseExpression.java @@ -61,19 +61,19 @@ @Data public class CaseExpression extends ASTNodeAccessImpl implements Expression { - private Expression switchExpression; - private List whenClauses; - private Expression elseExpression; + private Expression switchExpression; + private List whenClauses; + private Expression elseExpression; - @Override - public void accept(ExpressionVisitor expressionVisitor) { - expressionVisitor.visit(this); - } + @Override + public void accept(ExpressionVisitor expressionVisitor) { + expressionVisitor.visit(this); + } - @Override - public String toString() { - return "CASE " + ((switchExpression != null) ? switchExpression + " " : "") - + PlainSelect.getStringList(whenClauses, false, false) + " " - + ((elseExpression != null) ? "ELSE " + elseExpression + " " : "") + "END"; - } + @Override + public String toString() { + return "CASE " + ((switchExpression != null) ? switchExpression + " " : "") + + PlainSelect.getStringList(whenClauses, false, false) + " " + + ((elseExpression != null) ? "ELSE " + elseExpression + " " : "") + "END"; + } } diff --git a/src/main/java/net/sf/jsqlparser/expression/CastExpression.java b/src/main/java/net/sf/jsqlparser/expression/CastExpression.java index 902de76bc..8634f101d 100644 --- a/src/main/java/net/sf/jsqlparser/expression/CastExpression.java +++ b/src/main/java/net/sf/jsqlparser/expression/CastExpression.java @@ -32,21 +32,21 @@ @Data public class CastExpression extends ASTNodeAccessImpl implements Expression { - private Expression leftExpression; - private ColDataType type; - private boolean useCastKeyword = true; + private Expression leftExpression; + private ColDataType type; + private boolean useCastKeyword = true; - @Override - public void accept(ExpressionVisitor expressionVisitor) { - expressionVisitor.visit(this); - } + @Override + public void accept(ExpressionVisitor expressionVisitor) { + expressionVisitor.visit(this); + } - @Override - public String toString() { - if (useCastKeyword) { - return "CAST(" + leftExpression + " AS " + type.toString() + ")"; - } else { - return leftExpression + "::" + type.toString(); - } - } + @Override + public String toString() { + if (useCastKeyword) { + return "CAST(" + leftExpression + " AS " + type.toString() + ")"; + } else { + return leftExpression + "::" + type.toString(); + } + } } diff --git a/src/main/java/net/sf/jsqlparser/expression/DateTimeLiteralExpression.java b/src/main/java/net/sf/jsqlparser/expression/DateTimeLiteralExpression.java index f314f6458..b9566c354 100644 --- a/src/main/java/net/sf/jsqlparser/expression/DateTimeLiteralExpression.java +++ b/src/main/java/net/sf/jsqlparser/expression/DateTimeLiteralExpression.java @@ -49,22 +49,22 @@ @Data public class DateTimeLiteralExpression extends ASTNodeAccessImpl implements Expression { - private String value; - private DateTime type; + private String value; + private DateTime type; - @Override - public void accept(ExpressionVisitor expressionVisitor) { - expressionVisitor.visit(this); - } + @Override + public void accept(ExpressionVisitor expressionVisitor) { + expressionVisitor.visit(this); + } - @Override - public String toString() { - return type.name() + " " + value; - } + @Override + public String toString() { + return type.name() + " " + value; + } - public static enum DateTime { - DATE, - TIME, - TIMESTAMP, - } + public static enum DateTime { + DATE, + TIME, + TIMESTAMP, + } } diff --git a/src/main/java/net/sf/jsqlparser/expression/DateValue.java b/src/main/java/net/sf/jsqlparser/expression/DateValue.java index 19190dd85..e0e75095c 100644 --- a/src/main/java/net/sf/jsqlparser/expression/DateValue.java +++ b/src/main/java/net/sf/jsqlparser/expression/DateValue.java @@ -32,19 +32,19 @@ @Data public class DateValue extends ASTNodeAccessImpl implements Expression { - private Date value; + private Date value; - public DateValue(String value) { - this.value = Date.valueOf(value.substring(1, value.length() - 1)); - } + public DateValue(String value) { + this.value = Date.valueOf(value.substring(1, value.length() - 1)); + } - @Override - public void accept(ExpressionVisitor expressionVisitor) { - expressionVisitor.visit(this); - } + @Override + public void accept(ExpressionVisitor expressionVisitor) { + expressionVisitor.visit(this); + } - @Override - public String toString() { - return "{d '" + value.toString() + "'}"; - } + @Override + public String toString() { + return "{d '" + value.toString() + "'}"; + } } diff --git a/src/main/java/net/sf/jsqlparser/expression/DoubleValue.java b/src/main/java/net/sf/jsqlparser/expression/DoubleValue.java index fa3519884..46064df2c 100644 --- a/src/main/java/net/sf/jsqlparser/expression/DoubleValue.java +++ b/src/main/java/net/sf/jsqlparser/expression/DoubleValue.java @@ -33,27 +33,27 @@ @Data public class DoubleValue extends ASTNodeAccessImpl implements Expression { - private double value; - @Getter(AccessLevel.NONE) - @Setter(AccessLevel.NONE) - private String stringValue; + private double value; + @Getter(AccessLevel.NONE) + @Setter(AccessLevel.NONE) + private String stringValue; - public DoubleValue(final String value) { - String val = value; - if (val.charAt(0) == '+') { - val = val.substring(1); - } - this.value = Double.parseDouble(val); - this.stringValue = val; - } + public DoubleValue(final String value) { + String val = value; + if (val.charAt(0) == '+') { + val = val.substring(1); + } + this.value = Double.parseDouble(val); + this.stringValue = val; + } - @Override - public void accept(ExpressionVisitor expressionVisitor) { - expressionVisitor.visit(this); - } + @Override + public void accept(ExpressionVisitor expressionVisitor) { + expressionVisitor.visit(this); + } - @Override - public String toString() { - return stringValue; - } + @Override + public String toString() { + return stringValue; + } } diff --git a/src/main/java/net/sf/jsqlparser/expression/ExpressionVisitorAdapter.java b/src/main/java/net/sf/jsqlparser/expression/ExpressionVisitorAdapter.java index 82f5761f9..92d334b7d 100644 --- a/src/main/java/net/sf/jsqlparser/expression/ExpressionVisitorAdapter.java +++ b/src/main/java/net/sf/jsqlparser/expression/ExpressionVisitorAdapter.java @@ -351,8 +351,7 @@ public void visit(ExtractExpression expr) { } @Override - public void visit(IntervalExpression expr) { - } + public void visit(IntervalExpression expr) {} @Override public void visit(OracleHierarchicalExpression expr) { diff --git a/src/main/java/net/sf/jsqlparser/expression/ExtractExpression.java b/src/main/java/net/sf/jsqlparser/expression/ExtractExpression.java index e73e1a6a2..fbfe1ec40 100644 --- a/src/main/java/net/sf/jsqlparser/expression/ExtractExpression.java +++ b/src/main/java/net/sf/jsqlparser/expression/ExtractExpression.java @@ -33,16 +33,16 @@ @Data public class ExtractExpression extends ASTNodeAccessImpl implements Expression { - private String name; - private Expression expression; + private String name; + private Expression expression; - @Override - public void accept(ExpressionVisitor expressionVisitor) { - expressionVisitor.visit(this); - } + @Override + public void accept(ExpressionVisitor expressionVisitor) { + expressionVisitor.visit(this); + } - @Override - public String toString() { - return "EXTRACT(" + name + " FROM " + expression + ')'; - } + @Override + public String toString() { + return "EXTRACT(" + name + " FROM " + expression + ')'; + } } diff --git a/src/main/java/net/sf/jsqlparser/expression/Function.java b/src/main/java/net/sf/jsqlparser/expression/Function.java index d96090479..b650a83ab 100644 --- a/src/main/java/net/sf/jsqlparser/expression/Function.java +++ b/src/main/java/net/sf/jsqlparser/expression/Function.java @@ -61,7 +61,7 @@ public class Function extends ASTNodeAccessImpl implements Expression { * * @return true if it's java-escaped */ - private boolean escaped = false; + private boolean escaped = false; private String attribute; private KeepExpression keep = null; diff --git a/src/main/java/net/sf/jsqlparser/expression/HexValue.java b/src/main/java/net/sf/jsqlparser/expression/HexValue.java index fd97056f5..d7f89e42f 100644 --- a/src/main/java/net/sf/jsqlparser/expression/HexValue.java +++ b/src/main/java/net/sf/jsqlparser/expression/HexValue.java @@ -32,15 +32,15 @@ @AllArgsConstructor public class HexValue extends ASTNodeAccessImpl implements Expression { - private String value; + private String value; - @Override - public void accept(ExpressionVisitor expressionVisitor) { - expressionVisitor.visit(this); - } + @Override + public void accept(ExpressionVisitor expressionVisitor) { + expressionVisitor.visit(this); + } - @Override - public String toString() { - return value; - } + @Override + public String toString() { + return value; + } } diff --git a/src/main/java/net/sf/jsqlparser/expression/IntervalExpression.java b/src/main/java/net/sf/jsqlparser/expression/IntervalExpression.java index 03faea5e5..b784d550f 100644 --- a/src/main/java/net/sf/jsqlparser/expression/IntervalExpression.java +++ b/src/main/java/net/sf/jsqlparser/expression/IntervalExpression.java @@ -31,16 +31,16 @@ @Data public class IntervalExpression extends ASTNodeAccessImpl implements Expression { - private String parameter = null; - private String intervalType = null; + private String parameter = null; + private String intervalType = null; - @Override - public String toString() { - return "INTERVAL " + parameter + (intervalType != null ? " " + intervalType : ""); - } + @Override + public String toString() { + return "INTERVAL " + parameter + (intervalType != null ? " " + intervalType : ""); + } - @Override - public void accept(ExpressionVisitor expressionVisitor) { - expressionVisitor.visit(this); - } + @Override + public void accept(ExpressionVisitor expressionVisitor) { + expressionVisitor.visit(this); + } } diff --git a/src/main/java/net/sf/jsqlparser/expression/JdbcParameter.java b/src/main/java/net/sf/jsqlparser/expression/JdbcParameter.java index e878b6227..761edbd41 100644 --- a/src/main/java/net/sf/jsqlparser/expression/JdbcParameter.java +++ b/src/main/java/net/sf/jsqlparser/expression/JdbcParameter.java @@ -34,16 +34,16 @@ @AllArgsConstructor public class JdbcParameter extends ASTNodeAccessImpl implements Expression { - private Integer index; - private boolean useFixedIndex = false; + private Integer index; + private boolean useFixedIndex = false; - @Override - public void accept(ExpressionVisitor expressionVisitor) { - expressionVisitor.visit(this); - } + @Override + public void accept(ExpressionVisitor expressionVisitor) { + expressionVisitor.visit(this); + } - @Override - public String toString() { - return useFixedIndex ? "?" + index : "?"; - } + @Override + public String toString() { + return useFixedIndex ? "?" + index : "?"; + } } diff --git a/src/main/java/net/sf/jsqlparser/expression/JsonExpression.java b/src/main/java/net/sf/jsqlparser/expression/JsonExpression.java index bf1f91877..7a2f369a5 100644 --- a/src/main/java/net/sf/jsqlparser/expression/JsonExpression.java +++ b/src/main/java/net/sf/jsqlparser/expression/JsonExpression.java @@ -45,21 +45,21 @@ public void accept(ExpressionVisitor expressionVisitor) { expressionVisitor.visit(this); } -// public List getIdents() { -// return idents; -// } -// -// public void setIdents(List idents) { -// this.idents = idents; -// operators = new ArrayList(); -// for (String ident : idents) { -// operators.add("->"); -// } -// } -// -// public void addIdent(String ident) { -// addIdent(ident, "->"); -// } + // public List getIdents() { + // return idents; + // } + // + // public void setIdents(List idents) { + // this.idents = idents; + // operators = new ArrayList(); + // for (String ident : idents) { + // operators.add("->"); + // } + // } + // + // public void addIdent(String ident) { + // addIdent(ident, "->"); + // } public void addIdent(String ident, String operator) { idents.add(ident); operators.add(operator); diff --git a/src/main/java/net/sf/jsqlparser/expression/KeepExpression.java b/src/main/java/net/sf/jsqlparser/expression/KeepExpression.java index bf3cd8ea5..b8480cf51 100644 --- a/src/main/java/net/sf/jsqlparser/expression/KeepExpression.java +++ b/src/main/java/net/sf/jsqlparser/expression/KeepExpression.java @@ -38,38 +38,38 @@ @Data public class KeepExpression extends ASTNodeAccessImpl implements Expression { - private String name; - private List orderByElements; - private boolean first = false; + private String name; + private List orderByElements; + private boolean first = false; - @Override - public void accept(ExpressionVisitor expressionVisitor) { - expressionVisitor.visit(this); - } + @Override + public void accept(ExpressionVisitor expressionVisitor) { + expressionVisitor.visit(this); + } - @Override - public String toString() { - StringBuilder b = new StringBuilder(); + @Override + public String toString() { + StringBuilder b = new StringBuilder(); - b.append("KEEP (").append(name); + b.append("KEEP (").append(name); - b.append(" ").append(first ? "FIRST" : "LAST").append(" "); - toStringOrderByElements(b); + b.append(" ").append(first ? "FIRST" : "LAST").append(" "); + toStringOrderByElements(b); - b.append(")"); + b.append(")"); - return b.toString(); - } + return b.toString(); + } - private void toStringOrderByElements(StringBuilder b) { - if (orderByElements != null && !orderByElements.isEmpty()) { - b.append("ORDER BY "); - for (int i = 0; i < orderByElements.size(); i++) { - if (i > 0) { - b.append(", "); - } - b.append(orderByElements.get(i).toString()); - } - } - } + private void toStringOrderByElements(StringBuilder b) { + if (orderByElements != null && !orderByElements.isEmpty()) { + b.append("ORDER BY "); + for (int i = 0; i < orderByElements.size(); i++) { + if (i > 0) { + b.append(", "); + } + b.append(orderByElements.get(i).toString()); + } + } + } } diff --git a/src/main/java/net/sf/jsqlparser/expression/MySQLGroupConcat.java b/src/main/java/net/sf/jsqlparser/expression/MySQLGroupConcat.java index 87a5f9b95..5c41b7206 100644 --- a/src/main/java/net/sf/jsqlparser/expression/MySQLGroupConcat.java +++ b/src/main/java/net/sf/jsqlparser/expression/MySQLGroupConcat.java @@ -19,24 +19,24 @@ * . * #L% */ - /* - * Copyright (C) 2015 JSQLParser. - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, - * MA 02110-1301 USA - */ +/* +* Copyright (C) 2015 JSQLParser. +* +* This library is free software; you can redistribute it and/or +* modify it under the terms of the GNU Lesser General Public +* License as published by the Free Software Foundation; either +* version 2.1 of the License, or (at your option) any later version. +* +* This library is distributed in the hope that it will be useful, +* but WITHOUT ANY WARRANTY; without even the implied warranty of +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +* Lesser General Public License for more details. +* +* You should have received a copy of the GNU Lesser General Public +* License along with this library; if not, write to the Free Software +* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, +* MA 02110-1301 USA +*/ package net.sf.jsqlparser.expression; import java.util.List; diff --git a/src/main/java/net/sf/jsqlparser/expression/MySQLIndexHint.java b/src/main/java/net/sf/jsqlparser/expression/MySQLIndexHint.java index 8fe28baf9..f8e375e12 100644 --- a/src/main/java/net/sf/jsqlparser/expression/MySQLIndexHint.java +++ b/src/main/java/net/sf/jsqlparser/expression/MySQLIndexHint.java @@ -30,22 +30,22 @@ @AllArgsConstructor public class MySQLIndexHint { - private final String action; - private final String indexQualifier; - private final List indexNames; + private final String action; + private final String indexQualifier; + private final List indexNames; - @Override - public String toString() { - // use|ignore|force key|index (index1,...,indexN) - StringBuilder buffer = new StringBuilder(); - buffer.append(" ").append(action).append(" ").append(indexQualifier).append(" ("); - for (int i = 0; i < indexNames.size(); i++) { - if (i > 0) { - buffer.append(","); - } - buffer.append(indexNames.get(i)); - } - buffer.append(")"); - return buffer.toString(); - } + @Override + public String toString() { + // use|ignore|force key|index (index1,...,indexN) + StringBuilder buffer = new StringBuilder(); + buffer.append(" ").append(action).append(" ").append(indexQualifier).append(" ("); + for (int i = 0; i < indexNames.size(); i++) { + if (i > 0) { + buffer.append(","); + } + buffer.append(indexNames.get(i)); + } + buffer.append(")"); + return buffer.toString(); + } } diff --git a/src/main/java/net/sf/jsqlparser/expression/NumericBind.java b/src/main/java/net/sf/jsqlparser/expression/NumericBind.java index e42cc5a2e..3aba57696 100644 --- a/src/main/java/net/sf/jsqlparser/expression/NumericBind.java +++ b/src/main/java/net/sf/jsqlparser/expression/NumericBind.java @@ -31,15 +31,15 @@ @Data public class NumericBind extends ASTNodeAccessImpl implements Expression { - private int bindId; + private int bindId; - @Override - public void accept(ExpressionVisitor expressionVisitor) { - expressionVisitor.visit(this); - } + @Override + public void accept(ExpressionVisitor expressionVisitor) { + expressionVisitor.visit(this); + } - @Override - public String toString() { - return ":" + bindId; - } + @Override + public String toString() { + return ":" + bindId; + } } diff --git a/src/main/java/net/sf/jsqlparser/expression/OracleHierarchicalExpression.java b/src/main/java/net/sf/jsqlparser/expression/OracleHierarchicalExpression.java index d079009c0..baa7df465 100644 --- a/src/main/java/net/sf/jsqlparser/expression/OracleHierarchicalExpression.java +++ b/src/main/java/net/sf/jsqlparser/expression/OracleHierarchicalExpression.java @@ -31,38 +31,38 @@ @Data public class OracleHierarchicalExpression extends ASTNodeAccessImpl implements Expression { - private Expression startExpression; - private Expression connectExpression; - private boolean noCycle = false; - boolean connectFirst = false; + private Expression startExpression; + private Expression connectExpression; + private boolean noCycle = false; + boolean connectFirst = false; - @Override - public void accept(ExpressionVisitor expressionVisitor) { - expressionVisitor.visit(this); - } + @Override + public void accept(ExpressionVisitor expressionVisitor) { + expressionVisitor.visit(this); + } - @Override - public String toString() { - StringBuilder b = new StringBuilder(); - if (isConnectFirst()) { - b.append(" CONNECT BY "); - if (isNoCycle()) { - b.append("NOCYCLE "); - } - b.append(connectExpression.toString()); - if (startExpression != null) { - b.append(" START WITH ").append(startExpression.toString()); - } - } else { - if (startExpression != null) { - b.append(" START WITH ").append(startExpression.toString()); - } - b.append(" CONNECT BY "); - if (isNoCycle()) { - b.append("NOCYCLE "); - } - b.append(connectExpression.toString()); - } - return b.toString(); - } + @Override + public String toString() { + StringBuilder b = new StringBuilder(); + if (isConnectFirst()) { + b.append(" CONNECT BY "); + if (isNoCycle()) { + b.append("NOCYCLE "); + } + b.append(connectExpression.toString()); + if (startExpression != null) { + b.append(" START WITH ").append(startExpression.toString()); + } + } else { + if (startExpression != null) { + b.append(" START WITH ").append(startExpression.toString()); + } + b.append(" CONNECT BY "); + if (isNoCycle()) { + b.append("NOCYCLE "); + } + b.append(connectExpression.toString()); + } + return b.toString(); + } } diff --git a/src/main/java/net/sf/jsqlparser/expression/OracleHint.java b/src/main/java/net/sf/jsqlparser/expression/OracleHint.java index bbb75544a..d4a138892 100644 --- a/src/main/java/net/sf/jsqlparser/expression/OracleHint.java +++ b/src/main/java/net/sf/jsqlparser/expression/OracleHint.java @@ -35,43 +35,43 @@ @Data public class OracleHint extends ASTNodeAccessImpl implements Expression { - private static final Pattern SINGLE_LINE = Pattern.compile("--\\+ *([^ ].*[^ ])"); - private static final Pattern MULTI_LINE = Pattern.compile("\\/\\*\\+ *([^ ].*[^ ]) *\\*+\\/", Pattern.MULTILINE | Pattern.DOTALL); + private static final Pattern SINGLE_LINE = Pattern.compile("--\\+ *([^ ].*[^ ])"); + private static final Pattern MULTI_LINE = Pattern.compile("\\/\\*\\+ *([^ ].*[^ ]) *\\*+\\/", Pattern.MULTILINE | Pattern.DOTALL); - private String value; - private boolean singleLine = false; + private String value; + private boolean singleLine = false; - public static boolean isHintMatch(String comment) { - return SINGLE_LINE.matcher(comment).find() - || MULTI_LINE.matcher(comment).find(); - } + public static boolean isHintMatch(String comment) { + return SINGLE_LINE.matcher(comment).find() + || MULTI_LINE.matcher(comment).find(); + } - public final void setComment(String comment) { - Matcher m; - m = SINGLE_LINE.matcher(comment); - if (m.find()) { - this.value = m.group(1); - this.singleLine = true; - return; - } - m = MULTI_LINE.matcher(comment); - if (m.find()) { - this.value = m.group(1); - this.singleLine = false; - } - } + public final void setComment(String comment) { + Matcher m; + m = SINGLE_LINE.matcher(comment); + if (m.find()) { + this.value = m.group(1); + this.singleLine = true; + return; + } + m = MULTI_LINE.matcher(comment); + if (m.find()) { + this.value = m.group(1); + this.singleLine = false; + } + } - @Override - public void accept(ExpressionVisitor visitor) { - visitor.visit(this); - } + @Override + public void accept(ExpressionVisitor visitor) { + visitor.visit(this); + } - @Override - public String toString() { - if (singleLine) { - return "--+ " + value + "\n"; - } else { - return "/*+ " + value + " */"; - } - } + @Override + public String toString() { + if (singleLine) { + return "--+ " + value + "\n"; + } else { + return "/*+ " + value + " */"; + } + } } diff --git a/src/main/java/net/sf/jsqlparser/expression/Parenthesis.java b/src/main/java/net/sf/jsqlparser/expression/Parenthesis.java index 41da0e602..fe56f9315 100644 --- a/src/main/java/net/sf/jsqlparser/expression/Parenthesis.java +++ b/src/main/java/net/sf/jsqlparser/expression/Parenthesis.java @@ -32,18 +32,18 @@ @AllArgsConstructor public class Parenthesis extends ASTNodeAccessImpl implements Expression { - private Expression expression; - private boolean not = false; + private Expression expression; + private boolean not = false; - @Override - public void accept(ExpressionVisitor expressionVisitor) { - expressionVisitor.visit(this); - } + @Override + public void accept(ExpressionVisitor expressionVisitor) { + expressionVisitor.visit(this); + } - @Override - public String toString() { - return (not ? "NOT " : "") + "(" + expression + ")"; - } + @Override + public String toString() { + return (not ? "NOT " : "") + "(" + expression + ")"; + } public Parenthesis(Expression expression) { setExpression(expression); diff --git a/src/main/java/net/sf/jsqlparser/expression/RowConstructor.java b/src/main/java/net/sf/jsqlparser/expression/RowConstructor.java index 3e31c6d32..4ca46738d 100644 --- a/src/main/java/net/sf/jsqlparser/expression/RowConstructor.java +++ b/src/main/java/net/sf/jsqlparser/expression/RowConstructor.java @@ -33,16 +33,16 @@ @Data public class RowConstructor extends ASTNodeAccessImpl implements Expression { - private ExpressionList exprList; - private String name = null; + private ExpressionList exprList; + private String name = null; - @Override - public void accept(ExpressionVisitor expressionVisitor) { - expressionVisitor.visit(this); - } + @Override + public void accept(ExpressionVisitor expressionVisitor) { + expressionVisitor.visit(this); + } - @Override - public String toString() { - return (name != null ? name : "") + exprList.toString(); - } + @Override + public String toString() { + return (name != null ? name : "") + exprList.toString(); + } } diff --git a/src/main/java/net/sf/jsqlparser/expression/SignedExpression.java b/src/main/java/net/sf/jsqlparser/expression/SignedExpression.java index 319208470..f6c626011 100644 --- a/src/main/java/net/sf/jsqlparser/expression/SignedExpression.java +++ b/src/main/java/net/sf/jsqlparser/expression/SignedExpression.java @@ -30,28 +30,28 @@ @Data public class SignedExpression extends ASTNodeAccessImpl implements Expression { - private char sign; - private Expression expression; + private char sign; + private Expression expression; - public SignedExpression(char sign, Expression expression) { - setSign(sign); - setExpression(expression); - } + public SignedExpression(char sign, Expression expression) { + setSign(sign); + setExpression(expression); + } - public final void setSign(char sign) { - this.sign = sign; - if (sign != '+' && sign != '-' && sign != '~') { - throw new IllegalArgumentException("illegal sign character, only + - ~ allowed"); - } - } + public final void setSign(char sign) { + this.sign = sign; + if (sign != '+' && sign != '-' && sign != '~') { + throw new IllegalArgumentException("illegal sign character, only + - ~ allowed"); + } + } - @Override - public void accept(ExpressionVisitor expressionVisitor) { - expressionVisitor.visit(this); - } + @Override + public void accept(ExpressionVisitor expressionVisitor) { + expressionVisitor.visit(this); + } - @Override - public String toString() { - return getSign() + expression.toString(); - } + @Override + public String toString() { + return getSign() + expression.toString(); + } } diff --git a/src/main/java/net/sf/jsqlparser/expression/StringValue.java b/src/main/java/net/sf/jsqlparser/expression/StringValue.java index b9427d2a7..58022dcd6 100644 --- a/src/main/java/net/sf/jsqlparser/expression/StringValue.java +++ b/src/main/java/net/sf/jsqlparser/expression/StringValue.java @@ -33,54 +33,54 @@ @Data public final class StringValue extends ASTNodeAccessImpl implements Expression { - private String value = ""; - private Character prefix = null; + private String value = ""; + private Character prefix = null; - /* - N - SQLServer Unicode encoding - U - Oracle Unicode encoding - E - Postgresql Unicode encoding - */ - public static final List ALLOWED_PREFIXES = Arrays.asList('N', 'U', 'E'); + /* + N - SQLServer Unicode encoding + U - Oracle Unicode encoding + E - Postgresql Unicode encoding + */ + public static final List ALLOWED_PREFIXES = Arrays.asList('N', 'U', 'E'); - public StringValue(String escapedValue) { - // romoving "'" at the start and at the end - if (escapedValue.startsWith("'") && escapedValue.endsWith("'")) { - value = escapedValue.substring(1, escapedValue.length() - 1); - return; - } + public StringValue(String escapedValue) { + // romoving "'" at the start and at the end + if (escapedValue.startsWith("'") && escapedValue.endsWith("'")) { + value = escapedValue.substring(1, escapedValue.length() - 1); + return; + } - if (escapedValue.length() > 2) { - char p = Character.toUpperCase(escapedValue.charAt(0)); - if (ALLOWED_PREFIXES.contains(p) && escapedValue.charAt(1) == '\'' && escapedValue.endsWith("'")) { - this.prefix = p; - value = escapedValue.substring(2, escapedValue.length() - 1); - return; - } - } + if (escapedValue.length() > 2) { + char p = Character.toUpperCase(escapedValue.charAt(0)); + if (ALLOWED_PREFIXES.contains(p) && escapedValue.charAt(1) == '\'' && escapedValue.endsWith("'")) { + this.prefix = p; + value = escapedValue.substring(2, escapedValue.length() - 1); + return; + } + } - value = escapedValue; - } + value = escapedValue; + } - public String getNotExcapedValue() { - StringBuilder buffer = new StringBuilder(value); - int index = 0; - int deletesNum = 0; - while ((index = value.indexOf("''", index)) != -1) { - buffer.deleteCharAt(index - deletesNum); - index += 2; - deletesNum++; - } - return buffer.toString(); - } + public String getNotExcapedValue() { + StringBuilder buffer = new StringBuilder(value); + int index = 0; + int deletesNum = 0; + while ((index = value.indexOf("''", index)) != -1) { + buffer.deleteCharAt(index - deletesNum); + index += 2; + deletesNum++; + } + return buffer.toString(); + } - @Override - public void accept(ExpressionVisitor expressionVisitor) { - expressionVisitor.visit(this); - } + @Override + public void accept(ExpressionVisitor expressionVisitor) { + expressionVisitor.visit(this); + } - @Override - public String toString() { - return (prefix != null ? prefix : "") + "'" + value + "'"; - } + @Override + public String toString() { + return (prefix != null ? prefix : "") + "'" + value + "'"; + } } diff --git a/src/main/java/net/sf/jsqlparser/expression/TimeKeyExpression.java b/src/main/java/net/sf/jsqlparser/expression/TimeKeyExpression.java index 8117a2562..7ac2b9ab7 100644 --- a/src/main/java/net/sf/jsqlparser/expression/TimeKeyExpression.java +++ b/src/main/java/net/sf/jsqlparser/expression/TimeKeyExpression.java @@ -29,15 +29,15 @@ @AllArgsConstructor public class TimeKeyExpression extends ASTNodeAccessImpl implements Expression { - private String stringValue; + private String stringValue; - @Override - public void accept(ExpressionVisitor expressionVisitor) { - expressionVisitor.visit(this); - } + @Override + public void accept(ExpressionVisitor expressionVisitor) { + expressionVisitor.visit(this); + } - @Override - public String toString() { - return getStringValue(); - } + @Override + public String toString() { + return getStringValue(); + } } diff --git a/src/main/java/net/sf/jsqlparser/expression/TimeValue.java b/src/main/java/net/sf/jsqlparser/expression/TimeValue.java index b8626e465..6ff12e575 100644 --- a/src/main/java/net/sf/jsqlparser/expression/TimeValue.java +++ b/src/main/java/net/sf/jsqlparser/expression/TimeValue.java @@ -32,19 +32,19 @@ @Data public class TimeValue extends ASTNodeAccessImpl implements Expression { - private Time value; + private Time value; - public TimeValue(String value) { - this.value = Time.valueOf(value.substring(1, value.length() - 1)); - } + public TimeValue(String value) { + this.value = Time.valueOf(value.substring(1, value.length() - 1)); + } - @Override - public void accept(ExpressionVisitor expressionVisitor) { - expressionVisitor.visit(this); - } + @Override + public void accept(ExpressionVisitor expressionVisitor) { + expressionVisitor.visit(this); + } - @Override - public String toString() { - return "{t '" + value + "'}"; - } + @Override + public String toString() { + return "{t '" + value + "'}"; + } } diff --git a/src/main/java/net/sf/jsqlparser/expression/TimestampValue.java b/src/main/java/net/sf/jsqlparser/expression/TimestampValue.java index 3ea5bb356..2c11f3125 100644 --- a/src/main/java/net/sf/jsqlparser/expression/TimestampValue.java +++ b/src/main/java/net/sf/jsqlparser/expression/TimestampValue.java @@ -32,29 +32,29 @@ @Data public class TimestampValue extends ASTNodeAccessImpl implements Expression { - private static final char QUOTATION = '\''; - - private Timestamp value; - - public TimestampValue(String value) { - if (value == null) { - throw new java.lang.IllegalArgumentException("null string"); - } else { - if (value.charAt(0) == QUOTATION) { - this.value = Timestamp.valueOf(value.substring(1, value.length() - 1)); - } else { - this.value = Timestamp.valueOf(value.substring(0, value.length())); - } - } - } - - @Override - public void accept(ExpressionVisitor expressionVisitor) { - expressionVisitor.visit(this); - } - - @Override - public String toString() { - return "{ts '" + value + "'}"; - } + private static final char QUOTATION = '\''; + + private Timestamp value; + + public TimestampValue(String value) { + if (value == null) { + throw new java.lang.IllegalArgumentException("null string"); + } else { + if (value.charAt(0) == QUOTATION) { + this.value = Timestamp.valueOf(value.substring(1, value.length() - 1)); + } else { + this.value = Timestamp.valueOf(value.substring(0, value.length())); + } + } + } + + @Override + public void accept(ExpressionVisitor expressionVisitor) { + expressionVisitor.visit(this); + } + + @Override + public String toString() { + return "{ts '" + value + "'}"; + } } diff --git a/src/main/java/net/sf/jsqlparser/expression/UserVariable.java b/src/main/java/net/sf/jsqlparser/expression/UserVariable.java index 069cf3f8a..0f985981f 100644 --- a/src/main/java/net/sf/jsqlparser/expression/UserVariable.java +++ b/src/main/java/net/sf/jsqlparser/expression/UserVariable.java @@ -32,21 +32,21 @@ @Data public class UserVariable extends ASTNodeAccessImpl implements Expression { - /** - * The name of the parameter - * - * @return the name of the parameter - */ - private String name; - private boolean doubleAdd = false; + /** + * The name of the parameter + * + * @return the name of the parameter + */ + private String name; + private boolean doubleAdd = false; - @Override - public void accept(ExpressionVisitor expressionVisitor) { - expressionVisitor.visit(this); - } + @Override + public void accept(ExpressionVisitor expressionVisitor) { + expressionVisitor.visit(this); + } - @Override - public String toString() { - return "@" + (doubleAdd ? "@" : "") + name; - } + @Override + public String toString() { + return "@" + (doubleAdd ? "@" : "") + name; + } } diff --git a/src/main/java/net/sf/jsqlparser/expression/WhenClause.java b/src/main/java/net/sf/jsqlparser/expression/WhenClause.java index cd7a20b28..11ba3e7e0 100644 --- a/src/main/java/net/sf/jsqlparser/expression/WhenClause.java +++ b/src/main/java/net/sf/jsqlparser/expression/WhenClause.java @@ -32,16 +32,16 @@ @Data public class WhenClause extends ASTNodeAccessImpl implements Expression { - private Expression whenExpression; - private Expression thenExpression; + private Expression whenExpression; + private Expression thenExpression; - @Override - public void accept(ExpressionVisitor expressionVisitor) { - expressionVisitor.visit(this); - } + @Override + public void accept(ExpressionVisitor expressionVisitor) { + expressionVisitor.visit(this); + } - @Override - public String toString() { - return "WHEN " + whenExpression + " THEN " + thenExpression; - } + @Override + public String toString() { + return "WHEN " + whenExpression + " THEN " + thenExpression; + } } diff --git a/src/main/java/net/sf/jsqlparser/expression/WindowElement.java b/src/main/java/net/sf/jsqlparser/expression/WindowElement.java index d84a2ac2c..1c4819acd 100644 --- a/src/main/java/net/sf/jsqlparser/expression/WindowElement.java +++ b/src/main/java/net/sf/jsqlparser/expression/WindowElement.java @@ -26,26 +26,26 @@ @Data public class WindowElement { - public enum Type { + public enum Type { - ROWS, - RANGE - } + ROWS, + RANGE + } - private Type type; - private WindowOffset offset; - private WindowRange range; + private Type type; + private WindowOffset offset; + private WindowRange range; - @Override - public String toString() { - StringBuilder buffer = new StringBuilder(type.toString()); + @Override + public String toString() { + StringBuilder buffer = new StringBuilder(type.toString()); - if (offset != null) { - buffer.append(offset.toString()); - } else if (range != null) { - buffer.append(range.toString()); - } + if (offset != null) { + buffer.append(offset.toString()); + } else if (range != null) { + buffer.append(range.toString()); + } - return buffer.toString(); - } + return buffer.toString(); + } } diff --git a/src/main/java/net/sf/jsqlparser/expression/WindowOffset.java b/src/main/java/net/sf/jsqlparser/expression/WindowOffset.java index 01b1055c9..5bae0f3d7 100644 --- a/src/main/java/net/sf/jsqlparser/expression/WindowOffset.java +++ b/src/main/java/net/sf/jsqlparser/expression/WindowOffset.java @@ -26,41 +26,41 @@ @Data public class WindowOffset { - public enum Type { + public enum Type { - PRECEDING, - FOLLOWING, - CURRENT, - EXPR - } + PRECEDING, + FOLLOWING, + CURRENT, + EXPR + } - private Expression expression; - private Type type; + private Expression expression; + private Type type; - @Override - public String toString() { - StringBuilder buffer = new StringBuilder(); - if (expression != null) { - buffer.append(' ').append(expression); - if (type != null) { - buffer.append(' '); - buffer.append(type); - } - } else { - switch (type) { - case PRECEDING: - buffer.append(" UNBOUNDED PRECEDING"); - break; - case FOLLOWING: - buffer.append(" UNBOUNDED FOLLOWING"); - break; - case CURRENT: - buffer.append(" CURRENT ROW"); - break; - default: - break; - } - } - return buffer.toString(); - } + @Override + public String toString() { + StringBuilder buffer = new StringBuilder(); + if (expression != null) { + buffer.append(' ').append(expression); + if (type != null) { + buffer.append(' '); + buffer.append(type); + } + } else { + switch (type) { + case PRECEDING: + buffer.append(" UNBOUNDED PRECEDING"); + break; + case FOLLOWING: + buffer.append(" UNBOUNDED FOLLOWING"); + break; + case CURRENT: + buffer.append(" CURRENT ROW"); + break; + default: + break; + } + } + return buffer.toString(); + } } diff --git a/src/main/java/net/sf/jsqlparser/expression/WindowRange.java b/src/main/java/net/sf/jsqlparser/expression/WindowRange.java index 891f563db..5af776643 100644 --- a/src/main/java/net/sf/jsqlparser/expression/WindowRange.java +++ b/src/main/java/net/sf/jsqlparser/expression/WindowRange.java @@ -26,16 +26,16 @@ @Data public class WindowRange { - private WindowOffset start; - private WindowOffset end; + private WindowOffset start; + private WindowOffset end; - @Override - public String toString() { - StringBuilder buffer = new StringBuilder(); - buffer.append(" BETWEEN"); - buffer.append(start); - buffer.append(" AND"); - buffer.append(end); - return buffer.toString(); - } + @Override + public String toString() { + StringBuilder buffer = new StringBuilder(); + buffer.append(" BETWEEN"); + buffer.append(start); + buffer.append(" AND"); + buffer.append(end); + return buffer.toString(); + } } diff --git a/src/main/java/net/sf/jsqlparser/expression/operators/arithmetic/Modulo.java b/src/main/java/net/sf/jsqlparser/expression/operators/arithmetic/Modulo.java index f9aed6bdc..420eae5c2 100644 --- a/src/main/java/net/sf/jsqlparser/expression/operators/arithmetic/Modulo.java +++ b/src/main/java/net/sf/jsqlparser/expression/operators/arithmetic/Modulo.java @@ -31,13 +31,13 @@ */ public class Modulo extends BinaryExpression { - @Override - public void accept(ExpressionVisitor expressionVisitor) { - expressionVisitor.visit(this); - } + @Override + public void accept(ExpressionVisitor expressionVisitor) { + expressionVisitor.visit(this); + } - @Override - public String getStringExpression() { - return "%"; - } + @Override + public String getStringExpression() { + return "%"; + } } diff --git a/src/main/java/net/sf/jsqlparser/expression/operators/relational/Between.java b/src/main/java/net/sf/jsqlparser/expression/operators/relational/Between.java index a80645f23..c66427fbb 100644 --- a/src/main/java/net/sf/jsqlparser/expression/operators/relational/Between.java +++ b/src/main/java/net/sf/jsqlparser/expression/operators/relational/Between.java @@ -32,19 +32,19 @@ @Data public class Between extends ASTNodeAccessImpl implements Expression { - private Expression leftExpression; - private boolean not = false; - private Expression betweenExpressionStart; - private Expression betweenExpressionEnd; + private Expression leftExpression; + private boolean not = false; + private Expression betweenExpressionStart; + private Expression betweenExpressionEnd; - @Override - public void accept(ExpressionVisitor expressionVisitor) { - expressionVisitor.visit(this); - } + @Override + public void accept(ExpressionVisitor expressionVisitor) { + expressionVisitor.visit(this); + } - @Override - public String toString() { - return leftExpression + " " + (not ? "NOT " : "") + "BETWEEN " + betweenExpressionStart + " AND " - + betweenExpressionEnd; - } + @Override + public String toString() { + return leftExpression + " " + (not ? "NOT " : "") + "BETWEEN " + betweenExpressionStart + " AND " + + betweenExpressionEnd; + } } diff --git a/src/main/java/net/sf/jsqlparser/expression/operators/relational/ComparisonOperator.java b/src/main/java/net/sf/jsqlparser/expression/operators/relational/ComparisonOperator.java index 8bc8242a5..7e662dc96 100644 --- a/src/main/java/net/sf/jsqlparser/expression/operators/relational/ComparisonOperator.java +++ b/src/main/java/net/sf/jsqlparser/expression/operators/relational/ComparisonOperator.java @@ -26,10 +26,10 @@ @AllArgsConstructor public abstract class ComparisonOperator extends OldOracleJoinBinaryExpression { - private final String operator; + private final String operator; - @Override - public String getStringExpression() { - return operator; - } + @Override + public String getStringExpression() { + return operator; + } } diff --git a/src/main/java/net/sf/jsqlparser/expression/operators/relational/ExistsExpression.java b/src/main/java/net/sf/jsqlparser/expression/operators/relational/ExistsExpression.java index 895fe32c6..7b3010d33 100644 --- a/src/main/java/net/sf/jsqlparser/expression/operators/relational/ExistsExpression.java +++ b/src/main/java/net/sf/jsqlparser/expression/operators/relational/ExistsExpression.java @@ -29,20 +29,20 @@ @Data public class ExistsExpression extends ASTNodeAccessImpl implements Expression { - private Expression rightExpression; - private boolean not = false; + private Expression rightExpression; + private boolean not = false; - @Override - public void accept(ExpressionVisitor expressionVisitor) { - expressionVisitor.visit(this); - } + @Override + public void accept(ExpressionVisitor expressionVisitor) { + expressionVisitor.visit(this); + } - public String getStringExpression() { - return (not ? "NOT " : "") + "EXISTS"; - } + public String getStringExpression() { + return (not ? "NOT " : "") + "EXISTS"; + } - @Override - public String toString() { - return getStringExpression() + " " + rightExpression.toString(); - } + @Override + public String toString() { + return getStringExpression() + " " + rightExpression.toString(); + } } diff --git a/src/main/java/net/sf/jsqlparser/expression/operators/relational/ExpressionList.java b/src/main/java/net/sf/jsqlparser/expression/operators/relational/ExpressionList.java index b77d5de23..58913a96a 100644 --- a/src/main/java/net/sf/jsqlparser/expression/operators/relational/ExpressionList.java +++ b/src/main/java/net/sf/jsqlparser/expression/operators/relational/ExpressionList.java @@ -37,15 +37,15 @@ @AllArgsConstructor public class ExpressionList implements ItemsList { - private List expressions; + private List expressions; - @Override - public void accept(ItemsListVisitor itemsListVisitor) { - itemsListVisitor.visit(this); - } + @Override + public void accept(ItemsListVisitor itemsListVisitor) { + itemsListVisitor.visit(this); + } - @Override - public String toString() { - return PlainSelect.getStringList(expressions, true, true); - } + @Override + public String toString() { + return PlainSelect.getStringList(expressions, true, true); + } } diff --git a/src/main/java/net/sf/jsqlparser/expression/operators/relational/InExpression.java b/src/main/java/net/sf/jsqlparser/expression/operators/relational/InExpression.java index a60a76a65..8f1198cdd 100644 --- a/src/main/java/net/sf/jsqlparser/expression/operators/relational/InExpression.java +++ b/src/main/java/net/sf/jsqlparser/expression/operators/relational/InExpression.java @@ -31,49 +31,49 @@ @NoArgsConstructor public class InExpression extends ASTNodeAccessImpl implements Expression, SupportsOldOracleJoinSyntax { - private Expression leftExpression; - private ItemsList leftItemsList; - private ItemsList rightItemsList; - private boolean not = false; + private Expression leftExpression; + private ItemsList leftItemsList; + private ItemsList rightItemsList; + private boolean not = false; - private int oldOracleJoinSyntax = NO_ORACLE_JOIN; + private int oldOracleJoinSyntax = NO_ORACLE_JOIN; - public InExpression(Expression leftExpression, ItemsList itemsList) { - setLeftExpression(leftExpression); - setRightItemsList(itemsList); - } + public InExpression(Expression leftExpression, ItemsList itemsList) { + setLeftExpression(leftExpression); + setRightItemsList(itemsList); + } - @Override - public void setOldOracleJoinSyntax(int oldOracleJoinSyntax) { - this.oldOracleJoinSyntax = oldOracleJoinSyntax; - if (oldOracleJoinSyntax < 0 || oldOracleJoinSyntax > 1) { - throw new IllegalArgumentException("unexpected join type for oracle found with IN (type=" + oldOracleJoinSyntax + ")"); - } - } + @Override + public void setOldOracleJoinSyntax(int oldOracleJoinSyntax) { + this.oldOracleJoinSyntax = oldOracleJoinSyntax; + if (oldOracleJoinSyntax < 0 || oldOracleJoinSyntax > 1) { + throw new IllegalArgumentException("unexpected join type for oracle found with IN (type=" + oldOracleJoinSyntax + ")"); + } + } - @Override - public void accept(ExpressionVisitor expressionVisitor) { - expressionVisitor.visit(this); - } + @Override + public void accept(ExpressionVisitor expressionVisitor) { + expressionVisitor.visit(this); + } - private String getLeftExpressionString() { - return leftExpression + (oldOracleJoinSyntax == ORACLE_JOIN_RIGHT ? "(+)" : ""); - } + private String getLeftExpressionString() { + return leftExpression + (oldOracleJoinSyntax == ORACLE_JOIN_RIGHT ? "(+)" : ""); + } - @Override - public String toString() { - return (leftExpression == null ? leftItemsList : getLeftExpressionString()) + " " + (not ? "NOT " : "") + "IN " + rightItemsList + ""; - } + @Override + public String toString() { + return (leftExpression == null ? leftItemsList : getLeftExpressionString()) + " " + (not ? "NOT " : "") + "IN " + rightItemsList + ""; + } - @Override - public int getOraclePriorPosition() { - return SupportsOldOracleJoinSyntax.NO_ORACLE_PRIOR; - } + @Override + public int getOraclePriorPosition() { + return SupportsOldOracleJoinSyntax.NO_ORACLE_PRIOR; + } - @Override - public void setOraclePriorPosition(int priorPosition) { - if (priorPosition != SupportsOldOracleJoinSyntax.NO_ORACLE_PRIOR) { - throw new IllegalArgumentException("unexpected prior for oracle found"); - } - } + @Override + public void setOraclePriorPosition(int priorPosition) { + if (priorPosition != SupportsOldOracleJoinSyntax.NO_ORACLE_PRIOR) { + throw new IllegalArgumentException("unexpected prior for oracle found"); + } + } } diff --git a/src/main/java/net/sf/jsqlparser/expression/operators/relational/IsNullExpression.java b/src/main/java/net/sf/jsqlparser/expression/operators/relational/IsNullExpression.java index c628d7f37..29c1fe41d 100644 --- a/src/main/java/net/sf/jsqlparser/expression/operators/relational/IsNullExpression.java +++ b/src/main/java/net/sf/jsqlparser/expression/operators/relational/IsNullExpression.java @@ -29,16 +29,16 @@ @Data public class IsNullExpression extends ASTNodeAccessImpl implements Expression { - private Expression leftExpression; - private boolean not = false; + private Expression leftExpression; + private boolean not = false; - @Override - public void accept(ExpressionVisitor expressionVisitor) { - expressionVisitor.visit(this); - } + @Override + public void accept(ExpressionVisitor expressionVisitor) { + expressionVisitor.visit(this); + } - @Override - public String toString() { - return leftExpression + " IS " + (not ? "NOT " : "") + "NULL"; - } + @Override + public String toString() { + return leftExpression + " IS " + (not ? "NOT " : "") + "NULL"; + } } diff --git a/src/main/java/net/sf/jsqlparser/expression/operators/relational/JsonOperator.java b/src/main/java/net/sf/jsqlparser/expression/operators/relational/JsonOperator.java index 69335ad85..0fd83722c 100644 --- a/src/main/java/net/sf/jsqlparser/expression/operators/relational/JsonOperator.java +++ b/src/main/java/net/sf/jsqlparser/expression/operators/relational/JsonOperator.java @@ -22,22 +22,21 @@ package net.sf.jsqlparser.expression.operators.relational; import lombok.AllArgsConstructor; -import lombok.Data; import net.sf.jsqlparser.expression.BinaryExpression; import net.sf.jsqlparser.expression.ExpressionVisitor; @AllArgsConstructor public class JsonOperator extends BinaryExpression { - private final String op; //"@>" + private final String op; //"@>" - @Override - public void accept(ExpressionVisitor expressionVisitor) { - expressionVisitor.visit(this); - } + @Override + public void accept(ExpressionVisitor expressionVisitor) { + expressionVisitor.visit(this); + } - @Override - public String getStringExpression() { - return op; - } + @Override + public String getStringExpression() { + return op; + } } diff --git a/src/main/java/net/sf/jsqlparser/expression/operators/relational/LikeExpression.java b/src/main/java/net/sf/jsqlparser/expression/operators/relational/LikeExpression.java index 3f7129736..7de494d14 100644 --- a/src/main/java/net/sf/jsqlparser/expression/operators/relational/LikeExpression.java +++ b/src/main/java/net/sf/jsqlparser/expression/operators/relational/LikeExpression.java @@ -28,26 +28,26 @@ @Data public class LikeExpression extends BinaryExpression { - private boolean not = false; - private String escape = null; - private boolean caseInsensitive = false; + private boolean not = false; + private String escape = null; + private boolean caseInsensitive = false; - @Override - public void accept(ExpressionVisitor expressionVisitor) { - expressionVisitor.visit(this); - } + @Override + public void accept(ExpressionVisitor expressionVisitor) { + expressionVisitor.visit(this); + } - @Override - public String getStringExpression() { - return (not ? "NOT " : "") + (caseInsensitive ? "ILIKE" : "LIKE"); - } + @Override + public String getStringExpression() { + return (not ? "NOT " : "") + (caseInsensitive ? "ILIKE" : "LIKE"); + } - @Override - public String toString() { - String retval = super.toString(); - if (escape != null) { - retval += " ESCAPE " + "'" + escape + "'"; - } - return retval; - } + @Override + public String toString() { + String retval = super.toString(); + if (escape != null) { + retval += " ESCAPE " + "'" + escape + "'"; + } + return retval; + } } diff --git a/src/main/java/net/sf/jsqlparser/expression/operators/relational/MultiExpressionList.java b/src/main/java/net/sf/jsqlparser/expression/operators/relational/MultiExpressionList.java index 852005e56..066d0b459 100644 --- a/src/main/java/net/sf/jsqlparser/expression/operators/relational/MultiExpressionList.java +++ b/src/main/java/net/sf/jsqlparser/expression/operators/relational/MultiExpressionList.java @@ -51,7 +51,7 @@ public void accept(ItemsListVisitor itemsListVisitor) { public void addExpressionList(ExpressionList el) { if (!exprList.isEmpty() - && exprList.get(0).getExpressions().size() != el.getExpressions().size()) { + && exprList.get(0).getExpressions().size() != el.getExpressions().size()) { throw new IllegalArgumentException("different count of parameters"); } exprList.add(el); diff --git a/src/main/java/net/sf/jsqlparser/expression/operators/relational/OldOracleJoinBinaryExpression.java b/src/main/java/net/sf/jsqlparser/expression/operators/relational/OldOracleJoinBinaryExpression.java index 56bd1bd93..6614497e5 100644 --- a/src/main/java/net/sf/jsqlparser/expression/operators/relational/OldOracleJoinBinaryExpression.java +++ b/src/main/java/net/sf/jsqlparser/expression/operators/relational/OldOracleJoinBinaryExpression.java @@ -42,12 +42,12 @@ public void setOldOracleJoinSyntax(int oldOracleJoinSyntax) { @Override public String toString() { return (isNot() ? "NOT " : "") - + (oraclePriorPosition == ORACLE_PRIOR_START ? "PRIOR " : "") - + getLeftExpression() - + (oldOracleJoinSyntax == ORACLE_JOIN_RIGHT ? "(+)" : "") + " " - + getStringExpression() + " " - + (oraclePriorPosition == ORACLE_PRIOR_END ? "PRIOR " : "") - + getRightExpression() - + (oldOracleJoinSyntax == ORACLE_JOIN_LEFT ? "(+)" : ""); + + (oraclePriorPosition == ORACLE_PRIOR_START ? "PRIOR " : "") + + getLeftExpression() + + (oldOracleJoinSyntax == ORACLE_JOIN_RIGHT ? "(+)" : "") + " " + + getStringExpression() + " " + + (oraclePriorPosition == ORACLE_PRIOR_END ? "PRIOR " : "") + + getRightExpression() + + (oldOracleJoinSyntax == ORACLE_JOIN_LEFT ? "(+)" : ""); } } diff --git a/src/main/java/net/sf/jsqlparser/expression/operators/relational/RegExpMatchOperator.java b/src/main/java/net/sf/jsqlparser/expression/operators/relational/RegExpMatchOperator.java index b1d86647e..035f0d088 100644 --- a/src/main/java/net/sf/jsqlparser/expression/operators/relational/RegExpMatchOperator.java +++ b/src/main/java/net/sf/jsqlparser/expression/operators/relational/RegExpMatchOperator.java @@ -28,39 +28,39 @@ @Data public class RegExpMatchOperator extends BinaryExpression { - private RegExpMatchOperatorType operatorType; + private RegExpMatchOperatorType operatorType; - public RegExpMatchOperator(RegExpMatchOperatorType operatorType) { - if (operatorType == null) { - throw new NullPointerException(); - } - this.operatorType = operatorType; - } + public RegExpMatchOperator(RegExpMatchOperatorType operatorType) { + if (operatorType == null) { + throw new NullPointerException(); + } + this.operatorType = operatorType; + } + + @Override + public void accept(ExpressionVisitor expressionVisitor) { + expressionVisitor.visit(this); + } - @Override - public void accept(ExpressionVisitor expressionVisitor) { - expressionVisitor.visit(this); - } + @Override + public String getStringExpression() { + switch (operatorType) { + case MATCH_CASESENSITIVE: + return "~"; + case MATCH_CASEINSENSITIVE: + return "~*"; + case NOT_MATCH_CASESENSITIVE: + return "!~"; + case NOT_MATCH_CASEINSENSITIVE: + return "!~*"; + default: + break; + } + return null; + } - @Override - public String getStringExpression() { - switch (operatorType) { - case MATCH_CASESENSITIVE: - return "~"; - case MATCH_CASEINSENSITIVE: - return "~*"; - case NOT_MATCH_CASESENSITIVE: - return "!~"; - case NOT_MATCH_CASEINSENSITIVE: - return "!~*"; - default: - break; - } - return null; - } - @Override public String toString() { - return super.toString(); + return super.toString(); } } diff --git a/src/main/java/net/sf/jsqlparser/expression/operators/relational/RegExpMySQLOperator.java b/src/main/java/net/sf/jsqlparser/expression/operators/relational/RegExpMySQLOperator.java index 25898c09c..5f1193690 100644 --- a/src/main/java/net/sf/jsqlparser/expression/operators/relational/RegExpMySQLOperator.java +++ b/src/main/java/net/sf/jsqlparser/expression/operators/relational/RegExpMySQLOperator.java @@ -29,30 +29,30 @@ @Data public class RegExpMySQLOperator extends BinaryExpression { - private RegExpMatchOperatorType operatorType; - @Accessors(chain = true) - private boolean useRLike = false; + private RegExpMatchOperatorType operatorType; + @Accessors(chain = true) + private boolean useRLike = false; - public RegExpMySQLOperator(RegExpMatchOperatorType operatorType) { - if (operatorType == null) { - throw new NullPointerException(); - } - this.operatorType = operatorType; - } + public RegExpMySQLOperator(RegExpMatchOperatorType operatorType) { + if (operatorType == null) { + throw new NullPointerException(); + } + this.operatorType = operatorType; + } + + @Override + public void accept(ExpressionVisitor expressionVisitor) { + expressionVisitor.visit(this); + } - @Override - public void accept(ExpressionVisitor expressionVisitor) { - expressionVisitor.visit(this); - } + @Override + public String getStringExpression() { + return (useRLike ? "RLIKE" : "REGEXP") + + (operatorType == RegExpMatchOperatorType.MATCH_CASESENSITIVE ? " BINARY" : ""); + } - @Override - public String getStringExpression() { - return (useRLike ? "RLIKE" : "REGEXP") - + (operatorType == RegExpMatchOperatorType.MATCH_CASESENSITIVE ? " BINARY" : ""); - } - @Override public String toString() { - return super.toString(); + return super.toString(); } } diff --git a/src/main/java/net/sf/jsqlparser/parser/ASTNodeAccess.java b/src/main/java/net/sf/jsqlparser/parser/ASTNodeAccess.java index 2d540d39a..20a178c74 100644 --- a/src/main/java/net/sf/jsqlparser/parser/ASTNodeAccess.java +++ b/src/main/java/net/sf/jsqlparser/parser/ASTNodeAccess.java @@ -19,24 +19,24 @@ * . * #L% */ - /* - * Copyright (C) 2015 JSQLParser. - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, - * MA 02110-1301 USA - */ +/* +* Copyright (C) 2015 JSQLParser. +* +* This library is free software; you can redistribute it and/or +* modify it under the terms of the GNU Lesser General Public +* License as published by the Free Software Foundation; either +* version 2.1 of the License, or (at your option) any later version. +* +* This library is distributed in the hope that it will be useful, +* but WITHOUT ANY WARRANTY; without even the implied warranty of +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +* Lesser General Public License for more details. +* +* You should have received a copy of the GNU Lesser General Public +* License along with this library; if not, write to the Free Software +* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, +* MA 02110-1301 USA +*/ package net.sf.jsqlparser.parser; /** diff --git a/src/main/java/net/sf/jsqlparser/parser/BaseToken.java b/src/main/java/net/sf/jsqlparser/parser/BaseToken.java index 68b9c63ca..80d89bc79 100644 --- a/src/main/java/net/sf/jsqlparser/parser/BaseToken.java +++ b/src/main/java/net/sf/jsqlparser/parser/BaseToken.java @@ -19,24 +19,24 @@ * . * #L% */ - /* - * Copyright (C) 2017 JSQLParser. - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, - * MA 02110-1301 USA - */ +/* +* Copyright (C) 2017 JSQLParser. +* +* This library is free software; you can redistribute it and/or +* modify it under the terms of the GNU Lesser General Public +* License as published by the Free Software Foundation; either +* version 2.1 of the License, or (at your option) any later version. +* +* This library is distributed in the hope that it will be useful, +* but WITHOUT ANY WARRANTY; without even the implied warranty of +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +* Lesser General Public License for more details. +* +* You should have received a copy of the GNU Lesser General Public +* License along with this library; if not, write to the Free Software +* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, +* MA 02110-1301 USA +*/ package net.sf.jsqlparser.parser; /** @@ -44,6 +44,7 @@ * @author toben */ public class BaseToken { + public int absoluteBegin = 0; public int absoluteEnd = 0; } diff --git a/src/main/java/net/sf/jsqlparser/parser/CCJSqlParserUtil.java b/src/main/java/net/sf/jsqlparser/parser/CCJSqlParserUtil.java index ac0c97cd2..f5b0b79f9 100644 --- a/src/main/java/net/sf/jsqlparser/parser/CCJSqlParserUtil.java +++ b/src/main/java/net/sf/jsqlparser/parser/CCJSqlParserUtil.java @@ -38,121 +38,121 @@ @UtilityClass public final class CCJSqlParserUtil { - public Statement parse(Reader statementReader) throws JSQLParserException { - CCJSqlParser parser = new CCJSqlParser(new StreamProvider(statementReader)); - try { - return parser.Statement(); - } catch (Exception ex) { - throw new JSQLParserException(ex); - } - } + public Statement parse(Reader statementReader) throws JSQLParserException { + CCJSqlParser parser = new CCJSqlParser(new StreamProvider(statementReader)); + try { + return parser.Statement(); + } catch (Exception ex) { + throw new JSQLParserException(ex); + } + } - public Statement parse(String sql) throws JSQLParserException { - CCJSqlParser parser = new CCJSqlParser(new StringProvider(sql)); - try { - return parser.Statement(); - } catch (Exception ex) { - throw new JSQLParserException(ex); - } - } + public Statement parse(String sql) throws JSQLParserException { + CCJSqlParser parser = new CCJSqlParser(new StringProvider(sql)); + try { + return parser.Statement(); + } catch (Exception ex) { + throw new JSQLParserException(ex); + } + } - public Node parseAST(String sql) throws JSQLParserException { - CCJSqlParser parser = new CCJSqlParser(new StringProvider(sql)); - try { - parser.Statement(); - return parser.jjtree.rootNode(); - } catch (Exception ex) { - throw new JSQLParserException(ex); - } - } + public Node parseAST(String sql) throws JSQLParserException { + CCJSqlParser parser = new CCJSqlParser(new StringProvider(sql)); + try { + parser.Statement(); + return parser.jjtree.rootNode(); + } catch (Exception ex) { + throw new JSQLParserException(ex); + } + } - public Statement parse(InputStream is) throws JSQLParserException { - try { - CCJSqlParser parser = new CCJSqlParser(new StreamProvider(is)); - return parser.Statement(); - } catch (Exception ex) { - throw new JSQLParserException(ex); - } - } + public Statement parse(InputStream is) throws JSQLParserException { + try { + CCJSqlParser parser = new CCJSqlParser(new StreamProvider(is)); + return parser.Statement(); + } catch (Exception ex) { + throw new JSQLParserException(ex); + } + } - public Statement parse(InputStream is, String encoding) throws JSQLParserException { - try { - CCJSqlParser parser = new CCJSqlParser(new StreamProvider(is, encoding)); - return parser.Statement(); - } catch (Exception ex) { - throw new JSQLParserException(ex); - } - } + public Statement parse(InputStream is, String encoding) throws JSQLParserException { + try { + CCJSqlParser parser = new CCJSqlParser(new StreamProvider(is, encoding)); + return parser.Statement(); + } catch (Exception ex) { + throw new JSQLParserException(ex); + } + } - /** - * Parse an expression. - * - * @param expression - * @return - * @throws JSQLParserException - */ - public Expression parseExpression(String expression) throws JSQLParserException { - return parseExpression(expression, true); - } + /** + * Parse an expression. + * + * @param expression + * @return + * @throws JSQLParserException + */ + public Expression parseExpression(String expression) throws JSQLParserException { + return parseExpression(expression, true); + } - public Expression parseExpression(String expression, boolean allowPartialParse) throws JSQLParserException { - CCJSqlParser parser = new CCJSqlParser(new StringProvider(expression)); - try { - Expression expr = parser.SimpleExpression(); - if (!allowPartialParse && parser.getNextToken().kind != CCJSqlParserTokenManager.EOF) { - throw new JSQLParserException("could only parse partial expression " + expr.toString()); - } - return expr; - } catch (JSQLParserException ex) { - throw ex; - } catch (ParseException ex) { - throw new JSQLParserException(ex); - } - } + public Expression parseExpression(String expression, boolean allowPartialParse) throws JSQLParserException { + CCJSqlParser parser = new CCJSqlParser(new StringProvider(expression)); + try { + Expression expr = parser.SimpleExpression(); + if (!allowPartialParse && parser.getNextToken().kind != CCJSqlParserTokenManager.EOF) { + throw new JSQLParserException("could only parse partial expression " + expr.toString()); + } + return expr; + } catch (JSQLParserException ex) { + throw ex; + } catch (ParseException ex) { + throw new JSQLParserException(ex); + } + } - /** - * Parse an conditional expression. This is the expression after a where clause. - * - * @param condExpr - * @return - * @throws JSQLParserException - */ - public Expression parseCondExpression(String condExpr) throws JSQLParserException { - return parseCondExpression(condExpr, true); - } + /** + * Parse an conditional expression. This is the expression after a where clause. + * + * @param condExpr + * @return + * @throws JSQLParserException + */ + public Expression parseCondExpression(String condExpr) throws JSQLParserException { + return parseCondExpression(condExpr, true); + } - /** - * Parse an conditional expression. This is the expression after a where clause. - * - * @param condExpr - * @param allowPartialParse false: needs the whole string to be processed. - * @return - */ - public Expression parseCondExpression(String condExpr, boolean allowPartialParse) throws JSQLParserException { - CCJSqlParser parser = new CCJSqlParser(new StringProvider(condExpr)); - try { - Expression expr = parser.Expression(); - if (!allowPartialParse && parser.getNextToken().kind != CCJSqlParserTokenManager.EOF) { - throw new JSQLParserException("could only parse partial expression " + expr.toString()); - } - return expr; - } catch (JSQLParserException ex) { - throw ex; - } catch (ParseException ex) { - throw new JSQLParserException(ex); - } - } + /** + * Parse an conditional expression. This is the expression after a where clause. + * + * @param condExpr + * @param allowPartialParse false: needs the whole string to be processed. + * @return + */ + public Expression parseCondExpression(String condExpr, boolean allowPartialParse) throws JSQLParserException { + CCJSqlParser parser = new CCJSqlParser(new StringProvider(condExpr)); + try { + Expression expr = parser.Expression(); + if (!allowPartialParse && parser.getNextToken().kind != CCJSqlParserTokenManager.EOF) { + throw new JSQLParserException("could only parse partial expression " + expr.toString()); + } + return expr; + } catch (JSQLParserException ex) { + throw ex; + } catch (ParseException ex) { + throw new JSQLParserException(ex); + } + } - /** - * Parse a statement list. - */ - public Statements parseStatements(String sqls) throws JSQLParserException { - CCJSqlParser parser = new CCJSqlParser(new StringProvider(sqls)); - try { - return parser.Statements(); - } catch (Exception ex) { - throw new JSQLParserException(ex); - } - } + /** + * Parse a statement list. + */ + public Statements parseStatements(String sqls) throws JSQLParserException { + CCJSqlParser parser = new CCJSqlParser(new StringProvider(sqls)); + try { + return parser.Statements(); + } catch (Exception ex) { + throw new JSQLParserException(ex); + } + } } diff --git a/src/main/java/net/sf/jsqlparser/parser/SimpleCharStream.java b/src/main/java/net/sf/jsqlparser/parser/SimpleCharStream.java index 7508d25ec..ee7834cd0 100644 --- a/src/main/java/net/sf/jsqlparser/parser/SimpleCharStream.java +++ b/src/main/java/net/sf/jsqlparser/parser/SimpleCharStream.java @@ -1,10 +1,12 @@ /* Generated By:JavaCC: Do not edit this line. SimpleCharStream.java Version 7.0 */ - /* JavaCCOptions:STATIC=false,SUPPORT_CLASS_VISIBILITY_PUBLIC=true */ - /* - * #%L - * JSQLParser library +/* JavaCCOptions:STATIC=false,SUPPORT_CLASS_VISIBILITY_PUBLIC=true */ +/* +* #%L + * * JSQLParser library + * * * %% * Copyright (C) 2004 - 2014 JSQLParser + * * * %% * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU Lesser General Public License as @@ -20,7 +22,7 @@ * License along with this program. If not, see * . * #L% - */ +*/ package net.sf.jsqlparser.parser; /** @@ -287,7 +289,7 @@ public void backup(int amount) { * Constructor. */ public SimpleCharStream(Provider dstream, int startline, - int startcolumn, int buffersize) { + int startcolumn, int buffersize) { inputStream = dstream; line = startline; column = startcolumn - 1; @@ -302,7 +304,7 @@ public SimpleCharStream(Provider dstream, int startline, * Constructor. */ public SimpleCharStream(Provider dstream, int startline, - int startcolumn) { + int startcolumn) { this(dstream, startline, startcolumn, 4096); } @@ -317,7 +319,7 @@ public SimpleCharStream(Provider dstream) { * Reinitialise. */ public void ReInit(Provider dstream, int startline, - int startcolumn, int buffersize) { + int startcolumn, int buffersize) { inputStream = dstream; line = startline; column = startcolumn - 1; @@ -337,7 +339,7 @@ public void ReInit(Provider dstream, int startline, * Reinitialise. */ public void ReInit(Provider dstream, int startline, - int startcolumn) { + int startcolumn) { ReInit(dstream, startline, startcolumn, 4096); } @@ -356,7 +358,7 @@ public String GetImage() { return new String(buffer, tokenBegin, bufpos - tokenBegin + 1); } else { return new String(buffer, tokenBegin, bufsize - tokenBegin) - + new String(buffer, 0, bufpos + 1); + + new String(buffer, 0, bufpos + 1); } } @@ -370,7 +372,7 @@ public char[] GetSuffix(int len) { System.arraycopy(buffer, bufpos - len + 1, ret, 0, len); } else { System.arraycopy(buffer, bufsize - (len - bufpos - 1), ret, 0, - len - bufpos - 1); + len - bufpos - 1); System.arraycopy(buffer, 0, ret, len - bufpos - 1, bufpos + 1); } @@ -403,7 +405,7 @@ public void adjustBeginLineColumn(int newLine, int newCol) { int i = 0; int j = 0; int k = 0; - int nextColDiff = 0; + int nextColDiff = 0; int columnDiff = 0; while (i < len && bufline[j = start % bufsize] == bufline[k = ++start % bufsize]) { diff --git a/src/main/java/net/sf/jsqlparser/schema/Column.java b/src/main/java/net/sf/jsqlparser/schema/Column.java index e9346aa37..719c60a09 100644 --- a/src/main/java/net/sf/jsqlparser/schema/Column.java +++ b/src/main/java/net/sf/jsqlparser/schema/Column.java @@ -36,55 +36,55 @@ @EqualsAndHashCode(callSuper = true) public final class Column extends ASTNodeAccessImpl implements Expression, MultiPartName { - private Table table; - private String columnName; + private Table table; + private String columnName; - public Column(Table table, String columnName) { - setTable(table); - setColumnName(columnName); - } + public Column(Table table, String columnName) { + setTable(table); + setColumnName(columnName); + } - public Column(String columnName) { - this(null, columnName); - } + public Column(String columnName) { + this(null, columnName); + } - @Override - public String getFullyQualifiedName() { - return getName(false); - } + @Override + public String getFullyQualifiedName() { + return getName(false); + } - /** - * Get name with out without using aliases. - * - * @param aliases - * @return - */ - public String getName(boolean aliases) { - StringBuilder fqn = new StringBuilder(); + /** + * Get name with out without using aliases. + * + * @param aliases + * @return + */ + public String getName(boolean aliases) { + StringBuilder fqn = new StringBuilder(); - if (table != null) { - if (table.getAlias() != null && aliases) { - fqn.append(table.getAlias().getName()); - } else { - fqn.append(table.getFullyQualifiedName()); - } - } - if (fqn.length() > 0) { - fqn.append('.'); - } - if (columnName != null) { - fqn.append(columnName); - } - return fqn.toString(); - } + if (table != null) { + if (table.getAlias() != null && aliases) { + fqn.append(table.getAlias().getName()); + } else { + fqn.append(table.getFullyQualifiedName()); + } + } + if (fqn.length() > 0) { + fqn.append('.'); + } + if (columnName != null) { + fqn.append(columnName); + } + return fqn.toString(); + } - @Override - public void accept(ExpressionVisitor expressionVisitor) { - expressionVisitor.visit(this); - } + @Override + public void accept(ExpressionVisitor expressionVisitor) { + expressionVisitor.visit(this); + } - @Override - public String toString() { - return getName(true); - } + @Override + public String toString() { + return getName(true); + } } diff --git a/src/main/java/net/sf/jsqlparser/schema/Database.java b/src/main/java/net/sf/jsqlparser/schema/Database.java index 58be4497b..482014ed8 100644 --- a/src/main/java/net/sf/jsqlparser/schema/Database.java +++ b/src/main/java/net/sf/jsqlparser/schema/Database.java @@ -30,33 +30,33 @@ @AllArgsConstructor public final class Database implements MultiPartName { - private Server server; - private String databaseName; - - public Database(String databaseName) { - this(null, databaseName); - } - - @Override - public String getFullyQualifiedName() { - String fqn = ""; - - if (server != null) { - fqn += server.getFullyQualifiedName(); - } - if (!fqn.isEmpty()) { - fqn += "."; - } - - if (databaseName != null) { - fqn += databaseName; - } - - return fqn; - } - - @Override - public String toString() { - return getFullyQualifiedName(); - } + private Server server; + private String databaseName; + + public Database(String databaseName) { + this(null, databaseName); + } + + @Override + public String getFullyQualifiedName() { + String fqn = ""; + + if (server != null) { + fqn += server.getFullyQualifiedName(); + } + if (!fqn.isEmpty()) { + fqn += "."; + } + + if (databaseName != null) { + fqn += databaseName; + } + + return fqn; + } + + @Override + public String toString() { + return getFullyQualifiedName(); + } } diff --git a/src/main/java/net/sf/jsqlparser/schema/Server.java b/src/main/java/net/sf/jsqlparser/schema/Server.java index 53ead19ab..6ab6b460c 100644 --- a/src/main/java/net/sf/jsqlparser/schema/Server.java +++ b/src/main/java/net/sf/jsqlparser/schema/Server.java @@ -29,8 +29,7 @@ @Data public final class Server implements MultiPartName { - public static final Pattern SERVER_PATTERN = Pattern. - compile("\\[([^\\]]+?)(?:\\\\([^\\]]+))?\\]"); + public static final Pattern SERVER_PATTERN = Pattern.compile("\\[([^\\]]+?)(?:\\\\([^\\]]+))?\\]"); private String serverName; private String instanceName; @@ -55,8 +54,7 @@ public Server(String serverName, String instanceName) { @Override public String getFullyQualifiedName() { - if (serverName != null && !serverName.isEmpty() && instanceName != null && !instanceName. - isEmpty()) { + if (serverName != null && !serverName.isEmpty() && instanceName != null && !instanceName.isEmpty()) { return String.format("[%s\\%s]", serverName, instanceName); } else if (serverName != null && !serverName.isEmpty()) { return String.format("[%s]", serverName); diff --git a/src/main/java/net/sf/jsqlparser/schema/Table.java b/src/main/java/net/sf/jsqlparser/schema/Table.java index 8370d1766..2f994fdcc 100644 --- a/src/main/java/net/sf/jsqlparser/schema/Table.java +++ b/src/main/java/net/sf/jsqlparser/schema/Table.java @@ -40,68 +40,68 @@ @EqualsAndHashCode(callSuper = true) public class Table extends ASTNodeAccessImpl implements FromItem, MultiPartName { - private Database database; - private String schemaName; - private String name; + private Database database; + private String schemaName; + private String name; - private Alias alias; - private Pivot pivot; - private MySQLIndexHint mySQLIndexHint; + private Alias alias; + private Pivot pivot; + private MySQLIndexHint mySQLIndexHint; - public Table(String name) { - this.name = name; - } + public Table(String name) { + this.name = name; + } - public Table(String schemaName, String name) { - this.schemaName = schemaName; - this.name = name; - } + public Table(String schemaName, String name) { + this.schemaName = schemaName; + this.name = name; + } - public Table(Database database, String schemaName, String name) { - this.database = database; - this.schemaName = schemaName; - this.name = name; - } + public Table(Database database, String schemaName, String name) { + this.database = database; + this.schemaName = schemaName; + this.name = name; + } - @Override - public String getFullyQualifiedName() { - String fqn = ""; + @Override + public String getFullyQualifiedName() { + String fqn = ""; - if (database != null) { - fqn += database.getFullyQualifiedName(); - } - if (!fqn.isEmpty()) { - fqn += "."; - } + if (database != null) { + fqn += database.getFullyQualifiedName(); + } + if (!fqn.isEmpty()) { + fqn += "."; + } - if (schemaName != null) { - fqn += schemaName; - } - if (!fqn.isEmpty()) { - fqn += "."; - } + if (schemaName != null) { + fqn += schemaName; + } + if (!fqn.isEmpty()) { + fqn += "."; + } - if (name != null) { - fqn += name; - } + if (name != null) { + fqn += name; + } - return fqn; - } + return fqn; + } - @Override - public void accept(FromItemVisitor fromItemVisitor) { - fromItemVisitor.visit(this); - } + @Override + public void accept(FromItemVisitor fromItemVisitor) { + fromItemVisitor.visit(this); + } - public void accept(IntoTableVisitor intoTableVisitor) { - intoTableVisitor.visit(this); - } + public void accept(IntoTableVisitor intoTableVisitor) { + intoTableVisitor.visit(this); + } - @Override - public String toString() { - return getFullyQualifiedName() - + ((alias != null) ? alias.toString() : "") - + ((pivot != null) ? " " + pivot : "") - + ((mySQLIndexHint != null) ? mySQLIndexHint.toString() : ""); - } + @Override + public String toString() { + return getFullyQualifiedName() + + ((alias != null) ? alias.toString() : "") + + ((pivot != null) ? " " + pivot : "") + + ((mySQLIndexHint != null) ? mySQLIndexHint.toString() : ""); + } } diff --git a/src/main/java/net/sf/jsqlparser/statement/Commit.java b/src/main/java/net/sf/jsqlparser/statement/Commit.java index 9232e1a21..043e55cb5 100644 --- a/src/main/java/net/sf/jsqlparser/statement/Commit.java +++ b/src/main/java/net/sf/jsqlparser/statement/Commit.java @@ -23,13 +23,13 @@ public class Commit implements Statement { - @Override - public void accept(StatementVisitor statementVisitor) { - statementVisitor.visit(this); - } + @Override + public void accept(StatementVisitor statementVisitor) { + statementVisitor.visit(this); + } - @Override - public String toString() { - return "COMMIT"; - } + @Override + public String toString() { + return "COMMIT"; + } } diff --git a/src/main/java/net/sf/jsqlparser/statement/SetStatement.java b/src/main/java/net/sf/jsqlparser/statement/SetStatement.java index fe7f8726a..76fbe3446 100644 --- a/src/main/java/net/sf/jsqlparser/statement/SetStatement.java +++ b/src/main/java/net/sf/jsqlparser/statement/SetStatement.java @@ -50,23 +50,23 @@ @Data public class SetStatement implements Statement { - private String name; - private Expression expression; - @Accessors(chain = true) - private boolean useEqual; + private String name; + private Expression expression; + @Accessors(chain = true) + private boolean useEqual; - public SetStatement(String name, Expression expression) { - this.name = name; - this.expression = expression; - } + public SetStatement(String name, Expression expression) { + this.name = name; + this.expression = expression; + } - @Override - public String toString() { - return "SET " + name + (useEqual ? " = " : " ") + expression.toString(); - } + @Override + public String toString() { + return "SET " + name + (useEqual ? " = " : " ") + expression.toString(); + } - @Override - public void accept(StatementVisitor statementVisitor) { - statementVisitor.visit(this); - } + @Override + public void accept(StatementVisitor statementVisitor) { + statementVisitor.visit(this); + } } diff --git a/src/main/java/net/sf/jsqlparser/statement/StatementVisitorAdapter.java b/src/main/java/net/sf/jsqlparser/statement/StatementVisitorAdapter.java index ee88680fd..af6976d30 100644 --- a/src/main/java/net/sf/jsqlparser/statement/StatementVisitorAdapter.java +++ b/src/main/java/net/sf/jsqlparser/statement/StatementVisitorAdapter.java @@ -38,9 +38,10 @@ import net.sf.jsqlparser.statement.upsert.Upsert; public class StatementVisitorAdapter implements StatementVisitor { + @Override public void visit(Commit commit) { - + } @Override @@ -121,14 +122,11 @@ public void visit(Merge merge) { } @Override - public void visit(AlterView alterView) { - } + public void visit(AlterView alterView) {} @Override - public void visit(Upsert upsert) { - } + public void visit(Upsert upsert) {} @Override - public void visit(UseStatement use) { - } + public void visit(UseStatement use) {} } diff --git a/src/main/java/net/sf/jsqlparser/statement/Statements.java b/src/main/java/net/sf/jsqlparser/statement/Statements.java index c64e66a84..e456bbbb8 100644 --- a/src/main/java/net/sf/jsqlparser/statement/Statements.java +++ b/src/main/java/net/sf/jsqlparser/statement/Statements.java @@ -32,18 +32,18 @@ @Data public class Statements { - private List statements; + private List statements; - public void accept(StatementVisitor statementVisitor) { - statementVisitor.visit(this); - } + public void accept(StatementVisitor statementVisitor) { + statementVisitor.visit(this); + } - @Override - public String toString() { - StringBuilder b = new StringBuilder(); - for (Statement stmt : statements) { - b.append(stmt.toString()).append(";\n"); - } - return b.toString(); - } + @Override + public String toString() { + StringBuilder b = new StringBuilder(); + for (Statement stmt : statements) { + b.append(stmt.toString()).append(";\n"); + } + return b.toString(); + } } diff --git a/src/main/java/net/sf/jsqlparser/statement/alter/Alter.java b/src/main/java/net/sf/jsqlparser/statement/alter/Alter.java index c98c6f4c8..83a1fb759 100644 --- a/src/main/java/net/sf/jsqlparser/statement/alter/Alter.java +++ b/src/main/java/net/sf/jsqlparser/statement/alter/Alter.java @@ -37,40 +37,40 @@ @Data public class Alter implements Statement { - private Table table; + private Table table; - private List alterExpressions; + private List alterExpressions; - public void addAlterExpression(AlterExpression alterExpression) { - if (alterExpressions == null) { - alterExpressions = new ArrayList(); - } - alterExpressions.add(alterExpression); - } + public void addAlterExpression(AlterExpression alterExpression) { + if (alterExpressions == null) { + alterExpressions = new ArrayList(); + } + alterExpressions.add(alterExpression); + } - @Override - public void accept(StatementVisitor statementVisitor) { - statementVisitor.visit(this); - } + @Override + public void accept(StatementVisitor statementVisitor) { + statementVisitor.visit(this); + } - @Override - public String toString() { + @Override + public String toString() { - StringBuilder b = new StringBuilder(); - b.append("ALTER TABLE ").append(table.getFullyQualifiedName()).append(" "); + StringBuilder b = new StringBuilder(); + b.append("ALTER TABLE ").append(table.getFullyQualifiedName()).append(" "); - Iterator altIter = alterExpressions.iterator(); + Iterator altIter = alterExpressions.iterator(); - while (altIter.hasNext()) { - b.append(altIter.next().toString()); + while (altIter.hasNext()) { + b.append(altIter.next().toString()); - // Need to append whitespace after each ADD or DROP statement - // but not the last one - if (altIter.hasNext()) { - b.append(", "); - } - } + // Need to append whitespace after each ADD or DROP statement + // but not the last one + if (altIter.hasNext()) { + b.append(", "); + } + } - return b.toString(); - } + return b.toString(); + } } diff --git a/src/main/java/net/sf/jsqlparser/statement/alter/AlterExpression.java b/src/main/java/net/sf/jsqlparser/statement/alter/AlterExpression.java index ed2ae22a6..e04259ad4 100644 --- a/src/main/java/net/sf/jsqlparser/statement/alter/AlterExpression.java +++ b/src/main/java/net/sf/jsqlparser/statement/alter/AlterExpression.java @@ -101,12 +101,10 @@ public String toString() { } else if (pkColumns != null) { b.append("PRIMARY KEY (").append(PlainSelect.getStringList(pkColumns)).append(')'); } else if (ukColumns != null) { - b.append("UNIQUE KEY ").append(ukName).append(" (").append(PlainSelect. - getStringList(ukColumns)).append(")"); + b.append("UNIQUE KEY ").append(ukName).append(" (").append(PlainSelect.getStringList(ukColumns)).append(")"); } else if (fkColumns != null) { - b.append("FOREIGN KEY (").append(PlainSelect.getStringList(fkColumns)). - append(") REFERENCES ").append(fkSourceTable).append(" (").append( - PlainSelect.getStringList(fkSourceColumns)).append(")"); + b.append("FOREIGN KEY (").append(PlainSelect.getStringList(fkColumns)).append(") REFERENCES ").append(fkSourceTable).append(" (").append( + PlainSelect.getStringList(fkSourceColumns)).append(")"); if (isOnDeleteCascade()) { b.append(" ON DELETE CASCADE"); } else if (isOnDeleteRestrict()) { @@ -120,7 +118,7 @@ public String toString() { if (getConstraints() != null && !getConstraints().isEmpty()) { b.append(' ').append(PlainSelect.getStringList(constraints, false, false)); } - if (parameters!=null && !parameters.isEmpty()) { + if (parameters != null && !parameters.isEmpty()) { b.append(' ').append(PlainSelect.getStringList(parameters, false, false)); } diff --git a/src/main/java/net/sf/jsqlparser/statement/alter/AlterOperation.java b/src/main/java/net/sf/jsqlparser/statement/alter/AlterOperation.java index c309253a7..ec1c70c61 100644 --- a/src/main/java/net/sf/jsqlparser/statement/alter/AlterOperation.java +++ b/src/main/java/net/sf/jsqlparser/statement/alter/AlterOperation.java @@ -26,8 +26,8 @@ * @author toben */ public enum AlterOperation { - ADD, - DROP, - MODIFY, - CHANGE, + ADD, + DROP, + MODIFY, + CHANGE, } diff --git a/src/main/java/net/sf/jsqlparser/statement/alter/ConstraintState.java b/src/main/java/net/sf/jsqlparser/statement/alter/ConstraintState.java index 878566b1e..5542b8d9e 100644 --- a/src/main/java/net/sf/jsqlparser/statement/alter/ConstraintState.java +++ b/src/main/java/net/sf/jsqlparser/statement/alter/ConstraintState.java @@ -26,5 +26,4 @@ * * @author Christophe Moine */ -public interface ConstraintState { -} +public interface ConstraintState {} diff --git a/src/main/java/net/sf/jsqlparser/statement/alter/DeferrableConstraint.java b/src/main/java/net/sf/jsqlparser/statement/alter/DeferrableConstraint.java index 9f8179022..3011d8d28 100644 --- a/src/main/java/net/sf/jsqlparser/statement/alter/DeferrableConstraint.java +++ b/src/main/java/net/sf/jsqlparser/statement/alter/DeferrableConstraint.java @@ -28,15 +28,15 @@ @AllArgsConstructor public class DeferrableConstraint implements ConstraintState { - private boolean not; + private boolean not; - @Override - public String toString() { - StringBuilder b = new StringBuilder(); - if (not) { - b.append("NOT "); - } - b.append("DEFERRABLE"); - return b.toString(); - } + @Override + public String toString() { + StringBuilder b = new StringBuilder(); + if (not) { + b.append("NOT "); + } + b.append("DEFERRABLE"); + return b.toString(); + } } diff --git a/src/main/java/net/sf/jsqlparser/statement/alter/ValidateConstraint.java b/src/main/java/net/sf/jsqlparser/statement/alter/ValidateConstraint.java index 76c3cfc77..425ad617e 100644 --- a/src/main/java/net/sf/jsqlparser/statement/alter/ValidateConstraint.java +++ b/src/main/java/net/sf/jsqlparser/statement/alter/ValidateConstraint.java @@ -28,10 +28,10 @@ @AllArgsConstructor public class ValidateConstraint implements ConstraintState { - private boolean not; + private boolean not; - @Override - public String toString() { - return not ? "NOVALIDATE" : "VALIDATE"; - } + @Override + public String toString() { + return not ? "NOVALIDATE" : "VALIDATE"; + } } diff --git a/src/main/java/net/sf/jsqlparser/statement/create/index/CreateIndex.java b/src/main/java/net/sf/jsqlparser/statement/create/index/CreateIndex.java index fa427cfd7..d9053feb3 100644 --- a/src/main/java/net/sf/jsqlparser/statement/create/index/CreateIndex.java +++ b/src/main/java/net/sf/jsqlparser/statement/create/index/CreateIndex.java @@ -37,52 +37,52 @@ @Data public class CreateIndex implements Statement { - /** - * The table on which the index is to be created - */ - private Table table; - /** - * The index to be created - */ - private Index index; + /** + * The table on which the index is to be created + */ + private Table table; + /** + * The index to be created + */ + private Index index; - @Override - public void accept(StatementVisitor statementVisitor) { - statementVisitor.visit(this); - } + @Override + public void accept(StatementVisitor statementVisitor) { + statementVisitor.visit(this); + } - @Override - public String toString() { - StringBuilder buffer = new StringBuilder(); + @Override + public String toString() { + StringBuilder buffer = new StringBuilder(); - buffer.append("CREATE "); + buffer.append("CREATE "); - if (index.getType() != null) { - buffer.append(index.getType()); - buffer.append(" "); - } + if (index.getType() != null) { + buffer.append(index.getType()); + buffer.append(" "); + } - buffer.append("INDEX "); - buffer.append(index.getName()); - buffer.append(" ON "); - buffer.append(table.getFullyQualifiedName()); + buffer.append("INDEX "); + buffer.append(index.getName()); + buffer.append(" ON "); + buffer.append(table.getFullyQualifiedName()); - if (index.getColumnsNames() != null) { - buffer.append(" ("); + if (index.getColumnsNames() != null) { + buffer.append(" ("); - for (Iterator iter = index.getColumnsNames().iterator(); iter.hasNext();) { - String columnName = iter.next(); + for (Iterator iter = index.getColumnsNames().iterator(); iter.hasNext();) { + String columnName = iter.next(); - buffer.append(columnName); + buffer.append(columnName); - if (iter.hasNext()) { - buffer.append(", "); - } - } + if (iter.hasNext()) { + buffer.append(", "); + } + } - buffer.append(")"); - } + buffer.append(")"); + } - return buffer.toString(); - } + return buffer.toString(); + } } diff --git a/src/main/java/net/sf/jsqlparser/statement/create/table/CheckConstraint.java b/src/main/java/net/sf/jsqlparser/statement/create/table/CheckConstraint.java index d37359c11..0852e7946 100644 --- a/src/main/java/net/sf/jsqlparser/statement/create/table/CheckConstraint.java +++ b/src/main/java/net/sf/jsqlparser/statement/create/table/CheckConstraint.java @@ -34,11 +34,11 @@ @Data public class CheckConstraint extends NamedConstraint { - private Table table; - private Expression expression; + private Table table; + private Expression expression; - @Override - public String toString() { - return "CONSTRAINT " + getName() + " CHECK (" + expression + ")"; - } + @Override + public String toString() { + return "CONSTRAINT " + getName() + " CHECK (" + expression + ")"; + } } diff --git a/src/main/java/net/sf/jsqlparser/statement/create/table/ColDataType.java b/src/main/java/net/sf/jsqlparser/statement/create/table/ColDataType.java index 556fdcabf..919331ee4 100644 --- a/src/main/java/net/sf/jsqlparser/statement/create/table/ColDataType.java +++ b/src/main/java/net/sf/jsqlparser/statement/create/table/ColDataType.java @@ -30,24 +30,24 @@ @Data public class ColDataType { - private String dataType; - private List argumentsStringList; - private String characterSet; - private List arrayData = new ArrayList(); + private String dataType; + private List argumentsStringList; + private String characterSet; + private List arrayData = new ArrayList(); - @Override - public String toString() { - StringBuilder arraySpec = new StringBuilder(); - for (Integer item : arrayData) { - arraySpec.append("["); - if (item != null) { - arraySpec.append(item); - } - arraySpec.append("]"); - } - return dataType - + (argumentsStringList != null ? " " + PlainSelect.getStringList(argumentsStringList, true, true) : "") - + arraySpec.toString() - + (characterSet != null ? " CHARACTER SET " + characterSet : ""); - } + @Override + public String toString() { + StringBuilder arraySpec = new StringBuilder(); + for (Integer item : arrayData) { + arraySpec.append("["); + if (item != null) { + arraySpec.append(item); + } + arraySpec.append("]"); + } + return dataType + + (argumentsStringList != null ? " " + PlainSelect.getStringList(argumentsStringList, true, true) : "") + + arraySpec.toString() + + (characterSet != null ? " CHARACTER SET " + characterSet : ""); + } } diff --git a/src/main/java/net/sf/jsqlparser/statement/create/table/ColumnDefinition.java b/src/main/java/net/sf/jsqlparser/statement/create/table/ColumnDefinition.java index 9b4d37d21..3f6bb156c 100644 --- a/src/main/java/net/sf/jsqlparser/statement/create/table/ColumnDefinition.java +++ b/src/main/java/net/sf/jsqlparser/statement/create/table/ColumnDefinition.java @@ -33,19 +33,19 @@ @Data public class ColumnDefinition { - private String columnName; - /** - * The {@link ColDataType} of this column definition - */ - private ColDataType colDataType; - /** - * A list of strings of every word after the datatype of the column.
- * Example ("NOT", "NULL") - */ - private List columnSpecStrings; + private String columnName; + /** + * The {@link ColDataType} of this column definition + */ + private ColDataType colDataType; + /** + * A list of strings of every word after the datatype of the column.
+ * Example ("NOT", "NULL") + */ + private List columnSpecStrings; - @Override - public String toString() { - return columnName + " " + colDataType + (columnSpecStrings != null ? " " + PlainSelect.getStringList(columnSpecStrings, false, false) : ""); - } + @Override + public String toString() { + return columnName + " " + colDataType + (columnSpecStrings != null ? " " + PlainSelect.getStringList(columnSpecStrings, false, false) : ""); + } } diff --git a/src/main/java/net/sf/jsqlparser/statement/create/table/CreateTable.java b/src/main/java/net/sf/jsqlparser/statement/create/table/CreateTable.java index cb7202fd2..9f25399bb 100644 --- a/src/main/java/net/sf/jsqlparser/statement/create/table/CreateTable.java +++ b/src/main/java/net/sf/jsqlparser/statement/create/table/CreateTable.java @@ -74,8 +74,8 @@ public String toString() { String createOps = PlainSelect.getStringList(createOptionsStrings, false, false); sql = "CREATE " + (unlogged ? "UNLOGGED " : "") - + (!"".equals(createOps) ? createOps + " " : "") - + "TABLE " + (ifNotExists ? "IF NOT EXISTS " : "") + table; + + (!"".equals(createOps) ? createOps + " " : "") + + "TABLE " + (ifNotExists ? "IF NOT EXISTS " : "") + table; if (select != null) { sql += " AS " + (parenthesis ? "(" : "") + select.toString() + (parenthesis ? ")" : ""); diff --git a/src/main/java/net/sf/jsqlparser/statement/create/table/ExcludeConstraint.java b/src/main/java/net/sf/jsqlparser/statement/create/table/ExcludeConstraint.java index 754e25b9e..5501bb3c0 100644 --- a/src/main/java/net/sf/jsqlparser/statement/create/table/ExcludeConstraint.java +++ b/src/main/java/net/sf/jsqlparser/statement/create/table/ExcludeConstraint.java @@ -32,15 +32,15 @@ @Data public class ExcludeConstraint extends Index { - private Expression expression; + private Expression expression; - @Override - public String toString() { - StringBuilder exclusionStatement = new StringBuilder("EXCLUDE WHERE "); - exclusionStatement.append("("); - exclusionStatement.append(expression); - exclusionStatement.append(")"); - return exclusionStatement.toString(); - } + @Override + public String toString() { + StringBuilder exclusionStatement = new StringBuilder("EXCLUDE WHERE "); + exclusionStatement.append("("); + exclusionStatement.append(expression); + exclusionStatement.append(")"); + return exclusionStatement.toString(); + } } diff --git a/src/main/java/net/sf/jsqlparser/statement/create/table/ForeignKeyIndex.java b/src/main/java/net/sf/jsqlparser/statement/create/table/ForeignKeyIndex.java index cf05f7291..ed153546d 100644 --- a/src/main/java/net/sf/jsqlparser/statement/create/table/ForeignKeyIndex.java +++ b/src/main/java/net/sf/jsqlparser/statement/create/table/ForeignKeyIndex.java @@ -50,8 +50,7 @@ public String toString() { referenceOptions += " ON UPDATE " + onUpdateReferenceOption; } return super.toString() - + " REFERENCES " + table + PlainSelect. - getStringList(getReferencedColumnNames(), true, true) - + referenceOptions; + + " REFERENCES " + table + PlainSelect.getStringList(getReferencedColumnNames(), true, true) + + referenceOptions; } } diff --git a/src/main/java/net/sf/jsqlparser/statement/create/table/Index.java b/src/main/java/net/sf/jsqlparser/statement/create/table/Index.java index a69ff3bff..9487e56e7 100644 --- a/src/main/java/net/sf/jsqlparser/statement/create/table/Index.java +++ b/src/main/java/net/sf/jsqlparser/statement/create/table/Index.java @@ -32,20 +32,20 @@ @Data public class Index { - /** - * The type of this index: "PRIMARY KEY", "UNIQUE", "INDEX" - */ - private String type; - /** - * A list of strings of all the columns regarding this index - */ - private List columnsNames; - private String name; - private List indexSpec; + /** + * The type of this index: "PRIMARY KEY", "UNIQUE", "INDEX" + */ + private String type; + /** + * A list of strings of all the columns regarding this index + */ + private List columnsNames; + private String name; + private List indexSpec; - @Override - public String toString() { - String idxSpecText = PlainSelect.getStringList(indexSpec, false, false); - return type + (name != null ? " " + name : "") + " " + PlainSelect.getStringList(columnsNames, true, true) + (!"".equals(idxSpecText) ? " " + idxSpecText : ""); - } + @Override + public String toString() { + String idxSpecText = PlainSelect.getStringList(indexSpec, false, false); + return type + (name != null ? " " + name : "") + " " + PlainSelect.getStringList(columnsNames, true, true) + (!"".equals(idxSpecText) ? " " + idxSpecText : ""); + } } diff --git a/src/main/java/net/sf/jsqlparser/statement/create/table/NamedConstraint.java b/src/main/java/net/sf/jsqlparser/statement/create/table/NamedConstraint.java index 454c8b03a..3c3df4769 100644 --- a/src/main/java/net/sf/jsqlparser/statement/create/table/NamedConstraint.java +++ b/src/main/java/net/sf/jsqlparser/statement/create/table/NamedConstraint.java @@ -19,24 +19,24 @@ * . * #L% */ - /* - * Copyright (C) 2014 JSQLParser. - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, - * MA 02110-1301 USA - */ +/* +* Copyright (C) 2014 JSQLParser. +* +* This library is free software; you can redistribute it and/or +* modify it under the terms of the GNU Lesser General Public +* License as published by the Free Software Foundation; either +* version 2.1 of the License, or (at your option) any later version. +* +* This library is distributed in the hope that it will be useful, +* but WITHOUT ANY WARRANTY; without even the implied warranty of +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +* Lesser General Public License for more details. +* +* You should have received a copy of the GNU Lesser General Public +* License along with this library; if not, write to the Free Software +* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, +* MA 02110-1301 USA +*/ package net.sf.jsqlparser.statement.create.table; import net.sf.jsqlparser.statement.select.PlainSelect; @@ -51,7 +51,6 @@ public class NamedConstraint extends Index { public String toString() { String idxSpecText = PlainSelect.getStringList(getIndexSpec(), false, false); return (getName() != null ? "CONSTRAINT " + getName() + " " : "") - + getType() + " " + PlainSelect.getStringList(getColumnsNames(), true, true) + (!"". - equals(idxSpecText) ? " " + idxSpecText : ""); + + getType() + " " + PlainSelect.getStringList(getColumnsNames(), true, true) + (!"".equals(idxSpecText) ? " " + idxSpecText : ""); } } diff --git a/src/main/java/net/sf/jsqlparser/statement/create/view/AlterView.java b/src/main/java/net/sf/jsqlparser/statement/create/view/AlterView.java index 2ed94cf0a..32f2e29b2 100644 --- a/src/main/java/net/sf/jsqlparser/statement/create/view/AlterView.java +++ b/src/main/java/net/sf/jsqlparser/statement/create/view/AlterView.java @@ -36,30 +36,30 @@ @Data public class AlterView implements Statement { - /** - * In the syntax tree, a view looks and acts just like a Table. - */ - private Table view; - /** - * @return the SelectBody - */ - private SelectBody selectBody; - private List columnNames = null; + /** + * In the syntax tree, a view looks and acts just like a Table. + */ + private Table view; + /** + * @return the SelectBody + */ + private SelectBody selectBody; + private List columnNames = null; - @Override - public void accept(StatementVisitor statementVisitor) { - statementVisitor.visit(this); - } + @Override + public void accept(StatementVisitor statementVisitor) { + statementVisitor.visit(this); + } - @Override - public String toString() { - StringBuilder sql = new StringBuilder("ALTER "); - sql.append("VIEW "); - sql.append(view); - if (columnNames != null) { - sql.append(PlainSelect.getStringList(columnNames, true, true)); - } - sql.append(" AS ").append(selectBody); - return sql.toString(); - } + @Override + public String toString() { + StringBuilder sql = new StringBuilder("ALTER "); + sql.append("VIEW "); + sql.append(view); + if (columnNames != null) { + sql.append(PlainSelect.getStringList(columnNames, true, true)); + } + sql.append(" AS ").append(selectBody); + return sql.toString(); + } } diff --git a/src/main/java/net/sf/jsqlparser/statement/create/view/CreateView.java b/src/main/java/net/sf/jsqlparser/statement/create/view/CreateView.java index f3de85e70..7163447c1 100644 --- a/src/main/java/net/sf/jsqlparser/statement/create/view/CreateView.java +++ b/src/main/java/net/sf/jsqlparser/statement/create/view/CreateView.java @@ -36,41 +36,41 @@ @Data public class CreateView implements Statement { - /** - * In the syntax tree, a view looks and acts just like a Table. - */ - private Table view; - /** - * @return the SelectBody - */ - private SelectBody selectBody; - /** - * @return was "OR REPLACE" specified? - */ - private boolean orReplace = false; - private List columnNames = null; - private boolean materialized = false; + /** + * In the syntax tree, a view looks and acts just like a Table. + */ + private Table view; + /** + * @return the SelectBody + */ + private SelectBody selectBody; + /** + * @return was "OR REPLACE" specified? + */ + private boolean orReplace = false; + private List columnNames = null; + private boolean materialized = false; - @Override - public void accept(StatementVisitor statementVisitor) { - statementVisitor.visit(this); - } + @Override + public void accept(StatementVisitor statementVisitor) { + statementVisitor.visit(this); + } - @Override - public String toString() { - StringBuilder sql = new StringBuilder("CREATE "); - if (isOrReplace()) { - sql.append("OR REPLACE "); - } - if (isMaterialized()) { - sql.append("MATERIALIZED "); - } - sql.append("VIEW "); - sql.append(view); - if (columnNames != null) { - sql.append(PlainSelect.getStringList(columnNames, true, true)); - } - sql.append(" AS ").append(selectBody); - return sql.toString(); - } + @Override + public String toString() { + StringBuilder sql = new StringBuilder("CREATE "); + if (isOrReplace()) { + sql.append("OR REPLACE "); + } + if (isMaterialized()) { + sql.append("MATERIALIZED "); + } + sql.append("VIEW "); + sql.append(view); + if (columnNames != null) { + sql.append(PlainSelect.getStringList(columnNames, true, true)); + } + sql.append(" AS ").append(selectBody); + return sql.toString(); + } } diff --git a/src/main/java/net/sf/jsqlparser/statement/delete/Delete.java b/src/main/java/net/sf/jsqlparser/statement/delete/Delete.java index d27da9df9..bf3dee9fa 100644 --- a/src/main/java/net/sf/jsqlparser/statement/delete/Delete.java +++ b/src/main/java/net/sf/jsqlparser/statement/delete/Delete.java @@ -36,53 +36,53 @@ @Data public class Delete implements Statement { - private Table table; - private List
tables; - private List joins; - private Expression where; - private Limit limit; - private List orderByElements; + private Table table; + private List
tables; + private List joins; + private Expression where; + private Limit limit; + private List orderByElements; - @Override - public void accept(StatementVisitor statementVisitor) { - statementVisitor.visit(this); - } + @Override + public void accept(StatementVisitor statementVisitor) { + statementVisitor.visit(this); + } - @Override - public String toString() { - StringBuilder b = new StringBuilder("DELETE"); + @Override + public String toString() { + StringBuilder b = new StringBuilder("DELETE"); - if (tables != null && tables.size() > 0) { - b.append(" "); - for (Table t : tables) { - b.append(t.toString()); - } - } + if (tables != null && tables.size() > 0) { + b.append(" "); + for (Table t : tables) { + b.append(t.toString()); + } + } - b.append(" FROM "); - b.append(table); + b.append(" FROM "); + b.append(table); - if (joins != null) { - for (Join join : joins) { - if (join.isSimple()) { - b.append(", ").append(join); - } else { - b.append(" ").append(join); - } - } - } + if (joins != null) { + for (Join join : joins) { + if (join.isSimple()) { + b.append(", ").append(join); + } else { + b.append(" ").append(join); + } + } + } - if (where != null) { - b.append(" WHERE ").append(where); - } + if (where != null) { + b.append(" WHERE ").append(where); + } - if (orderByElements != null) { - b.append(PlainSelect.orderByToString(orderByElements)); - } + if (orderByElements != null) { + b.append(PlainSelect.orderByToString(orderByElements)); + } - if (limit != null) { - b.append(limit); - } - return b.toString(); - } + if (limit != null) { + b.append(limit); + } + return b.toString(); + } } diff --git a/src/main/java/net/sf/jsqlparser/statement/drop/Drop.java b/src/main/java/net/sf/jsqlparser/statement/drop/Drop.java index ec395c6a1..47b35ac43 100644 --- a/src/main/java/net/sf/jsqlparser/statement/drop/Drop.java +++ b/src/main/java/net/sf/jsqlparser/statement/drop/Drop.java @@ -45,7 +45,7 @@ public void accept(StatementVisitor statementVisitor) { @Override public String toString() { String sql = "DROP " + type + " " - + (ifExists ? "IF EXISTS " : "") + name.toString(); + + (ifExists ? "IF EXISTS " : "") + name.toString(); if (parameters != null && !parameters.isEmpty()) { sql += " " + PlainSelect.getStringList(parameters); diff --git a/src/main/java/net/sf/jsqlparser/statement/execute/Execute.java b/src/main/java/net/sf/jsqlparser/statement/execute/Execute.java index 67c5a23b0..dc5041c83 100644 --- a/src/main/java/net/sf/jsqlparser/statement/execute/Execute.java +++ b/src/main/java/net/sf/jsqlparser/statement/execute/Execute.java @@ -34,23 +34,23 @@ @Data public class Execute implements Statement { - private EXEC_TYPE execType = EXEC_TYPE.EXECUTE; - private String name; - private ExpressionList exprList; + private EXEC_TYPE execType = EXEC_TYPE.EXECUTE; + private String name; + private ExpressionList exprList; - @Override - public void accept(StatementVisitor statementVisitor) { - statementVisitor.visit(this); - } + @Override + public void accept(StatementVisitor statementVisitor) { + statementVisitor.visit(this); + } - @Override - public String toString() { - return execType.name() + " " + name + " " + PlainSelect.getStringList(exprList.getExpressions(), true, false); - } + @Override + public String toString() { + return execType.name() + " " + name + " " + PlainSelect.getStringList(exprList.getExpressions(), true, false); + } - public static enum EXEC_TYPE { - EXECUTE, - EXEC, - CALL - } + public static enum EXEC_TYPE { + EXECUTE, + EXEC, + CALL + } } diff --git a/src/main/java/net/sf/jsqlparser/statement/insert/Insert.java b/src/main/java/net/sf/jsqlparser/statement/insert/Insert.java index 4c824ae00..403f79828 100644 --- a/src/main/java/net/sf/jsqlparser/statement/insert/Insert.java +++ b/src/main/java/net/sf/jsqlparser/statement/insert/Insert.java @@ -41,102 +41,102 @@ @Data public class Insert implements Statement { - private Table table; - /** - * The columns (found in "INSERT INTO (col1,col2..) [...]" ) - */ - private List columns; - /** - * The values (as VALUES (...) or SELECT) - */ - private ItemsList itemsList; - private boolean useValues = true; - private Select select; - private boolean useSelectBrackets = true; - private boolean useDuplicate = false; - private List duplicateUpdateColumns; - private List duplicateUpdateExpressionList; - private InsertModifierPriority modifierPriority = null; - private boolean modifierIgnore = false; - - private boolean returningAllColumns = false; - - private List returningExpressionList = null; - - /* these lines of codes are used to handle SET syntax in the insert part. - * the SET syntax is based on this: https://dev.mysql.com/doc/refman/5.6/en/insert.html. */ - private boolean useSet = false; - private List setColumns; - private List setExpressionList; - - @Override - public void accept(StatementVisitor statementVisitor) { - statementVisitor.visit(this); - } - - @Override - public String toString() { - StringBuilder sql = new StringBuilder(); - - sql.append("INSERT "); - if (modifierPriority != null) { - sql.append(modifierPriority.name()).append(" "); - } - if (modifierIgnore) { - sql.append("IGNORE "); - } - sql.append("INTO "); - sql.append(table).append(" "); - if (columns != null) { - sql.append(PlainSelect.getStringList(columns, true, true)).append(" "); - } - - if (useValues) { - sql.append("VALUES "); - } - - if (itemsList != null) { - sql.append(itemsList); - } else { - if (useSelectBrackets) { - sql.append("("); - } - if (select != null) { - sql.append(select); - } - if (useSelectBrackets) { - sql.append(")"); - } - } - - if (useSet) { - sql.append("SET "); - for (int i = 0; i < getSetColumns().size(); i++) { - if (i != 0) { - sql.append(", "); - } - sql.append(setColumns.get(i)).append(" = "); - sql.append(setExpressionList.get(i)); - } - } - - if (useDuplicate) { - sql.append(" ON DUPLICATE KEY UPDATE "); - for (int i = 0; i < getDuplicateUpdateColumns().size(); i++) { - if (i != 0) { - sql.append(", "); - } - sql.append(duplicateUpdateColumns.get(i)).append(" = "); - sql.append(duplicateUpdateExpressionList.get(i)); - } - } - - if (isReturningAllColumns()) { - sql.append(" RETURNING *"); - } else if (getReturningExpressionList() != null) { - sql.append(" RETURNING ").append(PlainSelect.getStringList(getReturningExpressionList(), true, false)); - } - - return sql.toString(); - } + private Table table; + /** + * The columns (found in "INSERT INTO (col1,col2..) [...]" ) + */ + private List columns; + /** + * The values (as VALUES (...) or SELECT) + */ + private ItemsList itemsList; + private boolean useValues = true; + private Select select; + private boolean useSelectBrackets = true; + private boolean useDuplicate = false; + private List duplicateUpdateColumns; + private List duplicateUpdateExpressionList; + private InsertModifierPriority modifierPriority = null; + private boolean modifierIgnore = false; + + private boolean returningAllColumns = false; + + private List returningExpressionList = null; + + /* these lines of codes are used to handle SET syntax in the insert part. + * the SET syntax is based on this: https://dev.mysql.com/doc/refman/5.6/en/insert.html. */ + private boolean useSet = false; + private List setColumns; + private List setExpressionList; + + @Override + public void accept(StatementVisitor statementVisitor) { + statementVisitor.visit(this); + } + + @Override + public String toString() { + StringBuilder sql = new StringBuilder(); + + sql.append("INSERT "); + if (modifierPriority != null) { + sql.append(modifierPriority.name()).append(" "); + } + if (modifierIgnore) { + sql.append("IGNORE "); + } + sql.append("INTO "); + sql.append(table).append(" "); + if (columns != null) { + sql.append(PlainSelect.getStringList(columns, true, true)).append(" "); + } + + if (useValues) { + sql.append("VALUES "); + } + + if (itemsList != null) { + sql.append(itemsList); + } else { + if (useSelectBrackets) { + sql.append("("); + } + if (select != null) { + sql.append(select); + } + if (useSelectBrackets) { + sql.append(")"); + } + } + + if (useSet) { + sql.append("SET "); + for (int i = 0; i < getSetColumns().size(); i++) { + if (i != 0) { + sql.append(", "); + } + sql.append(setColumns.get(i)).append(" = "); + sql.append(setExpressionList.get(i)); + } + } + + if (useDuplicate) { + sql.append(" ON DUPLICATE KEY UPDATE "); + for (int i = 0; i < getDuplicateUpdateColumns().size(); i++) { + if (i != 0) { + sql.append(", "); + } + sql.append(duplicateUpdateColumns.get(i)).append(" = "); + sql.append(duplicateUpdateExpressionList.get(i)); + } + } + + if (isReturningAllColumns()) { + sql.append(" RETURNING *"); + } else if (getReturningExpressionList() != null) { + sql.append(" RETURNING ").append(PlainSelect.getStringList(getReturningExpressionList(), true, false)); + } + + return sql.toString(); + } } diff --git a/src/main/java/net/sf/jsqlparser/statement/insert/InsertModifierPriority.java b/src/main/java/net/sf/jsqlparser/statement/insert/InsertModifierPriority.java index 3ac41da8c..fa6e78b1b 100644 --- a/src/main/java/net/sf/jsqlparser/statement/insert/InsertModifierPriority.java +++ b/src/main/java/net/sf/jsqlparser/statement/insert/InsertModifierPriority.java @@ -26,8 +26,8 @@ * @author tw */ public enum InsertModifierPriority { - LOW_PRIORITY, - DELAYED, - HIGH_PRIORITY, - IGNORE, + LOW_PRIORITY, + DELAYED, + HIGH_PRIORITY, + IGNORE, } diff --git a/src/main/java/net/sf/jsqlparser/statement/merge/Merge.java b/src/main/java/net/sf/jsqlparser/statement/merge/Merge.java index 4a51c472a..b4c62f60a 100644 --- a/src/main/java/net/sf/jsqlparser/statement/merge/Merge.java +++ b/src/main/java/net/sf/jsqlparser/statement/merge/Merge.java @@ -37,62 +37,62 @@ @Data public class Merge implements Statement { - private Table table; - private Table usingTable; - private SubSelect usingSelect; - private Alias usingAlias; - private Expression onCondition; - private MergeInsert mergeInsert; - private MergeUpdate mergeUpdate; - private boolean insertFirst = false; + private Table table; + private Table usingTable; + private SubSelect usingSelect; + private Alias usingAlias; + private Expression onCondition; + private MergeInsert mergeInsert; + private MergeUpdate mergeUpdate; + private boolean insertFirst = false; - public void setUsingSelect(SubSelect usingSelect) { - this.usingSelect = usingSelect; - if (this.usingSelect != null) { - this.usingSelect.setUseBrackets(false); - } - } + public void setUsingSelect(SubSelect usingSelect) { + this.usingSelect = usingSelect; + if (this.usingSelect != null) { + this.usingSelect.setUseBrackets(false); + } + } - @Override - public void accept(StatementVisitor statementVisitor) { - statementVisitor.visit(this); - } + @Override + public void accept(StatementVisitor statementVisitor) { + statementVisitor.visit(this); + } - @Override - public String toString() { - StringBuilder b = new StringBuilder(); - b.append("MERGE INTO "); - b.append(table); - b.append(" USING "); - if (usingTable != null) { - b.append(usingTable.toString()); - } else if (usingSelect != null) { - b.append("(").append(usingSelect.toString()).append(")"); - } + @Override + public String toString() { + StringBuilder b = new StringBuilder(); + b.append("MERGE INTO "); + b.append(table); + b.append(" USING "); + if (usingTable != null) { + b.append(usingTable.toString()); + } else if (usingSelect != null) { + b.append("(").append(usingSelect.toString()).append(")"); + } - if (usingAlias != null) { - b.append(usingAlias.toString()); - } - b.append(" ON ("); - b.append(onCondition); - b.append(")"); + if (usingAlias != null) { + b.append(usingAlias.toString()); + } + b.append(" ON ("); + b.append(onCondition); + b.append(")"); - if (insertFirst) { - if (mergeInsert != null) { - b.append(mergeInsert.toString()); - } - } + if (insertFirst) { + if (mergeInsert != null) { + b.append(mergeInsert.toString()); + } + } - if (mergeUpdate != null) { - b.append(mergeUpdate.toString()); - } + if (mergeUpdate != null) { + b.append(mergeUpdate.toString()); + } - if (!insertFirst) { - if (mergeInsert != null) { - b.append(mergeInsert.toString()); - } - } + if (!insertFirst) { + if (mergeInsert != null) { + b.append(mergeInsert.toString()); + } + } - return b.toString(); - } + return b.toString(); + } } diff --git a/src/main/java/net/sf/jsqlparser/statement/merge/MergeInsert.java b/src/main/java/net/sf/jsqlparser/statement/merge/MergeInsert.java index 19da5d606..64b816ba8 100644 --- a/src/main/java/net/sf/jsqlparser/statement/merge/MergeInsert.java +++ b/src/main/java/net/sf/jsqlparser/statement/merge/MergeInsert.java @@ -35,12 +35,12 @@ @Data public class MergeInsert { - private List columns = null; - private List values = null; + private List columns = null; + private List values = null; - @Override - public String toString() { - return " WHEN NOT MATCHED THEN INSERT " + PlainSelect.getStringList(columns, true, true) - + " VALUES " + PlainSelect.getStringList(values, true, true); - } + @Override + public String toString() { + return " WHEN NOT MATCHED THEN INSERT " + PlainSelect.getStringList(columns, true, true) + + " VALUES " + PlainSelect.getStringList(values, true, true); + } } diff --git a/src/main/java/net/sf/jsqlparser/statement/merge/MergeUpdate.java b/src/main/java/net/sf/jsqlparser/statement/merge/MergeUpdate.java index 950f18cfd..13447ee03 100644 --- a/src/main/java/net/sf/jsqlparser/statement/merge/MergeUpdate.java +++ b/src/main/java/net/sf/jsqlparser/statement/merge/MergeUpdate.java @@ -34,27 +34,27 @@ @Data public class MergeUpdate { - private List columns = null; - private List values = null; - private Expression whereCondition; - private Expression deleteWhereCondition; + private List columns = null; + private List values = null; + private Expression whereCondition; + private Expression deleteWhereCondition; - @Override - public String toString() { - StringBuilder b = new StringBuilder(); - b.append(" WHEN MATCHED THEN UPDATE SET "); - for (int i = 0; i < columns.size(); i++) { - if (i != 0) { - b.append(", "); - } - b.append(columns.get(i).toString()).append(" = ").append(values.get(i).toString()); - } - if (whereCondition != null) { - b.append(" WHERE ").append(whereCondition.toString()); - } - if (deleteWhereCondition != null) { - b.append(" DELETE WHERE ").append(deleteWhereCondition.toString()); - } - return b.toString(); - } + @Override + public String toString() { + StringBuilder b = new StringBuilder(); + b.append(" WHEN MATCHED THEN UPDATE SET "); + for (int i = 0; i < columns.size(); i++) { + if (i != 0) { + b.append(", "); + } + b.append(columns.get(i).toString()).append(" = ").append(values.get(i).toString()); + } + if (whereCondition != null) { + b.append(" WHERE ").append(whereCondition.toString()); + } + if (deleteWhereCondition != null) { + b.append(" DELETE WHERE ").append(deleteWhereCondition.toString()); + } + return b.toString(); + } } diff --git a/src/main/java/net/sf/jsqlparser/statement/replace/Replace.java b/src/main/java/net/sf/jsqlparser/statement/replace/Replace.java index a11ed6999..fbd60cc2e 100644 --- a/src/main/java/net/sf/jsqlparser/statement/replace/Replace.java +++ b/src/main/java/net/sf/jsqlparser/statement/replace/Replace.java @@ -38,64 +38,64 @@ @Data public class Replace implements Statement { - private Table table; - /** - * A list of {@link net.sf.jsqlparser.schema.Column}s either from a "REPLACE mytab (col1, col2) - * [...]" or a "REPLACE mytab SET col1=exp1, col2=exp2". - */ - private List columns; - /** - * An {@link ItemsList} (either from a "REPLACE mytab VALUES (exp1,exp2)" or a "REPLACE mytab - * SELECT * FROM mytab2") it is null in case of a "REPLACE mytab SET col1=exp1, col2=exp2" - */ - private ItemsList itemsList; - /** - * A list of {@link net.sf.jsqlparser.expression.Expression}s (from a "REPLACE mytab SET - * col1=exp1, col2=exp2").
- * it is null in case of a "REPLACE mytab (col1, col2) [...]" - */ - private List expressions; - private boolean useValues = true; - private boolean useIntoTables = false; + private Table table; + /** + * A list of {@link net.sf.jsqlparser.schema.Column}s either from a "REPLACE mytab (col1, col2) + * [...]" or a "REPLACE mytab SET col1=exp1, col2=exp2". + */ + private List columns; + /** + * An {@link ItemsList} (either from a "REPLACE mytab VALUES (exp1,exp2)" or a "REPLACE mytab + * SELECT * FROM mytab2") it is null in case of a "REPLACE mytab SET col1=exp1, col2=exp2" + */ + private ItemsList itemsList; + /** + * A list of {@link net.sf.jsqlparser.expression.Expression}s (from a "REPLACE mytab SET + * col1=exp1, col2=exp2").
+ * it is null in case of a "REPLACE mytab (col1, col2) [...]" + */ + private List expressions; + private boolean useValues = true; + private boolean useIntoTables = false; - @Override - public void accept(StatementVisitor statementVisitor) { - statementVisitor.visit(this); - } + @Override + public void accept(StatementVisitor statementVisitor) { + statementVisitor.visit(this); + } - @Override - public String toString() { - StringBuilder sql = new StringBuilder(); - sql.append("REPLACE "); - if (isUseIntoTables()) { - sql.append("INTO "); - } - sql.append(table); + @Override + public String toString() { + StringBuilder sql = new StringBuilder(); + sql.append("REPLACE "); + if (isUseIntoTables()) { + sql.append("INTO "); + } + sql.append(table); - if (expressions != null && columns != null) { - // the SET col1=exp1, col2=exp2 case - sql.append(" SET "); - // each element from expressions match up with a column from columns. - for (int i = 0, s = columns.size(); i < s; i++) { - sql.append(columns.get(i)).append("=").append(expressions.get(i)); - sql.append((i < s - 1) ? ", " : ""); - } - } else if (columns != null) { - // the REPLACE mytab (col1, col2) [...] case - sql.append(" ").append(PlainSelect.getStringList(columns, true, true)); - } + if (expressions != null && columns != null) { + // the SET col1=exp1, col2=exp2 case + sql.append(" SET "); + // each element from expressions match up with a column from columns. + for (int i = 0, s = columns.size(); i < s; i++) { + sql.append(columns.get(i)).append("=").append(expressions.get(i)); + sql.append((i < s - 1) ? ", " : ""); + } + } else if (columns != null) { + // the REPLACE mytab (col1, col2) [...] case + sql.append(" ").append(PlainSelect.getStringList(columns, true, true)); + } - if (itemsList != null) { - // REPLACE mytab SELECT * FROM mytab2 - // or VALUES ('as', ?, 565) + if (itemsList != null) { + // REPLACE mytab SELECT * FROM mytab2 + // or VALUES ('as', ?, 565) - if (useValues) { - sql.append(" VALUES"); - } + if (useValues) { + sql.append(" VALUES"); + } - sql.append(" ").append(itemsList); - } + sql.append(" ").append(itemsList); + } - return sql.toString(); - } + return sql.toString(); + } } diff --git a/src/main/java/net/sf/jsqlparser/statement/select/AllColumns.java b/src/main/java/net/sf/jsqlparser/statement/select/AllColumns.java index 4049133e6..2be6f029b 100644 --- a/src/main/java/net/sf/jsqlparser/statement/select/AllColumns.java +++ b/src/main/java/net/sf/jsqlparser/statement/select/AllColumns.java @@ -28,8 +28,7 @@ */ public class AllColumns extends ASTNodeAccessImpl implements SelectItem { - public AllColumns() { - } + public AllColumns() {} @Override public void accept(SelectItemVisitor selectItemVisitor) { diff --git a/src/main/java/net/sf/jsqlparser/statement/select/AllTableColumns.java b/src/main/java/net/sf/jsqlparser/statement/select/AllTableColumns.java index 451f909e6..35e7fa54e 100644 --- a/src/main/java/net/sf/jsqlparser/statement/select/AllTableColumns.java +++ b/src/main/java/net/sf/jsqlparser/statement/select/AllTableColumns.java @@ -35,15 +35,15 @@ @AllArgsConstructor public class AllTableColumns extends ASTNodeAccessImpl implements SelectItem { - private Table table; + private Table table; - @Override - public void accept(SelectItemVisitor selectItemVisitor) { - selectItemVisitor.visit(this); - } + @Override + public void accept(SelectItemVisitor selectItemVisitor) { + selectItemVisitor.visit(this); + } - @Override - public String toString() { - return table + ".*"; - } + @Override + public String toString() { + return table + ".*"; + } } diff --git a/src/main/java/net/sf/jsqlparser/statement/select/ExpressionListItem.java b/src/main/java/net/sf/jsqlparser/statement/select/ExpressionListItem.java index b7b41db2d..78433627e 100644 --- a/src/main/java/net/sf/jsqlparser/statement/select/ExpressionListItem.java +++ b/src/main/java/net/sf/jsqlparser/statement/select/ExpressionListItem.java @@ -28,11 +28,11 @@ @Data public class ExpressionListItem { - private ExpressionList expressionList; - private Alias alias; + private ExpressionList expressionList; + private Alias alias; - @Override - public String toString() { - return expressionList + ((alias != null) ? alias.toString() : ""); - } + @Override + public String toString() { + return expressionList + ((alias != null) ? alias.toString() : ""); + } } diff --git a/src/main/java/net/sf/jsqlparser/statement/select/Fetch.java b/src/main/java/net/sf/jsqlparser/statement/select/Fetch.java index ec479cd61..01e304fd1 100644 --- a/src/main/java/net/sf/jsqlparser/statement/select/Fetch.java +++ b/src/main/java/net/sf/jsqlparser/statement/select/Fetch.java @@ -30,14 +30,14 @@ @Data public class Fetch { - private long rowCount; - private JdbcParameter fetchJdbcParameter = null; - private boolean isFetchParamFirst = false; - private String fetchParam = "ROW"; + private long rowCount; + private JdbcParameter fetchJdbcParameter = null; + private boolean isFetchParamFirst = false; + private String fetchParam = "ROW"; - @Override - public String toString() { - return " FETCH " + (isFetchParamFirst ? "FIRST" : "NEXT") + " " - + (fetchJdbcParameter != null ? fetchJdbcParameter.toString() : Long.toString(rowCount)) + " " + fetchParam + " ONLY"; - } + @Override + public String toString() { + return " FETCH " + (isFetchParamFirst ? "FIRST" : "NEXT") + " " + + (fetchJdbcParameter != null ? fetchJdbcParameter.toString() : Long.toString(rowCount)) + " " + fetchParam + " ONLY"; + } } diff --git a/src/main/java/net/sf/jsqlparser/statement/select/First.java b/src/main/java/net/sf/jsqlparser/statement/select/First.java index 709f51a11..34d45ba7e 100644 --- a/src/main/java/net/sf/jsqlparser/statement/select/First.java +++ b/src/main/java/net/sf/jsqlparser/statement/select/First.java @@ -34,28 +34,28 @@ @Data public class First { - public enum Keyword { - FIRST, - LIMIT - } + public enum Keyword { + FIRST, + LIMIT + } - private Keyword keyword; - private Long rowCount; - private JdbcParameter jdbcParameter; - private String variable; + private Keyword keyword; + private Long rowCount; + private JdbcParameter jdbcParameter; + private String variable; - @Override - public String toString() { - String result = keyword.name() + " "; + @Override + public String toString() { + String result = keyword.name() + " "; - if (rowCount != null) { - result += rowCount; - } else if (jdbcParameter != null) { - result += jdbcParameter.toString(); - } else if (variable != null) { - result += variable; - } + if (rowCount != null) { + result += rowCount; + } else if (jdbcParameter != null) { + result += jdbcParameter.toString(); + } else if (variable != null) { + result += variable; + } - return result; - } + return result; + } } diff --git a/src/main/java/net/sf/jsqlparser/statement/select/FunctionItem.java b/src/main/java/net/sf/jsqlparser/statement/select/FunctionItem.java index 7987a7b89..2f62a65b2 100644 --- a/src/main/java/net/sf/jsqlparser/statement/select/FunctionItem.java +++ b/src/main/java/net/sf/jsqlparser/statement/select/FunctionItem.java @@ -28,11 +28,11 @@ @Data public class FunctionItem { - private Function function; - private Alias alias; + private Function function; + private Alias alias; - @Override - public String toString() { - return function + ((alias != null) ? alias.toString() : ""); - } + @Override + public String toString() { + return function + ((alias != null) ? alias.toString() : ""); + } } diff --git a/src/main/java/net/sf/jsqlparser/statement/select/Join.java b/src/main/java/net/sf/jsqlparser/statement/select/Join.java index 364930f7d..8e2b4b5c8 100644 --- a/src/main/java/net/sf/jsqlparser/statement/select/Join.java +++ b/src/main/java/net/sf/jsqlparser/statement/select/Join.java @@ -34,81 +34,81 @@ @Data public class Join extends ASTNodeAccessImpl { - /** - * Whether is a "OUTER" join - */ - private boolean outer = false; - /** - * Whether is a "RIGHT" join - */ - private boolean right = false; - /** - * Whether is a "LEFT" join - */ - private boolean left = false; - /** - * Whether is a "NATURAL" join - */ - private boolean natural = false; - /** - * Whether is a "FULL" join - */ - private boolean full = false; - /** - * Whether is a "INNER" join - */ - private boolean inner = false; - /** - * Whether is a tab1,tab2 join - */ - private boolean simple = false; - private boolean cross = false; - /** - * Whether is a "SEMI" join - */ - private boolean semi = false; - /** - * The right item of the join - */ - private FromItem rightItem; - /** - * The "ON" expression (if any) - */ - private Expression onExpression; - /** - * The "USING" list of {@link net.sf.jsqlparser.schema.Column}s (if any) - */ - private List usingColumns; + /** + * Whether is a "OUTER" join + */ + private boolean outer = false; + /** + * Whether is a "RIGHT" join + */ + private boolean right = false; + /** + * Whether is a "LEFT" join + */ + private boolean left = false; + /** + * Whether is a "NATURAL" join + */ + private boolean natural = false; + /** + * Whether is a "FULL" join + */ + private boolean full = false; + /** + * Whether is a "INNER" join + */ + private boolean inner = false; + /** + * Whether is a tab1,tab2 join + */ + private boolean simple = false; + private boolean cross = false; + /** + * Whether is a "SEMI" join + */ + private boolean semi = false; + /** + * The right item of the join + */ + private FromItem rightItem; + /** + * The "ON" expression (if any) + */ + private Expression onExpression; + /** + * The "USING" list of {@link net.sf.jsqlparser.schema.Column}s (if any) + */ + private List usingColumns; - @Override - public String toString() { - if (isSimple()) { - return "" + rightItem; - } else { - String type = ""; + @Override + public String toString() { + if (isSimple()) { + return "" + rightItem; + } else { + String type = ""; - if (isRight()) { - type += "RIGHT "; - } else if (isNatural()) { - type += "NATURAL "; - } else if (isFull()) { - type += "FULL "; - } else if (isLeft()) { - type += "LEFT "; - } else if (isCross()) { - type += "CROSS "; - } + if (isRight()) { + type += "RIGHT "; + } else if (isNatural()) { + type += "NATURAL "; + } else if (isFull()) { + type += "FULL "; + } else if (isLeft()) { + type += "LEFT "; + } else if (isCross()) { + type += "CROSS "; + } - if (isOuter()) { - type += "OUTER "; - } else if (isInner()) { - type += "INNER "; - } else if (isSemi()) { - type += "SEMI "; - } + if (isOuter()) { + type += "OUTER "; + } else if (isInner()) { + type += "INNER "; + } else if (isSemi()) { + type += "SEMI "; + } - return type + "JOIN " + rightItem + ((onExpression != null) ? " ON " + onExpression + "" : "") - + PlainSelect.getFormatedList(usingColumns, "USING", true, true); - } - } + return type + "JOIN " + rightItem + ((onExpression != null) ? " ON " + onExpression + "" : "") + + PlainSelect.getFormatedList(usingColumns, "USING", true, true); + } + } } diff --git a/src/main/java/net/sf/jsqlparser/statement/select/LateralSubSelect.java b/src/main/java/net/sf/jsqlparser/statement/select/LateralSubSelect.java index 68c614fe2..ab62bb0c5 100644 --- a/src/main/java/net/sf/jsqlparser/statement/select/LateralSubSelect.java +++ b/src/main/java/net/sf/jsqlparser/statement/select/LateralSubSelect.java @@ -32,19 +32,19 @@ @Data public class LateralSubSelect implements FromItem { - private SubSelect subSelect; - private Alias alias; - private Pivot pivot; + private SubSelect subSelect; + private Alias alias; + private Pivot pivot; - @Override - public void accept(FromItemVisitor fromItemVisitor) { - fromItemVisitor.visit(this); - } + @Override + public void accept(FromItemVisitor fromItemVisitor) { + fromItemVisitor.visit(this); + } - @Override - public String toString() { - return "LATERAL" + subSelect.toString() - + ((alias != null) ? alias.toString() : "") - + ((pivot != null) ? " " + pivot : ""); - } + @Override + public String toString() { + return "LATERAL" + subSelect.toString() + + ((alias != null) ? alias.toString() : "") + + ((pivot != null) ? " " + pivot : ""); + } } diff --git a/src/main/java/net/sf/jsqlparser/statement/select/Limit.java b/src/main/java/net/sf/jsqlparser/statement/select/Limit.java index 9d311ddf8..50d5ee50d 100644 --- a/src/main/java/net/sf/jsqlparser/statement/select/Limit.java +++ b/src/main/java/net/sf/jsqlparser/statement/select/Limit.java @@ -31,31 +31,31 @@ @Data public class Limit extends ASTNodeAccessImpl { - private Expression rowCount; - private Expression offset; - /** - * True if the limit is "LIMIT ALL [OFFSET ...]) - */ - private boolean limitAll; - /** - * True if the limit is "LIMIT NULL [OFFSET ...]) - */ - private boolean limitNull = false; + private Expression rowCount; + private Expression offset; + /** + * True if the limit is "LIMIT ALL [OFFSET ...]) + */ + private boolean limitAll; + /** + * True if the limit is "LIMIT NULL [OFFSET ...]) + */ + private boolean limitNull = false; - @Override - public String toString() { - String retVal = " LIMIT "; - if (limitNull) { - retVal += "NULL"; - } else { - if (null != offset) { - retVal += offset + ", "; - } - if (null != rowCount) { - retVal += rowCount; - } - } + @Override + public String toString() { + String retVal = " LIMIT "; + if (limitNull) { + retVal += "NULL"; + } else { + if (null != offset) { + retVal += offset + ", "; + } + if (null != rowCount) { + retVal += rowCount; + } + } - return retVal; - } + return retVal; + } } diff --git a/src/main/java/net/sf/jsqlparser/statement/select/Offset.java b/src/main/java/net/sf/jsqlparser/statement/select/Offset.java index 0bd28fcd4..6e1a1ab83 100644 --- a/src/main/java/net/sf/jsqlparser/statement/select/Offset.java +++ b/src/main/java/net/sf/jsqlparser/statement/select/Offset.java @@ -36,6 +36,6 @@ public class Offset { @Override public String toString() { - return " OFFSET " + (offsetJdbcParameter!=null ? offsetJdbcParameter.toString() : offset) + (offsetParam != null ? " " + offsetParam : ""); + return " OFFSET " + (offsetJdbcParameter != null ? offsetJdbcParameter.toString() : offset) + (offsetParam != null ? " " + offsetParam : ""); } } diff --git a/src/main/java/net/sf/jsqlparser/statement/select/OrderByElement.java b/src/main/java/net/sf/jsqlparser/statement/select/OrderByElement.java index 6959de412..c1285e16b 100644 --- a/src/main/java/net/sf/jsqlparser/statement/select/OrderByElement.java +++ b/src/main/java/net/sf/jsqlparser/statement/select/OrderByElement.java @@ -30,36 +30,36 @@ @Data public class OrderByElement { - public enum NullOrdering { + public enum NullOrdering { - NULLS_FIRST, - NULLS_LAST - } + NULLS_FIRST, + NULLS_LAST + } - private Expression expression; - private boolean asc = true; - private NullOrdering nullOrdering; - private boolean ascDescPresent = false; + private Expression expression; + private boolean asc = true; + private NullOrdering nullOrdering; + private boolean ascDescPresent = false; - public void accept(OrderByVisitor orderByVisitor) { - orderByVisitor.visit(this); - } + public void accept(OrderByVisitor orderByVisitor) { + orderByVisitor.visit(this); + } - @Override - public String toString() { - StringBuilder b = new StringBuilder(); - b.append(expression.toString()); + @Override + public String toString() { + StringBuilder b = new StringBuilder(); + b.append(expression.toString()); - if (!asc) { - b.append(" DESC"); - } else if (ascDescPresent) { - b.append(" ASC"); - } + if (!asc) { + b.append(" DESC"); + } else if (ascDescPresent) { + b.append(" ASC"); + } - if (nullOrdering != null) { - b.append(' '); - b.append(nullOrdering == NullOrdering.NULLS_FIRST ? "NULLS FIRST" : "NULLS LAST"); - } - return b.toString(); - } + if (nullOrdering != null) { + b.append(' '); + b.append(nullOrdering == NullOrdering.NULLS_FIRST ? "NULLS FIRST" : "NULLS LAST"); + } + return b.toString(); + } } diff --git a/src/main/java/net/sf/jsqlparser/statement/select/Pivot.java b/src/main/java/net/sf/jsqlparser/statement/select/Pivot.java index 3a0c085e9..5bfb0012c 100755 --- a/src/main/java/net/sf/jsqlparser/statement/select/Pivot.java +++ b/src/main/java/net/sf/jsqlparser/statement/select/Pivot.java @@ -30,26 +30,26 @@ @Data public class Pivot { - private List functionItems; - private List forColumns; - private List singleInItems; - private List multiInItems; - private Alias alias; + private List functionItems; + private List forColumns; + private List singleInItems; + private List multiInItems; + private Alias alias; - public void accept(PivotVisitor pivotVisitor) { - pivotVisitor.visit(this); - } + public void accept(PivotVisitor pivotVisitor) { + pivotVisitor.visit(this); + } - public List getInItems() { - return singleInItems == null ? multiInItems : singleInItems; - } + public List getInItems() { + return singleInItems == null ? multiInItems : singleInItems; + } - @Override - public String toString() { - return "PIVOT (" - + PlainSelect.getStringList(functionItems) - + " FOR " + PlainSelect.getStringList(forColumns, true, forColumns != null && forColumns.size() > 1) - + " IN " + PlainSelect.getStringList(getInItems(), true, true) + ")" - + (alias != null ? alias.toString() : ""); - } + @Override + public String toString() { + return "PIVOT (" + + PlainSelect.getStringList(functionItems) + + " FOR " + PlainSelect.getStringList(forColumns, true, forColumns != null && forColumns.size() > 1) + + " IN " + PlainSelect.getStringList(getInItems(), true, true) + ")" + + (alias != null ? alias.toString() : ""); + } } diff --git a/src/main/java/net/sf/jsqlparser/statement/select/PivotXml.java b/src/main/java/net/sf/jsqlparser/statement/select/PivotXml.java index d0daa8d33..7d0db587f 100644 --- a/src/main/java/net/sf/jsqlparser/statement/select/PivotXml.java +++ b/src/main/java/net/sf/jsqlparser/statement/select/PivotXml.java @@ -29,21 +29,21 @@ @Data public class PivotXml extends Pivot { - private SelectBody inSelect; - private boolean inAny = false; + private SelectBody inSelect; + private boolean inAny = false; - @Override - public void accept(PivotVisitor pivotVisitor) { - pivotVisitor.visit(this); - } + @Override + public void accept(PivotVisitor pivotVisitor) { + pivotVisitor.visit(this); + } - @Override - public String toString() { - List forColumns = getForColumns(); - String in = inAny ? "ANY" : inSelect == null ? PlainSelect.getStringList(getInItems()) : inSelect.toString(); - return "PIVOT XML (" - + PlainSelect.getStringList(getFunctionItems()) - + " FOR " + PlainSelect.getStringList(forColumns, true, forColumns != null && forColumns.size() > 1) - + " IN (" + in + "))"; - } + @Override + public String toString() { + List forColumns = getForColumns(); + String in = inAny ? "ANY" : inSelect == null ? PlainSelect.getStringList(getInItems()) : inSelect.toString(); + return "PIVOT XML (" + + PlainSelect.getStringList(getFunctionItems()) + + " FOR " + PlainSelect.getStringList(forColumns, true, forColumns != null && forColumns.size() > 1) + + " IN (" + in + "))"; + } } diff --git a/src/main/java/net/sf/jsqlparser/statement/select/PlainSelect.java b/src/main/java/net/sf/jsqlparser/statement/select/PlainSelect.java index 023eac16d..b99de74ac 100644 --- a/src/main/java/net/sf/jsqlparser/statement/select/PlainSelect.java +++ b/src/main/java/net/sf/jsqlparser/statement/select/PlainSelect.java @@ -39,236 +39,236 @@ @Data public class PlainSelect extends ASTNodeAccessImpl implements SelectBody { - private Distinct distinct = null; - /** - * The {@link SelectItem}s in this query (for example the A,B,C in "SELECT A,B,C") - */ - private List selectItems; - private List
intoTables; - /** - * The {@link FromItem} in this query - */ - private FromItem fromItem; - /** - * The list of {@link Join}s - */ - private List joins; - private Expression where; - /** - * A list of {@link Expression}s of the GROUP BY clause. It is null in case there is no GROUP BY - * clause - */ - private List groupByColumnReferences; - private List orderByElements; - private Expression having; - private Limit limit; - private Offset offset; - private Fetch fetch; - private Skip skip; - private First first; - private Top top; - private OracleHierarchicalExpression oracleHierarchical = null; - private OracleHint oracleHint = null; - private boolean oracleSiblings = false; - private boolean forUpdate = false; - private Table forUpdateTable = null; - private boolean useBrackets = false; - /** - * Sets the {@link Wait} for this SELECT - */ - private Wait wait; - private boolean mySqlSqlCalcFoundRows = false; + private Distinct distinct = null; + /** + * The {@link SelectItem}s in this query (for example the A,B,C in "SELECT A,B,C") + */ + private List selectItems; + private List
intoTables; + /** + * The {@link FromItem} in this query + */ + private FromItem fromItem; + /** + * The list of {@link Join}s + */ + private List joins; + private Expression where; + /** + * A list of {@link Expression}s of the GROUP BY clause. It is null in case there is no GROUP BY + * clause + */ + private List groupByColumnReferences; + private List orderByElements; + private Expression having; + private Limit limit; + private Offset offset; + private Fetch fetch; + private Skip skip; + private First first; + private Top top; + private OracleHierarchicalExpression oracleHierarchical = null; + private OracleHint oracleHint = null; + private boolean oracleSiblings = false; + private boolean forUpdate = false; + private Table forUpdateTable = null; + private boolean useBrackets = false; + /** + * Sets the {@link Wait} for this SELECT + */ + private Wait wait; + private boolean mySqlSqlCalcFoundRows = false; - public void addSelectItems(SelectItem... items) { - if (selectItems == null) { - selectItems = new ArrayList(); - } - Collections.addAll(selectItems, items); - } + public void addSelectItems(SelectItem... items) { + if (selectItems == null) { + selectItems = new ArrayList(); + } + Collections.addAll(selectItems, items); + } - @Override - public void accept(SelectVisitor selectVisitor) { - selectVisitor.visit(this); - } + @Override + public void accept(SelectVisitor selectVisitor) { + selectVisitor.visit(this); + } - public void addGroupByColumnReference(Expression expr) { - if (groupByColumnReferences == null) { - groupByColumnReferences = new ArrayList(); - } - groupByColumnReferences.add(expr); - } + public void addGroupByColumnReference(Expression expr) { + if (groupByColumnReferences == null) { + groupByColumnReferences = new ArrayList(); + } + groupByColumnReferences.add(expr); + } - @Override - public String toString() { - StringBuilder sql = new StringBuilder(); - if (useBrackets) { - sql.append("("); - } - sql.append("SELECT "); + @Override + public String toString() { + StringBuilder sql = new StringBuilder(); + if (useBrackets) { + sql.append("("); + } + sql.append("SELECT "); - if (oracleHint != null) { - sql.append(oracleHint).append(" "); - } + if (oracleHint != null) { + sql.append(oracleHint).append(" "); + } - if (skip != null) { - sql.append(skip).append(" "); - } + if (skip != null) { + sql.append(skip).append(" "); + } - if (first != null) { - sql.append(first).append(" "); - } + if (first != null) { + sql.append(first).append(" "); + } - if (distinct != null) { - sql.append(distinct).append(" "); - } - if (top != null) { - sql.append(top).append(" "); - } - if (mySqlSqlCalcFoundRows) { - sql.append("SQL_CALC_FOUND_ROWS").append(" "); - } - sql.append(getStringList(selectItems)); + if (distinct != null) { + sql.append(distinct).append(" "); + } + if (top != null) { + sql.append(top).append(" "); + } + if (mySqlSqlCalcFoundRows) { + sql.append("SQL_CALC_FOUND_ROWS").append(" "); + } + sql.append(getStringList(selectItems)); - if (intoTables != null) { - sql.append(" INTO "); - for (Iterator
iter = intoTables.iterator(); iter.hasNext();) { - sql.append(iter.next().toString()); - if (iter.hasNext()) { - sql.append(", "); - } - } - } + if (intoTables != null) { + sql.append(" INTO "); + for (Iterator
iter = intoTables.iterator(); iter.hasNext();) { + sql.append(iter.next().toString()); + if (iter.hasNext()) { + sql.append(", "); + } + } + } - if (fromItem != null) { - sql.append(" FROM ").append(fromItem); - if (joins != null) { - Iterator it = joins.iterator(); - while (it.hasNext()) { - Join join = it.next(); - if (join.isSimple()) { - sql.append(", ").append(join); - } else { - sql.append(" ").append(join); - } - } - } - if (where != null) { - sql.append(" WHERE ").append(where); - } - if (oracleHierarchical != null) { - sql.append(oracleHierarchical.toString()); - } - sql.append(getFormatedList(groupByColumnReferences, "GROUP BY")); - if (having != null) { - sql.append(" HAVING ").append(having); - } - sql.append(orderByToString(oracleSiblings, orderByElements)); - if (limit != null) { - sql.append(limit); - } - if (offset != null) { - sql.append(offset); - } - if (fetch != null) { - sql.append(fetch); - } - if (isForUpdate()) { - sql.append(" FOR UPDATE"); + if (fromItem != null) { + sql.append(" FROM ").append(fromItem); + if (joins != null) { + Iterator it = joins.iterator(); + while (it.hasNext()) { + Join join = it.next(); + if (join.isSimple()) { + sql.append(", ").append(join); + } else { + sql.append(" ").append(join); + } + } + } + if (where != null) { + sql.append(" WHERE ").append(where); + } + if (oracleHierarchical != null) { + sql.append(oracleHierarchical.toString()); + } + sql.append(getFormatedList(groupByColumnReferences, "GROUP BY")); + if (having != null) { + sql.append(" HAVING ").append(having); + } + sql.append(orderByToString(oracleSiblings, orderByElements)); + if (limit != null) { + sql.append(limit); + } + if (offset != null) { + sql.append(offset); + } + if (fetch != null) { + sql.append(fetch); + } + if (isForUpdate()) { + sql.append(" FOR UPDATE"); - if (forUpdateTable != null) { - sql.append(" OF ").append(forUpdateTable); - } + if (forUpdateTable != null) { + sql.append(" OF ").append(forUpdateTable); + } - if (wait != null) { - // Wait's toString will do the formatting for us - sql.append(wait); - } - } - } else { - //without from - if (where != null) { - sql.append(" WHERE ").append(where); - } - } - if (useBrackets) { - sql.append(")"); - } - return sql.toString(); - } + if (wait != null) { + // Wait's toString will do the formatting for us + sql.append(wait); + } + } + } else { + //without from + if (where != null) { + sql.append(" WHERE ").append(where); + } + } + if (useBrackets) { + sql.append(")"); + } + return sql.toString(); + } - public static String orderByToString(List orderByElements) { - return orderByToString(false, orderByElements); - } + public static String orderByToString(List orderByElements) { + return orderByToString(false, orderByElements); + } - public static String orderByToString(boolean oracleSiblings, List orderByElements) { - return getFormatedList(orderByElements, oracleSiblings ? "ORDER SIBLINGS BY" : "ORDER BY"); - } + public static String orderByToString(boolean oracleSiblings, List orderByElements) { + return getFormatedList(orderByElements, oracleSiblings ? "ORDER SIBLINGS BY" : "ORDER BY"); + } - public static String getFormatedList(List list, String expression) { - return getFormatedList(list, expression, true, false); - } + public static String getFormatedList(List list, String expression) { + return getFormatedList(list, expression, true, false); + } - public static String getFormatedList(List list, String expression, boolean useComma, boolean useBrackets) { - String sql = getStringList(list, useComma, useBrackets); + public static String getFormatedList(List list, String expression, boolean useComma, boolean useBrackets) { + String sql = getStringList(list, useComma, useBrackets); - if (sql.length() > 0) { - if (expression.length() > 0) { - sql = " " + expression + " " + sql; - } else { - sql = " " + sql; - } - } + if (sql.length() > 0) { + if (expression.length() > 0) { + sql = " " + expression + " " + sql; + } else { + sql = " " + sql; + } + } - return sql; - } + return sql; + } - /** - * List the toString out put of the objects in the List comma separated. If the List is null or - * empty an empty string is returned. - * - * The same as getStringList(list, true, false) - * - * @see #getStringList(List, boolean, boolean) - * @param list list of objects with toString methods - * @return comma separated list of the elements in the list - */ - public static String getStringList(List list) { - return getStringList(list, true, false); - } + /** + * List the toString out put of the objects in the List comma separated. If the List is null or + * empty an empty string is returned. + * + * The same as getStringList(list, true, false) + * + * @see #getStringList(List, boolean, boolean) + * @param list list of objects with toString methods + * @return comma separated list of the elements in the list + */ + public static String getStringList(List list) { + return getStringList(list, true, false); + } - /** - * List the toString out put of the objects in the List that can be comma separated. If the List - * is null or empty an empty string is returned. - * - * @param list list of objects with toString methods - * @param useComma true if the list has to be comma separated - * @param useBrackets true if the list has to be enclosed in brackets - * @return comma separated list of the elements in the list - */ - public static String getStringList(List list, boolean useComma, boolean useBrackets) { - StringBuilder ans = new StringBuilder(); - // String ans = ""; - String comma = ","; - if (!useComma) { - comma = ""; - } - if (list != null) { - if (useBrackets) { - ans.append("("); - // ans += "("; - } + /** + * List the toString out put of the objects in the List that can be comma separated. If the List + * is null or empty an empty string is returned. + * + * @param list list of objects with toString methods + * @param useComma true if the list has to be comma separated + * @param useBrackets true if the list has to be enclosed in brackets + * @return comma separated list of the elements in the list + */ + public static String getStringList(List list, boolean useComma, boolean useBrackets) { + StringBuilder ans = new StringBuilder(); + // String ans = ""; + String comma = ","; + if (!useComma) { + comma = ""; + } + if (list != null) { + if (useBrackets) { + ans.append("("); + // ans += "("; + } - for (int i = 0; i < list.size(); i++) { - ans.append(list.get(i)).append((i < list.size() - 1) ? comma + " " : ""); - // ans += "" + list.get(i) + ((i < list.size() - 1) ? comma + " " : ""); - } + for (int i = 0; i < list.size(); i++) { + ans.append(list.get(i)).append((i < list.size() - 1) ? comma + " " : ""); + // ans += "" + list.get(i) + ((i < list.size() - 1) ? comma + " " : ""); + } - if (useBrackets) { - ans.append(")"); - // ans += ")"; - } - } + if (useBrackets) { + ans.append(")"); + // ans += ")"; + } + } - return ans.toString(); - } + return ans.toString(); + } } diff --git a/src/main/java/net/sf/jsqlparser/statement/select/Select.java b/src/main/java/net/sf/jsqlparser/statement/select/Select.java index f5b3bd81e..518910c0a 100644 --- a/src/main/java/net/sf/jsqlparser/statement/select/Select.java +++ b/src/main/java/net/sf/jsqlparser/statement/select/Select.java @@ -31,29 +31,29 @@ @Data public class Select implements Statement { - private SelectBody selectBody; - private List withItemsList; + private SelectBody selectBody; + private List withItemsList; - @Override - public void accept(StatementVisitor statementVisitor) { - statementVisitor.visit(this); - } + @Override + public void accept(StatementVisitor statementVisitor) { + statementVisitor.visit(this); + } - @Override - public String toString() { - StringBuilder retval = new StringBuilder(); - if (withItemsList != null && !withItemsList.isEmpty()) { - retval.append("WITH "); - for (Iterator iter = withItemsList.iterator(); iter.hasNext();) { - WithItem withItem = iter.next(); - retval.append(withItem); - if (iter.hasNext()) { - retval.append(","); - } - retval.append(" "); - } - } - retval.append(selectBody); - return retval.toString(); - } + @Override + public String toString() { + StringBuilder retval = new StringBuilder(); + if (withItemsList != null && !withItemsList.isEmpty()) { + retval.append("WITH "); + for (Iterator iter = withItemsList.iterator(); iter.hasNext();) { + WithItem withItem = iter.next(); + retval.append(withItem); + if (iter.hasNext()) { + retval.append(","); + } + retval.append(" "); + } + } + retval.append(selectBody); + return retval.toString(); + } } diff --git a/src/main/java/net/sf/jsqlparser/statement/select/SelectExpressionItem.java b/src/main/java/net/sf/jsqlparser/statement/select/SelectExpressionItem.java index 6ec1e3eb9..9aac6da0b 100644 --- a/src/main/java/net/sf/jsqlparser/statement/select/SelectExpressionItem.java +++ b/src/main/java/net/sf/jsqlparser/statement/select/SelectExpressionItem.java @@ -34,20 +34,20 @@ @NoArgsConstructor public class SelectExpressionItem extends ASTNodeAccessImpl implements SelectItem { - private Expression expression; - private Alias alias; + private Expression expression; + private Alias alias; public SelectExpressionItem(Expression expression) { this.expression = expression; } @Override - public void accept(SelectItemVisitor selectItemVisitor) { - selectItemVisitor.visit(this); - } + public void accept(SelectItemVisitor selectItemVisitor) { + selectItemVisitor.visit(this); + } - @Override - public String toString() { - return expression + ((alias != null) ? alias.toString() : ""); - } + @Override + public String toString() { + return expression + ((alias != null) ? alias.toString() : ""); + } } diff --git a/src/main/java/net/sf/jsqlparser/statement/select/SetOperationList.java b/src/main/java/net/sf/jsqlparser/statement/select/SetOperationList.java index 8d1c284fa..761d3d1f1 100644 --- a/src/main/java/net/sf/jsqlparser/statement/select/SetOperationList.java +++ b/src/main/java/net/sf/jsqlparser/statement/select/SetOperationList.java @@ -34,67 +34,67 @@ @Data public class SetOperationList implements SelectBody { - private List selects; - private List brackets; - private List operations; - private List orderByElements; - private Limit limit; - private Offset offset; - private Fetch fetch; + private List selects; + private List brackets; + private List operations; + private List orderByElements; + private Limit limit; + private Offset offset; + private Fetch fetch; - @Override - public void accept(SelectVisitor selectVisitor) { - selectVisitor.visit(this); - } + @Override + public void accept(SelectVisitor selectVisitor) { + selectVisitor.visit(this); + } - public void setBracketsOpsAndSelects(List brackets, List select, List ops) { - selects = select; - operations = ops; - this.brackets = brackets; + public void setBracketsOpsAndSelects(List brackets, List select, List ops) { + selects = select; + operations = ops; + this.brackets = brackets; - if (select.size() - 1 != ops.size() || select.size() != brackets.size()) { - throw new IllegalArgumentException("list sizes are not valid"); - } - } + if (select.size() - 1 != ops.size() || select.size() != brackets.size()) { + throw new IllegalArgumentException("list sizes are not valid"); + } + } - @Override - public String toString() { - StringBuilder buffer = new StringBuilder(); + @Override + public String toString() { + StringBuilder buffer = new StringBuilder(); - for (int i = 0; i < selects.size(); i++) { - if (i != 0) { - buffer.append(" ").append(operations.get(i - 1).toString()).append(" "); - } - if (brackets == null || brackets.get(i)) { - buffer.append("(").append(selects.get(i).toString()).append(")"); - } else { - buffer.append(selects.get(i).toString()); - } - } + for (int i = 0; i < selects.size(); i++) { + if (i != 0) { + buffer.append(" ").append(operations.get(i - 1).toString()).append(" "); + } + if (brackets == null || brackets.get(i)) { + buffer.append("(").append(selects.get(i).toString()).append(")"); + } else { + buffer.append(selects.get(i).toString()); + } + } - if (orderByElements != null) { - buffer.append(PlainSelect.orderByToString(orderByElements)); - } - if (limit != null) { - buffer.append(limit.toString()); - } - if (offset != null) { - buffer.append(offset.toString()); - } - if (fetch != null) { - buffer.append(fetch.toString()); - } - return buffer.toString(); - } + if (orderByElements != null) { + buffer.append(PlainSelect.orderByToString(orderByElements)); + } + if (limit != null) { + buffer.append(limit.toString()); + } + if (offset != null) { + buffer.append(offset.toString()); + } + if (fetch != null) { + buffer.append(fetch.toString()); + } + return buffer.toString(); + } - /** - * list of set operations. - */ - public enum SetOperationType { + /** + * list of set operations. + */ + public enum SetOperationType { - INTERSECT, - EXCEPT, - MINUS, - UNION, - } + INTERSECT, + EXCEPT, + MINUS, + UNION, + } } diff --git a/src/main/java/net/sf/jsqlparser/statement/select/SubJoin.java b/src/main/java/net/sf/jsqlparser/statement/select/SubJoin.java index 42d5054c7..cb88a3743 100644 --- a/src/main/java/net/sf/jsqlparser/statement/select/SubJoin.java +++ b/src/main/java/net/sf/jsqlparser/statement/select/SubJoin.java @@ -32,25 +32,25 @@ @Data public class SubJoin implements FromItem { - private FromItem left; - private Alias alias; - private Pivot pivot; - private List joinList; + private FromItem left; + private Alias alias; + private Pivot pivot; + private List joinList; - @Override - public void accept(FromItemVisitor fromItemVisitor) { - fromItemVisitor.visit(this); - } + @Override + public void accept(FromItemVisitor fromItemVisitor) { + fromItemVisitor.visit(this); + } - @Override - public String toString() { - StringBuilder sb = new StringBuilder(); - sb.append("(").append(left); - for (Join j : joinList) { - sb.append(" ").append(j); - } + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("(").append(left); + for (Join j : joinList) { + sb.append(" ").append(j); + } - sb.append(")").append((alias != null) ? (" " + alias.toString()) : "").append((pivot != null) ? " " + pivot : ""); - return sb.toString(); - } + sb.append(")").append((alias != null) ? (" " + alias.toString()) : "").append((pivot != null) ? " " + pivot : ""); + return sb.toString(); + } } diff --git a/src/main/java/net/sf/jsqlparser/statement/select/SubSelect.java b/src/main/java/net/sf/jsqlparser/statement/select/SubSelect.java index a8ea39574..114dee8d7 100644 --- a/src/main/java/net/sf/jsqlparser/statement/select/SubSelect.java +++ b/src/main/java/net/sf/jsqlparser/statement/select/SubSelect.java @@ -38,55 +38,55 @@ @Data public class SubSelect extends ASTNodeAccessImpl implements FromItem, Expression, ItemsList { - private SelectBody selectBody; - private Alias alias; - private boolean useBrackets = true; - private List withItemsList; + private SelectBody selectBody; + private Alias alias; + private boolean useBrackets = true; + private List withItemsList; - private Pivot pivot; + private Pivot pivot; - @Override - public void accept(FromItemVisitor fromItemVisitor) { - fromItemVisitor.visit(this); - } + @Override + public void accept(FromItemVisitor fromItemVisitor) { + fromItemVisitor.visit(this); + } - @Override - public void accept(ExpressionVisitor expressionVisitor) { - expressionVisitor.visit(this); - } + @Override + public void accept(ExpressionVisitor expressionVisitor) { + expressionVisitor.visit(this); + } - @Override - public void accept(ItemsListVisitor itemsListVisitor) { - itemsListVisitor.visit(this); - } + @Override + public void accept(ItemsListVisitor itemsListVisitor) { + itemsListVisitor.visit(this); + } - @Override - public String toString() { - StringBuilder retval = new StringBuilder(); - if (useBrackets) { - retval.append("("); - } - if (withItemsList != null && !withItemsList.isEmpty()) { - retval.append("WITH "); - for (Iterator iter = withItemsList.iterator(); iter.hasNext();) { - WithItem withItem = iter.next(); - retval.append(withItem); - if (iter.hasNext()) { - retval.append(","); - } - retval.append(" "); - } - } - retval.append(selectBody); - if (useBrackets) { - retval.append(")"); - } - if (alias != null) { - retval.append(alias.toString()); - } - if (pivot != null) { - retval.append(" ").append(pivot); - } - return retval.toString(); - } + @Override + public String toString() { + StringBuilder retval = new StringBuilder(); + if (useBrackets) { + retval.append("("); + } + if (withItemsList != null && !withItemsList.isEmpty()) { + retval.append("WITH "); + for (Iterator iter = withItemsList.iterator(); iter.hasNext();) { + WithItem withItem = iter.next(); + retval.append(withItem); + if (iter.hasNext()) { + retval.append(","); + } + retval.append(" "); + } + } + retval.append(selectBody); + if (useBrackets) { + retval.append(")"); + } + if (alias != null) { + retval.append(alias.toString()); + } + if (pivot != null) { + retval.append(" ").append(pivot); + } + return retval.toString(); + } } diff --git a/src/main/java/net/sf/jsqlparser/statement/select/TableFunction.java b/src/main/java/net/sf/jsqlparser/statement/select/TableFunction.java index 3bb89b7e4..daf28514e 100644 --- a/src/main/java/net/sf/jsqlparser/statement/select/TableFunction.java +++ b/src/main/java/net/sf/jsqlparser/statement/select/TableFunction.java @@ -34,6 +34,5 @@ public Pivot getPivot() { } @Override - public void setPivot(Pivot pivot) { - } + public void setPivot(Pivot pivot) {} } diff --git a/src/main/java/net/sf/jsqlparser/statement/select/Top.java b/src/main/java/net/sf/jsqlparser/statement/select/Top.java index 1aa650ce4..cd605f413 100644 --- a/src/main/java/net/sf/jsqlparser/statement/select/Top.java +++ b/src/main/java/net/sf/jsqlparser/statement/select/Top.java @@ -30,28 +30,28 @@ @Data public class Top { - private boolean parenthesis = false; - private boolean percentage = false; - private Expression expression; + private boolean parenthesis = false; + private boolean percentage = false; + private Expression expression; - @Override - public String toString() { - String result = "TOP "; + @Override + public String toString() { + String result = "TOP "; - if (parenthesis) { - result += "("; - } + if (parenthesis) { + result += "("; + } - result += expression.toString(); + result += expression.toString(); - if (parenthesis) { - result += ")"; - } + if (parenthesis) { + result += ")"; + } - if (percentage) { - result += " PERCENT"; - } + if (percentage) { + result += " PERCENT"; + } - return result; - } + return result; + } } diff --git a/src/main/java/net/sf/jsqlparser/statement/select/UnionOp.java b/src/main/java/net/sf/jsqlparser/statement/select/UnionOp.java index 9ee9e9514..1c7d5db99 100644 --- a/src/main/java/net/sf/jsqlparser/statement/select/UnionOp.java +++ b/src/main/java/net/sf/jsqlparser/statement/select/UnionOp.java @@ -31,21 +31,21 @@ @Data public class UnionOp extends SetOperation { - private boolean distinct; - private boolean all; + private boolean distinct; + private boolean all; - public UnionOp() { - super(SetOperationType.UNION); - } + public UnionOp() { + super(SetOperationType.UNION); + } - @Override - public String toString() { - String allDistinct = ""; - if (isAll()) { - allDistinct = " ALL"; - } else if (isDistinct()) { - allDistinct = " DISTINCT"; - } - return super.toString() + allDistinct; - } + @Override + public String toString() { + String allDistinct = ""; + if (isAll()) { + allDistinct = " ALL"; + } else if (isDistinct()) { + allDistinct = " DISTINCT"; + } + return super.toString() + allDistinct; + } } diff --git a/src/main/java/net/sf/jsqlparser/statement/select/ValuesList.java b/src/main/java/net/sf/jsqlparser/statement/select/ValuesList.java index 114fa0b0b..f1b82ba51 100644 --- a/src/main/java/net/sf/jsqlparser/statement/select/ValuesList.java +++ b/src/main/java/net/sf/jsqlparser/statement/select/ValuesList.java @@ -40,54 +40,54 @@ @NoArgsConstructor public class ValuesList implements FromItem { - private Alias alias; - private MultiExpressionList multiExpressionList; - private boolean noBrackets = false; - private List columnNames; + private Alias alias; + private MultiExpressionList multiExpressionList; + private boolean noBrackets = false; + private List columnNames; - public ValuesList(MultiExpressionList multiExpressionList) { - this.multiExpressionList = multiExpressionList; - } + public ValuesList(MultiExpressionList multiExpressionList) { + this.multiExpressionList = multiExpressionList; + } - @Override - public void accept(FromItemVisitor fromItemVisitor) { - fromItemVisitor.visit(this); - } + @Override + public void accept(FromItemVisitor fromItemVisitor) { + fromItemVisitor.visit(this); + } - @Override - public Pivot getPivot() { - return null; - } + @Override + public Pivot getPivot() { + return null; + } - @Override - public void setPivot(Pivot pivot) {} + @Override + public void setPivot(Pivot pivot) {} - @Override - public String toString() { - StringBuilder b = new StringBuilder(); + @Override + public String toString() { + StringBuilder b = new StringBuilder(); - b.append("(VALUES "); - for (Iterator it = getMultiExpressionList().getExprList().iterator(); it.hasNext();) { - b.append(PlainSelect.getStringList(it.next().getExpressions(), true, !isNoBrackets())); - if (it.hasNext()) { - b.append(", "); - } - } - b.append(")"); - if (alias != null) { - b.append(alias.toString()); + b.append("(VALUES "); + for (Iterator it = getMultiExpressionList().getExprList().iterator(); it.hasNext();) { + b.append(PlainSelect.getStringList(it.next().getExpressions(), true, !isNoBrackets())); + if (it.hasNext()) { + b.append(", "); + } + } + b.append(")"); + if (alias != null) { + b.append(alias.toString()); - if (columnNames != null) { - b.append("("); - for (Iterator it = columnNames.iterator(); it.hasNext();) { - b.append(it.next()); - if (it.hasNext()) { - b.append(", "); - } - } - b.append(")"); - } - } - return b.toString(); - } + if (columnNames != null) { + b.append("("); + for (Iterator it = columnNames.iterator(); it.hasNext();) { + b.append(it.next()); + if (it.hasNext()) { + b.append(", "); + } + } + b.append(")"); + } + } + return b.toString(); + } } diff --git a/src/main/java/net/sf/jsqlparser/statement/select/Wait.java b/src/main/java/net/sf/jsqlparser/statement/select/Wait.java index e7f411469..17f4b035b 100644 --- a/src/main/java/net/sf/jsqlparser/statement/select/Wait.java +++ b/src/main/java/net/sf/jsqlparser/statement/select/Wait.java @@ -20,19 +20,19 @@ @Data public class Wait { - /** - * The number of seconds specified for the WAIT command - */ - private long timeout; + /** + * The number of seconds specified for the WAIT command + */ + private long timeout; - /** - * Returns a String containing the WAIT clause and its timeout, where TIMEOUT is specified by - * {@link #getTimeout()}. The returned string will null be: - * " WAIT <TIMEOUT>" - * - */ - @Override - public String toString() { - return " WAIT " + timeout; - } + /** + * Returns a String containing the WAIT clause and its timeout, where TIMEOUT is specified by + * {@link #getTimeout()}. The returned string will null be: + * " WAIT <TIMEOUT>" + * + */ + @Override + public String toString() { + return " WAIT " + timeout; + } } diff --git a/src/main/java/net/sf/jsqlparser/statement/select/WithItem.java b/src/main/java/net/sf/jsqlparser/statement/select/WithItem.java index 81591e595..76b90faa5 100644 --- a/src/main/java/net/sf/jsqlparser/statement/select/WithItem.java +++ b/src/main/java/net/sf/jsqlparser/statement/select/WithItem.java @@ -31,28 +31,28 @@ @Data public class WithItem implements SelectBody { - /** - * The name of this WITH item (for example, "myWITH" in "WITH myWITH AS (SELECT A,B,C))" - */ - private String name; - /** - * The {@link SelectItem}s in this WITH (for example the A,B,C in "WITH mywith (A,B,C) AS ...") - */ - private List withItemList; - /** - * The {@link SelectBody} of this WITH item is the part after the "AS" keyword - */ - private SelectBody selectBody; - private boolean recursive; + /** + * The name of this WITH item (for example, "myWITH" in "WITH myWITH AS (SELECT A,B,C))" + */ + private String name; + /** + * The {@link SelectItem}s in this WITH (for example the A,B,C in "WITH mywith (A,B,C) AS ...") + */ + private List withItemList; + /** + * The {@link SelectBody} of this WITH item is the part after the "AS" keyword + */ + private SelectBody selectBody; + private boolean recursive; - @Override - public String toString() { - return (recursive ? "RECURSIVE " : "") + name + ((withItemList != null) ? " " + PlainSelect.getStringList(withItemList, true, true) : "") - + " AS (" + selectBody + ")"; - } + @Override + public String toString() { + return (recursive ? "RECURSIVE " : "") + name + ((withItemList != null) ? " " + PlainSelect.getStringList(withItemList, true, true) : "") + + " AS (" + selectBody + ")"; + } - @Override - public void accept(SelectVisitor visitor) { - visitor.visit(this); - } + @Override + public void accept(SelectVisitor visitor) { + visitor.visit(this); + } } diff --git a/src/main/java/net/sf/jsqlparser/statement/truncate/Truncate.java b/src/main/java/net/sf/jsqlparser/statement/truncate/Truncate.java index 63419fa9e..3d8bf9309 100644 --- a/src/main/java/net/sf/jsqlparser/statement/truncate/Truncate.java +++ b/src/main/java/net/sf/jsqlparser/statement/truncate/Truncate.java @@ -32,15 +32,15 @@ @Data public class Truncate implements Statement { - private Table table; + private Table table; - @Override - public void accept(StatementVisitor statementVisitor) { - statementVisitor.visit(this); - } + @Override + public void accept(StatementVisitor statementVisitor) { + statementVisitor.visit(this); + } - @Override - public String toString() { - return "TRUNCATE TABLE " + table; - } + @Override + public String toString() { + return "TRUNCATE TABLE " + table; + } } diff --git a/src/main/java/net/sf/jsqlparser/statement/update/Update.java b/src/main/java/net/sf/jsqlparser/statement/update/Update.java index 5828994bc..7d7d75479 100644 --- a/src/main/java/net/sf/jsqlparser/statement/update/Update.java +++ b/src/main/java/net/sf/jsqlparser/statement/update/Update.java @@ -126,8 +126,7 @@ public String toString() { if (isReturningAllColumns()) { b.append(" RETURNING *"); } else if (getReturningExpressionList() != null) { - b.append(" RETURNING ").append(PlainSelect. - getStringList(getReturningExpressionList(), true, false)); + b.append(" RETURNING ").append(PlainSelect.getStringList(getReturningExpressionList(), true, false)); } return b.toString(); diff --git a/src/main/java/net/sf/jsqlparser/statement/upsert/Upsert.java b/src/main/java/net/sf/jsqlparser/statement/upsert/Upsert.java index 5f80a5f6f..22e38d17f 100644 --- a/src/main/java/net/sf/jsqlparser/statement/upsert/Upsert.java +++ b/src/main/java/net/sf/jsqlparser/statement/upsert/Upsert.java @@ -50,59 +50,59 @@ @Data public class Upsert implements Statement { - private Table table; - private List columns; - private ItemsList itemsList; - private boolean useValues = true; - private Select select; - private boolean useSelectBrackets = true; - private boolean useDuplicate = false; - private List duplicateUpdateColumns; - private List duplicateUpdateExpressionList; + private Table table; + private List columns; + private ItemsList itemsList; + private boolean useValues = true; + private Select select; + private boolean useSelectBrackets = true; + private boolean useDuplicate = false; + private List duplicateUpdateColumns; + private List duplicateUpdateExpressionList; - @Override - public void accept(StatementVisitor statementVisitor) { - statementVisitor.visit(this); - } + @Override + public void accept(StatementVisitor statementVisitor) { + statementVisitor.visit(this); + } - @Override - public String toString() { - StringBuilder sb = new StringBuilder(); + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); - sb.append("UPSERT INTO "); - sb.append(table).append(" "); - if (columns != null) { - sb.append(PlainSelect.getStringList(columns, true, true)).append(" "); - } - if (useValues) { - sb.append("VALUES "); - } + sb.append("UPSERT INTO "); + sb.append(table).append(" "); + if (columns != null) { + sb.append(PlainSelect.getStringList(columns, true, true)).append(" "); + } + if (useValues) { + sb.append("VALUES "); + } - if (itemsList != null) { - sb.append(itemsList); - } else { - if (useSelectBrackets) { - sb.append("("); - } - if (select != null) { - sb.append(select); - } - if (useSelectBrackets) { - sb.append(")"); - } - } + if (itemsList != null) { + sb.append(itemsList); + } else { + if (useSelectBrackets) { + sb.append("("); + } + if (select != null) { + sb.append(select); + } + if (useSelectBrackets) { + sb.append(")"); + } + } - if (useDuplicate) { - sb.append(" ON DUPLICATE KEY UPDATE "); - for (int i = 0; i < getDuplicateUpdateColumns().size(); i++) { - if (i != 0) { - sb.append(", "); - } - sb.append(duplicateUpdateColumns.get(i)).append(" = "); - sb.append(duplicateUpdateExpressionList.get(i)); - } - } + if (useDuplicate) { + sb.append(" ON DUPLICATE KEY UPDATE "); + for (int i = 0; i < getDuplicateUpdateColumns().size(); i++) { + if (i != 0) { + sb.append(", "); + } + sb.append(duplicateUpdateColumns.get(i)).append(" = "); + sb.append(duplicateUpdateExpressionList.get(i)); + } + } - return sb.toString(); - } + return sb.toString(); + } } diff --git a/src/main/java/net/sf/jsqlparser/util/ConnectExpressionsVisitor.java b/src/main/java/net/sf/jsqlparser/util/ConnectExpressionsVisitor.java index 9c7953ffa..ea8d10578 100644 --- a/src/main/java/net/sf/jsqlparser/util/ConnectExpressionsVisitor.java +++ b/src/main/java/net/sf/jsqlparser/util/ConnectExpressionsVisitor.java @@ -49,8 +49,7 @@ public abstract class ConnectExpressionsVisitor implements SelectVisitor, Select private String alias = "expr"; private final List itemsExpr = new LinkedList(); - public ConnectExpressionsVisitor() { - } + public ConnectExpressionsVisitor() {} public ConnectExpressionsVisitor(String alias) { this.alias = alias; @@ -98,8 +97,7 @@ public void visit(SetOperationList setOpList) { } @Override - public void visit(WithItem withItem) { - } + public void visit(WithItem withItem) {} @Override public void visit(AllTableColumns allTableColumns) { diff --git a/src/main/java/net/sf/jsqlparser/util/SelectUtils.java b/src/main/java/net/sf/jsqlparser/util/SelectUtils.java index b617b2987..6fc9510ed 100644 --- a/src/main/java/net/sf/jsqlparser/util/SelectUtils.java +++ b/src/main/java/net/sf/jsqlparser/util/SelectUtils.java @@ -47,8 +47,7 @@ public final class SelectUtils { private static final String NOT_SUPPORTED_YET = "Not supported yet."; - private SelectUtils() { - } + private SelectUtils() {} /** * Builds select expr1, expr2 from table. diff --git a/src/main/java/net/sf/jsqlparser/util/TablesNamesFinder.java b/src/main/java/net/sf/jsqlparser/util/TablesNamesFinder.java index 85df11aaa..6bbb95dcd 100644 --- a/src/main/java/net/sf/jsqlparser/util/TablesNamesFinder.java +++ b/src/main/java/net/sf/jsqlparser/util/TablesNamesFinder.java @@ -139,7 +139,7 @@ public class TablesNamesFinder implements SelectVisitor, FromItemVisitor, Expres private static final String NOT_SUPPORTED_YET = "Not supported yet."; private List tables; private boolean allowColumnProcessing = false; - + /** * There are special names, that are not table names but are parsed as tables. These names are * collected here and are not included in the tables - names anymore. @@ -206,11 +206,11 @@ public void visit(PlainSelect plainSelect) { if (plainSelect.getWhere() != null) { plainSelect.getWhere().accept(this); } - - if(plainSelect.getHaving() != null){ + + if (plainSelect.getHaving() != null) { plainSelect.getHaving().accept(this); } - + if (plainSelect.getOracleHierarchical() != null) { plainSelect.getOracleHierarchical().accept(this); } @@ -220,7 +220,7 @@ public void visit(PlainSelect plainSelect) { public void visit(Table tableName) { String tableWholeName = tableName.getFullyQualifiedName(); if (!otherItemNames.contains(tableWholeName.toLowerCase()) - && !tables.contains(tableWholeName)) { + && !tables.contains(tableWholeName)) { tables.add(tableWholeName); } } @@ -265,8 +265,7 @@ public void visit(Division division) { } @Override - public void visit(DoubleValue doubleValue) { - } + public void visit(DoubleValue doubleValue) {} @Override public void visit(EqualsTo equalsTo) { @@ -307,12 +306,10 @@ public void visit(SignedExpression signedExpression) { } @Override - public void visit(IsNullExpression isNullExpression) { - } + public void visit(IsNullExpression isNullExpression) {} @Override - public void visit(JdbcParameter jdbcParameter) { - } + public void visit(JdbcParameter jdbcParameter) {} @Override public void visit(LikeExpression likeExpression) { @@ -325,8 +322,7 @@ public void visit(ExistsExpression existsExpression) { } @Override - public void visit(LongValue longValue) { - } + public void visit(LongValue longValue) {} @Override public void visit(MinorThan minorThan) { @@ -349,8 +345,7 @@ public void visit(NotEqualsTo notEqualsTo) { } @Override - public void visit(NullValue nullValue) { - } + public void visit(NullValue nullValue) {} @Override public void visit(OrExpression orExpression) { @@ -363,8 +358,7 @@ public void visit(Parenthesis parenthesis) { } @Override - public void visit(StringValue stringValue) { - } + public void visit(StringValue stringValue) {} @Override public void visit(Subtraction subtraction) { @@ -399,16 +393,13 @@ public void visit(ExpressionList expressionList) { } @Override - public void visit(DateValue dateValue) { - } + public void visit(DateValue dateValue) {} @Override - public void visit(TimestampValue timestampValue) { - } + public void visit(TimestampValue timestampValue) {} @Override - public void visit(TimeValue timeValue) { - } + public void visit(TimeValue timeValue) {} /* * (non-Javadoc) @@ -458,7 +449,7 @@ public void visit(AnyComparisonExpression anyComparisonExpression) { @Override public void visit(SubJoin subjoin) { subjoin.getLeft().accept(this); - for(Join join : subjoin.getJoinList()) { + for (Join join : subjoin.getJoinList()) { join.getRightItem().accept(this); } } @@ -499,8 +490,7 @@ public void visit(Modulo modulo) { } @Override - public void visit(AnalyticExpression analytic) { - } + public void visit(AnalyticExpression analytic) {} @Override public void visit(SetOperationList list) { @@ -510,8 +500,7 @@ public void visit(SetOperationList list) { } @Override - public void visit(ExtractExpression eexpr) { - } + public void visit(ExtractExpression eexpr) {} @Override public void visit(LateralSubSelect lateralSubSelect) { @@ -526,8 +515,7 @@ public void visit(MultiExpressionList multiExprList) { } @Override - public void visit(ValuesList valuesList) { - } + public void visit(ValuesList valuesList) {} /** * Initializes table names collector. Important is the usage of Column instances to find @@ -543,12 +531,10 @@ protected void init(boolean allowColumnProcessing) { } @Override - public void visit(IntervalExpression iexpr) { - } + public void visit(IntervalExpression iexpr) {} @Override - public void visit(JdbcNamedParameter jdbcNamedParameter) { - } + public void visit(JdbcNamedParameter jdbcNamedParameter) {} @Override public void visit(OracleHierarchicalExpression oexpr) { @@ -572,20 +558,16 @@ public void visit(RegExpMySQLOperator rexpr) { } @Override - public void visit(JsonExpression jsonExpr) { - } + public void visit(JsonExpression jsonExpr) {} @Override - public void visit(JsonOperator jsonExpr) { - } + public void visit(JsonOperator jsonExpr) {} @Override - public void visit(AllColumns allColumns) { - } + public void visit(AllColumns allColumns) {} @Override - public void visit(AllTableColumns allTableColumns) { - } + public void visit(AllTableColumns allTableColumns) {} @Override public void visit(SelectExpressionItem item) { @@ -593,8 +575,7 @@ public void visit(SelectExpressionItem item) { } @Override - public void visit(UserVariable var) { - } + public void visit(UserVariable var) {} @Override public void visit(NumericBind bind) { @@ -602,12 +583,10 @@ public void visit(NumericBind bind) { } @Override - public void visit(KeepExpression aexpr) { - } + public void visit(KeepExpression aexpr) {} @Override - public void visit(MySQLGroupConcat groupConcat) { - } + public void visit(MySQLGroupConcat groupConcat) {} @Override public void visit(Delete delete) { @@ -745,12 +724,10 @@ public void visit(Merge merge) { } @Override - public void visit(OracleHint hint) { - } + public void visit(OracleHint hint) {} @Override - public void visit(TableFunction valuesList) { - } + public void visit(TableFunction valuesList) {} @Override public void visit(AlterView alterView) { @@ -758,8 +735,7 @@ public void visit(AlterView alterView) { } @Override - public void visit(TimeKeyExpression timeKeyExpression) { - } + public void visit(TimeKeyExpression timeKeyExpression) {} @Override public void visit(DateTimeLiteralExpression literal) { @@ -783,6 +759,5 @@ public void visit(Upsert upsert) { } @Override - public void visit(UseStatement use) { - } + public void visit(UseStatement use) {} } diff --git a/src/main/java/net/sf/jsqlparser/util/cnfexpression/CNFConverter.java b/src/main/java/net/sf/jsqlparser/util/cnfexpression/CNFConverter.java index c5b399132..f4983d49a 100644 --- a/src/main/java/net/sf/jsqlparser/util/cnfexpression/CNFConverter.java +++ b/src/main/java/net/sf/jsqlparser/util/cnfexpression/CNFConverter.java @@ -215,7 +215,7 @@ */ public class CNFConverter { - private Expression root; + private Expression root; // the variable that stores the newly generated root. private Expression dummy; // this variable mainly serves as the dummy root of the true root. @@ -229,7 +229,7 @@ public class CNFConverter { // settled as the dummy root. private boolean isUsed = false; private CloneHelper clone = new CloneHelper(); - + /** * this class is mainly used for gather the parent expression, * children expression and the level of the children expression @@ -238,16 +238,18 @@ public class CNFConverter { * */ private class Mule { + private Expression parent; private Expression child; private int level; + private Mule(Expression parent, Expression child, int level) { this.parent = parent; this.child = child; this.level = level; } } - + /** * Since the class is only used once, I create this method to make the rest * of the methods private. @@ -258,7 +260,7 @@ public static Expression convertToCNF(Expression expr) { CNFConverter cnf = new CNFConverter(); return cnf.convert(expr); } - + /** * this method takes an expression tree and converts that into * a CNF form. Notice the 5 steps shown above will turn into @@ -266,9 +268,9 @@ public static Expression convertToCNF(Expression expr) { * return the converted expression. * @param express the original expression tree. */ - private Expression convert(Expression express) - throws IllegalStateException { - if(isUsed) { + private Expression convert(Expression express) + throws IllegalStateException { + if (isUsed) { throw new IllegalStateException("The class could only be used once!"); } else { isUsed = true; @@ -284,7 +286,7 @@ private Expression convert(Expression express) changeBack(); return root; } - + /** * this is the first step that rebuild the expression tree. * Use the standard specified in the above class. Traverse the @@ -297,7 +299,7 @@ private void reorder(Expression express) { list.add(root); dummy = new MultiAndExpression(list); } - + /** * This method is used to deal with pushing not operators down. * Since it needs an extra parameter, I will create a new @@ -315,7 +317,7 @@ private void pushNotDown() { temp1 = root; temp2 = dummy; } - + /** * This method is the helper function to push not operators down. * traverse the tree thoroughly, when we meet the not operator. @@ -331,25 +333,25 @@ private void pushNotDown() { private void pushNot(int index) { /* what really matters is the three logical operators: * and, or, not. so we only deal with these three operators. */ - if(temp1 instanceof MultiAndExpression) { + if (temp1 instanceof MultiAndExpression) { MultiAndExpression and = (MultiAndExpression) temp1; - for(int i=0; i< and.size(); i++) { + for (int i = 0; i < and.size(); i++) { temp2 = and; temp1 = and.getChild(i); pushNot(i); } - }else if(temp1 instanceof MultiOrExpression) { + } else if (temp1 instanceof MultiOrExpression) { MultiOrExpression or = (MultiOrExpression) temp1; - for(int i=0; i< or.size(); i++) { + for (int i = 0; i < or.size(); i++) { temp2 = or; temp1 = or.getChild(i); pushNot(i); } - }else if(temp1 instanceof NotExpression) { + } else if (temp1 instanceof NotExpression) { handleNot(index); } } - + /** * This function mainly deals with pushing not operators down. * check the child. If it is not a logic operator(and or or). @@ -359,37 +361,37 @@ private void pushNot(int index) { private void handleNot(int index) { child = ((NotExpression) temp1).getExpression(); int nums = 1; // takes down the number of not operators. - while(child instanceof NotExpression){ + while (child instanceof NotExpression) { child = ((NotExpression) child).getExpression(); nums++; } /* if the number of not operators are even. we could get * rid of all the not operators. set the child to the parent. */ - if(nums%2==0) { + if (nums % 2 == 0) { ((MultipleExpression) temp2).setChild(index, child); temp1 = child; pushNot(-1); - } else{ + } else { /* otherwise there will be one not left to push. * if the child is not these two types of operators. * that means we reach the leaves of the logical part. * set a new not operator whose child is the current one * and connect that operator with the parent and return. */ - if(!(child instanceof MultiAndExpression) && - !(child instanceof MultiOrExpression)){ + if (!(child instanceof MultiAndExpression) && + !(child instanceof MultiOrExpression)) { if (child instanceof LikeExpression) { ((LikeExpression) child).setNot(true); - }else if(child instanceof BinaryExpression) { + } else if (child instanceof BinaryExpression) { ((BinaryExpression) child).setNot(true); - }else { + } else { child = new NotExpression(child); } ((MultipleExpression) temp2).setChild(index, child); return; - }else if(child instanceof MultiAndExpression) { + } else if (child instanceof MultiAndExpression) { MultiAndExpression and = (MultiAndExpression) child; List list = new ArrayList(); - for(int i=0; i list = new ArrayList(); - for(int i=0; i queue = new LinkedList(); queue.offer(temp1); - while(!queue.isEmpty()) { + while (!queue.isEmpty()) { Expression express = queue.poll(); /* at this level, we only deal with "multi and" and "multi or" * operators, so we only consider these two operators. * that means we do nothing if the operator is not those two. */ - if(express instanceof MultiAndExpression) { + if (express instanceof MultiAndExpression) { MultiAndExpression and = (MultiAndExpression) express; - while(true) { + while (true) { int index = 0; Expression get = null; - for(; index stack) { int level = 0; - if(!stack.isEmpty()) { + if (!stack.isEmpty()) { level = stack.peek().level; } - while(!stack.isEmpty()) { + while (!stack.isEmpty()) { Mule mule = stack.pop(); /* we finish a level, uniform the tree by calling gather. */ - if(level!= mule.level) { + if (level != mule.level) { gather(); level = mule.level; } @@ -576,23 +578,23 @@ private void pushAnd(Stack stack) { * tree, so simply set a 0 to the last parameter. */ Mule combined = new Mule(mule.parent, mule.child, 0); queue.offer(combined); - while(!queue.isEmpty()) { + while (!queue.isEmpty()) { Mule get = queue.poll(); Expression parent = get.parent; Expression child = get.child; /* based on the code above, the stack only have the expression * which they are multi operators. so safely convert them. */ MultipleExpression children = (MultipleExpression) child; - int index = 0; + int index = 0; MultiAndExpression and = null; /* find the children that the child is an multi and operator. */ - for(; index stack) { List list = new ArrayList(); MultiAndExpression newand = new MultiAndExpression(list); parents.setChild(parents.getIndex(children), newand); - for(int i=0; i stack) { } } } - + /** * This is the final step of the CNF conversion: now we have the * Expression tree that has one multiple and expression with a list @@ -621,14 +623,14 @@ private void pushAnd(Stack stack) { * to make the generated result resembles the CNF form. */ private void changeBack() { - if(!(root instanceof MultiAndExpression)) { + if (!(root instanceof MultiAndExpression)) { return; } MultipleExpression temp = (MultipleExpression) root; - for(int i=0; i list = new ArrayList(); list.add(modify(and.getLeftExpression())); list.add(modify(and.getRightExpression())); MultiAndExpression result = new MultiAndExpression(list); - if(and.isNot()) { + if (and.isNot()) { return new NotExpression(result); } return result; } - if(express instanceof OrExpression) { + if (express instanceof OrExpression) { OrExpression or = (OrExpression) express; List list = new ArrayList(); list.add(modify(or.getLeftExpression())); list.add(modify(or.getRightExpression())); MultiOrExpression result = new MultiOrExpression(list); - if(or.isNot()) { + if (or.isNot()) { return new NotExpression(result); } return result; } - if(express instanceof BinaryExpression) { + if (express instanceof BinaryExpression) { BinaryExpression binary = (BinaryExpression) express; - if(binary.isNot()) { + if (binary.isNot()) { binary.setNot(false); return new NotExpression(modify(binary)); - } + } } /* at this stage, there is no need to modify, just simply return. */ return express; } - + /** * This method is used to copy the expression which happens at * step four. I only copy the conditional expressions since the @@ -108,13 +108,13 @@ public Expression modify(Expression express) { * @return the copied expression. */ public Expression shallowCopy(Expression express) { - if(express instanceof MultipleExpression) { + if (express instanceof MultipleExpression) { MultipleExpression multi = (MultipleExpression) express; List list = new ArrayList(); - for(int i=0; i childlist; - + public MultipleExpression(List childlist) { this.childlist = childlist; } - + public int size() { return childlist.size(); } - + @Override public void accept(ExpressionVisitor expressionVisitor) { expressionVisitor.visit(new NullValue()); } - + public List getList() { return childlist; } - + public Expression getChild(int index) { return childlist.get(index); } - + public Expression removeChild(int index) { return childlist.remove(index); } - + public void setChild(int index, Expression express) { childlist.set(index, express); } - + public int getIndex(Expression express) { return childlist.indexOf(express); } - + public void addChild(int index, Expression express) { childlist.add(index, express); } - + public abstract String getStringExpression(); - + @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append("("); - for(int i=0; i iter = createTable.getColumnDefinitions().iterator(); iter. - hasNext();) { + for (Iterator iter = createTable.getColumnDefinitions().iterator(); iter.hasNext();) { ColumnDefinition columnDefinition = iter.next(); buffer.append(columnDefinition.getColumnName()); buffer.append(" "); diff --git a/src/main/java/net/sf/jsqlparser/util/deparser/DeleteDeParser.java b/src/main/java/net/sf/jsqlparser/util/deparser/DeleteDeParser.java index 3f32de215..dd225b858 100644 --- a/src/main/java/net/sf/jsqlparser/util/deparser/DeleteDeParser.java +++ b/src/main/java/net/sf/jsqlparser/util/deparser/DeleteDeParser.java @@ -36,8 +36,7 @@ public class DeleteDeParser { private StringBuilder buffer = new StringBuilder(); private ExpressionVisitor expressionVisitor = new ExpressionVisitorAdapter(); - public DeleteDeParser() { - } + public DeleteDeParser() {} /** * @param expressionVisitor a {@link ExpressionVisitor} to de-parse expressions. It has to share diff --git a/src/main/java/net/sf/jsqlparser/util/deparser/ExpressionDeParser.java b/src/main/java/net/sf/jsqlparser/util/deparser/ExpressionDeParser.java index c8b53e28f..be6d6894e 100644 --- a/src/main/java/net/sf/jsqlparser/util/deparser/ExpressionDeParser.java +++ b/src/main/java/net/sf/jsqlparser/util/deparser/ExpressionDeParser.java @@ -112,8 +112,7 @@ public class ExpressionDeParser implements ExpressionVisitor, ItemsListVisitor { private boolean useBracketsInExprList = true; private OrderByDeParser orderByDeParser = new OrderByDeParser(); - public ExpressionDeParser() { - } + public ExpressionDeParser() {} /** * @param selectVisitor a SelectVisitor to de-parse SubSelects. It has to share the same
@@ -380,8 +379,7 @@ public void visit(SubSelect subSelect) { if (selectVisitor != null) { if (subSelect.getWithItemsList() != null) { buffer.append("WITH "); - for (Iterator iter = subSelect.getWithItemsList().iterator(); iter. - hasNext();) { + for (Iterator iter = subSelect.getWithItemsList().iterator(); iter.hasNext();) { iter.next().accept(selectVisitor); if (iter.hasNext()) { buffer.append(", "); diff --git a/src/main/java/net/sf/jsqlparser/util/deparser/InsertDeParser.java b/src/main/java/net/sf/jsqlparser/util/deparser/InsertDeParser.java index 4fec8e297..2d32cc4ff 100644 --- a/src/main/java/net/sf/jsqlparser/util/deparser/InsertDeParser.java +++ b/src/main/java/net/sf/jsqlparser/util/deparser/InsertDeParser.java @@ -45,8 +45,7 @@ public class InsertDeParser implements ItemsListVisitor { private ExpressionVisitor expressionVisitor; private SelectVisitor selectVisitor; - public InsertDeParser() { - } + public InsertDeParser() {} /** * @param expressionVisitor a {@link ExpressionVisitor} to de-parse @@ -151,8 +150,7 @@ public void deParse(Insert insert) { buffer.append(" RETURNING *"); } else if (insert.getReturningExpressionList() != null) { buffer.append(" RETURNING "); - for (Iterator iter = insert.getReturningExpressionList(). - iterator(); iter.hasNext();) { + for (Iterator iter = insert.getReturningExpressionList().iterator(); iter.hasNext();) { buffer.append(iter.next().toString()); if (iter.hasNext()) { buffer.append(", "); diff --git a/src/main/java/net/sf/jsqlparser/util/deparser/OrderByDeParser.java b/src/main/java/net/sf/jsqlparser/util/deparser/OrderByDeParser.java index d0c20f5fb..e7fe7e595 100644 --- a/src/main/java/net/sf/jsqlparser/util/deparser/OrderByDeParser.java +++ b/src/main/java/net/sf/jsqlparser/util/deparser/OrderByDeParser.java @@ -32,8 +32,7 @@ public class OrderByDeParser { private StringBuilder buffer; private ExpressionVisitor expressionVisitor; - OrderByDeParser() { - } + OrderByDeParser() {} public OrderByDeParser(ExpressionVisitor expressionVisitor, StringBuilder buffer) { this.expressionVisitor = expressionVisitor; @@ -69,8 +68,7 @@ public void deParseElement(OrderByElement orderBy) { } if (orderBy.getNullOrdering() != null) { buffer.append(' '); - buffer. - append(orderBy.getNullOrdering() == OrderByElement.NullOrdering.NULLS_FIRST ? "NULLS FIRST" : "NULLS LAST"); + buffer.append(orderBy.getNullOrdering() == OrderByElement.NullOrdering.NULLS_FIRST ? "NULLS FIRST" : "NULLS LAST"); } } diff --git a/src/main/java/net/sf/jsqlparser/util/deparser/ReplaceDeParser.java b/src/main/java/net/sf/jsqlparser/util/deparser/ReplaceDeParser.java index 25ed94bf4..3020edeec 100644 --- a/src/main/java/net/sf/jsqlparser/util/deparser/ReplaceDeParser.java +++ b/src/main/java/net/sf/jsqlparser/util/deparser/ReplaceDeParser.java @@ -43,8 +43,7 @@ public class ReplaceDeParser implements ItemsListVisitor { private ExpressionVisitor expressionVisitor; private SelectVisitor selectVisitor; - public ReplaceDeParser() { - } + public ReplaceDeParser() {} /** * @param expressionVisitor a {@link ExpressionVisitor} to de-parse expressions. It has to share diff --git a/src/main/java/net/sf/jsqlparser/util/deparser/SelectDeParser.java b/src/main/java/net/sf/jsqlparser/util/deparser/SelectDeParser.java index 29eb94d7b..57dc3dc13 100644 --- a/src/main/java/net/sf/jsqlparser/util/deparser/SelectDeParser.java +++ b/src/main/java/net/sf/jsqlparser/util/deparser/SelectDeParser.java @@ -67,8 +67,7 @@ public class SelectDeParser implements SelectVisitor, SelectItemVisitor, FromIte private StringBuilder buffer = new StringBuilder(); private ExpressionVisitor expressionVisitor = new ExpressionVisitorAdapter(); - public SelectDeParser() { - } + public SelectDeParser() {} /** * @param expressionVisitor a {@link ExpressionVisitor} to de-parse expressions. It has to share the same
@@ -110,8 +109,7 @@ public void visit(PlainSelect plainSelect) { } if (plainSelect.getDistinct().getOnSelectItems() != null) { buffer.append("ON ("); - for (Iterator iter = plainSelect.getDistinct().getOnSelectItems(). - iterator(); iter.hasNext();) { + for (Iterator iter = plainSelect.getDistinct().getOnSelectItems().iterator(); iter.hasNext();) { SelectItem selectItem = iter.next(); selectItem.accept(this); if (iter.hasNext()) { @@ -172,8 +170,7 @@ public void visit(PlainSelect plainSelect) { if (plainSelect.getGroupByColumnReferences() != null) { buffer.append(" GROUP BY "); - for (Iterator iter = plainSelect.getGroupByColumnReferences().iterator(); iter. - hasNext();) { + for (Iterator iter = plainSelect.getGroupByColumnReferences().iterator(); iter.hasNext();) { Expression columnReference = iter.next(); columnReference.accept(expressionVisitor); if (iter.hasNext()) { @@ -188,8 +185,7 @@ public void visit(PlainSelect plainSelect) { } if (plainSelect.getOrderByElements() != null) { - new OrderByDeParser(expressionVisitor, buffer). - deParse(plainSelect.isOracleSiblings(), plainSelect.getOrderByElements()); + new OrderByDeParser(expressionVisitor, buffer).deParse(plainSelect.isOracleSiblings(), plainSelect.getOrderByElements()); } if (plainSelect.getLimit() != null) { @@ -277,13 +273,11 @@ public void visit(Table tableName) { public void visit(Pivot pivot) { List forColumns = pivot.getForColumns(); buffer.append(" PIVOT (") - .append(PlainSelect.getStringList(pivot.getFunctionItems())) - .append(" FOR ") - .append(PlainSelect. - getStringList(forColumns, true, forColumns != null && forColumns.size() > 1)). - append(" IN ") - .append(PlainSelect.getStringList(pivot.getInItems(), true, true)) - .append(")"); + .append(PlainSelect.getStringList(pivot.getFunctionItems())) + .append(" FOR ") + .append(PlainSelect.getStringList(forColumns, true, forColumns != null && forColumns.size() > 1)).append(" IN ") + .append(PlainSelect.getStringList(pivot.getInItems(), true, true)) + .append(")"); if (pivot.getAlias() != null) { buffer.append(pivot.getAlias().toString()); } @@ -293,11 +287,9 @@ public void visit(Pivot pivot) { public void visit(PivotXml pivot) { List forColumns = pivot.getForColumns(); buffer.append(" PIVOT XML (") - .append(PlainSelect.getStringList(pivot.getFunctionItems())) - .append(" FOR ") - .append(PlainSelect. - getStringList(forColumns, true, forColumns != null && forColumns.size() > 1)). - append(" IN ("); + .append(PlainSelect.getStringList(pivot.getFunctionItems())) + .append(" FOR ") + .append(PlainSelect.getStringList(forColumns, true, forColumns != null && forColumns.size() > 1)).append(" IN ("); if (pivot.isInAny()) { buffer.append("ANY"); } else if (pivot.getInSelect() != null) { @@ -311,7 +303,7 @@ public void visit(PivotXml pivot) { public void deparseOffset(Offset offset) { // OFFSET offset // or OFFSET offset (ROW | ROWS) - if (offset.getOffsetJdbcParameter()!=null) { + if (offset.getOffsetJdbcParameter() != null) { buffer.append(" OFFSET ").append(offset.getOffsetJdbcParameter()); } else if (offset.getOffset() != 0) { buffer.append(" OFFSET "); @@ -331,7 +323,7 @@ public void deparseFetch(Fetch fetch) { } else { buffer.append("NEXT "); } - if (fetch.getFetchJdbcParameter()!=null) { + if (fetch.getFetchJdbcParameter() != null) { buffer.append(fetch.getFetchJdbcParameter().toString()); } else { buffer.append(fetch.getRowCount()); @@ -360,7 +352,7 @@ public void setExpressionVisitor(ExpressionVisitor visitor) { public void visit(SubJoin subjoin) { buffer.append("("); subjoin.getLeft().accept(this); - for(Join join : subjoin.getJoinList()) { + for (Join join : subjoin.getJoinList()) { deparseJoin(join); } buffer.append(")"); @@ -456,8 +448,7 @@ public void visit(WithItem withItem) { } buffer.append(withItem.getName()); if (withItem.getWithItemList() != null) { - buffer.append(" ").append(PlainSelect. - getStringList(withItem.getWithItemList(), true, true)); + buffer.append(" ").append(PlainSelect.getStringList(withItem.getWithItemList(), true, true)); } buffer.append(" AS ("); withItem.getSelectBody().accept(this); diff --git a/src/main/java/net/sf/jsqlparser/util/deparser/StatementDeParser.java b/src/main/java/net/sf/jsqlparser/util/deparser/StatementDeParser.java index 0140d89e2..6a23681e8 100644 --- a/src/main/java/net/sf/jsqlparser/util/deparser/StatementDeParser.java +++ b/src/main/java/net/sf/jsqlparser/util/deparser/StatementDeParser.java @@ -46,6 +46,7 @@ import net.sf.jsqlparser.statement.upsert.Upsert; public class StatementDeParser implements StatementVisitor { + private ExpressionDeParser expressionDeParser; private SelectDeParser selectDeParser; @@ -143,8 +144,7 @@ public void visit(Select select) { } @Override - public void visit(Truncate truncate) { - } + public void visit(Truncate truncate) {} @Override public void visit(Update update) { @@ -201,7 +201,7 @@ public void visit(Merge merge) { //TODO implementation of a deparser buffer.append(merge.toString()); } - + @Override public void visit(Commit commit) { buffer.append(commit.toString()); diff --git a/src/main/java/net/sf/jsqlparser/util/deparser/UpdateDeParser.java b/src/main/java/net/sf/jsqlparser/util/deparser/UpdateDeParser.java index bd05cec44..9e394092b 100644 --- a/src/main/java/net/sf/jsqlparser/util/deparser/UpdateDeParser.java +++ b/src/main/java/net/sf/jsqlparser/util/deparser/UpdateDeParser.java @@ -43,128 +43,128 @@ */ public class UpdateDeParser implements OrderByVisitor { - private StringBuilder buffer = new StringBuilder(); - private ExpressionVisitor expressionVisitor = new ExpressionVisitorAdapter(); - private SelectVisitor selectVisitor = new SelectVisitorAdapter(); - - public UpdateDeParser() {} - - /** - * @param expressionVisitor a {@link ExpressionVisitor} to de-parse expressions. It has to share - * the same
- * StringBuilder (buffer parameter) as this object in order to work - * @param selectVisitor a {@link SelectVisitor} to de-parse - * {@link net.sf.jsqlparser.statement.select.Select}s. It has to share the same
- * StringBuilder (buffer parameter) as this object in order to work - * @param buffer the buffer that will be filled with the select - */ - public UpdateDeParser(ExpressionVisitor expressionVisitor, SelectVisitor selectVisitor, StringBuilder buffer) { - this.buffer = buffer; - this.expressionVisitor = expressionVisitor; - this.selectVisitor = selectVisitor; - } - - public StringBuilder getBuffer() { - return buffer; - } - - public void setBuffer(StringBuilder buffer) { - this.buffer = buffer; - } - - public void deParse(Update update) { - buffer.append("UPDATE ").append(PlainSelect.getStringList(update.getTables(), true, false)).append(" SET "); - - if (!update.isUseSelect()) { - for (int i = 0; i < update.getColumns().size(); i++) { - Column column = update.getColumns().get(i); - column.accept(expressionVisitor); - - buffer.append(" = "); - - Expression expression = update.getExpressions().get(i); - expression.accept(expressionVisitor); - if (i < update.getColumns().size() - 1) { - buffer.append(", "); - } - } - } else { - if (update.isUseColumnsBrackets()) { - buffer.append("("); - } - for (int i = 0; i < update.getColumns().size(); i++) { - if (i != 0) { - buffer.append(", "); - } - Column column = update.getColumns().get(i); - column.accept(expressionVisitor); - } - if (update.isUseColumnsBrackets()) { - buffer.append(")"); - } - buffer.append(" = "); - buffer.append("("); - Select select = update.getSelect(); - select.getSelectBody().accept(selectVisitor); - buffer.append(")"); - } - - if (update.getFromItem() != null) { - buffer.append(" FROM ").append(update.getFromItem()); - if (update.getJoins() != null) { - for (Join join : update.getJoins()) { - if (join.isSimple()) { - buffer.append(", ").append(join); - } else { - buffer.append(" ").append(join); - } - } - } - } - - if (update.getWhere() != null) { - buffer.append(" WHERE "); - update.getWhere().accept(expressionVisitor); - } - if (update.getOrderByElements() != null) { - new OrderByDeParser(expressionVisitor, buffer).deParse(update.getOrderByElements()); - } - if (update.getLimit() != null) { - new LimitDeparser(buffer).deParse(update.getLimit()); - } - - if (update.isReturningAllColumns()) { - buffer.append(" RETURNING *"); - } else if (update.getReturningExpressionList() != null) { - buffer.append(" RETURNING "); - for (Iterator iter = update.getReturningExpressionList().iterator(); iter.hasNext();) { - buffer.append(iter.next().toString()); - if (iter.hasNext()) { - buffer.append(", "); - } - } - } - } - - public ExpressionVisitor getExpressionVisitor() { - return expressionVisitor; - } - - public void setExpressionVisitor(ExpressionVisitor visitor) { - expressionVisitor = visitor; - } - - @Override - public void visit(OrderByElement orderBy) { - orderBy.getExpression().accept(expressionVisitor); - if (!orderBy.isAsc()) { - buffer.append(" DESC"); - } else if (orderBy.isAscDescPresent()) { - buffer.append(" ASC"); - } - if (orderBy.getNullOrdering() != null) { - buffer.append(' '); - buffer.append(orderBy.getNullOrdering() == OrderByElement.NullOrdering.NULLS_FIRST ? "NULLS FIRST" : "NULLS LAST"); - } - } + private StringBuilder buffer = new StringBuilder(); + private ExpressionVisitor expressionVisitor = new ExpressionVisitorAdapter(); + private SelectVisitor selectVisitor = new SelectVisitorAdapter(); + + public UpdateDeParser() {} + + /** + * @param expressionVisitor a {@link ExpressionVisitor} to de-parse expressions. It has to share + * the same
+ * StringBuilder (buffer parameter) as this object in order to work + * @param selectVisitor a {@link SelectVisitor} to de-parse + * {@link net.sf.jsqlparser.statement.select.Select}s. It has to share the same
+ * StringBuilder (buffer parameter) as this object in order to work + * @param buffer the buffer that will be filled with the select + */ + public UpdateDeParser(ExpressionVisitor expressionVisitor, SelectVisitor selectVisitor, StringBuilder buffer) { + this.buffer = buffer; + this.expressionVisitor = expressionVisitor; + this.selectVisitor = selectVisitor; + } + + public StringBuilder getBuffer() { + return buffer; + } + + public void setBuffer(StringBuilder buffer) { + this.buffer = buffer; + } + + public void deParse(Update update) { + buffer.append("UPDATE ").append(PlainSelect.getStringList(update.getTables(), true, false)).append(" SET "); + + if (!update.isUseSelect()) { + for (int i = 0; i < update.getColumns().size(); i++) { + Column column = update.getColumns().get(i); + column.accept(expressionVisitor); + + buffer.append(" = "); + + Expression expression = update.getExpressions().get(i); + expression.accept(expressionVisitor); + if (i < update.getColumns().size() - 1) { + buffer.append(", "); + } + } + } else { + if (update.isUseColumnsBrackets()) { + buffer.append("("); + } + for (int i = 0; i < update.getColumns().size(); i++) { + if (i != 0) { + buffer.append(", "); + } + Column column = update.getColumns().get(i); + column.accept(expressionVisitor); + } + if (update.isUseColumnsBrackets()) { + buffer.append(")"); + } + buffer.append(" = "); + buffer.append("("); + Select select = update.getSelect(); + select.getSelectBody().accept(selectVisitor); + buffer.append(")"); + } + + if (update.getFromItem() != null) { + buffer.append(" FROM ").append(update.getFromItem()); + if (update.getJoins() != null) { + for (Join join : update.getJoins()) { + if (join.isSimple()) { + buffer.append(", ").append(join); + } else { + buffer.append(" ").append(join); + } + } + } + } + + if (update.getWhere() != null) { + buffer.append(" WHERE "); + update.getWhere().accept(expressionVisitor); + } + if (update.getOrderByElements() != null) { + new OrderByDeParser(expressionVisitor, buffer).deParse(update.getOrderByElements()); + } + if (update.getLimit() != null) { + new LimitDeparser(buffer).deParse(update.getLimit()); + } + + if (update.isReturningAllColumns()) { + buffer.append(" RETURNING *"); + } else if (update.getReturningExpressionList() != null) { + buffer.append(" RETURNING "); + for (Iterator iter = update.getReturningExpressionList().iterator(); iter.hasNext();) { + buffer.append(iter.next().toString()); + if (iter.hasNext()) { + buffer.append(", "); + } + } + } + } + + public ExpressionVisitor getExpressionVisitor() { + return expressionVisitor; + } + + public void setExpressionVisitor(ExpressionVisitor visitor) { + expressionVisitor = visitor; + } + + @Override + public void visit(OrderByElement orderBy) { + orderBy.getExpression().accept(expressionVisitor); + if (!orderBy.isAsc()) { + buffer.append(" DESC"); + } else if (orderBy.isAscDescPresent()) { + buffer.append(" ASC"); + } + if (orderBy.getNullOrdering() != null) { + buffer.append(' '); + buffer.append(orderBy.getNullOrdering() == OrderByElement.NullOrdering.NULLS_FIRST ? "NULLS FIRST" : "NULLS LAST"); + } + } } diff --git a/src/main/java/net/sf/jsqlparser/util/deparser/UpsertDeParser.java b/src/main/java/net/sf/jsqlparser/util/deparser/UpsertDeParser.java index 6d40d2d4e..f506d3f19 100644 --- a/src/main/java/net/sf/jsqlparser/util/deparser/UpsertDeParser.java +++ b/src/main/java/net/sf/jsqlparser/util/deparser/UpsertDeParser.java @@ -44,7 +44,7 @@ public class UpsertDeParser implements ItemsListVisitor { private StringBuilder buffer; private ExpressionVisitor expressionVisitor; private SelectVisitor selectVisitor; - + /** * Constructor: this constructor is used to assign the values coming from the * arguments to their global values. @@ -91,7 +91,7 @@ public void deParse(Upsert upsert) { } } - + private void appendColumns(Upsert upsert) { buffer.append(" ("); for (Iterator iter = upsert.getColumns().iterator(); iter.hasNext();) { @@ -103,7 +103,7 @@ private void appendColumns(Upsert upsert) { } buffer.append(")"); } - + private void appendSelect(Upsert upsert) { buffer.append(" "); if (upsert.isUseSelectBrackets()) { @@ -121,7 +121,7 @@ private void appendSelect(Upsert upsert) { buffer.append(")"); } } - + private void appendDuplicate(Upsert upsert) { buffer.append(" ON DUPLICATE KEY UPDATE "); for (int i = 0; i < upsert.getDuplicateUpdateColumns().size(); i++) { diff --git a/src/test/java/net/sf/jsqlparser/expression/ExpressionVisitorAdapterTest.java b/src/test/java/net/sf/jsqlparser/expression/ExpressionVisitorAdapterTest.java index 50fb41156..fc02c3ee4 100644 --- a/src/test/java/net/sf/jsqlparser/expression/ExpressionVisitorAdapterTest.java +++ b/src/test/java/net/sf/jsqlparser/expression/ExpressionVisitorAdapterTest.java @@ -48,24 +48,19 @@ */ public class ExpressionVisitorAdapterTest { - public ExpressionVisitorAdapterTest() { - } + public ExpressionVisitorAdapterTest() {} @BeforeClass - public static void setUpClass() { - } + public static void setUpClass() {} @AfterClass - public static void tearDownClass() { - } + public static void tearDownClass() {} @Before - public void setUp() { - } + public void setUp() {} @After - public void tearDown() { - } + public void tearDown() {} @Test public void testInExpressionProblem() throws JSQLParserException { @@ -92,8 +87,7 @@ public void visit(InExpression expr) { @Test public void testInExpression() throws JSQLParserException { final List exprList = new ArrayList(); - Select select = (Select) CCJSqlParserUtil. - parse("select * from foo where (a,b) in (select a,b from foo2)"); + Select select = (Select) CCJSqlParserUtil.parse("select * from foo where (a,b) in (select a,b from foo2)"); PlainSelect plainSelect = (PlainSelect) select.getSelectBody(); Expression where = plainSelect.getWhere(); where.accept(new ExpressionVisitorAdapter() { @@ -140,8 +134,7 @@ public void visit(OracleHint hint) { @Test public void testCurrentTimestampExpression() throws JSQLParserException { final List columnList = new ArrayList(); - Select select = (Select) CCJSqlParserUtil. - parse("select * from foo where bar < CURRENT_TIMESTAMP"); + Select select = (Select) CCJSqlParserUtil.parse("select * from foo where bar < CURRENT_TIMESTAMP"); PlainSelect plainSelect = (PlainSelect) select.getSelectBody(); Expression where = plainSelect.getWhere(); where.accept(new ExpressionVisitorAdapter() { @@ -160,8 +153,7 @@ public void visit(Column column) { @Test public void testCurrentDateExpression() throws JSQLParserException { final List columnList = new ArrayList(); - Select select = (Select) CCJSqlParserUtil. - parse("select * from foo where bar < CURRENT_DATE"); + Select select = (Select) CCJSqlParserUtil.parse("select * from foo where bar < CURRENT_DATE"); PlainSelect plainSelect = (PlainSelect) select.getSelectBody(); Expression where = plainSelect.getWhere(); where.accept(new ExpressionVisitorAdapter() { @@ -179,8 +171,7 @@ public void visit(Column column) { @Test public void testSubSelectExpressionProblem() throws JSQLParserException { - Select select = (Select) CCJSqlParserUtil. - parse("SELECT * FROM t1 WHERE EXISTS (SELECT * FROM t2 WHERE t2.col2 = t1.col1)"); + Select select = (Select) CCJSqlParserUtil.parse("SELECT * FROM t1 WHERE EXISTS (SELECT * FROM t2 WHERE t2.col2 = t1.col1)"); PlainSelect plainSelect = (PlainSelect) select.getSelectBody(); Expression where = plainSelect.getWhere(); ExpressionVisitorAdapter adapter = new ExpressionVisitorAdapter(); @@ -191,28 +182,28 @@ public void testSubSelectExpressionProblem() throws JSQLParserException { fail(); } } - + @Test public void testCaseWithoutElse() throws JSQLParserException { Expression expr = CCJSqlParserUtil.parseExpression("CASE WHEN 1 then 0 END"); ExpressionVisitorAdapter adapter = new ExpressionVisitorAdapter(); expr.accept(adapter); } - + @Test public void testCaseWithoutElse2() throws JSQLParserException { Expression expr = CCJSqlParserUtil.parseExpression("CASE WHEN 1 then 0 ELSE -1 END"); ExpressionVisitorAdapter adapter = new ExpressionVisitorAdapter(); expr.accept(adapter); } - + @Test public void testCaseWithoutElse3() throws JSQLParserException { Expression expr = CCJSqlParserUtil.parseExpression("CASE 3+4 WHEN 1 then 0 END"); ExpressionVisitorAdapter adapter = new ExpressionVisitorAdapter(); expr.accept(adapter); } - + @Test public void testAnalyticFunctionWithoutExpression502() throws JSQLParserException { Expression expr = CCJSqlParserUtil.parseExpression("row_number() over (order by c)"); diff --git a/src/test/java/net/sf/jsqlparser/expression/LongValueTest.java b/src/test/java/net/sf/jsqlparser/expression/LongValueTest.java index 6ae51e381..45680d37b 100644 --- a/src/test/java/net/sf/jsqlparser/expression/LongValueTest.java +++ b/src/test/java/net/sf/jsqlparser/expression/LongValueTest.java @@ -35,24 +35,19 @@ */ public class LongValueTest { - public LongValueTest() { - } + public LongValueTest() {} @BeforeClass - public static void setUpClass() { - } + public static void setUpClass() {} @AfterClass - public static void tearDownClass() { - } + public static void tearDownClass() {} @Before - public void setUp() { - } + public void setUp() {} @After - public void tearDown() { - } + public void tearDown() {} @Test public void testSimpleNumber() { diff --git a/src/test/java/net/sf/jsqlparser/expression/SignedExpressionTest.java b/src/test/java/net/sf/jsqlparser/expression/SignedExpressionTest.java index 9b8fc595c..acb402459 100644 --- a/src/test/java/net/sf/jsqlparser/expression/SignedExpressionTest.java +++ b/src/test/java/net/sf/jsqlparser/expression/SignedExpressionTest.java @@ -35,24 +35,19 @@ */ public class SignedExpressionTest { - public SignedExpressionTest() { - } + public SignedExpressionTest() {} @BeforeClass - public static void setUpClass() { - } + public static void setUpClass() {} @AfterClass - public static void tearDownClass() { - } + public static void tearDownClass() {} @Before - public void setUp() { - } + public void setUp() {} @After - public void tearDown() { - } + public void tearDown() {} /** * Test of getSign method, of class SignedExpression. diff --git a/src/test/java/net/sf/jsqlparser/expression/StringValueTest.java b/src/test/java/net/sf/jsqlparser/expression/StringValueTest.java index 7ff9cd184..2646e5273 100644 --- a/src/test/java/net/sf/jsqlparser/expression/StringValueTest.java +++ b/src/test/java/net/sf/jsqlparser/expression/StringValueTest.java @@ -32,24 +32,19 @@ */ public class StringValueTest { - public StringValueTest() { - } + public StringValueTest() {} @BeforeClass - public static void setUpClass() { - } + public static void setUpClass() {} @AfterClass - public static void tearDownClass() { - } + public static void tearDownClass() {} @Before - public void setUp() { - } + public void setUp() {} @After - public void tearDown() { - } + public void tearDown() {} @Test public void testGetValue() { diff --git a/src/test/java/net/sf/jsqlparser/expression/mysql/MySqlSqlCalcFoundRowsTest.java b/src/test/java/net/sf/jsqlparser/expression/mysql/MySqlSqlCalcFoundRowsTest.java index 29aa2c990..692012b1a 100644 --- a/src/test/java/net/sf/jsqlparser/expression/mysql/MySqlSqlCalcFoundRowsTest.java +++ b/src/test/java/net/sf/jsqlparser/expression/mysql/MySqlSqlCalcFoundRowsTest.java @@ -39,6 +39,7 @@ * @author sam */ public class MySqlSqlCalcFoundRowsTest { + @Test public void testPossibleParsingWithSqlCalcFoundRowsHint() throws JSQLParserException { MySqlSqlCalcFoundRowRef ref = new MySqlSqlCalcFoundRowRef(false); @@ -57,21 +58,24 @@ public void testPossibleParsingWithSqlCalcFoundRowsHint() throws JSQLParserExcep private void accept(Statement statement, final MySqlSqlCalcFoundRowRef ref) { statement.accept(new StatementVisitorAdapter() { + @Override public void visit(Select select) { select.getSelectBody().accept(new SelectVisitorAdapter() { + @Override public void visit(PlainSelect plainSelect) { ref.sqlCalcFoundRows = plainSelect.isMySqlSqlCalcFoundRows(); } }); } - + }); } } class MySqlSqlCalcFoundRowRef { + public boolean sqlCalcFoundRows = false; public MySqlSqlCalcFoundRowRef(boolean sqlCalcFoundRows) { diff --git a/src/test/java/net/sf/jsqlparser/parser/CCJSqlParserUtilTest.java b/src/test/java/net/sf/jsqlparser/parser/CCJSqlParserUtilTest.java index 4a357ef05..81f0030d8 100644 --- a/src/test/java/net/sf/jsqlparser/parser/CCJSqlParserUtilTest.java +++ b/src/test/java/net/sf/jsqlparser/parser/CCJSqlParserUtilTest.java @@ -23,24 +23,19 @@ */ public class CCJSqlParserUtilTest { - public CCJSqlParserUtilTest() { - } + public CCJSqlParserUtilTest() {} @BeforeClass - public static void setUpClass() { - } + public static void setUpClass() {} @AfterClass - public static void tearDownClass() { - } + public static void tearDownClass() {} @Before - public void setUp() { - } + public void setUp() {} @After - public void tearDown() { - } + public void tearDown() {} /** * Test of parseExpression method, of class CCJSqlParserUtil. @@ -64,12 +59,12 @@ public void testParseExpression2() throws Exception { assertTrue(mult.getLeftExpression() instanceof LongValue); assertTrue(mult.getRightExpression() instanceof Parenthesis); } - + @Test(expected = JSQLParserException.class) public void testParseExpressionNonPartial() throws Exception { Expression result = CCJSqlParserUtil.parseExpression("a+", false); } - + @Test public void testParseExpressionNonPartial2() throws Exception { Expression result = CCJSqlParserUtil.parseExpression("a+", true); @@ -81,25 +76,25 @@ public void testParseCondExpression() throws Exception { Expression result = CCJSqlParserUtil.parseCondExpression("a+b>5 and c<3"); assertEquals("a + b > 5 AND c < 3", result.toString()); } - + @Test public void testParseCondExpressionNonPartial() throws Exception { Expression result = CCJSqlParserUtil.parseCondExpression("x=92 and y=29", false); assertEquals("x = 92 AND y = 29", result.toString()); } - + @Test(expected = JSQLParserException.class) public void testParseCondExpressionNonPartial2() throws Exception { Expression result = CCJSqlParserUtil.parseCondExpression("x=92 lasd y=29", false); System.out.println(result.toString()); } - + @Test public void testParseCondExpressionPartial2() throws Exception { Expression result = CCJSqlParserUtil.parseCondExpression("x=92 lasd y=29", true); assertEquals("x = 92", result.toString()); } - + @Test public void testParseCondExpressionIssue471() throws Exception { Expression result = CCJSqlParserUtil.parseCondExpression("(SSN,SSM) IN ('11111111111111', '22222222222222')"); diff --git a/src/test/java/net/sf/jsqlparser/schema/ColumnTest.java b/src/test/java/net/sf/jsqlparser/schema/ColumnTest.java index 4ba15ba0b..6e302c8dc 100644 --- a/src/test/java/net/sf/jsqlparser/schema/ColumnTest.java +++ b/src/test/java/net/sf/jsqlparser/schema/ColumnTest.java @@ -34,24 +34,19 @@ */ public class ColumnTest { - public ColumnTest() { - } + public ColumnTest() {} @BeforeClass - public static void setUpClass() { - } + public static void setUpClass() {} @AfterClass - public static void tearDownClass() { - } + public static void tearDownClass() {} @Before - public void setUp() { - } + public void setUp() {} @After - public void tearDown() { - } + public void tearDown() {} @Test public void testMissingTableAlias() { diff --git a/src/test/java/net/sf/jsqlparser/statement/AdaptersTest.java b/src/test/java/net/sf/jsqlparser/statement/AdaptersTest.java index 13d136861..1c25d6015 100644 --- a/src/test/java/net/sf/jsqlparser/statement/AdaptersTest.java +++ b/src/test/java/net/sf/jsqlparser/statement/AdaptersTest.java @@ -32,12 +32,15 @@ public void testAdapters() throws JSQLParserException { final Stack> params = new Stack>(); stmnt.accept(new StatementVisitorAdapter() { + @Override public void visit(Select select) { select.getSelectBody().accept(new SelectVisitorAdapter() { + @Override public void visit(PlainSelect plainSelect) { plainSelect.getWhere().accept(new ExpressionVisitorAdapter() { + @Override protected void visitBinaryExpression(BinaryExpression expr) { if (!(expr instanceof AndExpression)) { @@ -48,15 +51,12 @@ protected void visitBinaryExpression(BinaryExpression expr) { @Override public void visit(Column column) { - params.push(new Pair(column.getColumnName(), params. - pop().getRight())); + params.push(new Pair(column.getColumnName(), params.pop().getRight())); } @Override public void visit(JdbcNamedParameter parameter) { - params. - push(new Pair(params.pop().getLeft(), parameter. - getName())); + params.push(new Pair(params.pop().getLeft(), parameter.getName())); } }); } diff --git a/src/test/java/net/sf/jsqlparser/statement/SetStatementTest.java b/src/test/java/net/sf/jsqlparser/statement/SetStatementTest.java index c3548786e..6df71f58f 100644 --- a/src/test/java/net/sf/jsqlparser/statement/SetStatementTest.java +++ b/src/test/java/net/sf/jsqlparser/statement/SetStatementTest.java @@ -34,24 +34,19 @@ */ public class SetStatementTest { - public SetStatementTest() { - } + public SetStatementTest() {} @BeforeClass - public static void setUpClass() { - } + public static void setUpClass() {} @AfterClass - public static void tearDownClass() { - } + public static void tearDownClass() {} @Before - public void setUp() { - } + public void setUp() {} @After - public void tearDown() { - } + public void tearDown() {} @Test public void testSimpleSet() throws JSQLParserException { diff --git a/src/test/java/net/sf/jsqlparser/statement/StatementsTest.java b/src/test/java/net/sf/jsqlparser/statement/StatementsTest.java index 6686fe9cd..72d3aa4d0 100644 --- a/src/test/java/net/sf/jsqlparser/statement/StatementsTest.java +++ b/src/test/java/net/sf/jsqlparser/statement/StatementsTest.java @@ -23,24 +23,19 @@ */ public class StatementsTest { - public StatementsTest() { - } + public StatementsTest() {} @BeforeClass - public static void setUpClass() { - } + public static void setUpClass() {} @AfterClass - public static void tearDownClass() { - } + public static void tearDownClass() {} @Before - public void setUp() { - } + public void setUp() {} @After - public void tearDown() { - } + public void tearDown() {} @Test public void testStatements() throws JSQLParserException { diff --git a/src/test/java/net/sf/jsqlparser/statement/UseStatementTest.java b/src/test/java/net/sf/jsqlparser/statement/UseStatementTest.java index 1a13972f5..447fda6b3 100644 --- a/src/test/java/net/sf/jsqlparser/statement/UseStatementTest.java +++ b/src/test/java/net/sf/jsqlparser/statement/UseStatementTest.java @@ -30,7 +30,6 @@ */ public class UseStatementTest { - @Test public void testSimpleUse() throws JSQLParserException { assertSqlCanBeParsedAndDeparsed("USE mydatabase"); diff --git a/src/test/java/net/sf/jsqlparser/statement/execute/ExecuteTest.java b/src/test/java/net/sf/jsqlparser/statement/execute/ExecuteTest.java index 9c0213693..7c6951e79 100644 --- a/src/test/java/net/sf/jsqlparser/statement/execute/ExecuteTest.java +++ b/src/test/java/net/sf/jsqlparser/statement/execute/ExecuteTest.java @@ -34,24 +34,19 @@ */ public class ExecuteTest { - public ExecuteTest() { - } + public ExecuteTest() {} @BeforeClass - public static void setUpClass() { - } + public static void setUpClass() {} @AfterClass - public static void tearDownClass() { - } + public static void tearDownClass() {} @Before - public void setUp() { - } + public void setUp() {} @After - public void tearDown() { - } + public void tearDown() {} /** * Test of accept method, of class Execute. @@ -62,12 +57,12 @@ public void tearDown() { public void testAcceptExecute() throws JSQLParserException { assertSqlCanBeParsedAndDeparsed("EXECUTE myproc 'a', 2, 'b'"); } - + @Test public void testAcceptExec() throws JSQLParserException { assertSqlCanBeParsedAndDeparsed("EXEC myproc 'a', 2, 'b'"); } - + @Test public void testAcceptCall() throws JSQLParserException { assertSqlCanBeParsedAndDeparsed("CALL myproc 'a', 2, 'b'"); diff --git a/src/test/java/net/sf/jsqlparser/test/CommitTest.java b/src/test/java/net/sf/jsqlparser/test/CommitTest.java index 0188cdd6c..1ac4407f9 100644 --- a/src/test/java/net/sf/jsqlparser/test/CommitTest.java +++ b/src/test/java/net/sf/jsqlparser/test/CommitTest.java @@ -5,8 +5,9 @@ import org.junit.Test; public class CommitTest { + @Test public void testCommit() throws Exception { - assertSqlCanBeParsedAndDeparsed("COMMIT"); + assertSqlCanBeParsedAndDeparsed("COMMIT"); } } diff --git a/src/test/java/net/sf/jsqlparser/test/TestUtils.java b/src/test/java/net/sf/jsqlparser/test/TestUtils.java index ece2da3e5..6cccac0d2 100644 --- a/src/test/java/net/sf/jsqlparser/test/TestUtils.java +++ b/src/test/java/net/sf/jsqlparser/test/TestUtils.java @@ -45,8 +45,7 @@ */ public class TestUtils { - private static final Pattern SQL_COMMENT_PATTERN = Pattern. - compile("(--.*$)|(/\\*.*?\\*/)", Pattern.MULTILINE); + private static final Pattern SQL_COMMENT_PATTERN = Pattern.compile("(--.*$)|(/\\*.*?\\*/)", Pattern.MULTILINE); public static void assertSqlCanBeParsedAndDeparsed(String statement) throws JSQLParserException { assertSqlCanBeParsedAndDeparsed(statement, false); @@ -71,19 +70,18 @@ public static void assertStatementCanBeDeparsedAs(Statement parsed, String state public static void assertStatementCanBeDeparsedAs(Statement parsed, String statement, boolean laxDeparsingCheck) { assertEquals(buildSqlString(statement, laxDeparsingCheck), - buildSqlString(parsed.toString(), laxDeparsingCheck)); + buildSqlString(parsed.toString(), laxDeparsingCheck)); StatementDeParser deParser = new StatementDeParser(new StringBuilder()); parsed.accept(deParser); assertEquals(buildSqlString(statement, laxDeparsingCheck), - buildSqlString(deParser.getBuffer().toString(), laxDeparsingCheck)); + buildSqlString(deParser.getBuffer().toString(), laxDeparsingCheck)); } public static String buildSqlString(final String originalSql, boolean laxDeparsingCheck) { String sql = SQL_COMMENT_PATTERN.matcher(originalSql).replaceAll(""); if (laxDeparsingCheck) { - return sql.replaceAll("\\s", " ").replaceAll("\\s+", " "). - replaceAll("\\s*([!/,()=+\\-*|\\]<>])\\s*", "$1").toLowerCase().trim(); + return sql.replaceAll("\\s", " ").replaceAll("\\s+", " ").replaceAll("\\s*([!/,()=+\\-*|\\]<>])\\s*", "$1").toLowerCase().trim(); } else { return sql; } diff --git a/src/test/java/net/sf/jsqlparser/test/alter/AlterTest.java b/src/test/java/net/sf/jsqlparser/test/alter/AlterTest.java index ce530b9d3..a92c0100b 100644 --- a/src/test/java/net/sf/jsqlparser/test/alter/AlterTest.java +++ b/src/test/java/net/sf/jsqlparser/test/alter/AlterTest.java @@ -22,8 +22,7 @@ public AlterTest(String arg0) { } public void testAlterTableAddColumn() throws JSQLParserException { - Statement stmt = CCJSqlParserUtil. - parse("ALTER TABLE mytable ADD COLUMN mycolumn varchar (255)"); + Statement stmt = CCJSqlParserUtil.parse("ALTER TABLE mytable ADD COLUMN mycolumn varchar (255)"); assertTrue(stmt instanceof Alter); Alter alter = (Alter) stmt; assertEquals("mytable", alter.getTable().getFullyQualifiedName()); @@ -89,7 +88,7 @@ public void testAlterTableAddConstraint() throws JSQLParserException { public void testAlterTableAddConstraintWithConstraintState() throws JSQLParserException { assertSqlCanBeParsedAndDeparsed("ALTER TABLE RESOURCELINKTYPE ADD CONSTRAINT FK_RESOURCELINKTYPE_PARENTTYPE_PRIMARYKEY FOREIGN KEY (PARENTTYPE_PRIMARYKEY) REFERENCES RESOURCETYPE(PRIMARYKEY) DEFERRABLE DISABLE NOVALIDATE"); } - + public void testAlterTableAddConstraintWithConstraintState2() throws JSQLParserException { assertSqlCanBeParsedAndDeparsed("ALTER TABLE RESOURCELINKTYPE ADD CONSTRAINT RESOURCELINKTYPE_PRIMARYKEY PRIMARY KEY (PRIMARYKEY) DEFERRABLE NOVALIDATE"); } @@ -113,8 +112,7 @@ public void testAlterTableDropColumn() throws JSQLParserException { public void testAlterTableDropColumn2() throws JSQLParserException { assertSqlCanBeParsedAndDeparsed("ALTER TABLE mytable DROP COLUMN col1, DROP COLUMN col2"); - Statement stmt = CCJSqlParserUtil. - parse("ALTER TABLE mytable DROP COLUMN col1, DROP COLUMN col2"); + Statement stmt = CCJSqlParserUtil.parse("ALTER TABLE mytable DROP COLUMN col1, DROP COLUMN col2"); Alter alter = (Alter) stmt; List alterExps = alter.getAlterExpressions(); AlterExpression col1Exp = alterExps.get(0); @@ -168,8 +166,7 @@ public void testAlterTableAddColumn3() throws JSQLParserException { public void testAlterTableAddColumn4() throws JSQLParserException { assertSqlCanBeParsedAndDeparsed("ALTER TABLE mytable ADD COLUMN col1 varchar (255), ADD COLUMN col2 integer"); - Statement stmt = CCJSqlParserUtil. - parse("ALTER TABLE mytable ADD COLUMN col1 varchar (255), ADD COLUMN col2 integer"); + Statement stmt = CCJSqlParserUtil.parse("ALTER TABLE mytable ADD COLUMN col1 varchar (255), ADD COLUMN col2 integer"); Alter alter = (Alter) stmt; List alterExps = alter.getAlterExpressions(); AlterExpression col1Exp = alterExps.get(0); @@ -217,8 +214,7 @@ public void testAlterTableModifyColumn2() throws JSQLParserException { // COLUMN keyword appears in deparsed statement, modify becomes all caps assertStatementCanBeDeparsedAs(stmt, "ALTER TABLE mytable MODIFY COLUMN col1 timestamp (6)"); - assertEquals(AlterOperation.MODIFY, ((Alter) stmt).getAlterExpressions().get(0). - getOperation()); + assertEquals(AlterOperation.MODIFY, ((Alter) stmt).getAlterExpressions().get(0).getOperation()); } public void testAlterTableAddColumnWithZone() throws JSQLParserException { @@ -227,8 +223,7 @@ public void testAlterTableAddColumnWithZone() throws JSQLParserException { assertSqlCanBeParsedAndDeparsed("ALTER TABLE mytable ADD COLUMN col1 date with time zone"); assertSqlCanBeParsedAndDeparsed("ALTER TABLE mytable ADD COLUMN col1 date without time zone"); - Statement stmt = CCJSqlParserUtil. - parse("ALTER TABLE mytable ADD COLUMN col1 timestamp with time zone"); + Statement stmt = CCJSqlParserUtil.parse("ALTER TABLE mytable ADD COLUMN col1 timestamp with time zone"); Alter alter = (Alter) stmt; List alterExps = alter.getAlterExpressions(); AlterExpression col1Exp = alterExps.get(0); @@ -241,19 +236,19 @@ public void testAlterTableAddColumnKeywordTypes() throws JSQLParserException { assertSqlCanBeParsedAndDeparsed("ALTER TABLE mytable ADD COLUMN col1 interval"); assertSqlCanBeParsedAndDeparsed("ALTER TABLE mytable ADD COLUMN col1 bit varying"); } - + public void testDropColumnRestrictIssue510() throws JSQLParserException { assertSqlCanBeParsedAndDeparsed("ALTER TABLE TABLE1 DROP COLUMN NewColumn CASCADE"); } - + public void testDropColumnRestrictIssue551() throws JSQLParserException { Statement stmt = CCJSqlParserUtil.parse("ALTER TABLE table1 DROP NewColumn"); - + // COLUMN keyword appears in deparsed statement, drop becomes all caps assertStatementCanBeDeparsedAs(stmt, "ALTER TABLE table1 DROP COLUMN NewColumn"); - + } - + public void testAddConstraintKeyIssue320() throws JSQLParserException { String tableName = "table1"; String columnName1 = "col1"; @@ -263,16 +258,16 @@ public void testAddConstraintKeyIssue320() throws JSQLParserException { String constraintName1 = "table1_constraint_1"; String constraintName2 = "table1_constraint_2"; - for(String constraintType : Arrays.asList("UNIQUE KEY", "KEY")) { - assertSqlCanBeParsedAndDeparsed("ALTER TABLE " + tableName + " ADD CONSTRAINT " + constraintName1 + " " - + constraintType + " (" + columnName1 + ")"); + for (String constraintType : Arrays.asList("UNIQUE KEY", "KEY")) { + assertSqlCanBeParsedAndDeparsed("ALTER TABLE " + tableName + " ADD CONSTRAINT " + constraintName1 + " " + + constraintType + " (" + columnName1 + ")"); - assertSqlCanBeParsedAndDeparsed("ALTER TABLE " + tableName + " ADD CONSTRAINT " + constraintName1 + " " - + constraintType + " (" + columnName1 + ", " + columnName2 + ")"); + assertSqlCanBeParsedAndDeparsed("ALTER TABLE " + tableName + " ADD CONSTRAINT " + constraintName1 + " " + + constraintType + " (" + columnName1 + ", " + columnName2 + ")"); - assertSqlCanBeParsedAndDeparsed("ALTER TABLE " + tableName + " ADD CONSTRAINT " + constraintName1 + " " - + constraintType + " (" + columnName1 + ", " + columnName2 + "), ADD CONSTRAINT " - + constraintName2 + " " + constraintType + " (" + columnName3 + ", " + columnName4 + ")"); + assertSqlCanBeParsedAndDeparsed("ALTER TABLE " + tableName + " ADD CONSTRAINT " + constraintName1 + " " + + constraintType + " (" + columnName1 + ", " + columnName2 + "), ADD CONSTRAINT " + + constraintName2 + " " + constraintType + " (" + columnName3 + ", " + columnName4 + ")"); } } } diff --git a/src/test/java/net/sf/jsqlparser/test/create/CreateIndexTest.java b/src/test/java/net/sf/jsqlparser/test/create/CreateIndexTest.java index 5a4c788ed..5a34ceda8 100644 --- a/src/test/java/net/sf/jsqlparser/test/create/CreateIndexTest.java +++ b/src/test/java/net/sf/jsqlparser/test/create/CreateIndexTest.java @@ -21,8 +21,7 @@ public class CreateIndexTest { @Test public void testCreateIndex() throws JSQLParserException { - String statement - = "CREATE INDEX myindex ON mytab (mycol, mycol2)"; + String statement = "CREATE INDEX myindex ON mytab (mycol, mycol2)"; CreateIndex createIndex = (CreateIndex) parserManager.parse(new StringReader(statement)); assertEquals(2, createIndex.getIndex().getColumnsNames().size()); assertEquals("myindex", createIndex.getIndex().getName()); @@ -34,8 +33,7 @@ public void testCreateIndex() throws JSQLParserException { @Test public void testCreateIndex2() throws JSQLParserException { - String statement - = "CREATE mytype INDEX myindex ON mytab (mycol, mycol2)"; + String statement = "CREATE mytype INDEX myindex ON mytab (mycol, mycol2)"; CreateIndex createIndex = (CreateIndex) parserManager.parse(new StringReader(statement)); assertEquals(2, createIndex.getIndex().getColumnsNames().size()); assertEquals("myindex", createIndex.getIndex().getName()); @@ -47,8 +45,7 @@ public void testCreateIndex2() throws JSQLParserException { @Test public void testCreateIndex3() throws JSQLParserException { - String statement - = "CREATE mytype INDEX myindex ON mytab (mycol ASC, mycol2, mycol3)"; + String statement = "CREATE mytype INDEX myindex ON mytab (mycol ASC, mycol2, mycol3)"; CreateIndex createIndex = (CreateIndex) parserManager.parse(new StringReader(statement)); assertEquals(3, createIndex.getIndex().getColumnsNames().size()); assertEquals("myindex", createIndex.getIndex().getName()); @@ -59,8 +56,7 @@ public void testCreateIndex3() throws JSQLParserException { @Test public void testCreateIndex4() throws JSQLParserException { - String statement - = "CREATE mytype INDEX myindex ON mytab (mycol ASC, mycol2 (75), mycol3)"; + String statement = "CREATE mytype INDEX myindex ON mytab (mycol ASC, mycol2 (75), mycol3)"; CreateIndex createIndex = (CreateIndex) parserManager.parse(new StringReader(statement)); assertEquals(3, createIndex.getIndex().getColumnsNames().size()); assertEquals("myindex", createIndex.getIndex().getName()); @@ -71,8 +67,7 @@ public void testCreateIndex4() throws JSQLParserException { @Test public void testCreateIndex5() throws JSQLParserException { - String statement - = "CREATE mytype INDEX myindex ON mytab (mycol ASC, mycol2 (75), mycol3) mymodifiers"; + String statement = "CREATE mytype INDEX myindex ON mytab (mycol ASC, mycol2 (75), mycol3) mymodifiers"; CreateIndex createIndex = (CreateIndex) parserManager.parse(new StringReader(statement)); assertEquals(3, createIndex.getIndex().getColumnsNames().size()); assertEquals("myindex", createIndex.getIndex().getName()); diff --git a/src/test/java/net/sf/jsqlparser/test/create/CreateTableTest.java b/src/test/java/net/sf/jsqlparser/test/create/CreateTableTest.java index 1bd9475b6..cb351beec 100644 --- a/src/test/java/net/sf/jsqlparser/test/create/CreateTableTest.java +++ b/src/test/java/net/sf/jsqlparser/test/create/CreateTableTest.java @@ -49,14 +49,12 @@ public void testCreateTableAsSelect2() throws JSQLParserException { public void testCreateTable() throws JSQLParserException { String statement = "CREATE TABLE mytab (mycol a (10, 20) c nm g, mycol2 mypar1 mypar2 (23,323,3) asdf ('23','123') dasd, " - + "PRIMARY KEY (mycol2, mycol)) type = myisam"; + + "PRIMARY KEY (mycol2, mycol)) type = myisam"; CreateTable createTable = (CreateTable) parserManager.parse(new StringReader(statement)); assertEquals(2, createTable.getColumnDefinitions().size()); assertFalse(createTable.isUnlogged()); - assertEquals("mycol", ((ColumnDefinition) createTable.getColumnDefinitions().get(0)). - getColumnName()); - assertEquals("mycol2", ((ColumnDefinition) createTable.getColumnDefinitions().get(1)). - getColumnName()); + assertEquals("mycol", ((ColumnDefinition) createTable.getColumnDefinitions().get(0)).getColumnName()); + assertEquals("mycol2", ((ColumnDefinition) createTable.getColumnDefinitions().get(1)).getColumnName()); assertEquals("PRIMARY KEY", ((Index) createTable.getIndexes().get(0)).getType()); assertEquals("mycol", ((Index) createTable.getIndexes().get(0)).getColumnsNames().get(1)); assertEquals(statement, "" + createTable); @@ -64,14 +62,12 @@ public void testCreateTable() throws JSQLParserException { public void testCreateTableUnlogged() throws JSQLParserException { String statement = "CREATE UNLOGGED TABLE mytab (mycol a (10, 20) c nm g, mycol2 mypar1 mypar2 (23,323,3) asdf ('23','123') dasd, " - + "PRIMARY KEY (mycol2, mycol)) type = myisam"; + + "PRIMARY KEY (mycol2, mycol)) type = myisam"; CreateTable createTable = (CreateTable) parserManager.parse(new StringReader(statement)); assertEquals(2, createTable.getColumnDefinitions().size()); assertTrue(createTable.isUnlogged()); - assertEquals("mycol", ((ColumnDefinition) createTable.getColumnDefinitions().get(0)). - getColumnName()); - assertEquals("mycol2", ((ColumnDefinition) createTable.getColumnDefinitions().get(1)). - getColumnName()); + assertEquals("mycol", ((ColumnDefinition) createTable.getColumnDefinitions().get(0)).getColumnName()); + assertEquals("mycol2", ((ColumnDefinition) createTable.getColumnDefinitions().get(1)).getColumnName()); assertEquals("PRIMARY KEY", ((Index) createTable.getIndexes().get(0)).getType()); assertEquals("mycol", ((Index) createTable.getIndexes().get(0)).getColumnsNames().get(1)); assertEquals(statement, "" + createTable); @@ -112,7 +108,9 @@ public void testCreateTableParams() throws JSQLParserException { } public void testCreateTableUniqueConstraint() throws JSQLParserException { - assertSqlCanBeParsedAndDeparsed("CREATE TABLE Activities (_id INTEGER PRIMARY KEY AUTOINCREMENT,uuid VARCHAR(255),user_id INTEGER,sound_id INTEGER,sound_type INTEGER,comment_id INTEGER,type String,tags VARCHAR(255),created_at INTEGER,content_id INTEGER,sharing_note_text VARCHAR(255),sharing_note_created_at INTEGER,UNIQUE (created_at, type, content_id, sound_id, user_id))", true); + assertSqlCanBeParsedAndDeparsed( + "CREATE TABLE Activities (_id INTEGER PRIMARY KEY AUTOINCREMENT,uuid VARCHAR(255),user_id INTEGER,sound_id INTEGER,sound_type INTEGER,comment_id INTEGER,type String,tags VARCHAR(255),created_at INTEGER,content_id INTEGER,sharing_note_text VARCHAR(255),sharing_note_created_at INTEGER,UNIQUE (created_at, type, content_id, sound_id, user_id))", + true); } public void testCreateTableDefault() throws JSQLParserException { @@ -144,17 +142,39 @@ public void testCreateTableWithUniqueKey() throws JSQLParserException { } public void testCreateTableVeryComplex() throws JSQLParserException { - assertSqlCanBeParsedAndDeparsed("CREATE TABLE `wp_commentmeta` ( `meta_id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `comment_id` bigint(20) unsigned NOT NULL DEFAULT '0', `meta_key` varchar(255) DEFAULT NULL, `meta_value` longtext, PRIMARY KEY (`meta_id`), KEY `comment_id` (`comment_id`), KEY `meta_key` (`meta_key`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8", true); - assertSqlCanBeParsedAndDeparsed("CREATE TABLE `wp_comments` ( `comment_ID` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `comment_post_ID` bigint(20) unsigned NOT NULL DEFAULT '0', `comment_author` tinytext NOT NULL, `comment_author_email` varchar(100) NOT NULL DEFAULT '', `comment_author_url` varchar(200) NOT NULL DEFAULT '', `comment_author_IP` varchar(100) NOT NULL DEFAULT '', `comment_date` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', `comment_date_gmt` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', `comment_content` text NOT NULL, `comment_karma` int(11) NOT NULL DEFAULT '0', `comment_approved` varchar(20) NOT NULL DEFAULT '1', `comment_agent` varchar(255) NOT NULL DEFAULT '', `comment_type` varchar(20) NOT NULL DEFAULT '', `comment_parent` bigint(20) unsigned NOT NULL DEFAULT '0', `user_id` bigint(20) unsigned NOT NULL DEFAULT '0', PRIMARY KEY (`comment_ID`), KEY `comment_post_ID` (`comment_post_ID`), KEY `comment_approved_date_gmt` (`comment_approved`,`comment_date_gmt`), KEY `comment_date_gmt` (`comment_date_gmt`), KEY `comment_parent` (`comment_parent`) ) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8", true); - assertSqlCanBeParsedAndDeparsed("CREATE TABLE `wp_links` ( `link_id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `link_url` varchar(255) NOT NULL DEFAULT '', `link_name` varchar(255) NOT NULL DEFAULT '', `link_image` varchar(255) NOT NULL DEFAULT '', `link_target` varchar(25) NOT NULL DEFAULT '', `link_description` varchar(255) NOT NULL DEFAULT '', `link_visible` varchar(20) NOT NULL DEFAULT 'Y', `link_owner` bigint(20) unsigned NOT NULL DEFAULT '1', `link_rating` int(11) NOT NULL DEFAULT '0', `link_updated` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', `link_rel` varchar(255) NOT NULL DEFAULT '', `link_notes` mediumtext NOT NULL, `link_rss` varchar(255) NOT NULL DEFAULT '', PRIMARY KEY (`link_id`), KEY `link_visible` (`link_visible`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8", true); - assertSqlCanBeParsedAndDeparsed("CREATE TABLE `wp_options` ( `option_id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `option_name` varchar(64) NOT NULL DEFAULT '', `option_value` longtext NOT NULL, `autoload` varchar(20) NOT NULL DEFAULT 'yes', PRIMARY KEY (`option_id`), UNIQUE KEY `option_name` (`option_name`) ) ENGINE=InnoDB AUTO_INCREMENT=402 DEFAULT CHARSET=utf8", true); - assertSqlCanBeParsedAndDeparsed("CREATE TABLE `wp_postmeta` ( `meta_id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `post_id` bigint(20) unsigned NOT NULL DEFAULT '0', `meta_key` varchar(255) DEFAULT NULL, `meta_value` longtext, PRIMARY KEY (`meta_id`), KEY `post_id` (`post_id`), KEY `meta_key` (`meta_key`) ) ENGINE=InnoDB AUTO_INCREMENT=11 DEFAULT CHARSET=utf8", true); - assertSqlCanBeParsedAndDeparsed("CREATE TABLE `wp_posts` ( `ID` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `post_author` bigint(20) unsigned NOT NULL DEFAULT '0', `post_date` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', `post_date_gmt` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', `post_content` longtext NOT NULL, `post_title` text NOT NULL, `post_excerpt` text NOT NULL, `post_status` varchar(20) NOT NULL DEFAULT 'publish', `comment_status` varchar(20) NOT NULL DEFAULT 'open', `ping_status` varchar(20) NOT NULL DEFAULT 'open', `post_password` varchar(20) NOT NULL DEFAULT '', `post_name` varchar(200) NOT NULL DEFAULT '', `to_ping` text NOT NULL, `pinged` text NOT NULL, `post_modified` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', `post_modified_gmt` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', `post_content_filtered` longtext NOT NULL, `post_parent` bigint(20) unsigned NOT NULL DEFAULT '0', `guid` varchar(255) NOT NULL DEFAULT '', `menu_order` int(11) NOT NULL DEFAULT '0', `post_type` varchar(20) NOT NULL DEFAULT 'post', `post_mime_type` varchar(100) NOT NULL DEFAULT '', `comment_count` bigint(20) NOT NULL DEFAULT '0', PRIMARY KEY (`ID`), KEY `post_name` (`post_name`), KEY `type_status_date` (`post_type`,`post_status`,`post_date`,`ID`), KEY `post_parent` (`post_parent`), KEY `post_author` (`post_author`) ) ENGINE=InnoDB AUTO_INCREMENT=55004 DEFAULT CHARSET=utf8", true); - assertSqlCanBeParsedAndDeparsed("CREATE TABLE `wp_term_relationships` ( `object_id` bigint(20) unsigned NOT NULL DEFAULT '0', `term_taxonomy_id` bigint(20) unsigned NOT NULL DEFAULT '0', `term_order` int(11) NOT NULL DEFAULT '0', PRIMARY KEY (`object_id`,`term_taxonomy_id`), KEY `term_taxonomy_id` (`term_taxonomy_id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8", true); - assertSqlCanBeParsedAndDeparsed("CREATE TABLE `wp_term_taxonomy` ( `term_taxonomy_id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `term_id` bigint(20) unsigned NOT NULL DEFAULT '0', `taxonomy` varchar(32) NOT NULL DEFAULT '', `description` longtext NOT NULL, `parent` bigint(20) unsigned NOT NULL DEFAULT '0', `count` bigint(20) NOT NULL DEFAULT '0', PRIMARY KEY (`term_taxonomy_id`), UNIQUE KEY `term_id_taxonomy` (`term_id`,`taxonomy`), KEY `taxonomy` (`taxonomy`) ) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8", true); - assertSqlCanBeParsedAndDeparsed("CREATE TABLE `wp_terms` ( `term_id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `name` varchar(200) NOT NULL DEFAULT '', `slug` varchar(200) NOT NULL DEFAULT '', `term_group` bigint(10) NOT NULL DEFAULT '0', PRIMARY KEY (`term_id`), UNIQUE KEY `slug` (`slug`), KEY `name` (`name`) ) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8", true); - assertSqlCanBeParsedAndDeparsed("CREATE TABLE `wp_usermeta` ( `umeta_id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `user_id` bigint(20) unsigned NOT NULL DEFAULT '0', `meta_key` varchar(255) DEFAULT NULL, `meta_value` longtext, PRIMARY KEY (`umeta_id`), KEY `user_id` (`user_id`), KEY `meta_key` (`meta_key`) ) ENGINE=InnoDB AUTO_INCREMENT=17 DEFAULT CHARSET=utf8", true); - assertSqlCanBeParsedAndDeparsed("CREATE TABLE `wp_users` ( `ID` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `user_login` varchar(60) NOT NULL DEFAULT '', `user_pass` varchar(64) NOT NULL DEFAULT '', `user_nicename` varchar(50) NOT NULL DEFAULT '', `user_email` varchar(100) NOT NULL DEFAULT '', `user_url` varchar(100) NOT NULL DEFAULT '', `user_registered` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', `user_activation_key` varchar(60) NOT NULL DEFAULT '', `user_status` int(11) NOT NULL DEFAULT '0', `display_name` varchar(250) NOT NULL DEFAULT '', PRIMARY KEY (`ID`), KEY `user_login_key` (`user_login`), KEY `user_nicename` (`user_nicename`) ) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8", true); + assertSqlCanBeParsedAndDeparsed( + "CREATE TABLE `wp_commentmeta` ( `meta_id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `comment_id` bigint(20) unsigned NOT NULL DEFAULT '0', `meta_key` varchar(255) DEFAULT NULL, `meta_value` longtext, PRIMARY KEY (`meta_id`), KEY `comment_id` (`comment_id`), KEY `meta_key` (`meta_key`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8", + true); + assertSqlCanBeParsedAndDeparsed( + "CREATE TABLE `wp_comments` ( `comment_ID` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `comment_post_ID` bigint(20) unsigned NOT NULL DEFAULT '0', `comment_author` tinytext NOT NULL, `comment_author_email` varchar(100) NOT NULL DEFAULT '', `comment_author_url` varchar(200) NOT NULL DEFAULT '', `comment_author_IP` varchar(100) NOT NULL DEFAULT '', `comment_date` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', `comment_date_gmt` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', `comment_content` text NOT NULL, `comment_karma` int(11) NOT NULL DEFAULT '0', `comment_approved` varchar(20) NOT NULL DEFAULT '1', `comment_agent` varchar(255) NOT NULL DEFAULT '', `comment_type` varchar(20) NOT NULL DEFAULT '', `comment_parent` bigint(20) unsigned NOT NULL DEFAULT '0', `user_id` bigint(20) unsigned NOT NULL DEFAULT '0', PRIMARY KEY (`comment_ID`), KEY `comment_post_ID` (`comment_post_ID`), KEY `comment_approved_date_gmt` (`comment_approved`,`comment_date_gmt`), KEY `comment_date_gmt` (`comment_date_gmt`), KEY `comment_parent` (`comment_parent`) ) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8", + true); + assertSqlCanBeParsedAndDeparsed( + "CREATE TABLE `wp_links` ( `link_id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `link_url` varchar(255) NOT NULL DEFAULT '', `link_name` varchar(255) NOT NULL DEFAULT '', `link_image` varchar(255) NOT NULL DEFAULT '', `link_target` varchar(25) NOT NULL DEFAULT '', `link_description` varchar(255) NOT NULL DEFAULT '', `link_visible` varchar(20) NOT NULL DEFAULT 'Y', `link_owner` bigint(20) unsigned NOT NULL DEFAULT '1', `link_rating` int(11) NOT NULL DEFAULT '0', `link_updated` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', `link_rel` varchar(255) NOT NULL DEFAULT '', `link_notes` mediumtext NOT NULL, `link_rss` varchar(255) NOT NULL DEFAULT '', PRIMARY KEY (`link_id`), KEY `link_visible` (`link_visible`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8", + true); + assertSqlCanBeParsedAndDeparsed( + "CREATE TABLE `wp_options` ( `option_id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `option_name` varchar(64) NOT NULL DEFAULT '', `option_value` longtext NOT NULL, `autoload` varchar(20) NOT NULL DEFAULT 'yes', PRIMARY KEY (`option_id`), UNIQUE KEY `option_name` (`option_name`) ) ENGINE=InnoDB AUTO_INCREMENT=402 DEFAULT CHARSET=utf8", + true); + assertSqlCanBeParsedAndDeparsed( + "CREATE TABLE `wp_postmeta` ( `meta_id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `post_id` bigint(20) unsigned NOT NULL DEFAULT '0', `meta_key` varchar(255) DEFAULT NULL, `meta_value` longtext, PRIMARY KEY (`meta_id`), KEY `post_id` (`post_id`), KEY `meta_key` (`meta_key`) ) ENGINE=InnoDB AUTO_INCREMENT=11 DEFAULT CHARSET=utf8", + true); + assertSqlCanBeParsedAndDeparsed( + "CREATE TABLE `wp_posts` ( `ID` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `post_author` bigint(20) unsigned NOT NULL DEFAULT '0', `post_date` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', `post_date_gmt` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', `post_content` longtext NOT NULL, `post_title` text NOT NULL, `post_excerpt` text NOT NULL, `post_status` varchar(20) NOT NULL DEFAULT 'publish', `comment_status` varchar(20) NOT NULL DEFAULT 'open', `ping_status` varchar(20) NOT NULL DEFAULT 'open', `post_password` varchar(20) NOT NULL DEFAULT '', `post_name` varchar(200) NOT NULL DEFAULT '', `to_ping` text NOT NULL, `pinged` text NOT NULL, `post_modified` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', `post_modified_gmt` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', `post_content_filtered` longtext NOT NULL, `post_parent` bigint(20) unsigned NOT NULL DEFAULT '0', `guid` varchar(255) NOT NULL DEFAULT '', `menu_order` int(11) NOT NULL DEFAULT '0', `post_type` varchar(20) NOT NULL DEFAULT 'post', `post_mime_type` varchar(100) NOT NULL DEFAULT '', `comment_count` bigint(20) NOT NULL DEFAULT '0', PRIMARY KEY (`ID`), KEY `post_name` (`post_name`), KEY `type_status_date` (`post_type`,`post_status`,`post_date`,`ID`), KEY `post_parent` (`post_parent`), KEY `post_author` (`post_author`) ) ENGINE=InnoDB AUTO_INCREMENT=55004 DEFAULT CHARSET=utf8", + true); + assertSqlCanBeParsedAndDeparsed( + "CREATE TABLE `wp_term_relationships` ( `object_id` bigint(20) unsigned NOT NULL DEFAULT '0', `term_taxonomy_id` bigint(20) unsigned NOT NULL DEFAULT '0', `term_order` int(11) NOT NULL DEFAULT '0', PRIMARY KEY (`object_id`,`term_taxonomy_id`), KEY `term_taxonomy_id` (`term_taxonomy_id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8", + true); + assertSqlCanBeParsedAndDeparsed( + "CREATE TABLE `wp_term_taxonomy` ( `term_taxonomy_id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `term_id` bigint(20) unsigned NOT NULL DEFAULT '0', `taxonomy` varchar(32) NOT NULL DEFAULT '', `description` longtext NOT NULL, `parent` bigint(20) unsigned NOT NULL DEFAULT '0', `count` bigint(20) NOT NULL DEFAULT '0', PRIMARY KEY (`term_taxonomy_id`), UNIQUE KEY `term_id_taxonomy` (`term_id`,`taxonomy`), KEY `taxonomy` (`taxonomy`) ) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8", + true); + assertSqlCanBeParsedAndDeparsed( + "CREATE TABLE `wp_terms` ( `term_id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `name` varchar(200) NOT NULL DEFAULT '', `slug` varchar(200) NOT NULL DEFAULT '', `term_group` bigint(10) NOT NULL DEFAULT '0', PRIMARY KEY (`term_id`), UNIQUE KEY `slug` (`slug`), KEY `name` (`name`) ) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8", + true); + assertSqlCanBeParsedAndDeparsed( + "CREATE TABLE `wp_usermeta` ( `umeta_id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `user_id` bigint(20) unsigned NOT NULL DEFAULT '0', `meta_key` varchar(255) DEFAULT NULL, `meta_value` longtext, PRIMARY KEY (`umeta_id`), KEY `user_id` (`user_id`), KEY `meta_key` (`meta_key`) ) ENGINE=InnoDB AUTO_INCREMENT=17 DEFAULT CHARSET=utf8", + true); + assertSqlCanBeParsedAndDeparsed( + "CREATE TABLE `wp_users` ( `ID` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `user_login` varchar(60) NOT NULL DEFAULT '', `user_pass` varchar(64) NOT NULL DEFAULT '', `user_nicename` varchar(50) NOT NULL DEFAULT '', `user_email` varchar(100) NOT NULL DEFAULT '', `user_url` varchar(100) NOT NULL DEFAULT '', `user_registered` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', `user_activation_key` varchar(60) NOT NULL DEFAULT '', `user_status` int(11) NOT NULL DEFAULT '0', `display_name` varchar(250) NOT NULL DEFAULT '', PRIMARY KEY (`ID`), KEY `user_login_key` (`user_login`), KEY `user_nicename` (`user_nicename`) ) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8", + true); } public void testCreateTableArrays() throws JSQLParserException { @@ -186,15 +206,18 @@ public void testMySqlCreateTableOnUpdateCurrentTimestamp() throws JSQLParserExce } public void testMySqlCreateTableWithConstraintWithCascade() throws JSQLParserException { - assertSqlCanBeParsedAndDeparsed("CREATE TABLE table1 (id INT (10) UNSIGNED NOT NULL AUTO_INCREMENT, t2_id INT (10) UNSIGNED DEFAULT NULL, t3_id INT (10) UNSIGNED DEFAULT NULL, t4_id INT (10) UNSIGNED NOT NULL, PRIMARY KEY (id), KEY fkc_table1_t4 (t4_id), KEY fkc_table1_t2 (t2_id), KEY fkc_table1_t3 (t3_id), CONSTRAINT fkc_table1_t2 FOREIGN KEY (t2_id) REFERENCES table_two(t2o_id) ON DELETE CASCADE ON UPDATE CASCADE, CONSTRAINT fkc_table1_t3 FOREIGN KEY (t3_id) REFERENCES table_three(t3o_id) ON UPDATE CASCADE, CONSTRAINT fkc_table1_t4 FOREIGN KEY (t4_id) REFERENCES table_four(t4o_id) ON DELETE CASCADE) ENGINE = InnoDB AUTO_INCREMENT = 8761 DEFAULT CHARSET = utf8"); + assertSqlCanBeParsedAndDeparsed( + "CREATE TABLE table1 (id INT (10) UNSIGNED NOT NULL AUTO_INCREMENT, t2_id INT (10) UNSIGNED DEFAULT NULL, t3_id INT (10) UNSIGNED DEFAULT NULL, t4_id INT (10) UNSIGNED NOT NULL, PRIMARY KEY (id), KEY fkc_table1_t4 (t4_id), KEY fkc_table1_t2 (t2_id), KEY fkc_table1_t3 (t3_id), CONSTRAINT fkc_table1_t2 FOREIGN KEY (t2_id) REFERENCES table_two(t2o_id) ON DELETE CASCADE ON UPDATE CASCADE, CONSTRAINT fkc_table1_t3 FOREIGN KEY (t3_id) REFERENCES table_three(t3o_id) ON UPDATE CASCADE, CONSTRAINT fkc_table1_t4 FOREIGN KEY (t4_id) REFERENCES table_four(t4o_id) ON DELETE CASCADE) ENGINE = InnoDB AUTO_INCREMENT = 8761 DEFAULT CHARSET = utf8"); } public void testMySqlCreateTableWithConstraintWithNoAction() throws JSQLParserException { - assertSqlCanBeParsedAndDeparsed("CREATE TABLE table1 (id INT (10) UNSIGNED NOT NULL AUTO_INCREMENT, t2_id INT (10) UNSIGNED DEFAULT NULL, t3_id INT (10) UNSIGNED DEFAULT NULL, t4_id INT (10) UNSIGNED NOT NULL, PRIMARY KEY (id), KEY fkc_table1_t4 (t4_id), KEY fkc_table1_t2 (t2_id), KEY fkc_table1_t3 (t3_id), CONSTRAINT fkc_table1_t2 FOREIGN KEY (t2_id) REFERENCES table_two(t2o_id) ON DELETE NO ACTION ON UPDATE NO ACTION, CONSTRAINT fkc_table1_t3 FOREIGN KEY (t3_id) REFERENCES table_three(t3o_id) ON UPDATE NO ACTION, CONSTRAINT fkc_table1_t4 FOREIGN KEY (t4_id) REFERENCES table_four(t4o_id) ON DELETE NO ACTION) ENGINE = InnoDB AUTO_INCREMENT = 8761 DEFAULT CHARSET = utf8"); + assertSqlCanBeParsedAndDeparsed( + "CREATE TABLE table1 (id INT (10) UNSIGNED NOT NULL AUTO_INCREMENT, t2_id INT (10) UNSIGNED DEFAULT NULL, t3_id INT (10) UNSIGNED DEFAULT NULL, t4_id INT (10) UNSIGNED NOT NULL, PRIMARY KEY (id), KEY fkc_table1_t4 (t4_id), KEY fkc_table1_t2 (t2_id), KEY fkc_table1_t3 (t3_id), CONSTRAINT fkc_table1_t2 FOREIGN KEY (t2_id) REFERENCES table_two(t2o_id) ON DELETE NO ACTION ON UPDATE NO ACTION, CONSTRAINT fkc_table1_t3 FOREIGN KEY (t3_id) REFERENCES table_three(t3o_id) ON UPDATE NO ACTION, CONSTRAINT fkc_table1_t4 FOREIGN KEY (t4_id) REFERENCES table_four(t4o_id) ON DELETE NO ACTION) ENGINE = InnoDB AUTO_INCREMENT = 8761 DEFAULT CHARSET = utf8"); } public void testMySqlCreateTableWithTextIndexes() throws JSQLParserException { - assertSqlCanBeParsedAndDeparsed("CREATE TABLE table2 (id INT (10) UNSIGNED NOT NULL AUTO_INCREMENT, name TEXT, url TEXT, created TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, updated TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, PRIMARY KEY (id), FULLTEXT KEY idx_table2_name (name)) ENGINE = InnoDB AUTO_INCREMENT = 7334 DEFAULT CHARSET = utf8"); + assertSqlCanBeParsedAndDeparsed( + "CREATE TABLE table2 (id INT (10) UNSIGNED NOT NULL AUTO_INCREMENT, name TEXT, url TEXT, created TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, updated TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, PRIMARY KEY (id), FULLTEXT KEY idx_table2_name (name)) ENGINE = InnoDB AUTO_INCREMENT = 7334 DEFAULT CHARSET = utf8"); } public void testCreateTableWithCheck() throws JSQLParserException { @@ -202,7 +225,9 @@ public void testCreateTableWithCheck() throws JSQLParserException { } public void testCreateTableIssue270() throws JSQLParserException { - assertSqlCanBeParsedAndDeparsed("CREATE TABLE item (i_item_sk integer NOT NULL, i_item_id character (16) NOT NULL, i_rec_start_date date, i_rec_end_date date, i_item_desc character varying(200), i_current_price numeric(7,2), i_wholesale_cost numeric(7,2), i_brand_id integer, i_brand character(50), i_class_id integer, i_class character(50), i_category_id integer, i_category character(50), i_manufact_id integer, i_manufact character(50), i_size character(20), i_formulation character(20), i_color character(20), i_units character(10), i_container character(10), i_manager_id integer, i_product_name character(50) )", true); + assertSqlCanBeParsedAndDeparsed( + "CREATE TABLE item (i_item_sk integer NOT NULL, i_item_id character (16) NOT NULL, i_rec_start_date date, i_rec_end_date date, i_item_desc character varying(200), i_current_price numeric(7,2), i_wholesale_cost numeric(7,2), i_brand_id integer, i_brand character(50), i_class_id integer, i_class character(50), i_category_id integer, i_category character(50), i_manufact_id integer, i_manufact character(50), i_size character(20), i_formulation character(20), i_color character(20), i_units character(10), i_container character(10), i_manager_id integer, i_product_name character(50) )", + true); } public void testCreateTableIssue270_1() throws JSQLParserException { @@ -256,31 +281,30 @@ public void testCreateUnitonIssue402() throws JSQLParserException { public void testCreateUnitonIssue402_2() throws JSQLParserException { assertSqlCanBeParsedAndDeparsed("CREATE TABLE temp.abc AS (SELECT sku FROM temp.a UNION SELECT sku FROM temp.b)"); } - + public void testTimestampWithTimezone() throws JSQLParserException { assertSqlCanBeParsedAndDeparsed("CREATE TABLE country_region (" + - "regionid BIGINT NOT NULL CONSTRAINT pk_auth_region PRIMARY KEY, " + - "region_name VARCHAR (100) NOT NULL, " + - "creation_date TIMESTAMP (0) WITH TIME ZONE DEFAULT CURRENT_TIMESTAMP (0) NOT NULL, " + - "last_change_date TIMESTAMP WITH TIME ZONE DEFAULT CURRENT_TIMESTAMP (0), " + - "CONSTRAINT region_name_unique UNIQUE (region_name))"); + "regionid BIGINT NOT NULL CONSTRAINT pk_auth_region PRIMARY KEY, " + + "region_name VARCHAR (100) NOT NULL, " + + "creation_date TIMESTAMP (0) WITH TIME ZONE DEFAULT CURRENT_TIMESTAMP (0) NOT NULL, " + + "last_change_date TIMESTAMP WITH TIME ZONE DEFAULT CURRENT_TIMESTAMP (0), " + + "CONSTRAINT region_name_unique UNIQUE (region_name))"); } - + public void testCreateTableAsSelect3() throws JSQLParserException { assertSqlCanBeParsedAndDeparsed("CREATE TABLE public.sales1 AS (SELECT * FROM public.sales)"); } - + public void testQuotedPKColumnsIssue491() throws JSQLParserException { assertSqlCanBeParsedAndDeparsed("CREATE TABLE `FOO` (`ID` INT64, `NAME` STRING (100)) PRIMARY KEY (`ID`)"); } - + public void testQuotedPKColumnsIssue491_2() throws JSQLParserException { assertSqlCanBeParsedAndDeparsed("CREATE TABLE `FOO` (`ID` INT64, `NAME` STRING (100), PRIMARY KEY (`ID`))"); } public void testRUBiSCreateList() throws Exception { - BufferedReader in = new BufferedReader(new InputStreamReader(CreateTableTest.class. - getResourceAsStream("/RUBiS-create-requests.txt"))); + BufferedReader in = new BufferedReader(new InputStreamReader(CreateTableTest.class.getResourceAsStream("/RUBiS-create-requests.txt"))); TablesNamesFinder tablesNamesFinder = new TablesNamesFinder(); try { @@ -313,8 +337,7 @@ public void testRUBiSCreateList() throws Exception { String tableName = getLine(in); String cols = getLine(in); try { - CreateTable createTable = (CreateTable) parserManager. - parse(new StringReader(query)); + CreateTable createTable = (CreateTable) parserManager.parse(new StringReader(query)); String[] colsList = null; if ("null".equals(cols)) { colsList = new String[0]; @@ -331,18 +354,15 @@ public void testRUBiSCreateList() throws Exception { } List colsFound = new ArrayList(); if (createTable.getColumnDefinitions() != null) { - for (Iterator iter = createTable.getColumnDefinitions().iterator(); iter. - hasNext();) { + for (Iterator iter = createTable.getColumnDefinitions().iterator(); iter.hasNext();) { ColumnDefinition columnDefinition = (ColumnDefinition) iter.next(); String colName = columnDefinition.getColumnName(); boolean unique = false; if (createTable.getIndexes() != null) { - for (Iterator iterator = createTable.getIndexes().iterator(); iterator. - hasNext();) { + for (Iterator iterator = createTable.getIndexes().iterator(); iterator.hasNext();) { Index index = (Index) iterator.next(); - if (index.getType().equals("PRIMARY KEY") && index. - getColumnsNames().size() == 1 - && index.getColumnsNames().get(0).equals(colName)) { + if (index.getType().equals("PRIMARY KEY") && index.getColumnsNames().size() == 1 + && index.getColumnsNames().get(0).equals(colName)) { unique = true; } @@ -351,14 +371,13 @@ public void testRUBiSCreateList() throws Exception { if (!unique) { if (columnDefinition.getColumnSpecStrings() != null) { - for (Iterator iterator = columnDefinition.getColumnSpecStrings(). - iterator(); iterator - .hasNext();) { + for (Iterator iterator = columnDefinition.getColumnSpecStrings().iterator(); iterator + .hasNext();) { String par = (String) iterator.next(); if (par.equals("UNIQUE")) { unique = true; } else if (par.equals("PRIMARY") && iterator.hasNext() - && iterator.next().equals("KEY")) { + && iterator.next().equals("KEY")) { unique = true; } } @@ -396,7 +415,7 @@ private String getLine(BufferedReader in) throws Exception { line = in.readLine(); if (line != null) { if ((line.length() != 0) - && ((line.length() < 2) || (line.length() >= 2) + && ((line.length() < 2) || (line.length() >= 2) && !(line.charAt(0) == '/' && line.charAt(1) == '/'))) { break; } diff --git a/src/test/java/net/sf/jsqlparser/test/create/CreateViewTest.java b/src/test/java/net/sf/jsqlparser/test/create/CreateViewTest.java index 222f32ad2..362dde83c 100644 --- a/src/test/java/net/sf/jsqlparser/test/create/CreateViewTest.java +++ b/src/test/java/net/sf/jsqlparser/test/create/CreateViewTest.java @@ -24,8 +24,7 @@ public void testCreateView() throws JSQLParserException { CreateView createView = (CreateView) parserManager.parse(new StringReader(statement)); assertFalse(createView.isOrReplace()); assertEquals("myview", createView.getView().getName()); - assertEquals("mytab", ((Table) ((PlainSelect) createView.getSelectBody()).getFromItem()). - getName()); + assertEquals("mytab", ((Table) ((PlainSelect) createView.getSelectBody()).getFromItem()).getName()); assertEquals(statement, createView.toString()); } @@ -55,8 +54,7 @@ public void testCreateView5() throws JSQLParserException { CreateView createView = (CreateView) parserManager.parse(new StringReader(statement)); assertFalse(createView.isOrReplace()); assertEquals("myview", createView.getView().getName()); - assertEquals("mytab", ((Table) ((PlainSelect) createView.getSelectBody()).getFromItem()). - getName()); + assertEquals("mytab", ((Table) ((PlainSelect) createView.getSelectBody()).getFromItem()).getName()); assertEquals(statement2, createView.toString()); } diff --git a/src/test/java/net/sf/jsqlparser/test/drop/DropTest.java b/src/test/java/net/sf/jsqlparser/test/drop/DropTest.java index d06eba742..cd9379d34 100644 --- a/src/test/java/net/sf/jsqlparser/test/drop/DropTest.java +++ b/src/test/java/net/sf/jsqlparser/test/drop/DropTest.java @@ -42,17 +42,17 @@ public void testDrop2() throws JSQLParserException { public void testDropIfExists() throws JSQLParserException { assertSqlCanBeParsedAndDeparsed("DROP TABLE IF EXISTS my_table"); } - + @Test public void testDropRestrictIssue510() throws JSQLParserException { assertSqlCanBeParsedAndDeparsed("DROP TABLE TABLE2 RESTRICT"); } - + @Test public void testDropViewIssue545() throws JSQLParserException { assertSqlCanBeParsedAndDeparsed("DROP VIEW myview"); } - + @Test public void testDropViewIssue545_2() throws JSQLParserException { assertSqlCanBeParsedAndDeparsed("DROP VIEW IF EXISTS myview"); diff --git a/src/test/java/net/sf/jsqlparser/test/insert/InsertTest.java b/src/test/java/net/sf/jsqlparser/test/insert/InsertTest.java index 1e11a3588..5588fe47f 100644 --- a/src/test/java/net/sf/jsqlparser/test/insert/InsertTest.java +++ b/src/test/java/net/sf/jsqlparser/test/insert/InsertTest.java @@ -40,10 +40,8 @@ public void testRegularInsert() throws JSQLParserException { assertEquals(3, ((ExpressionList) insert.getItemsList()).getExpressions().size()); assertTrue(((ExpressionList) insert.getItemsList()).getExpressions().get(0) instanceof JdbcParameter); assertEquals("sadfsd", - ((StringValue) ((ExpressionList) insert.getItemsList()).getExpressions().get(1)). - getValue()); - assertEquals(234, ((LongValue) ((ExpressionList) insert.getItemsList()).getExpressions(). - get(2)).getValue()); + ((StringValue) ((ExpressionList) insert.getItemsList()).getExpressions().get(1)).getValue()); + assertEquals(234, ((LongValue) ((ExpressionList) insert.getItemsList()).getExpressions().get(2)).getValue()); assertEquals(statement, "" + insert); statement = "INSERT INTO myschema.mytable VALUES (?, ?, 2.3)"; @@ -51,9 +49,8 @@ public void testRegularInsert() throws JSQLParserException { assertEquals("myschema.mytable", insert.getTable().getFullyQualifiedName()); assertEquals(3, ((ExpressionList) insert.getItemsList()).getExpressions().size()); assertTrue(((ExpressionList) insert.getItemsList()).getExpressions().get(0) instanceof JdbcParameter); - assertEquals(2.3, ((DoubleValue) ((ExpressionList) insert.getItemsList()).getExpressions(). - get(2)).getValue(), - 0.0); + assertEquals(2.3, ((DoubleValue) ((ExpressionList) insert.getItemsList()).getExpressions().get(2)).getValue(), + 0.0); assertEquals(statement, "" + insert); } @@ -66,8 +63,7 @@ public void testInsertWithKeywordValue() throws JSQLParserException { assertEquals(1, insert.getColumns().size()); assertEquals("col1", ((Column) insert.getColumns().get(0)).getColumnName()); assertEquals("val1", - ((StringValue) ((ExpressionList) insert.getItemsList()).getExpressions().get(0)). - getValue()); + ((StringValue) ((ExpressionList) insert.getItemsList()).getExpressions().get(0)).getValue()); assertEquals("INSERT INTO mytable (col1) VALUES ('val1')", insert.toString()); } @@ -83,13 +79,13 @@ public void testInsertFromSelect() throws JSQLParserException { assertNull(insert.getItemsList()); assertNotNull(insert.getSelect()); assertEquals("mytable2", - ((Table) ((PlainSelect) insert.getSelect().getSelectBody()).getFromItem()).getName()); + ((Table) ((PlainSelect) insert.getSelect().getSelectBody()).getFromItem()).getName()); // toString uses brakets String statementToString = "INSERT INTO mytable (col1, col2, col3) SELECT * FROM mytable2"; assertEquals(statementToString, "" + insert); } - + @Test public void testInsertFromSet() throws JSQLParserException { String statement = "INSERT INTO mytable SET col1 = 12, col2 = name1 * name2"; @@ -103,11 +99,11 @@ public void testInsertFromSet() throws JSQLParserException { assertEquals("name1 * name2", insert.getSetExpressionList().get(1).toString()); assertEquals(statement, "" + insert); } - + @Test public void testInsertValuesWithDuplicateElimination() throws JSQLParserException { String statement = "INSERT INTO TEST (ID, COUNTER) VALUES (123, 0) " - + "ON DUPLICATE KEY UPDATE COUNTER = COUNTER + 1"; + + "ON DUPLICATE KEY UPDATE COUNTER = COUNTER + 1"; Insert insert = (Insert) parserManager.parse(new StringReader(statement)); assertEquals("TEST", insert.getTable().getName()); assertEquals(2, insert.getColumns().size()); @@ -115,10 +111,8 @@ public void testInsertValuesWithDuplicateElimination() throws JSQLParserExceptio assertEquals("ID", ((Column) insert.getColumns().get(0)).getColumnName()); assertEquals("COUNTER", ((Column) insert.getColumns().get(1)).getColumnName()); assertEquals(2, ((ExpressionList) insert.getItemsList()).getExpressions().size()); - assertEquals(123, ((LongValue) ((ExpressionList) insert.getItemsList()).getExpressions(). - get(0)).getValue()); - assertEquals(0, ((LongValue) ((ExpressionList) insert.getItemsList()).getExpressions(). - get(1)).getValue()); + assertEquals(123, ((LongValue) ((ExpressionList) insert.getItemsList()).getExpressions().get(0)).getValue()); + assertEquals(0, ((LongValue) ((ExpressionList) insert.getItemsList()).getExpressions().get(1)).getValue()); assertEquals(1, insert.getDuplicateUpdateColumns().size()); assertEquals("COUNTER", ((Column) insert.getDuplicateUpdateColumns().get(0)).getColumnName()); assertEquals(1, insert.getDuplicateUpdateExpressionList().size()); @@ -127,11 +121,11 @@ public void testInsertValuesWithDuplicateElimination() throws JSQLParserExceptio assertTrue(insert.isUseDuplicate()); assertEquals(statement, "" + insert); } - + @Test public void testInsertFromSetWithDuplicateElimination() throws JSQLParserException { String statement = "INSERT INTO mytable SET col1 = 122 " - + "ON DUPLICATE KEY UPDATE col2 = col2 + 1, col3 = 'saint'"; + + "ON DUPLICATE KEY UPDATE col2 = col2 + 1, col3 = 'saint'"; Insert insert = (Insert) parserManager.parse(new StringReader(statement)); assertEquals("mytable", insert.getTable().getName()); assertEquals(1, insert.getSetColumns().size()); @@ -244,7 +238,7 @@ public void testModifierPriority3() throws JSQLParserException { public void testIssue223() throws JSQLParserException { assertSqlCanBeParsedAndDeparsed("INSERT INTO user VALUES (2001, '\\'Clark\\'', 'Kent')"); } - + @Test public void testKeywordPrecisionIssue363() throws JSQLParserException { assertSqlCanBeParsedAndDeparsed("INSERT INTO test (user_id, precision) VALUES (1, '111')"); @@ -254,27 +248,27 @@ public void testKeywordPrecisionIssue363() throws JSQLParserException { public void testWithDeparsingIssue406() throws JSQLParserException { assertSqlCanBeParsedAndDeparsed("insert into mytab3 (a,b,c) select a,b,c from mytab where exists(with t as (select * from mytab2) select * from t)", true); } - + @Test public void testInsertSetInDeparsing() throws JSQLParserException { assertSqlCanBeParsedAndDeparsed("INSERT INTO mytable SET col1 = 12, col2 = name1 * name2"); } - + @Test public void testInsertValuesWithDuplicateEliminationInDeparsing() throws JSQLParserException { assertSqlCanBeParsedAndDeparsed("INSERT INTO TEST (ID, COUNTER) VALUES (123, 0) " - + "ON DUPLICATE KEY UPDATE COUNTER = COUNTER + 1"); + + "ON DUPLICATE KEY UPDATE COUNTER = COUNTER + 1"); } - + @Test public void testInsertSetWithDuplicateEliminationInDeparsing() throws JSQLParserException { assertSqlCanBeParsedAndDeparsed("INSERT INTO mytable SET col1 = 122 " - + "ON DUPLICATE KEY UPDATE col2 = col2 + 1, col3 = 'saint'"); + + "ON DUPLICATE KEY UPDATE col2 = col2 + 1, col3 = 'saint'"); } - + @Test public void testInsertTableWithAliasIssue526() throws JSQLParserException { assertSqlCanBeParsedAndDeparsed("INSERT INTO account t (name, addr, phone) SELECT * FROM user"); } - + } diff --git a/src/test/java/net/sf/jsqlparser/test/merge/MergeTest.java b/src/test/java/net/sf/jsqlparser/test/merge/MergeTest.java index 048a3bf7a..81a7da692 100644 --- a/src/test/java/net/sf/jsqlparser/test/merge/MergeTest.java +++ b/src/test/java/net/sf/jsqlparser/test/merge/MergeTest.java @@ -36,16 +36,16 @@ public class MergeTest { @Test public void testOracleMergeIntoStatement() throws JSQLParserException { String sql = "MERGE INTO bonuses B\n" - + "USING (\n" - + " SELECT employee_id, salary\n" - + " FROM employee\n" - + " WHERE dept_no =20) E\n" - + "ON (B.employee_id = E.employee_id)\n" - + "WHEN MATCHED THEN\n" - + " UPDATE SET B.bonus = E.salary * 0.1\n" - + "WHEN NOT MATCHED THEN\n" - + " INSERT (B.employee_id, B.bonus)\n" - + " VALUES (E.employee_id, E.salary * 0.05) "; + + "USING (\n" + + " SELECT employee_id, salary\n" + + " FROM employee\n" + + " WHERE dept_no =20) E\n" + + "ON (B.employee_id = E.employee_id)\n" + + "WHEN MATCHED THEN\n" + + " UPDATE SET B.bonus = E.salary * 0.1\n" + + "WHEN NOT MATCHED THEN\n" + + " INSERT (B.employee_id, B.bonus)\n" + + " VALUES (E.employee_id, E.salary * 0.05) "; Statement statement = CCJSqlParserUtil.parse(sql); @@ -57,11 +57,11 @@ public void testOracleMergeIntoStatement() throws JSQLParserException { @Test public void testMergeIssue232() throws JSQLParserException { String sql = "MERGE INTO xyz using dual " - + "ON ( custom_id = ? ) " - + "WHEN matched THEN " - + "UPDATE SET abc = sysdate " - + "WHEN NOT matched THEN " - + "INSERT (custom_id) VALUES (?)"; + + "ON ( custom_id = ? ) " + + "WHEN matched THEN " + + "UPDATE SET abc = sysdate " + + "WHEN NOT matched THEN " + + "INSERT (custom_id) VALUES (?)"; assertSqlCanBeParsedAndDeparsed(sql, true); } @@ -69,82 +69,82 @@ public void testMergeIssue232() throws JSQLParserException { @Test public void testComplexOracleMergeIntoStatement() throws JSQLParserException { String sql = "MERGE INTO DestinationValue Dest USING\n" - + "(SELECT TheMonth ,\n" - + " IdentifyingKey ,\n" - + " SUM(NetPrice) NetPrice ,\n" - + " SUM(NetDeductionPrice) NetDeductionPrice ,\n" - + " MAX(CASE RowNumberMain WHEN 1 THEN QualityIndicator ELSE NULL END) QualityIndicatorMain ,\n" - + " MAX(CASE RowNumberDeduction WHEN 1 THEN QualityIndicator ELSE NULL END) QualityIndicatorDeduction \n" - + "FROM\n" - + " (SELECT pd.TheMonth ,\n" - + " COALESCE(pd.IdentifyingKey, 0) IdentifyingKey ,\n" - + " COALESCE(CASE pd.IsDeduction WHEN 1 THEN NULL ELSE ConvertedCalculatedValue END, 0) NetPrice ,\n" - + " COALESCE(CASE pd.IsDeduction WHEN 1 THEN ConvertedCalculatedValue ELSE NULL END, 0) NetDeductionPrice ,\n" - + " pd.QualityIndicator ,\n" - + " row_number() OVER (PARTITION BY pd.TheMonth , pd.IdentifyingKey ORDER BY COALESCE(pd.QualityMonth, to_date('18991230', 'yyyymmdd')) DESC ) RowNumberMain ,\n" - + " NULL RowNumberDeduction\n" - + " FROM PricingData pd\n" - + " WHERE pd.ThingsKey IN (:ThingsKeys)\n" - + " AND pd.TheMonth >= :startdate\n" - + " AND pd.TheMonth <= :enddate\n" - + " AND pd.IsDeduction = 0\n" - + " UNION ALL\n" - + " SELECT pd.TheMonth ,\n" - + " COALESCE(pd.IdentifyingKey, 0) IdentifyingKey ,\n" - + " COALESCE(CASE pd.IsDeduction WHEN 1 THEN NULL ELSE ConvertedCalculatedValue END, 0) NetPrice ,\n" - + " COALESCE(CASE pd.IsDeduction WHEN 1 THEN ConvertedCalculatedValue ELSE NULL END, 0) NetDeductionPrice ,\n" - + " pd.QualityIndicator ,\n" - + " NULL RowNumberMain ,\n" - + " row_number() OVER (PARTITION BY pd.TheMonth , pd.IdentifyingKey ORDER BY COALESCE(pd.QualityMonth, to_date('18991230', 'yyyymmdd')) DESC ) RowNumberDeduction \n" - + " FROM PricingData pd\n" - + " WHERE pd.ThingsKey IN (:ThingsKeys)\n" - + " AND pd.TheMonth >= :startdate\n" - + " AND pd.TheMonth <= :enddate\n" - + " AND pd.IsDeduction <> 0\n" - + " )\n" - + "GROUP BY TheMonth ,\n" - + " IdentifyingKey\n" - + ") Data ON ( Dest.TheMonth = Data.TheMonth \n" - + " AND COALESCE(Dest.IdentifyingKey,0) = Data.IdentifyingKey )\n" - + "WHEN MATCHED THEN\n" - + " UPDATE\n" - + " SET NetPrice = ROUND(Data.NetPrice, PriceDecimalScale) ,\n" - + " DeductionPrice = ROUND(Data.NetDeductionPrice, PriceDecimalScale) ,\n" - + " SubTotalPrice = ROUND(Data.NetPrice + (Data.NetDeductionPrice * Dest.HasDeductions), PriceDecimalScale) ,\n" - + " QualityIndicator =\n" - + " CASE Dest.HasDeductions\n" - + " WHEN 0\n" - + " THEN Data.QualityIndicatorMain\n" - + " ELSE\n" - + " CASE\n" - + " WHEN COALESCE(Data.CheckMonth1, to_date('18991230', 'yyyymmdd'))> COALESCE(Data.CheckMonth2,to_date('18991230', 'yyyymmdd'))\n" - + " THEN Data.QualityIndicatorMain\n" - + " ELSE Data.QualityIndicatorDeduction\n" - + " END\n" - + " END ,\n" - + " RecUser = :recuser ,\n" - + " RecDate = :recdate\n" - + " WHERE 1 =1\n" - + " AND IsImportant = 1\n" - + " AND COALESCE(Data.SomeFlag,-1) <> COALESCE(ROUND(Something, 1),-1)\n" - + " DELETE WHERE\n" - + " IsImportant = 0\n" - + " OR COALESCE(Data.SomeFlag,-1) = COALESCE(ROUND(Something, 1),-1)\n" - + " WHEN NOT MATCHED THEN \n" - + " INSERT\n" - + " (\n" - + " TheMonth ,\n" - + " ThingsKey ,\n" - + " IsDeduction ,\n" - + " CreatedAt \n" - + " )\n" - + " VALUES\n" - + " (\n" - + " Data.TheMonth ,\n" - + " Data.ThingsKey ,\n" - + " Data.IsDeduction ,\n" - + " SYSDATE\n" - + " )\n"; + + "(SELECT TheMonth ,\n" + + " IdentifyingKey ,\n" + + " SUM(NetPrice) NetPrice ,\n" + + " SUM(NetDeductionPrice) NetDeductionPrice ,\n" + + " MAX(CASE RowNumberMain WHEN 1 THEN QualityIndicator ELSE NULL END) QualityIndicatorMain ,\n" + + " MAX(CASE RowNumberDeduction WHEN 1 THEN QualityIndicator ELSE NULL END) QualityIndicatorDeduction \n" + + "FROM\n" + + " (SELECT pd.TheMonth ,\n" + + " COALESCE(pd.IdentifyingKey, 0) IdentifyingKey ,\n" + + " COALESCE(CASE pd.IsDeduction WHEN 1 THEN NULL ELSE ConvertedCalculatedValue END, 0) NetPrice ,\n" + + " COALESCE(CASE pd.IsDeduction WHEN 1 THEN ConvertedCalculatedValue ELSE NULL END, 0) NetDeductionPrice ,\n" + + " pd.QualityIndicator ,\n" + + " row_number() OVER (PARTITION BY pd.TheMonth , pd.IdentifyingKey ORDER BY COALESCE(pd.QualityMonth, to_date('18991230', 'yyyymmdd')) DESC ) RowNumberMain ,\n" + + " NULL RowNumberDeduction\n" + + " FROM PricingData pd\n" + + " WHERE pd.ThingsKey IN (:ThingsKeys)\n" + + " AND pd.TheMonth >= :startdate\n" + + " AND pd.TheMonth <= :enddate\n" + + " AND pd.IsDeduction = 0\n" + + " UNION ALL\n" + + " SELECT pd.TheMonth ,\n" + + " COALESCE(pd.IdentifyingKey, 0) IdentifyingKey ,\n" + + " COALESCE(CASE pd.IsDeduction WHEN 1 THEN NULL ELSE ConvertedCalculatedValue END, 0) NetPrice ,\n" + + " COALESCE(CASE pd.IsDeduction WHEN 1 THEN ConvertedCalculatedValue ELSE NULL END, 0) NetDeductionPrice ,\n" + + " pd.QualityIndicator ,\n" + + " NULL RowNumberMain ,\n" + + " row_number() OVER (PARTITION BY pd.TheMonth , pd.IdentifyingKey ORDER BY COALESCE(pd.QualityMonth, to_date('18991230', 'yyyymmdd')) DESC ) RowNumberDeduction \n" + + " FROM PricingData pd\n" + + " WHERE pd.ThingsKey IN (:ThingsKeys)\n" + + " AND pd.TheMonth >= :startdate\n" + + " AND pd.TheMonth <= :enddate\n" + + " AND pd.IsDeduction <> 0\n" + + " )\n" + + "GROUP BY TheMonth ,\n" + + " IdentifyingKey\n" + + ") Data ON ( Dest.TheMonth = Data.TheMonth \n" + + " AND COALESCE(Dest.IdentifyingKey,0) = Data.IdentifyingKey )\n" + + "WHEN MATCHED THEN\n" + + " UPDATE\n" + + " SET NetPrice = ROUND(Data.NetPrice, PriceDecimalScale) ,\n" + + " DeductionPrice = ROUND(Data.NetDeductionPrice, PriceDecimalScale) ,\n" + + " SubTotalPrice = ROUND(Data.NetPrice + (Data.NetDeductionPrice * Dest.HasDeductions), PriceDecimalScale) ,\n" + + " QualityIndicator =\n" + + " CASE Dest.HasDeductions\n" + + " WHEN 0\n" + + " THEN Data.QualityIndicatorMain\n" + + " ELSE\n" + + " CASE\n" + + " WHEN COALESCE(Data.CheckMonth1, to_date('18991230', 'yyyymmdd'))> COALESCE(Data.CheckMonth2,to_date('18991230', 'yyyymmdd'))\n" + + " THEN Data.QualityIndicatorMain\n" + + " ELSE Data.QualityIndicatorDeduction\n" + + " END\n" + + " END ,\n" + + " RecUser = :recuser ,\n" + + " RecDate = :recdate\n" + + " WHERE 1 =1\n" + + " AND IsImportant = 1\n" + + " AND COALESCE(Data.SomeFlag,-1) <> COALESCE(ROUND(Something, 1),-1)\n" + + " DELETE WHERE\n" + + " IsImportant = 0\n" + + " OR COALESCE(Data.SomeFlag,-1) = COALESCE(ROUND(Something, 1),-1)\n" + + " WHEN NOT MATCHED THEN \n" + + " INSERT\n" + + " (\n" + + " TheMonth ,\n" + + " ThingsKey ,\n" + + " IsDeduction ,\n" + + " CreatedAt \n" + + " )\n" + + " VALUES\n" + + " (\n" + + " Data.TheMonth ,\n" + + " Data.ThingsKey ,\n" + + " Data.IsDeduction ,\n" + + " SYSDATE\n" + + " )\n"; Statement statement = CCJSqlParserUtil.parse(sql); diff --git a/src/test/java/net/sf/jsqlparser/test/replace/ReplaceTest.java b/src/test/java/net/sf/jsqlparser/test/replace/ReplaceTest.java index e88032b60..84cf06de8 100644 --- a/src/test/java/net/sf/jsqlparser/test/replace/ReplaceTest.java +++ b/src/test/java/net/sf/jsqlparser/test/replace/ReplaceTest.java @@ -47,11 +47,9 @@ public void testReplaceSyntax2() throws JSQLParserException { assertEquals("col1", ((Column) replace.getColumns().get(0)).getColumnName()); assertEquals("col2", ((Column) replace.getColumns().get(1)).getColumnName()); assertEquals("col3", ((Column) replace.getColumns().get(2)).getColumnName()); - assertEquals("as", ((StringValue) ((ExpressionList) replace.getItemsList()).getExpressions(). - get(0)).getValue()); + assertEquals("as", ((StringValue) ((ExpressionList) replace.getItemsList()).getExpressions().get(0)).getValue()); assertTrue(((ExpressionList) replace.getItemsList()).getExpressions().get(1) instanceof JdbcParameter); - assertEquals(565, ((LongValue) ((ExpressionList) replace.getItemsList()).getExpressions(). - get(2)).getValue()); + assertEquals(565, ((LongValue) ((ExpressionList) replace.getItemsList()).getExpressions().get(2)).getValue()); assertEquals(statement, "" + replace); } @@ -69,20 +67,16 @@ public void testReplaceSyntax3() throws JSQLParserException { @Test public void testProblemReplaceParseDeparse() throws JSQLParserException { - TestUtils. - assertSqlCanBeParsedAndDeparsed("REPLACE a_table (ID, A, B) SELECT A_ID, A, B FROM b_table", false); + TestUtils.assertSqlCanBeParsedAndDeparsed("REPLACE a_table (ID, A, B) SELECT A_ID, A, B FROM b_table", false); } @Test public void testProblemMissingIntoIssue389() throws JSQLParserException { - TestUtils. - assertSqlCanBeParsedAndDeparsed("REPLACE INTO mytable (key, data) VALUES (1, \"aaa\")"); + TestUtils.assertSqlCanBeParsedAndDeparsed("REPLACE INTO mytable (key, data) VALUES (1, \"aaa\")"); } - @Test public void testMultipleValues() throws JSQLParserException { - TestUtils. - assertSqlCanBeParsedAndDeparsed("REPLACE INTO mytable (col1, col2, col3) VALUES (1, \"aaa\", now()), (2, \"bbb\", now())"); + TestUtils.assertSqlCanBeParsedAndDeparsed("REPLACE INTO mytable (col1, col2, col3) VALUES (1, \"aaa\", now()), (2, \"bbb\", now())"); } } diff --git a/src/test/java/net/sf/jsqlparser/test/select/HiveTest.java b/src/test/java/net/sf/jsqlparser/test/select/HiveTest.java index 42aa97c7f..f5fa5fbd8 100644 --- a/src/test/java/net/sf/jsqlparser/test/select/HiveTest.java +++ b/src/test/java/net/sf/jsqlparser/test/select/HiveTest.java @@ -24,11 +24,11 @@ public void testLeftSemiJoin() throws Exception { Statement statement; sql = "SELECT\n" - + " Something\n" - + "FROM\n" - + " Sometable\n" - + "LEFT SEMI JOIN\n" - + " Othertable\n"; + + " Something\n" + + "FROM\n" + + " Sometable\n" + + "LEFT SEMI JOIN\n" + + " Othertable\n"; statement = CCJSqlParserUtil.parse(sql); @@ -37,8 +37,7 @@ public void testLeftSemiJoin() throws Exception { Select select = (Select) statement; PlainSelect plainSelect = (PlainSelect) select.getSelectBody(); assertEquals(1, plainSelect.getJoins().size()); - assertEquals("Othertable", ((Table) plainSelect.getJoins().get(0).getRightItem()). - getFullyQualifiedName()); + assertEquals("Othertable", ((Table) plainSelect.getJoins().get(0).getRightItem()).getFullyQualifiedName()); assertTrue(plainSelect.getJoins().get(0).isLeft()); assertTrue(plainSelect.getJoins().get(0).isSemi()); assertStatementCanBeDeparsedAs(select, sql, true); diff --git a/src/test/java/net/sf/jsqlparser/test/select/MemoryTest.java b/src/test/java/net/sf/jsqlparser/test/select/MemoryTest.java index b4cc98540..b48b6eeb5 100644 --- a/src/test/java/net/sf/jsqlparser/test/select/MemoryTest.java +++ b/src/test/java/net/sf/jsqlparser/test/select/MemoryTest.java @@ -51,7 +51,7 @@ public static void main(String[] args) throws Exception { * "wct_audit_entry , wct_transaction , wct_workflows WHERE " + * "( wct_audit_entry.privilege = 'W' or wct_audit_entry.privilege = " + "'C' ))))"; */ - /* + /* * String longQuery = "select * from d WHERE " + * "( wct_audit_entry.privilege = 'W' or wct_audit_entry.privilege = " + * "'C' ) and wct_audit_entry.outcome = 't' and " + diff --git a/src/test/java/net/sf/jsqlparser/test/select/SelectASTTest.java b/src/test/java/net/sf/jsqlparser/test/select/SelectASTTest.java index 9639f1f15..81cb69f5d 100644 --- a/src/test/java/net/sf/jsqlparser/test/select/SelectASTTest.java +++ b/src/test/java/net/sf/jsqlparser/test/select/SelectASTTest.java @@ -84,6 +84,7 @@ public void testSelectASTNodeSubSelect() throws JSQLParserException { node.dump("*"); assertEquals(CCJSqlParserTreeConstants.JJTSTATEMENT, node.getId()); node.jjtAccept(new CCJSqlParserDefaultVisitor() { + @Override public Object visit(SimpleNode node, Object data) { if (node.getId() == CCJSqlParserTreeConstants.JJTSUBSELECT) { @@ -101,7 +102,7 @@ public Object visit(SimpleNode node, Object data) { assertEquals(34, subSelectStart.beginColumn); assertEquals(62, subSelectEnd.endColumn); } - + @Test public void testSelectASTColumnLF() throws JSQLParserException { String sql = "SELECT a, b FROM mytable \n order by b, c"; @@ -124,7 +125,7 @@ public void testSelectASTColumnLF() throws JSQLParserException { } assertEquals("SELECT *, * FROM mytable \n order by #, #", b.toString()); } - + @Test public void testSelectASTCommentLF() throws JSQLParserException { String sql = "SELECT /* testcomment */ \n a, b FROM -- testcomment2 \n mytable \n order by b, c"; @@ -147,7 +148,7 @@ public void testSelectASTCommentLF() throws JSQLParserException { } assertEquals("SELECT /* testcomment */ \n *, * FROM -- testcomment2 \n mytable \n order by #, #", b.toString()); } - + @Test public void testSelectASTCommentCRLF() throws JSQLParserException { String sql = "SELECT /* testcomment */ \r\n a, b FROM -- testcomment2 \r\n mytable \r\n order by b, c"; diff --git a/src/test/java/net/sf/jsqlparser/test/select/SelectTest.java b/src/test/java/net/sf/jsqlparser/test/select/SelectTest.java index 9d01ab82c..701e5492d 100644 --- a/src/test/java/net/sf/jsqlparser/test/select/SelectTest.java +++ b/src/test/java/net/sf/jsqlparser/test/select/SelectTest.java @@ -193,8 +193,7 @@ public void testMultiPartColumnName() throws Exception { } void checkMultipartIdentifier(Select select, String columnName, String fullColumnName) { - final Expression expr = ((SelectExpressionItem) ((PlainSelect) select.getSelectBody()). - getSelectItems().get(0)).getExpression(); + final Expression expr = ((SelectExpressionItem) ((PlainSelect) select.getSelectBody()).getSelectItems().get(0)).getExpression(); assertTrue(expr instanceof Column); Column col = (Column) expr; assertEquals(columnName, col.getColumnName()); @@ -275,7 +274,7 @@ public void testLimit() throws JSQLParserException { assertStatementCanBeDeparsedAs(select, statement); statement = "(SELECT * FROM mytable WHERE mytable.col = 9 OFFSET ?) UNION " - + "(SELECT * FROM mytable2 WHERE mytable2.col = 9 OFFSET ?) LIMIT 3, 4"; + + "(SELECT * FROM mytable2 WHERE mytable2.col = 9 OFFSET ?) LIMIT 3, 4"; select = (Select) parserManager.parse(new StringReader(statement)); SetOperationList setList = (SetOperationList) select.getSelectBody(); offset = setList.getLimit().getOffset(); @@ -286,12 +285,12 @@ public void testLimit() throws JSQLParserException { // toString uses standard syntax statement = "(SELECT * FROM mytable WHERE mytable.col = 9 OFFSET ?) UNION " - + "(SELECT * FROM mytable2 WHERE mytable2.col = 9 OFFSET ?) LIMIT 4 OFFSET 3"; + + "(SELECT * FROM mytable2 WHERE mytable2.col = 9 OFFSET ?) LIMIT 4 OFFSET 3"; assertSqlCanBeParsedAndDeparsed(statement); statement = "(SELECT * FROM mytable WHERE mytable.col = 9 OFFSET ?) UNION ALL " - + "(SELECT * FROM mytable2 WHERE mytable2.col = 9 OFFSET ?) UNION ALL " - + "(SELECT * FROM mytable3 WHERE mytable4.col = 9 OFFSET ?) LIMIT 4 OFFSET 3"; + + "(SELECT * FROM mytable2 WHERE mytable2.col = 9 OFFSET ?) UNION ALL " + + "(SELECT * FROM mytable3 WHERE mytable4.col = 9 OFFSET ?) LIMIT 4 OFFSET 3"; assertSqlCanBeParsedAndDeparsed(statement); } @@ -347,7 +346,7 @@ public void testLimit2() throws JSQLParserException { assertStatementCanBeDeparsedAs(select, statement); statement = "(SELECT * FROM mytable WHERE mytable.col = 9 OFFSET ?) UNION " - + "(SELECT * FROM mytable2 WHERE mytable2.col = 9 OFFSET ?) LIMIT 3, 4"; + + "(SELECT * FROM mytable2 WHERE mytable2.col = 9 OFFSET ?) LIMIT 3, 4"; select = (Select) parserManager.parse(new StringReader(statement)); SetOperationList setList = (SetOperationList) select.getSelectBody(); assertEquals(3, ((LongValue) (setList.getLimit().getOffset())).getValue()); @@ -355,12 +354,12 @@ public void testLimit2() throws JSQLParserException { // toString uses standard syntax statement = "(SELECT * FROM mytable WHERE mytable.col = 9 OFFSET ?) UNION " - + "(SELECT * FROM mytable2 WHERE mytable2.col = 9 OFFSET ?) LIMIT 4 OFFSET 3"; + + "(SELECT * FROM mytable2 WHERE mytable2.col = 9 OFFSET ?) LIMIT 4 OFFSET 3"; assertSqlCanBeParsedAndDeparsed(statement); statement = "(SELECT * FROM mytable WHERE mytable.col = 9 OFFSET ?) UNION ALL " - + "(SELECT * FROM mytable2 WHERE mytable2.col = 9 OFFSET ?) UNION ALL " - + "(SELECT * FROM mytable3 WHERE mytable4.col = 9 OFFSET ?) LIMIT 4 OFFSET 3"; + + "(SELECT * FROM mytable2 WHERE mytable2.col = 9 OFFSET ?) UNION ALL " + + "(SELECT * FROM mytable3 WHERE mytable4.col = 9 OFFSET ?) LIMIT 4 OFFSET 3"; assertSqlCanBeParsedAndDeparsed(statement); } @@ -554,11 +553,11 @@ public void testLimitPR404() throws JSQLParserException { assertSqlCanBeParsedAndDeparsed("SELECT * FROM mytable WHERE mytable.col = 9 LIMIT ?1"); assertSqlCanBeParsedAndDeparsed("SELECT * FROM mytable WHERE mytable.col = 9 LIMIT :param_name"); } - + public void testLimitOffsetIssue462() throws JSQLParserException { assertSqlCanBeParsedAndDeparsed("SELECT * FROM mytable LIMIT ?1"); } - + public void testLimitOffsetIssue462_2() throws JSQLParserException { assertSqlCanBeParsedAndDeparsed("SELECT * FROM mytable LIMIT ?1 OFFSET ?2"); } @@ -568,14 +567,12 @@ public void testTop() throws JSQLParserException { Select select = (Select) parserManager.parse(new StringReader(statement)); - assertEquals(3, ((LongValue) ((PlainSelect) select.getSelectBody()).getTop().getExpression()). - getValue()); + assertEquals(3, ((LongValue) ((PlainSelect) select.getSelectBody()).getTop().getExpression()).getValue()); assertStatementCanBeDeparsedAs(select, statement); statement = "select top 5 foo from bar"; select = (Select) parserManager.parse(new StringReader(statement)); - assertEquals(5, ((LongValue) ((PlainSelect) select.getSelectBody()).getTop().getExpression()). - getValue()); + assertEquals(5, ((LongValue) ((PlainSelect) select.getSelectBody()).getTop().getExpression()).getValue()); } public void testTopWithParenthesis() throws JSQLParserException { @@ -604,21 +601,17 @@ public void testTopWithJdbcParameter() throws JSQLParserException { Select select = (Select) parserManager.parse(new StringReader(statement)); - assertEquals(1, (int) ((JdbcParameter) ((PlainSelect) select.getSelectBody()).getTop(). - getExpression()).getIndex()); + assertEquals(1, (int) ((JdbcParameter) ((PlainSelect) select.getSelectBody()).getTop().getExpression()).getIndex()); assertStatementCanBeDeparsedAs(select, statement); statement = "select top :name1 foo from bar"; select = (Select) parserManager.parse(new StringReader(statement)); - assertEquals("name1", ((JdbcNamedParameter) ((PlainSelect) select.getSelectBody()).getTop(). - getExpression()).getName()); + assertEquals("name1", ((JdbcNamedParameter) ((PlainSelect) select.getSelectBody()).getTop().getExpression()).getName()); statement = "select top ? foo from bar"; select = (Select) parserManager.parse(new StringReader(statement)); - assertNotNull(((JdbcParameter) ((PlainSelect) select.getSelectBody()).getTop(). - getExpression()).getIndex()); - assertFalse(((JdbcParameter) ((PlainSelect) select.getSelectBody()).getTop().getExpression()). - isUseFixedIndex()); + assertNotNull(((JdbcParameter) ((PlainSelect) select.getSelectBody()).getTop().getExpression()).getIndex()); + assertFalse(((JdbcParameter) ((PlainSelect) select.getSelectBody()).getTop().getExpression()).isUseFixedIndex()); } public void testSkip() throws JSQLParserException { @@ -752,82 +745,67 @@ public void testSelectItems() throws JSQLParserException { final List selectItems = plainSelect.getSelectItems(); assertEquals("MYID", ((SelectExpressionItem) selectItems.get(0)).getAlias().getName()); - assertEquals("mycol", ((Column) ((SelectExpressionItem) selectItems.get(1)).getExpression()). - getColumnName()); + assertEquals("mycol", ((Column) ((SelectExpressionItem) selectItems.get(1)).getExpression()).getColumnName()); assertEquals("tab", ((AllTableColumns) selectItems.get(2)).getTable().getName()); assertEquals("schema", ((AllTableColumns) selectItems.get(3)).getTable().getSchemaName()); - assertEquals("schema.tab", ((AllTableColumns) selectItems.get(3)).getTable(). - getFullyQualifiedName()); - assertEquals("mytab.mycol2", ((Column) ((SelectExpressionItem) selectItems.get(4)). - getExpression()).getFullyQualifiedName()); - assertEquals("myschema.mytab.mycol", ((Column) ((SelectExpressionItem) selectItems.get(5)). - getExpression()).getFullyQualifiedName()); - assertEquals("myschema.mytab", ((AllTableColumns) selectItems.get(6)).getTable(). - getFullyQualifiedName()); + assertEquals("schema.tab", ((AllTableColumns) selectItems.get(3)).getTable().getFullyQualifiedName()); + assertEquals("mytab.mycol2", ((Column) ((SelectExpressionItem) selectItems.get(4)).getExpression()).getFullyQualifiedName()); + assertEquals("myschema.mytab.mycol", ((Column) ((SelectExpressionItem) selectItems.get(5)).getExpression()).getFullyQualifiedName()); + assertEquals("myschema.mytab", ((AllTableColumns) selectItems.get(6)).getTable().getFullyQualifiedName()); assertStatementCanBeDeparsedAs(select, statement); statement = "SELECT myid AS MYID, (SELECT MAX(ID) AS myid2 FROM mytable2) AS myalias FROM mytable WHERE mytable.col = 9"; select = (Select) parserManager.parse(new StringReader(statement)); plainSelect = (PlainSelect) select.getSelectBody(); - assertEquals("myalias", ((SelectExpressionItem) plainSelect.getSelectItems().get(1)). - getAlias().getName()); + assertEquals("myalias", ((SelectExpressionItem) plainSelect.getSelectItems().get(1)).getAlias().getName()); assertStatementCanBeDeparsedAs(select, statement); statement = "SELECT (myid + myid2) AS MYID FROM mytable WHERE mytable.col = 9"; select = (Select) parserManager.parse(new StringReader(statement)); plainSelect = (PlainSelect) select.getSelectBody(); - assertEquals("MYID", ((SelectExpressionItem) plainSelect.getSelectItems().get(0)).getAlias(). - getName()); + assertEquals("MYID", ((SelectExpressionItem) plainSelect.getSelectItems().get(0)).getAlias().getName()); assertStatementCanBeDeparsedAs(select, statement); } public void testUnion() throws JSQLParserException { String statement = "SELECT * FROM mytable WHERE mytable.col = 9 UNION " - + "SELECT * FROM mytable3 WHERE mytable3.col = ? UNION " + "SELECT * FROM mytable2 LIMIT 3, 4"; + + "SELECT * FROM mytable3 WHERE mytable3.col = ? UNION " + "SELECT * FROM mytable2 LIMIT 3, 4"; Select select = (Select) parserManager.parse(new StringReader(statement)); SetOperationList setList = (SetOperationList) select.getSelectBody(); assertEquals(3, setList.getSelects().size()); - assertEquals("mytable", ((Table) ((PlainSelect) setList.getSelects().get(0)).getFromItem()). - getName()); - assertEquals("mytable3", ((Table) ((PlainSelect) setList.getSelects().get(1)).getFromItem()). - getName()); - assertEquals("mytable2", ((Table) ((PlainSelect) setList.getSelects().get(2)).getFromItem()). - getName()); - assertEquals(3, ((LongValue) ((PlainSelect) setList.getSelects().get(2)).getLimit(). - getOffset()).getValue()); + assertEquals("mytable", ((Table) ((PlainSelect) setList.getSelects().get(0)).getFromItem()).getName()); + assertEquals("mytable3", ((Table) ((PlainSelect) setList.getSelects().get(1)).getFromItem()).getName()); + assertEquals("mytable2", ((Table) ((PlainSelect) setList.getSelects().get(2)).getFromItem()).getName()); + assertEquals(3, ((LongValue) ((PlainSelect) setList.getSelects().get(2)).getLimit().getOffset()).getValue()); // use brakets for toString // use standard limit syntax String statementToString = "SELECT * FROM mytable WHERE mytable.col = 9 UNION " - + "SELECT * FROM mytable3 WHERE mytable3.col = ? UNION " - + "SELECT * FROM mytable2 LIMIT 3, 4"; + + "SELECT * FROM mytable3 WHERE mytable3.col = ? UNION " + + "SELECT * FROM mytable2 LIMIT 3, 4"; assertStatementCanBeDeparsedAs(select, statementToString); } public void testUnion2() throws JSQLParserException { String statement = "SELECT * FROM mytable WHERE mytable.col = 9 UNION " - + "SELECT * FROM mytable3 WHERE mytable3.col = ? UNION " + "SELECT * FROM mytable2 LIMIT 3 OFFSET 4"; + + "SELECT * FROM mytable3 WHERE mytable3.col = ? UNION " + "SELECT * FROM mytable2 LIMIT 3 OFFSET 4"; Select select = (Select) parserManager.parse(new StringReader(statement)); SetOperationList setList = (SetOperationList) select.getSelectBody(); assertEquals(3, setList.getSelects().size()); - assertEquals("mytable", ((Table) ((PlainSelect) setList.getSelects().get(0)).getFromItem()). - getName()); - assertEquals("mytable3", ((Table) ((PlainSelect) setList.getSelects().get(1)).getFromItem()). - getName()); - assertEquals("mytable2", ((Table) ((PlainSelect) setList.getSelects().get(2)).getFromItem()). - getName()); - assertEquals(3, ((LongValue) ((PlainSelect) setList.getSelects().get(2)).getLimit(). - getRowCount()).getValue()); + assertEquals("mytable", ((Table) ((PlainSelect) setList.getSelects().get(0)).getFromItem()).getName()); + assertEquals("mytable3", ((Table) ((PlainSelect) setList.getSelects().get(1)).getFromItem()).getName()); + assertEquals("mytable2", ((Table) ((PlainSelect) setList.getSelects().get(2)).getFromItem()).getName()); + assertEquals(3, ((LongValue) ((PlainSelect) setList.getSelects().get(2)).getLimit().getRowCount()).getValue()); assertNull(((PlainSelect) setList.getSelects().get(2)).getLimit().getOffset()); assertEquals(4, ((PlainSelect) setList.getSelects().get(2)).getOffset().getOffset()); // use brakets for toString // use standard limit syntax String statementToString = "SELECT * FROM mytable WHERE mytable.col = 9 UNION " - + "SELECT * FROM mytable3 WHERE mytable3.col = ? UNION " - + "SELECT * FROM mytable2 LIMIT 3 OFFSET 4"; + + "SELECT * FROM mytable3 WHERE mytable3.col = ? UNION " + + "SELECT * FROM mytable2 LIMIT 3 OFFSET 4"; assertStatementCanBeDeparsedAs(select, statementToString); } @@ -836,12 +814,10 @@ public void testDistinct() throws JSQLParserException { Select select = (Select) parserManager.parse(new StringReader(statement)); PlainSelect plainSelect = (PlainSelect) select.getSelectBody(); assertEquals("myid", - ((Column) ((SelectExpressionItem) plainSelect.getDistinct().getOnSelectItems(). - get(0)).getExpression()) - .getColumnName()); + ((Column) ((SelectExpressionItem) plainSelect.getDistinct().getOnSelectItems().get(0)).getExpression()) + .getColumnName()); assertEquals("mycol", - ((Column) ((SelectExpressionItem) plainSelect.getSelectItems().get(1)). - getExpression()).getColumnName()); + ((Column) ((SelectExpressionItem) plainSelect.getSelectItems().get(1)).getExpression()).getColumnName()); assertStatementCanBeDeparsedAs(select, statement); } @@ -850,12 +826,10 @@ public void testDistinctTop() throws JSQLParserException { Select select = (Select) parserManager.parse(new StringReader(statement)); PlainSelect plainSelect = (PlainSelect) select.getSelectBody(); assertEquals("myid", - ((Column) ((SelectExpressionItem) plainSelect.getSelectItems().get(0)). - getExpression()) - .getColumnName()); + ((Column) ((SelectExpressionItem) plainSelect.getSelectItems().get(0)).getExpression()) + .getColumnName()); assertEquals("mycol", - ((Column) ((SelectExpressionItem) plainSelect.getSelectItems().get(1)). - getExpression()).getColumnName()); + ((Column) ((SelectExpressionItem) plainSelect.getSelectItems().get(1)).getExpression()).getColumnName()); assertNotNull(plainSelect.getTop()); assertStatementCanBeDeparsedAs(select, statement); } @@ -889,12 +863,10 @@ public void testJoin() throws JSQLParserException { Select select = (Select) parserManager.parse(new StringReader(statement)); PlainSelect plainSelect = (PlainSelect) select.getSelectBody(); assertEquals(1, plainSelect.getJoins().size()); - assertEquals("tab2", ((Table) plainSelect.getJoins().get(0).getRightItem()). - getFullyQualifiedName()); + assertEquals("tab2", ((Table) plainSelect.getJoins().get(0).getRightItem()).getFullyQualifiedName()); assertEquals("tab1.id", - ((Column) ((EqualsTo) plainSelect.getJoins().get(0).getOnExpression()). - getLeftExpression()) - .getFullyQualifiedName()); + ((Column) ((EqualsTo) plainSelect.getJoins().get(0).getOnExpression()).getLeftExpression()) + .getFullyQualifiedName()); assertTrue(plainSelect.getJoins().get(0).isOuter()); assertStatementCanBeDeparsedAs(select, statement); @@ -902,8 +874,7 @@ public void testJoin() throws JSQLParserException { select = (Select) parserManager.parse(new StringReader(statement)); plainSelect = (PlainSelect) select.getSelectBody(); assertEquals(2, plainSelect.getJoins().size()); - assertEquals("tab3", ((Table) plainSelect.getJoins().get(1).getRightItem()). - getFullyQualifiedName()); + assertEquals("tab3", ((Table) plainSelect.getJoins().get(1).getRightItem()).getFullyQualifiedName()); assertFalse(plainSelect.getJoins().get(1).isOuter()); assertStatementCanBeDeparsedAs(select, statement); @@ -911,8 +882,7 @@ public void testJoin() throws JSQLParserException { select = (Select) parserManager.parse(new StringReader(statement)); plainSelect = (PlainSelect) select.getSelectBody(); assertEquals(2, plainSelect.getJoins().size()); - assertEquals("tab3", ((Table) plainSelect.getJoins().get(1).getRightItem()). - getFullyQualifiedName()); + assertEquals("tab3", ((Table) plainSelect.getJoins().get(1).getRightItem()).getFullyQualifiedName()); assertFalse(plainSelect.getJoins().get(1).isOuter()); assertStatementCanBeDeparsedAs(select, statement); @@ -929,12 +899,11 @@ public void testJoin() throws JSQLParserException { select = (Select) parserManager.parse(new StringReader(statement)); plainSelect = (PlainSelect) select.getSelectBody(); assertEquals(1, plainSelect.getJoins().size()); - assertEquals("tab2", ((Table) plainSelect.getJoins().get(0).getRightItem()). - getFullyQualifiedName()); + assertEquals("tab2", ((Table) plainSelect.getJoins().get(0).getRightItem()).getFullyQualifiedName()); assertFalse(plainSelect.getJoins().get(0).isOuter()); assertEquals(2, plainSelect.getJoins().get(0).getUsingColumns().size()); assertEquals("id2", - plainSelect.getJoins().get(0).getUsingColumns().get(1).getFullyQualifiedName()); + plainSelect.getJoins().get(0).getUsingColumns().get(1).getFullyQualifiedName()); assertStatementCanBeDeparsedAs(select, statement); statement = "SELECT * FROM tab1 RIGHT OUTER JOIN tab2 USING (id, id2)"; @@ -950,54 +919,43 @@ public void testFunctions() throws JSQLParserException { String statement = "SELECT MAX(id) AS max FROM mytable WHERE mytable.col = 9"; Select select = (Select) parserManager.parse(new StringReader(statement)); PlainSelect plainSelect = (PlainSelect) select.getSelectBody(); - assertEquals("max", ((SelectExpressionItem) plainSelect.getSelectItems().get(0)).getAlias(). - getName()); + assertEquals("max", ((SelectExpressionItem) plainSelect.getSelectItems().get(0)).getAlias().getName()); assertStatementCanBeDeparsedAs(select, statement); statement = "SELECT MAX(id), AVG(pro) AS myavg FROM mytable WHERE mytable.col = 9 GROUP BY pro"; select = (Select) parserManager.parse(new StringReader(statement)); plainSelect = (PlainSelect) select.getSelectBody(); - assertEquals("myavg", ((SelectExpressionItem) plainSelect.getSelectItems().get(1)). - getAlias().getName()); + assertEquals("myavg", ((SelectExpressionItem) plainSelect.getSelectItems().get(1)).getAlias().getName()); assertStatementCanBeDeparsedAs(select, statement); statement = "SELECT MAX(a, b, c), COUNT(*), D FROM tab1 GROUP BY D"; select = (Select) parserManager.parse(new StringReader(statement)); plainSelect = (PlainSelect) select.getSelectBody(); - Function fun = (Function) ((SelectExpressionItem) plainSelect.getSelectItems().get(0)). - getExpression(); + Function fun = (Function) ((SelectExpressionItem) plainSelect.getSelectItems().get(0)).getExpression(); assertEquals("MAX", fun.getName()); - assertEquals("b", ((Column) fun.getParameters().getExpressions().get(1)). - getFullyQualifiedName()); - assertTrue(((Function) ((SelectExpressionItem) plainSelect.getSelectItems().get(1)). - getExpression()) - .isAllColumns()); + assertEquals("b", ((Column) fun.getParameters().getExpressions().get(1)).getFullyQualifiedName()); + assertTrue(((Function) ((SelectExpressionItem) plainSelect.getSelectItems().get(1)).getExpression()) + .isAllColumns()); assertStatementCanBeDeparsedAs(select, statement); statement = "SELECT {fn MAX(a, b, c)}, COUNT(*), D FROM tab1 GROUP BY D"; select = (Select) parserManager.parse(new StringReader(statement)); plainSelect = (PlainSelect) select.getSelectBody(); - fun = (Function) ((SelectExpressionItem) plainSelect.getSelectItems().get(0)). - getExpression(); + fun = (Function) ((SelectExpressionItem) plainSelect.getSelectItems().get(0)).getExpression(); assertTrue(fun.isEscaped()); assertEquals("MAX", fun.getName()); - assertEquals("b", ((Column) fun.getParameters().getExpressions().get(1)). - getFullyQualifiedName()); - assertTrue(((Function) ((SelectExpressionItem) plainSelect.getSelectItems().get(1)). - getExpression()) - .isAllColumns()); + assertEquals("b", ((Column) fun.getParameters().getExpressions().get(1)).getFullyQualifiedName()); + assertTrue(((Function) ((SelectExpressionItem) plainSelect.getSelectItems().get(1)).getExpression()) + .isAllColumns()); assertStatementCanBeDeparsedAs(select, statement); statement = "SELECT ab.MAX(a, b, c), cd.COUNT(*), D FROM tab1 GROUP BY D"; select = (Select) parserManager.parse(new StringReader(statement)); plainSelect = (PlainSelect) select.getSelectBody(); - fun = (Function) ((SelectExpressionItem) plainSelect.getSelectItems().get(0)). - getExpression(); + fun = (Function) ((SelectExpressionItem) plainSelect.getSelectItems().get(0)).getExpression(); assertEquals("ab.MAX", fun.getName()); - assertEquals("b", ((Column) fun.getParameters().getExpressions().get(1)). - getFullyQualifiedName()); - fun = (Function) ((SelectExpressionItem) plainSelect.getSelectItems().get(1)). - getExpression(); + assertEquals("b", ((Column) fun.getParameters().getExpressions().get(1)).getFullyQualifiedName()); + fun = (Function) ((SelectExpressionItem) plainSelect.getSelectItems().get(1)).getExpression(); assertEquals("cd.COUNT", fun.getName()); assertTrue(fun.isAllColumns()); assertStatementCanBeDeparsedAs(select, statement); @@ -1007,9 +965,8 @@ public void testWhere() throws JSQLParserException { final String statement = "SELECT * FROM tab1 WHERE"; String whereToString = "(a + b + c / d + e * f) * (a / b * (a + b)) > ?"; - PlainSelect plainSelect = (PlainSelect) ((Select) parserManager. - parse(new StringReader(statement + " " - + whereToString))).getSelectBody(); + PlainSelect plainSelect = (PlainSelect) ((Select) parserManager.parse(new StringReader(statement + " " + + whereToString))).getSelectBody(); assertTrue(plainSelect.getWhere() instanceof GreaterThan); assertTrue(((GreaterThan) plainSelect.getWhere()).getLeftExpression() instanceof Multiplication); assertEquals(statement + " " + whereToString, plainSelect.toString()); @@ -1017,30 +974,26 @@ public void testWhere() throws JSQLParserException { assertExpressionCanBeDeparsedAs(plainSelect.getWhere(), whereToString); whereToString = "(7 * s + 9 / 3) NOT BETWEEN 3 AND ?"; - plainSelect = (PlainSelect) ((Select) parserManager. - parse(new StringReader(statement + " " + whereToString))) - .getSelectBody(); + plainSelect = (PlainSelect) ((Select) parserManager.parse(new StringReader(statement + " " + whereToString))) + .getSelectBody(); assertExpressionCanBeDeparsedAs(plainSelect.getWhere(), whereToString); assertEquals(statement + " " + whereToString, plainSelect.toString()); whereToString = "a / b NOT IN (?, 's''adf', 234.2)"; - plainSelect = (PlainSelect) ((Select) parserManager. - parse(new StringReader(statement + " " + whereToString))) - .getSelectBody(); + plainSelect = (PlainSelect) ((Select) parserManager.parse(new StringReader(statement + " " + whereToString))) + .getSelectBody(); assertExpressionCanBeDeparsedAs(plainSelect.getWhere(), whereToString); assertEquals(statement + " " + whereToString, plainSelect.toString()); whereToString = " NOT 0 = 0"; - plainSelect = (PlainSelect) ((Select) parserManager. - parse(new StringReader(statement + whereToString))) - .getSelectBody(); + plainSelect = (PlainSelect) ((Select) parserManager.parse(new StringReader(statement + whereToString))) + .getSelectBody(); whereToString = " NOT (0 = 0)"; - plainSelect = (PlainSelect) ((Select) parserManager. - parse(new StringReader(statement + whereToString))) - .getSelectBody(); + plainSelect = (PlainSelect) ((Select) parserManager.parse(new StringReader(statement + whereToString))) + .getSelectBody(); assertExpressionCanBeDeparsedAs(plainSelect.getWhere(), whereToString.trim()); assertEquals(statement + whereToString, plainSelect.toString()); @@ -1051,8 +1004,7 @@ public void testGroupBy() throws JSQLParserException { Select select = (Select) parserManager.parse(new StringReader(statement)); PlainSelect plainSelect = (PlainSelect) select.getSelectBody(); assertEquals(1, plainSelect.getGroupByColumnReferences().size()); - assertEquals("tab1.b", ((Column) plainSelect.getGroupByColumnReferences().get(0)). - getFullyQualifiedName()); + assertEquals("tab1.b", ((Column) plainSelect.getGroupByColumnReferences().get(0)).getFullyQualifiedName()); assertStatementCanBeDeparsedAs(select, statement); statement = "SELECT * FROM tab1 WHERE a > 34 GROUP BY 2, 3"; @@ -1098,10 +1050,10 @@ public void testOrderBy() throws JSQLParserException { PlainSelect plainSelect = (PlainSelect) select.getSelectBody(); assertEquals(2, plainSelect.getOrderByElements().size()); assertEquals("tab1.a", - ((Column) plainSelect.getOrderByElements().get(0).getExpression()) - .getFullyQualifiedName()); + ((Column) plainSelect.getOrderByElements().get(0).getExpression()) + .getFullyQualifiedName()); assertEquals("b", - ((Column) plainSelect.getOrderByElements().get(1).getExpression()).getColumnName()); + ((Column) plainSelect.getOrderByElements().get(1).getExpression()).getColumnName()); assertTrue(plainSelect.getOrderByElements().get(1).isAsc()); assertFalse(plainSelect.getOrderByElements().get(0).isAsc()); assertStatementCanBeDeparsedAs(select, statementToString); @@ -1111,9 +1063,9 @@ public void testOrderBy() throws JSQLParserException { plainSelect = (PlainSelect) select.getSelectBody(); assertEquals(2, plainSelect.getOrderByElements().size()); assertEquals("a", - ((Column) plainSelect.getOrderByElements().get(0).getExpression()).getColumnName()); + ((Column) plainSelect.getOrderByElements().get(0).getExpression()).getColumnName()); assertEquals(2, - ((LongValue) plainSelect.getOrderByElements().get(1).getExpression()).getValue()); + ((LongValue) plainSelect.getOrderByElements().get(1).getExpression()).getValue()); assertStatementCanBeDeparsedAs(select, statement); } @@ -1128,8 +1080,7 @@ public void testTimestamp() throws JSQLParserException { Select select = (Select) parserManager.parse(new StringReader(statement)); PlainSelect plainSelect = (PlainSelect) select.getSelectBody(); assertEquals("2004-04-30 04:05:34.56", - ((TimestampValue) ((GreaterThan) plainSelect.getWhere()).getRightExpression()). - getValue().toString()); + ((TimestampValue) ((GreaterThan) plainSelect.getWhere()).getRightExpression()).getValue().toString()); assertStatementCanBeDeparsedAs(select, statement); } @@ -1138,8 +1089,7 @@ public void testTime() throws JSQLParserException { Select select = (Select) parserManager.parse(new StringReader(statement)); PlainSelect plainSelect = (PlainSelect) select.getSelectBody(); assertEquals("04:05:34", - (((TimeValue) ((GreaterThan) plainSelect.getWhere()).getRightExpression()). - getValue()).toString()); + (((TimeValue) ((GreaterThan) plainSelect.getWhere()).getRightExpression()).getValue()).toString()); assertStatementCanBeDeparsedAs(select, statement); } @@ -1164,7 +1114,7 @@ public void testCase() throws JSQLParserException { assertSqlCanBeParsedAndDeparsed(statement); statement = "SELECT a, (CASE " + "WHEN b > 1 THEN 'BBB' " + "WHEN a = 3 THEN 'AAA' " + "END) FROM tab1 " - + "WHERE c = (CASE " + "WHEN d <> 3 THEN 5 " + "ELSE 10 " + "END)"; + + "WHERE c = (CASE " + "WHEN d <> 3 THEN 5 " + "ELSE 10 " + "END)"; assertSqlCanBeParsedAndDeparsed(statement); statement = "SELECT a, CASE a " + "WHEN 'b' THEN 'BBB' " + "WHEN 'a' THEN 'AAA' " + "END AS b FROM tab1"; @@ -1177,8 +1127,8 @@ public void testCase() throws JSQLParserException { assertSqlCanBeParsedAndDeparsed(statement); statement = "SELECT a, (CASE " + "WHEN (CASE a WHEN 1 THEN 10 ELSE 20 END) > 15 THEN 'BBB' " - + // "WHEN (SELECT c FROM tab2 WHERE d = 2) = 3 THEN 'AAA' " + - "END) FROM tab1"; + + // "WHEN (SELECT c FROM tab2 WHERE d = 2) = 3 THEN 'AAA' " + + "END) FROM tab1"; assertSqlCanBeParsedAndDeparsed(statement); } @@ -1208,8 +1158,7 @@ public void testReplaceAsFunction() throws JSQLParserException { PlainSelect plainSelect = (PlainSelect) select.getSelectBody(); assertEquals(1, plainSelect.getSelectItems().size()); - Expression expression = ((SelectExpressionItem) plainSelect.getSelectItems().get(0)). - getExpression(); + Expression expression = ((SelectExpressionItem) plainSelect.getSelectItems().get(0)).getExpression(); assertTrue(expression instanceof Function); Function func = (Function) expression; assertEquals("REPLACE", func.getName()); @@ -1221,15 +1170,13 @@ public void testLike() throws JSQLParserException { Select select = (Select) parserManager.parse(new StringReader(statement)); assertStatementCanBeDeparsedAs(select, statement); PlainSelect plainSelect = (PlainSelect) select.getSelectBody(); - assertEquals("test", ((StringValue) ((LikeExpression) plainSelect.getWhere()). - getRightExpression()).getValue()); + assertEquals("test", ((StringValue) ((LikeExpression) plainSelect.getWhere()).getRightExpression()).getValue()); statement = "SELECT * FROM tab1 WHERE a LIKE 'test' ESCAPE 'test2'"; select = (Select) parserManager.parse(new StringReader(statement)); assertStatementCanBeDeparsedAs(select, statement); plainSelect = (PlainSelect) select.getSelectBody(); - assertEquals("test", ((StringValue) ((LikeExpression) plainSelect.getWhere()). - getRightExpression()).getValue()); + assertEquals("test", ((StringValue) ((LikeExpression) plainSelect.getWhere()).getRightExpression()).getValue()); assertEquals("test2", ((LikeExpression) plainSelect.getWhere()).getEscape()); } @@ -1237,8 +1184,7 @@ public void testNotLike() throws JSQLParserException { String statement = "SELECT * FROM tab1 WHERE a NOT LIKE 'test'"; Select select = (Select) parserManager.parse(new StringReader(statement)); PlainSelect plainSelect = (PlainSelect) select.getSelectBody(); - assertEquals("test", ((StringValue) ((LikeExpression) plainSelect.getWhere()). - getRightExpression()).getValue()); + assertEquals("test", ((StringValue) ((LikeExpression) plainSelect.getWhere()).getRightExpression()).getValue()); assertEquals(true, ((LikeExpression) plainSelect.getWhere()).isNot()); } @@ -1246,8 +1192,7 @@ public void testNotLikeWithNotBeforeExpression() throws JSQLParserException { String statement = "SELECT * FROM tab1 WHERE NOT a LIKE 'test'"; Select select = (Select) parserManager.parse(new StringReader(statement)); PlainSelect plainSelect = (PlainSelect) select.getSelectBody(); - assertEquals("test", ((StringValue) ((LikeExpression) plainSelect.getWhere()). - getRightExpression()).getValue()); + assertEquals("test", ((StringValue) ((LikeExpression) plainSelect.getWhere()).getRightExpression()).getValue()); assertEquals(true, ((LikeExpression) plainSelect.getWhere()).isNot()); } @@ -1265,33 +1210,29 @@ public void testDouble() throws JSQLParserException { String statement = "SELECT 1e2, * FROM mytable WHERE mytable.col = 9"; Select select = (Select) parserManager.parse(new StringReader(statement)); - assertEquals(1e2, ((DoubleValue) ((SelectExpressionItem) ((PlainSelect) select. - getSelectBody()) - .getSelectItems().get(0)).getExpression()).getValue(), 0); + assertEquals(1e2, ((DoubleValue) ((SelectExpressionItem) ((PlainSelect) select.getSelectBody()) + .getSelectItems().get(0)).getExpression()).getValue(), 0); assertStatementCanBeDeparsedAs(select, statement); statement = "SELECT * FROM mytable WHERE mytable.col = 1.e2"; select = (Select) parserManager.parse(new StringReader(statement)); assertEquals(1e2, - ((DoubleValue) ((BinaryExpression) ((PlainSelect) select.getSelectBody()).getWhere()). - getRightExpression()).getValue(), 0); + ((DoubleValue) ((BinaryExpression) ((PlainSelect) select.getSelectBody()).getWhere()).getRightExpression()).getValue(), 0); assertStatementCanBeDeparsedAs(select, statement); statement = "SELECT * FROM mytable WHERE mytable.col = 1.2e2"; select = (Select) parserManager.parse(new StringReader(statement)); assertEquals(1.2e2, - ((DoubleValue) ((BinaryExpression) ((PlainSelect) select.getSelectBody()).getWhere()). - getRightExpression()).getValue(), 0); + ((DoubleValue) ((BinaryExpression) ((PlainSelect) select.getSelectBody()).getWhere()).getRightExpression()).getValue(), 0); assertStatementCanBeDeparsedAs(select, statement); statement = "SELECT * FROM mytable WHERE mytable.col = 2e2"; select = (Select) parserManager.parse(new StringReader(statement)); assertEquals(2e2, - ((DoubleValue) ((BinaryExpression) ((PlainSelect) select.getSelectBody()).getWhere()). - getRightExpression()).getValue(), 0); + ((DoubleValue) ((BinaryExpression) ((PlainSelect) select.getSelectBody()).getWhere()).getRightExpression()).getValue(), 0); assertStatementCanBeDeparsedAs(select, statement); } @@ -1299,36 +1240,33 @@ public void testDouble2() throws JSQLParserException { String statement = "SELECT 1.e22 FROM mytable"; Select select = (Select) parserManager.parse(new StringReader(statement)); - assertEquals(1e22, ((DoubleValue) ((SelectExpressionItem) ((PlainSelect) select. - getSelectBody()) - .getSelectItems().get(0)).getExpression()).getValue(), 0); + assertEquals(1e22, ((DoubleValue) ((SelectExpressionItem) ((PlainSelect) select.getSelectBody()) + .getSelectItems().get(0)).getExpression()).getValue(), 0); } public void testDouble3() throws JSQLParserException { String statement = "SELECT 1. FROM mytable"; Select select = (Select) parserManager.parse(new StringReader(statement)); - assertEquals(1.0, ((DoubleValue) ((SelectExpressionItem) ((PlainSelect) select. - getSelectBody()) - .getSelectItems().get(0)).getExpression()).getValue(), 0); + assertEquals(1.0, ((DoubleValue) ((SelectExpressionItem) ((PlainSelect) select.getSelectBody()) + .getSelectItems().get(0)).getExpression()).getValue(), 0); } public void testDouble4() throws JSQLParserException { String statement = "SELECT 1.2e22 FROM mytable"; Select select = (Select) parserManager.parse(new StringReader(statement)); - assertEquals(1.2e22, ((DoubleValue) ((SelectExpressionItem) ((PlainSelect) select. - getSelectBody()) - .getSelectItems().get(0)).getExpression()).getValue(), 0); + assertEquals(1.2e22, ((DoubleValue) ((SelectExpressionItem) ((PlainSelect) select.getSelectBody()) + .getSelectItems().get(0)).getExpression()).getValue(), 0); } public void testWith() throws JSQLParserException { String statement = "WITH DINFO (DEPTNO, AVGSALARY, EMPCOUNT) AS " - + "(SELECT OTHERS.WORKDEPT, AVG(OTHERS.SALARY), COUNT(*) FROM EMPLOYEE AS OTHERS " - + "GROUP BY OTHERS.WORKDEPT), DINFOMAX AS (SELECT MAX(AVGSALARY) AS AVGMAX FROM DINFO) " - + "SELECT THIS_EMP.EMPNO, THIS_EMP.SALARY, DINFO.AVGSALARY, DINFO.EMPCOUNT, DINFOMAX.AVGMAX " - + "FROM EMPLOYEE AS THIS_EMP INNER JOIN DINFO INNER JOIN DINFOMAX " - + "WHERE THIS_EMP.JOB = 'SALESREP' AND THIS_EMP.WORKDEPT = DINFO.DEPTNO"; + + "(SELECT OTHERS.WORKDEPT, AVG(OTHERS.SALARY), COUNT(*) FROM EMPLOYEE AS OTHERS " + + "GROUP BY OTHERS.WORKDEPT), DINFOMAX AS (SELECT MAX(AVGSALARY) AS AVGMAX FROM DINFO) " + + "SELECT THIS_EMP.EMPNO, THIS_EMP.SALARY, DINFO.AVGSALARY, DINFO.EMPCOUNT, DINFOMAX.AVGMAX " + + "FROM EMPLOYEE AS THIS_EMP INNER JOIN DINFO INNER JOIN DINFOMAX " + + "WHERE THIS_EMP.JOB = 'SALESREP' AND THIS_EMP.WORKDEPT = DINFO.DEPTNO"; assertSqlCanBeParsedAndDeparsed(statement); } @@ -1348,13 +1286,13 @@ public void testSelectAliasWithoutAs() throws JSQLParserException { public void testSelectJoinWithComma() throws JSQLParserException { String statement = "SELECT cb.Genus, cb.Species FROM Coleccion_de_Briofitas AS cb, unigeoestados AS es " - + "WHERE es.nombre = \"Tamaulipas\" AND cb.the_geom = es.geom"; + + "WHERE es.nombre = \"Tamaulipas\" AND cb.the_geom = es.geom"; assertSqlCanBeParsedAndDeparsed(statement); } public void testDeparser() throws JSQLParserException { String statement = "SELECT a.OWNERLASTNAME, a.OWNERFIRSTNAME " + "FROM ANTIQUEOWNERS AS a, ANTIQUES AS b " - + "WHERE b.BUYERID = a.OWNERID AND b.ITEM = 'Chair'"; + + "WHERE b.BUYERID = a.OWNERID AND b.ITEM = 'Chair'"; assertSqlCanBeParsedAndDeparsed(statement); statement = "SELECT count(DISTINCT f + 4) FROM a"; @@ -1370,7 +1308,7 @@ public void testCount2() throws JSQLParserException { public void testMysqlQuote() throws JSQLParserException { String statement = "SELECT `a.OWNERLASTNAME`, `OWNERFIRSTNAME` " + "FROM `ANTIQUEOWNERS` AS a, ANTIQUES AS b " - + "WHERE b.BUYERID = a.OWNERID AND b.ITEM = 'Chair'"; + + "WHERE b.BUYERID = a.OWNERID AND b.ITEM = 'Chair'"; assertSqlCanBeParsedAndDeparsed(statement); } @@ -1381,10 +1319,10 @@ public void testConcat() throws JSQLParserException { public void testConcatProblem2() throws JSQLParserException { String stmt = "SELECT MAX(((((" - + "(SPA.SOORTAANLEVERPERIODE)::VARCHAR (2) || (VARCHAR(SPA.AANLEVERPERIODEJAAR))::VARCHAR (4)" - + ") || TO_CHAR(SPA.AANLEVERPERIODEVOLGNR, 'FM09'::VARCHAR)" - + ") || TO_CHAR((10000 - SPA.VERSCHIJNINGSVOLGNR), 'FM0999'::VARCHAR)" - + ") || (SPA.GESLACHT)::VARCHAR (1))) AS GESLACHT_TMP FROM testtable"; + + "(SPA.SOORTAANLEVERPERIODE)::VARCHAR (2) || (VARCHAR(SPA.AANLEVERPERIODEJAAR))::VARCHAR (4)" + + ") || TO_CHAR(SPA.AANLEVERPERIODEVOLGNR, 'FM09'::VARCHAR)" + + ") || TO_CHAR((10000 - SPA.VERSCHIJNINGSVOLGNR), 'FM0999'::VARCHAR)" + + ") || (SPA.GESLACHT)::VARCHAR (1))) AS GESLACHT_TMP FROM testtable"; assertSqlCanBeParsedAndDeparsed(stmt); } @@ -1435,7 +1373,7 @@ public void testMatches() throws JSQLParserException { public void testGroupByExpression() throws JSQLParserException { String statement = "SELECT col1, col2, col1 + col2, sum(col8)" + " FROM table1 " - + "GROUP BY col1, col2, col1 + col2"; + + "GROUP BY col1, col2, col1 + col2"; assertSqlCanBeParsedAndDeparsed(statement); } @@ -1450,7 +1388,8 @@ public void testSelectFunction() throws JSQLParserException { } public void testWeirdSelect() throws JSQLParserException { - String sql = "select r.reviews_id, substring(rd.reviews_text, 100) as reviews_text, r.reviews_rating, r.date_added, r.customers_name from reviews r, reviews_description rd where r.products_id = '19' and r.reviews_id = rd.reviews_id and rd.languages_id = '1' and r.reviews_status = 1 order by r.reviews_id desc limit 0, 6"; + String sql = + "select r.reviews_id, substring(rd.reviews_text, 100) as reviews_text, r.reviews_rating, r.date_added, r.customers_name from reviews r, reviews_description rd where r.products_id = '19' and r.reviews_id = rd.reviews_id and rd.languages_id = '1' and r.reviews_status = 1 order by r.reviews_id desc limit 0, 6"; parserManager.parse(new StringReader(sql)); } @@ -1678,14 +1617,14 @@ public void testOracleJoin2() throws JSQLParserException { } public void testOracleJoin2_1() throws JSQLParserException { - String[] values = new String[]{"(+)", "( +)", "(+ )", "( + )", " (+) "}; + String[] values = new String[] { "(+)", "( +)", "(+ )", "( + )", " (+) " }; for (String value : values) { assertSqlCanBeParsedAndDeparsed("SELECT * FROM tabelle1, tabelle2 WHERE tabelle1.a" + value + " = tabelle2.b", true); } } public void testOracleJoin2_2() throws JSQLParserException { - String[] values = new String[]{"(+)", "( +)", "(+ )", "( + )", " (+) "}; + String[] values = new String[] { "(+)", "( +)", "(+ )", "( + )", " (+) " }; for (String value : values) { assertSqlCanBeParsedAndDeparsed("SELECT * FROM tabelle1, tabelle2 WHERE tabelle1.a = tabelle2.b" + value, true); } @@ -1763,12 +1702,14 @@ public void testWithUnionProblem3() throws JSQLParserException { } public void testWithUnionProblem4() throws JSQLParserException { - String stmt = "WITH hist AS ((SELECT gl.mslink, ba.gl_name AS txt, ba.gl_nummer AS nr, 0 AS level, CAST(gl.mslink AS VARCHAR) AS path, ae.feature FROM tablea AS gl INNER JOIN tableb AS ba ON gl.mslink = ba.gl_mslink INNER JOIN tablec AS ae ON gl.mslink = ae.mslink AND ae.deleted = 0 WHERE gl.parent IS NULL AND gl.mslink <> 0) UNION ALL (SELECT gl.mslink, ba.gl_name AS txt, ba.gl_nummer AS nr, hist.level + 1 AS level, CAST(hist.path + '.' + CAST(gl.mslink AS VARCHAR) AS VARCHAR) AS path, ae.feature FROM tablea AS gl INNER JOIN tableb AS ba ON gl.mslink = ba.gl_mslink INNER JOIN tablec AS ae ON gl.mslink = ae.mslink AND ae.deleted = 0 INNER JOIN hist ON gl.parent = hist.mslink WHERE gl.mslink <> 0)) SELECT mslink, space(level * 4) + txt AS txt, nr, feature, path FROM hist WHERE EXISTS (SELECT feature FROM tablec WHERE mslink = 0 AND ((feature IN (1, 2) AND hist.feature = 3) OR (feature IN (4) AND hist.feature = 2)))"; + String stmt = + "WITH hist AS ((SELECT gl.mslink, ba.gl_name AS txt, ba.gl_nummer AS nr, 0 AS level, CAST(gl.mslink AS VARCHAR) AS path, ae.feature FROM tablea AS gl INNER JOIN tableb AS ba ON gl.mslink = ba.gl_mslink INNER JOIN tablec AS ae ON gl.mslink = ae.mslink AND ae.deleted = 0 WHERE gl.parent IS NULL AND gl.mslink <> 0) UNION ALL (SELECT gl.mslink, ba.gl_name AS txt, ba.gl_nummer AS nr, hist.level + 1 AS level, CAST(hist.path + '.' + CAST(gl.mslink AS VARCHAR) AS VARCHAR) AS path, ae.feature FROM tablea AS gl INNER JOIN tableb AS ba ON gl.mslink = ba.gl_mslink INNER JOIN tablec AS ae ON gl.mslink = ae.mslink AND ae.deleted = 0 INNER JOIN hist ON gl.parent = hist.mslink WHERE gl.mslink <> 0)) SELECT mslink, space(level * 4) + txt AS txt, nr, feature, path FROM hist WHERE EXISTS (SELECT feature FROM tablec WHERE mslink = 0 AND ((feature IN (1, 2) AND hist.feature = 3) OR (feature IN (4) AND hist.feature = 2)))"; assertSqlCanBeParsedAndDeparsed(stmt); } public void testWithUnionProblem5() throws JSQLParserException { - String stmt = "WITH hist AS ((SELECT gl.mslink, ba.gl_name AS txt, ba.gl_nummer AS nr, 0 AS level, CAST(gl.mslink AS VARCHAR) AS path, ae.feature FROM tablea AS gl INNER JOIN tableb AS ba ON gl.mslink = ba.gl_mslink INNER JOIN tablec AS ae ON gl.mslink = ae.mslink AND ae.deleted = 0 WHERE gl.parent IS NULL AND gl.mslink <> 0) UNION ALL (SELECT gl.mslink, ba.gl_name AS txt, ba.gl_nummer AS nr, hist.level + 1 AS level, CAST(hist.path + '.' + CAST(gl.mslink AS VARCHAR) AS VARCHAR) AS path, 5 AS feature FROM tablea AS gl INNER JOIN tableb AS ba ON gl.mslink = ba.gl_mslink INNER JOIN tablec AS ae ON gl.mslink = ae.mslink AND ae.deleted = 0 INNER JOIN hist ON gl.parent = hist.mslink WHERE gl.mslink <> 0)) SELECT * FROM hist"; + String stmt = + "WITH hist AS ((SELECT gl.mslink, ba.gl_name AS txt, ba.gl_nummer AS nr, 0 AS level, CAST(gl.mslink AS VARCHAR) AS path, ae.feature FROM tablea AS gl INNER JOIN tableb AS ba ON gl.mslink = ba.gl_mslink INNER JOIN tablec AS ae ON gl.mslink = ae.mslink AND ae.deleted = 0 WHERE gl.parent IS NULL AND gl.mslink <> 0) UNION ALL (SELECT gl.mslink, ba.gl_name AS txt, ba.gl_nummer AS nr, hist.level + 1 AS level, CAST(hist.path + '.' + CAST(gl.mslink AS VARCHAR) AS VARCHAR) AS path, 5 AS feature FROM tablea AS gl INNER JOIN tableb AS ba ON gl.mslink = ba.gl_mslink INNER JOIN tablec AS ae ON gl.mslink = ae.mslink AND ae.deleted = 0 INNER JOIN hist ON gl.parent = hist.mslink WHERE gl.mslink <> 0)) SELECT * FROM hist"; assertSqlCanBeParsedAndDeparsed(stmt); } @@ -1849,11 +1790,11 @@ public void testLateral1() throws JSQLParserException { } public void testLateralComplex1() throws IOException, JSQLParserException { - String stmt = IOUtils.toString(SelectTest.class. - getResourceAsStream("complex-lateral-select-request.txt")); + String stmt = IOUtils.toString(SelectTest.class.getResourceAsStream("complex-lateral-select-request.txt")); Select select = (Select) parserManager.parse(new StringReader(stmt)); - assertEquals("SELECT O.ORDERID, O.CUSTNAME, OL.LINETOTAL, OC.ORDCHGTOTAL, OT.TAXTOTAL FROM ORDERS O, LATERAL(SELECT SUM(NETAMT) AS LINETOTAL FROM ORDERLINES LINES WHERE LINES.ORDERID = O.ORDERID) AS OL, LATERAL(SELECT SUM(CHGAMT) AS ORDCHGTOTAL FROM ORDERCHARGES CHARGES WHERE LINES.ORDERID = O.ORDERID) AS OC, LATERAL(SELECT SUM(TAXAMT) AS TAXTOTAL FROM ORDERTAXES TAXES WHERE TAXES.ORDERID = O.ORDERID) AS OT", select. - toString()); + assertEquals( + "SELECT O.ORDERID, O.CUSTNAME, OL.LINETOTAL, OC.ORDCHGTOTAL, OT.TAXTOTAL FROM ORDERS O, LATERAL(SELECT SUM(NETAMT) AS LINETOTAL FROM ORDERLINES LINES WHERE LINES.ORDERID = O.ORDERID) AS OL, LATERAL(SELECT SUM(CHGAMT) AS ORDCHGTOTAL FROM ORDERCHARGES CHARGES WHERE LINES.ORDERID = O.ORDERID) AS OC, LATERAL(SELECT SUM(TAXAMT) AS TAXTOTAL FROM ORDERTAXES TAXES WHERE TAXES.ORDERID = O.ORDERID) AS OT", + select.toString()); } public void testValues() throws JSQLParserException { @@ -2006,11 +1947,11 @@ public void testPivotWithAlias3() throws JSQLParserException { public void testPivotWithAlias4() throws JSQLParserException { assertSqlCanBeParsedAndDeparsed("SELECT * FROM (" - + "SELECT a.Station_ID stationId, b.Factor_Code factoryCode, a.Value value" - + " FROM T_Data_Real a" - + " LEFT JOIN T_Bas_Factor b ON a.Factor_ID = b.Id" - + ") f " - + "PIVOT (max(f.value) FOR f.factoryCode IN (ZD, COD, SW, PH)) d"); + + "SELECT a.Station_ID stationId, b.Factor_Code factoryCode, a.Value value" + + " FROM T_Data_Real a" + + " LEFT JOIN T_Bas_Factor b ON a.Factor_ID = b.Id" + + ") f " + + "PIVOT (max(f.value) FOR f.factoryCode IN (ZD, COD, SW, PH)) d"); } public void testRegexpLike1() throws JSQLParserException { @@ -2175,7 +2116,7 @@ public void testJsonExpression() throws JSQLParserException { assertSqlCanBeParsedAndDeparsed("SELECT json_typeof(sale->'items'), json_typeof(sale->'items'->'quantity') FROM sales"); //The following staments can be parsed but not deparsed - for (String statement : new String[]{ + for (String statement : new String[] { "SELECT doc->'site_name' FROM websites WHERE doc @> '{\"tags\":[{\"term\":\"paris\"}, {\"term\":\"food\"}]}'", "SELECT * FROM sales where sale ->'items' @> '[{\"count\":0}]'", "SELECT * FROM sales where sale ->'items' ? 'name'", @@ -2200,10 +2141,10 @@ public void testSelectForUpdate2() throws JSQLParserException { public void testSelectJoin() throws JSQLParserException { assertSqlCanBeParsedAndDeparsed("SELECT pg_class.relname, pg_attribute.attname, pg_constraint.conname " - + "FROM pg_constraint JOIN pg_class ON pg_class.oid = pg_constraint.conrelid" - + " JOIN pg_attribute ON pg_attribute.attrelid = pg_constraint.conrelid" - + " WHERE pg_constraint.contype = 'u' AND (pg_attribute.attnum = ANY(pg_constraint.conkey))" - + " ORDER BY pg_constraint.conname"); + + "FROM pg_constraint JOIN pg_class ON pg_class.oid = pg_constraint.conrelid" + + " JOIN pg_attribute ON pg_attribute.attrelid = pg_constraint.conrelid" + + " WHERE pg_constraint.contype = 'u' AND (pg_attribute.attnum = ANY(pg_constraint.conkey))" + + " ORDER BY pg_constraint.conname"); } public void testSelectJoin2() throws JSQLParserException { @@ -2299,7 +2240,8 @@ public void testRowConstructor2() throws JSQLParserException { } public void testIssue154() throws JSQLParserException { - assertSqlCanBeParsedAndDeparsed("SELECT d.id, d.uuid, d.name, d.amount, d.percentage, d.modified_time FROM discount d LEFT OUTER JOIN discount_category dc ON d.id = dc.discount_id WHERE merchant_id = ? AND deleted = ? AND dc.discount_id IS NULL AND modified_time < ? AND modified_time >= ? ORDER BY modified_time"); + assertSqlCanBeParsedAndDeparsed( + "SELECT d.id, d.uuid, d.name, d.amount, d.percentage, d.modified_time FROM discount d LEFT OUTER JOIN discount_category dc ON d.id = dc.discount_id WHERE merchant_id = ? AND deleted = ? AND dc.discount_id IS NULL AND modified_time < ? AND modified_time >= ? ORDER BY modified_time"); } public void testIssue154_2() throws JSQLParserException { @@ -2348,26 +2290,27 @@ public void testOracleHint() throws JSQLParserException { assertOracleHintExists("SELECT /*+ MORE\nHINTS\t\nPOSSIBLE */ * FROM mytable", true, "MORE\nHINTS\t\nPOSSIBLE"); assertOracleHintExists("SELECT /*+ leading(sn di md sh ot) cardinality(ot 1000) */ c, b FROM mytable", true, "leading(sn di md sh ot) cardinality(ot 1000)"); assertOracleHintExists("SELECT /*+ ORDERED INDEX (b, jl_br_balances_n1) USE_NL (j b) \n" - + " USE_NL (glcc glf) USE_MERGE (gp gsb) */\n" - + " b.application_id\n" - + "FROM jl_br_journals j,\n" - + " po_vendors p", true, "ORDERED INDEX (b, jl_br_balances_n1) USE_NL (j b) \n" + + " USE_NL (glcc glf) USE_MERGE (gp gsb) */\n" + + " b.application_id\n" + + "FROM jl_br_journals j,\n" + + " po_vendors p", true, + "ORDERED INDEX (b, jl_br_balances_n1) USE_NL (j b) \n" + " USE_NL (glcc glf) USE_MERGE (gp gsb)"); assertOracleHintExists("SELECT /*+ROWID(emp)*/ /*+ THIS IS NOT HINT! ***/ * \n" - + "FROM emp \n" - + "WHERE rowid > 'AAAAtkAABAAAFNTAAA' AND empno = 155", false, "ROWID(emp)"); + + "FROM emp \n" + + "WHERE rowid > 'AAAAtkAABAAAFNTAAA' AND empno = 155", false, "ROWID(emp)"); assertOracleHintExists("SELECT /*+ INDEX(patients sex_index) use sex_index because there are few\n" - + " male patients */ name, height, weight\n" - + "FROM patients\n" - + "WHERE sex = 'm'", true, "INDEX(patients sex_index) use sex_index because there are few\n male patients"); + + " male patients */ name, height, weight\n" + + "FROM patients\n" + + "WHERE sex = 'm'", true, "INDEX(patients sex_index) use sex_index because there are few\n male patients"); assertOracleHintExists("SELECT /*+INDEX_COMBINE(emp sal_bmi hiredate_bmi)*/ * \n" - + "FROM emp \n" - + "WHERE sal < 50000 AND hiredate < '01-JAN-1990'", true, "INDEX_COMBINE(emp sal_bmi hiredate_bmi)"); + + "FROM emp \n" + + "WHERE sal < 50000 AND hiredate < '01-JAN-1990'", true, "INDEX_COMBINE(emp sal_bmi hiredate_bmi)"); assertOracleHintExists("SELECT --+ CLUSTER \n" - + "emp.ename, deptno\n" - + "FROM emp, dept\n" - + "WHERE deptno = 10 \n" - + "AND emp.deptno = dept.deptno", true, "CLUSTER"); + + "emp.ename, deptno\n" + + "FROM emp, dept\n" + + "WHERE deptno = 10 \n" + + "AND emp.deptno = dept.deptno", true, "CLUSTER"); assertOracleHintExists("SELECT --+ CLUSTER \n --+ some other comment, not hint\n /* even more comments */ * from dual", false, "CLUSTER"); assertOracleHintExists("(SELECT * from t1) UNION (select /*+ CLUSTER */ * from dual)", true, null, "CLUSTER"); assertOracleHintExists("(SELECT * from t1) UNION (select /*+ CLUSTER */ * from dual) UNION (select * from dual)", true, null, "CLUSTER", null); @@ -2455,7 +2398,8 @@ public void testIssue217_keywordSeparator() throws JSQLParserException { } public void testIssue215_possibleEndlessParsing() throws JSQLParserException { - assertSqlCanBeParsedAndDeparsed("SELECT (CASE WHEN ((value LIKE '%t1%') OR (value LIKE '%t2%')) THEN 't1s' WHEN ((((((((((((((((((((((((((((value LIKE '%t3%') OR (value LIKE '%t3%')) OR (value LIKE '%t3%')) OR (value LIKE '%t4%')) OR (value LIKE '%t4%')) OR (value LIKE '%t5%')) OR (value LIKE '%t6%')) OR (value LIKE '%t6%')) OR (value LIKE '%t7%')) OR (value LIKE '%t7%')) OR (value LIKE '%t7%')) OR (value LIKE '%t8%')) OR (value LIKE '%t8%')) OR (value LIKE '%CTO%')) OR (value LIKE '%cto%')) OR (value LIKE '%Cto%')) OR (value LIKE '%t9%')) OR (value LIKE '%t9%')) OR (value LIKE '%COO%')) OR (value LIKE '%coo%')) OR (value LIKE '%Coo%')) OR (value LIKE '%t10%')) OR (value LIKE '%t10%')) OR (value LIKE '%CIO%')) OR (value LIKE '%cio%')) OR (value LIKE '%Cio%')) OR (value LIKE '%t11%')) OR (value LIKE '%t11%')) THEN 't' WHEN ((((value LIKE '%t12%') OR (value LIKE '%t12%')) OR (value LIKE '%VP%')) OR (value LIKE '%vp%')) THEN 'Vice t12s' WHEN ((((((value LIKE '% IT %') OR (value LIKE '%t13%')) OR (value LIKE '%t13%')) OR (value LIKE '% it %')) OR (value LIKE '%tech%')) OR (value LIKE '%Tech%')) THEN 'IT' WHEN ((((value LIKE '%Analyst%') OR (value LIKE '%t14%')) OR (value LIKE '%Analytic%')) OR (value LIKE '%analytic%')) THEN 'Analysts' WHEN ((value LIKE '%Manager%') OR (value LIKE '%manager%')) THEN 't15' ELSE 'Other' END) FROM tab1"); + assertSqlCanBeParsedAndDeparsed( + "SELECT (CASE WHEN ((value LIKE '%t1%') OR (value LIKE '%t2%')) THEN 't1s' WHEN ((((((((((((((((((((((((((((value LIKE '%t3%') OR (value LIKE '%t3%')) OR (value LIKE '%t3%')) OR (value LIKE '%t4%')) OR (value LIKE '%t4%')) OR (value LIKE '%t5%')) OR (value LIKE '%t6%')) OR (value LIKE '%t6%')) OR (value LIKE '%t7%')) OR (value LIKE '%t7%')) OR (value LIKE '%t7%')) OR (value LIKE '%t8%')) OR (value LIKE '%t8%')) OR (value LIKE '%CTO%')) OR (value LIKE '%cto%')) OR (value LIKE '%Cto%')) OR (value LIKE '%t9%')) OR (value LIKE '%t9%')) OR (value LIKE '%COO%')) OR (value LIKE '%coo%')) OR (value LIKE '%Coo%')) OR (value LIKE '%t10%')) OR (value LIKE '%t10%')) OR (value LIKE '%CIO%')) OR (value LIKE '%cio%')) OR (value LIKE '%Cio%')) OR (value LIKE '%t11%')) OR (value LIKE '%t11%')) THEN 't' WHEN ((((value LIKE '%t12%') OR (value LIKE '%t12%')) OR (value LIKE '%VP%')) OR (value LIKE '%vp%')) THEN 'Vice t12s' WHEN ((((((value LIKE '% IT %') OR (value LIKE '%t13%')) OR (value LIKE '%t13%')) OR (value LIKE '% it %')) OR (value LIKE '%tech%')) OR (value LIKE '%Tech%')) THEN 'IT' WHEN ((((value LIKE '%Analyst%') OR (value LIKE '%t14%')) OR (value LIKE '%Analytic%')) OR (value LIKE '%analytic%')) THEN 'Analysts' WHEN ((value LIKE '%Manager%') OR (value LIKE '%manager%')) THEN 't15' ELSE 'Other' END) FROM tab1"); } public void testIssue215_possibleEndlessParsing2() throws JSQLParserException { @@ -2463,7 +2407,8 @@ public void testIssue215_possibleEndlessParsing2() throws JSQLParserException { } public void testIssue215_possibleEndlessParsing3() throws JSQLParserException { - assertSqlCanBeParsedAndDeparsed("SELECT * FROM mytable WHERE ((((((((((((((((((((((((((((value LIKE '%t3%') OR (value LIKE '%t3%')) OR (value LIKE '%t3%')) OR (value LIKE '%t4%')) OR (value LIKE '%t4%')) OR (value LIKE '%t5%')) OR (value LIKE '%t6%')) OR (value LIKE '%t6%')) OR (value LIKE '%t7%')) OR (value LIKE '%t7%')) OR (value LIKE '%t7%')) OR (value LIKE '%t8%')) OR (value LIKE '%t8%')) OR (value LIKE '%CTO%')) OR (value LIKE '%cto%')) OR (value LIKE '%Cto%')) OR (value LIKE '%t9%')) OR (value LIKE '%t9%')) OR (value LIKE '%COO%')) OR (value LIKE '%coo%')) OR (value LIKE '%Coo%')) OR (value LIKE '%t10%')) OR (value LIKE '%t10%')) OR (value LIKE '%CIO%')) OR (value LIKE '%cio%')) OR (value LIKE '%Cio%')) OR (value LIKE '%t11%')) OR (value LIKE '%t11%'))"); + assertSqlCanBeParsedAndDeparsed( + "SELECT * FROM mytable WHERE ((((((((((((((((((((((((((((value LIKE '%t3%') OR (value LIKE '%t3%')) OR (value LIKE '%t3%')) OR (value LIKE '%t4%')) OR (value LIKE '%t4%')) OR (value LIKE '%t5%')) OR (value LIKE '%t6%')) OR (value LIKE '%t6%')) OR (value LIKE '%t7%')) OR (value LIKE '%t7%')) OR (value LIKE '%t7%')) OR (value LIKE '%t8%')) OR (value LIKE '%t8%')) OR (value LIKE '%CTO%')) OR (value LIKE '%cto%')) OR (value LIKE '%Cto%')) OR (value LIKE '%t9%')) OR (value LIKE '%t9%')) OR (value LIKE '%COO%')) OR (value LIKE '%coo%')) OR (value LIKE '%Coo%')) OR (value LIKE '%t10%')) OR (value LIKE '%t10%')) OR (value LIKE '%CIO%')) OR (value LIKE '%cio%')) OR (value LIKE '%Cio%')) OR (value LIKE '%t11%')) OR (value LIKE '%t11%'))"); } public void testIssue215_possibleEndlessParsing4() throws JSQLParserException { @@ -2475,11 +2420,13 @@ public void testIssue215_possibleEndlessParsing5() throws JSQLParserException { } public void testIssue215_possibleEndlessParsing6() throws JSQLParserException { - assertSqlCanBeParsedAndDeparsed("SELECT * FROM mytable WHERE (((((((((((((value LIKE '%t3%') OR (value LIKE '%t3%')) OR (value LIKE '%t3%')) OR (value LIKE '%t4%')) OR (value LIKE '%t4%')) OR (value LIKE '%t5%')) OR (value LIKE '%t6%')) OR (value LIKE '%t6%')) OR (value LIKE '%t7%')) OR (value LIKE '%t7%')) OR (value LIKE '%t7%')) OR (value LIKE '%t8%')) OR (value LIKE '%t8%'))"); + assertSqlCanBeParsedAndDeparsed( + "SELECT * FROM mytable WHERE (((((((((((((value LIKE '%t3%') OR (value LIKE '%t3%')) OR (value LIKE '%t3%')) OR (value LIKE '%t4%')) OR (value LIKE '%t4%')) OR (value LIKE '%t5%')) OR (value LIKE '%t6%')) OR (value LIKE '%t6%')) OR (value LIKE '%t7%')) OR (value LIKE '%t7%')) OR (value LIKE '%t7%')) OR (value LIKE '%t8%')) OR (value LIKE '%t8%'))"); } public void testIssue215_possibleEndlessParsing7() throws JSQLParserException { - assertSqlCanBeParsedAndDeparsed("SELECT * FROM mytable WHERE (((((((((((((((((((((value LIKE '%t3%') OR (value LIKE '%t3%')) OR (value LIKE '%t3%')) OR (value LIKE '%t4%')) OR (value LIKE '%t4%')) OR (value LIKE '%t5%')) OR (value LIKE '%t6%')) OR (value LIKE '%t6%')) OR (value LIKE '%t7%')) OR (value LIKE '%t7%')) OR (value LIKE '%t7%')) OR (value LIKE '%t8%')) OR (value LIKE '%t8%')) OR (value LIKE '%CTO%')) OR (value LIKE '%cto%')) OR (value LIKE '%Cto%')) OR (value LIKE '%t9%')) OR (value LIKE '%t9%')) OR (value LIKE '%COO%')) OR (value LIKE '%coo%')) OR (value LIKE '%Coo%'))"); + assertSqlCanBeParsedAndDeparsed( + "SELECT * FROM mytable WHERE (((((((((((((((((((((value LIKE '%t3%') OR (value LIKE '%t3%')) OR (value LIKE '%t3%')) OR (value LIKE '%t4%')) OR (value LIKE '%t4%')) OR (value LIKE '%t5%')) OR (value LIKE '%t6%')) OR (value LIKE '%t6%')) OR (value LIKE '%t7%')) OR (value LIKE '%t7%')) OR (value LIKE '%t7%')) OR (value LIKE '%t8%')) OR (value LIKE '%t8%')) OR (value LIKE '%CTO%')) OR (value LIKE '%cto%')) OR (value LIKE '%Cto%')) OR (value LIKE '%t9%')) OR (value LIKE '%t9%')) OR (value LIKE '%COO%')) OR (value LIKE '%coo%')) OR (value LIKE '%Coo%'))"); } public void testIssue230_cascadeKeyword() throws JSQLParserException { @@ -2528,12 +2475,13 @@ public void testWhereIssue241KeywordEnd() throws JSQLParserException { } public void testSpeedTestIssue235() throws JSQLParserException { - assertSqlCanBeParsedAndDeparsed("SELECT * FROM tbl WHERE (ROUND((((((period_diff(date_format(tbl.CD, '%Y%m'), date_format(SUBTIME(CURRENT_TIMESTAMP(), 25200), '%Y%m')) + month(SUBTIME(CURRENT_TIMESTAMP(), 25200))) - MONTH('2012-02-01')) - 1) / 3) - ROUND((((month(SUBTIME(CURRENT_TIMESTAMP(),25200)) - MONTH('2012-02-01')) - 1) / 3)))) = -3)", true); + assertSqlCanBeParsedAndDeparsed( + "SELECT * FROM tbl WHERE (ROUND((((((period_diff(date_format(tbl.CD, '%Y%m'), date_format(SUBTIME(CURRENT_TIMESTAMP(), 25200), '%Y%m')) + month(SUBTIME(CURRENT_TIMESTAMP(), 25200))) - MONTH('2012-02-01')) - 1) / 3) - ROUND((((month(SUBTIME(CURRENT_TIMESTAMP(),25200)) - MONTH('2012-02-01')) - 1) / 3)))) = -3)", + true); } public void testSpeedTestIssue235_2() throws IOException, JSQLParserException { - String stmt = IOUtils.toString(SelectTest.class. - getResourceAsStream("large-sql-issue-235.txt")); + String stmt = IOUtils.toString(SelectTest.class.getResourceAsStream("large-sql-issue-235.txt")); assertSqlCanBeParsedAndDeparsed(stmt, true); } @@ -2579,8 +2527,7 @@ public void testUniqueInsteadOfDistinctIssue299() throws JSQLParserException { } public void testProblemSqlIssue265() throws IOException, JSQLParserException { - String sqls = IOUtils.toString(SelectTest.class. - getResourceAsStream("large-sql-with-issue-265.txt")); + String sqls = IOUtils.toString(SelectTest.class.getResourceAsStream("large-sql-with-issue-265.txt")); Statements stmts = CCJSqlParserUtil.parseStatements(sqls); assertEquals(2, stmts.getStatements().size()); } @@ -2592,10 +2539,10 @@ public void testProblemSqlIssue330() throws JSQLParserException { public void testProblemSqlIssue330_2() throws JSQLParserException { assertSqlCanBeParsedAndDeparsed("SELECT CAST('90 days' AS interval)"); } -// won't fix due to lookahead impact on parser -// public void testKeywordOrderAsColumnnameIssue333() throws JSQLParserException { -// assertSqlCanBeParsedAndDeparsed("SELECT choice.response_choice_id AS uuid, choice.digit AS digit, choice.text_response AS textResponse, choice.voice_prompt AS voicePrompt, choice.action AS action, choice.contribution AS contribution, choice.order_num AS order, choice.description AS description, choice.is_join_conference AS joinConference, choice.voice_prompt_language_code AS voicePromptLanguageCode, choice.text_response_language_code AS textResponseLanguageCode, choice.description_language_code AS descriptionLanguageCode, choice.rec_phrase AS recordingPhrase FROM response_choices choice WHERE choice.presentation_id = ? ORDER BY choice.order_num", true); -// } + // won't fix due to lookahead impact on parser + // public void testKeywordOrderAsColumnnameIssue333() throws JSQLParserException { + // assertSqlCanBeParsedAndDeparsed("SELECT choice.response_choice_id AS uuid, choice.digit AS digit, choice.text_response AS textResponse, choice.voice_prompt AS voicePrompt, choice.action AS action, choice.contribution AS contribution, choice.order_num AS order, choice.description AS description, choice.is_join_conference AS joinConference, choice.voice_prompt_language_code AS voicePromptLanguageCode, choice.text_response_language_code AS textResponseLanguageCode, choice.description_language_code AS descriptionLanguageCode, choice.rec_phrase AS recordingPhrase FROM response_choices choice WHERE choice.presentation_id = ? ORDER BY choice.order_num", true); + // } public void testProblemKeywordCommitIssue341() throws JSQLParserException { assertSqlCanBeParsedAndDeparsed("SELECT id, commit FROM table1"); @@ -2606,29 +2553,35 @@ public void testProblemSqlIssue352() throws JSQLParserException { } public void testProblemIsIssue331() throws JSQLParserException { - assertSqlCanBeParsedAndDeparsed("SELECT C_DocType.C_DocType_ID,NULL,COALESCE(C_DocType_Trl.Name,C_DocType.Name) AS Name,C_DocType.IsActive FROM C_DocType LEFT JOIN C_DocType_TRL ON (C_DocType.C_DocType_ID=C_DocType_Trl.C_DocType_ID AND C_DocType_Trl.AD_Language='es_AR') WHERE C_DocType.AD_Client_ID=1010016 AND C_DocType.AD_Client_ID IN (0,1010016) AND C_DocType.c_doctype_id in ( select c_doctype2.c_doctype_id from c_doctype as c_doctype2 where substring( c_doctype2.printname,6, length(c_doctype2.printname) ) = ( select letra from c_letra_comprobante as clc where clc.c_letra_comprobante_id = 1010039) ) AND ( (1010094!=0 AND C_DocType.ad_org_id = 1010094) OR 1010094=0 ) ORDER BY 3 LIMIT 2000", true); + assertSqlCanBeParsedAndDeparsed( + "SELECT C_DocType.C_DocType_ID,NULL,COALESCE(C_DocType_Trl.Name,C_DocType.Name) AS Name,C_DocType.IsActive FROM C_DocType LEFT JOIN C_DocType_TRL ON (C_DocType.C_DocType_ID=C_DocType_Trl.C_DocType_ID AND C_DocType_Trl.AD_Language='es_AR') WHERE C_DocType.AD_Client_ID=1010016 AND C_DocType.AD_Client_ID IN (0,1010016) AND C_DocType.c_doctype_id in ( select c_doctype2.c_doctype_id from c_doctype as c_doctype2 where substring( c_doctype2.printname,6, length(c_doctype2.printname) ) = ( select letra from c_letra_comprobante as clc where clc.c_letra_comprobante_id = 1010039) ) AND ( (1010094!=0 AND C_DocType.ad_org_id = 1010094) OR 1010094=0 ) ORDER BY 3 LIMIT 2000", + true); } public void testProblemIssue375() throws JSQLParserException { - assertSqlCanBeParsedAndDeparsed("select n.nspname, c.relname, a.attname, a.atttypid, t.typname, a.attnum, a.attlen, a.atttypmod, a.attnotnull, c.relhasrules, c.relkind, c.oid, pg_get_expr(d.adbin, d.adrelid), case t.typtype when 'd' then t.typbasetype else 0 end, t.typtypmod, c.relhasoids from (((pg_catalog.pg_class c inner join pg_catalog.pg_namespace n on n.oid = c.relnamespace and c.relname = 'business' and n.nspname = 'public') inner join pg_catalog.pg_attribute a on (not a.attisdropped) and a.attnum > 0 and a.attrelid = c.oid) inner join pg_catalog.pg_type t on t.oid = a.atttypid) left outer join pg_attrdef d on a.atthasdef and d.adrelid = a.attrelid and d.adnum = a.attnum order by n.nspname, c.relname, attnum", true); + assertSqlCanBeParsedAndDeparsed( + "select n.nspname, c.relname, a.attname, a.atttypid, t.typname, a.attnum, a.attlen, a.atttypmod, a.attnotnull, c.relhasrules, c.relkind, c.oid, pg_get_expr(d.adbin, d.adrelid), case t.typtype when 'd' then t.typbasetype else 0 end, t.typtypmod, c.relhasoids from (((pg_catalog.pg_class c inner join pg_catalog.pg_namespace n on n.oid = c.relnamespace and c.relname = 'business' and n.nspname = 'public') inner join pg_catalog.pg_attribute a on (not a.attisdropped) and a.attnum > 0 and a.attrelid = c.oid) inner join pg_catalog.pg_type t on t.oid = a.atttypid) left outer join pg_attrdef d on a.atthasdef and d.adrelid = a.attrelid and d.adnum = a.attnum order by n.nspname, c.relname, attnum", + true); } public void testProblemIssue375Simplified() throws JSQLParserException { - assertSqlCanBeParsedAndDeparsed("select * from (((pg_catalog.pg_class c inner join pg_catalog.pg_namespace n on n.oid = c.relnamespace and c.relname = 'business' and n.nspname = 'public') inner join pg_catalog.pg_attribute a on (not a.attisdropped) and a.attnum > 0 and a.attrelid = c.oid) inner join pg_catalog.pg_type t on t.oid = a.atttypid) left outer join pg_attrdef d on a.atthasdef and d.adrelid = a.attrelid and d.adnum = a.attnum order by n.nspname, c.relname, attnum", true); + assertSqlCanBeParsedAndDeparsed( + "select * from (((pg_catalog.pg_class c inner join pg_catalog.pg_namespace n on n.oid = c.relnamespace and c.relname = 'business' and n.nspname = 'public') inner join pg_catalog.pg_attribute a on (not a.attisdropped) and a.attnum > 0 and a.attrelid = c.oid) inner join pg_catalog.pg_type t on t.oid = a.atttypid) left outer join pg_attrdef d on a.atthasdef and d.adrelid = a.attrelid and d.adnum = a.attnum order by n.nspname, c.relname, attnum", + true); } public void testProblemIssue375Simplified2() throws JSQLParserException { assertSqlCanBeParsedAndDeparsed("select * from (pg_catalog.pg_class c inner join pg_catalog.pg_namespace n on n.oid = c.relnamespace and c.relname = 'business' and n.nspname = 'public') inner join pg_catalog.pg_attribute a on (not a.attisdropped) and a.attnum > 0 and a.attrelid = c.oid", true); } -// public void testProblemIssue377() throws Exception { -// try { -// assertSqlCanBeParsedAndDeparsed("select 'yelp'::name as pktable_cat, n2.nspname as pktable_schem, c2.relname as pktable_name, a2.attname as pkcolumn_name, 'yelp'::name as fktable_cat, n1.nspname as fktable_schem, c1.relname as fktable_name, a1.attname as fkcolumn_name, i::int2 as key_seq, case ref.confupdtype when 'c' then 0::int2 when 'n' then 2::int2 when 'd' then 4::int2 when 'r' then 1::int2 else 3::int2 end as update_rule, case ref.confdeltype when 'c' then 0::int2 when 'n' then 2::int2 when 'd' then 4::int2 when 'r' then 1::int2 else 3::int2 end as delete_rule, ref.conname as fk_name, cn.conname as pk_name, case when ref.condeferrable then case when ref.condeferred then 5::int2 else 6::int2 end else 7::int2 end as deferrablity from ((((((( (select cn.oid, conrelid, conkey, confrelid, confkey, generate_series(array_lower(conkey, 1), array_upper(conkey, 1)) as i, confupdtype, confdeltype, conname, condeferrable, condeferred from pg_catalog.pg_constraint cn, pg_catalog.pg_class c, pg_catalog.pg_namespace n where contype = 'f' and conrelid = c.oid and relname = 'business' and n.oid = c.relnamespace and n.nspname = 'public' ) ref inner join pg_catalog.pg_class c1 on c1.oid = ref.conrelid) inner join pg_catalog.pg_namespace n1 on n1.oid = c1.relnamespace) inner join pg_catalog.pg_attribute a1 on a1.attrelid = c1.oid and a1.attnum = conkey[i]) inner join pg_catalog.pg_class c2 on c2.oid = ref.confrelid) inner join pg_catalog.pg_namespace n2 on n2.oid = c2.relnamespace) inner join pg_catalog.pg_attribute a2 on a2.attrelid = c2.oid and a2.attnum = confkey[i]) left outer join pg_catalog.pg_constraint cn on cn.conrelid = ref.confrelid and cn.contype = 'p') order by ref.oid, ref.i", true); -// } catch (Exception ex) { -// ex.printStackTrace(); -// throw ex; -// } -// } + // public void testProblemIssue377() throws Exception { + // try { + // assertSqlCanBeParsedAndDeparsed("select 'yelp'::name as pktable_cat, n2.nspname as pktable_schem, c2.relname as pktable_name, a2.attname as pkcolumn_name, 'yelp'::name as fktable_cat, n1.nspname as fktable_schem, c1.relname as fktable_name, a1.attname as fkcolumn_name, i::int2 as key_seq, case ref.confupdtype when 'c' then 0::int2 when 'n' then 2::int2 when 'd' then 4::int2 when 'r' then 1::int2 else 3::int2 end as update_rule, case ref.confdeltype when 'c' then 0::int2 when 'n' then 2::int2 when 'd' then 4::int2 when 'r' then 1::int2 else 3::int2 end as delete_rule, ref.conname as fk_name, cn.conname as pk_name, case when ref.condeferrable then case when ref.condeferred then 5::int2 else 6::int2 end else 7::int2 end as deferrablity from ((((((( (select cn.oid, conrelid, conkey, confrelid, confkey, generate_series(array_lower(conkey, 1), array_upper(conkey, 1)) as i, confupdtype, confdeltype, conname, condeferrable, condeferred from pg_catalog.pg_constraint cn, pg_catalog.pg_class c, pg_catalog.pg_namespace n where contype = 'f' and conrelid = c.oid and relname = 'business' and n.oid = c.relnamespace and n.nspname = 'public' ) ref inner join pg_catalog.pg_class c1 on c1.oid = ref.conrelid) inner join pg_catalog.pg_namespace n1 on n1.oid = c1.relnamespace) inner join pg_catalog.pg_attribute a1 on a1.attrelid = c1.oid and a1.attnum = conkey[i]) inner join pg_catalog.pg_class c2 on c2.oid = ref.confrelid) inner join pg_catalog.pg_namespace n2 on n2.oid = c2.relnamespace) inner join pg_catalog.pg_attribute a2 on a2.attrelid = c2.oid and a2.attnum = confkey[i]) left outer join pg_catalog.pg_constraint cn on cn.conrelid = ref.confrelid and cn.contype = 'p') order by ref.oid, ref.i", true); + // } catch (Exception ex) { + // ex.printStackTrace(); + // throw ex; + // } + // } public void testProblemInNotInProblemIssue379() throws JSQLParserException { assertSqlCanBeParsedAndDeparsed("SELECT rank FROM DBObjects WHERE rank NOT IN (0, 1)"); assertSqlCanBeParsedAndDeparsed("SELECT rank FROM DBObjects WHERE rank IN (0, 1)"); @@ -2668,13 +2621,13 @@ public void testForUpdateWaitWithTimeout() throws JSQLParserException { assertEquals("wait time should be 60", waitTime, 60L); } -// public void testSubSelectFailsIssue394() throws JSQLParserException { -// assertSqlCanBeParsedAndDeparsed("select aa.* , t.* from accenter.all aa, (select a.* from pacioli.emc_plan a) t"); -// } -// -// public void testSubSelectFailsIssue394_2() throws JSQLParserException { -// assertSqlCanBeParsedAndDeparsed("select * from all"); -// } + // public void testSubSelectFailsIssue394() throws JSQLParserException { + // assertSqlCanBeParsedAndDeparsed("select aa.* , t.* from accenter.all aa, (select a.* from pacioli.emc_plan a) t"); + // } + // + // public void testSubSelectFailsIssue394_2() throws JSQLParserException { + // assertSqlCanBeParsedAndDeparsed("select * from all"); + // } public void testMysqlIndexHints() throws JSQLParserException { assertSqlCanBeParsedAndDeparsed("SELECT column FROM testtable AS t0 USE INDEX (index1)"); assertSqlCanBeParsedAndDeparsed("SELECT column FROM testtable AS t0 IGNORE INDEX (index1)"); @@ -2735,7 +2688,9 @@ public void testIssue508LeftRightBitwiseShift() throws JSQLParserException { } public void testIssue522() throws JSQLParserException { - assertSqlCanBeParsedAndDeparsed("SELECT CASE mr.required_quantity - mr.quantity_issued WHEN 0 THEN NULL ELSE CASE SIGN(mr.required_quantity) WHEN -1 * SIGN(mr.quantity_issued) THEN mr.required_quantity - mr.quantity_issued ELSE CASE SIGN(ABS(mr.required_quantity) - ABS(mr.quantity_issued)) WHEN -1 THEN NULL ELSE mr.required_quantity - mr.quantity_issued END END END quantity_open FROM mytable", true); + assertSqlCanBeParsedAndDeparsed( + "SELECT CASE mr.required_quantity - mr.quantity_issued WHEN 0 THEN NULL ELSE CASE SIGN(mr.required_quantity) WHEN -1 * SIGN(mr.quantity_issued) THEN mr.required_quantity - mr.quantity_issued ELSE CASE SIGN(ABS(mr.required_quantity) - ABS(mr.quantity_issued)) WHEN -1 THEN NULL ELSE mr.required_quantity - mr.quantity_issued END END END quantity_open FROM mytable", + true); } public void testIssue522_2() throws JSQLParserException { @@ -2753,28 +2708,28 @@ public void testIssue522_4() throws JSQLParserException { public void testIssue554() throws JSQLParserException { assertSqlCanBeParsedAndDeparsed("SELECT T.INDEX AS INDEX133_ FROM myTable T"); } - + public void testIssue567KeywordPrimary() throws JSQLParserException { assertSqlCanBeParsedAndDeparsed("SELECT primary, secondary FROM info"); } - + public void testIssue572TaskReplacement() throws JSQLParserException { assertSqlCanBeParsedAndDeparsed("SELECT task_id AS \"Task Id\" FROM testtable"); } - + public void testIssue566LargeView() throws IOException, JSQLParserException { String stmt = IOUtils.toString(SelectTest.class.getResourceAsStream("large-sql-issue-566.txt")); assertSqlCanBeParsedAndDeparsed(stmt, true); } - + public void testIssue566PostgreSQLEscaped() throws IOException, JSQLParserException { assertSqlCanBeParsedAndDeparsed("SELECT E'test'"); } - + public void testIssue563MultiSubJoin() throws JSQLParserException { assertSqlCanBeParsedAndDeparsed("SELECT c FROM ((SELECT a FROM t) JOIN (SELECT b FROM t2) ON a = B JOIN (SELECT c FROM t3) ON b = c)"); } - + public void testIssue563MultiSubJoin_2() throws JSQLParserException { assertSqlCanBeParsedAndDeparsed("SELECT c FROM ((SELECT a FROM t))"); } diff --git a/src/test/java/net/sf/jsqlparser/test/select/SpecialOracleTest.java b/src/test/java/net/sf/jsqlparser/test/select/SpecialOracleTest.java index 1135c1f00..e817cacf3 100644 --- a/src/test/java/net/sf/jsqlparser/test/select/SpecialOracleTest.java +++ b/src/test/java/net/sf/jsqlparser/test/select/SpecialOracleTest.java @@ -76,8 +76,7 @@ public void testAllSqlsParseDeparse() throws IOException { } } - LOG. - log(Level.INFO, "tested {0} files. got {1} correct parse results", new Object[]{count, success}); + LOG.log(Level.INFO, "tested {0} files. got {1} correct parse results", new Object[] { count, success }); assertTrue(success >= 140); } @@ -105,14 +104,14 @@ public void testOperatorsWithSpaces() throws Exception { // First, the regular way (normal for most databases). sql = "SELECT\n" - + " Something\n" - + "FROM\n" - + " Sometable\n" - + "WHERE\n" - + " Somefield >= Somevalue\n" - + " AND Somefield <= Somevalue\n" - + " AND Somefield <> Somevalue\n" - + " AND Somefield != Somevalue\n"; + + " Something\n" + + "FROM\n" + + " Sometable\n" + + "WHERE\n" + + " Somefield >= Somevalue\n" + + " AND Somefield <= Somevalue\n" + + " AND Somefield <> Somevalue\n" + + " AND Somefield != Somevalue\n"; statement = CCJSqlParserUtil.parse(sql); @@ -122,13 +121,13 @@ public void testOperatorsWithSpaces() throws Exception { // Second, the special crap Oracle lets you get away with. sql = "SELECT\n" - + " Something\n" - + "FROM\n" - + " Sometable\n" - + "WHERE\n" - + " Somefield > = Somevalue\n" - + " AND Somefield < = Somevalue\n" - + " AND Somefield < > Somevalue\n"; + + " Something\n" + + "FROM\n" + + " Sometable\n" + + "WHERE\n" + + " Somefield > = Somevalue\n" + + " AND Somefield < = Somevalue\n" + + " AND Somefield < > Somevalue\n"; // Note, we do not (currently) test the "!=" with spaces in between -- Postgresql deals with this as two operators, "factorial" and "equals". statement = CCJSqlParserUtil.parse(sql); @@ -139,13 +138,13 @@ public void testOperatorsWithSpaces() throws Exception { // And then with multiple whitespace sql = "SELECT\n" - + " Something\n" - + "FROM\n" - + " Sometable\n" - + "WHERE\n" - + " Somefield > \t = Somevalue\n" - + " AND Somefield < = Somevalue\n" - + " AND Somefield <\t\t> Somevalue\n"; + + " Something\n" + + "FROM\n" + + " Sometable\n" + + "WHERE\n" + + " Somefield > \t = Somevalue\n" + + " AND Somefield < = Somevalue\n" + + " AND Somefield <\t\t> Somevalue\n"; statement = CCJSqlParserUtil.parse(sql); diff --git a/src/test/java/net/sf/jsqlparser/test/select/SpeedTest.java b/src/test/java/net/sf/jsqlparser/test/select/SpeedTest.java index 088e87eb2..e9ee93159 100644 --- a/src/test/java/net/sf/jsqlparser/test/select/SpeedTest.java +++ b/src/test/java/net/sf/jsqlparser/test/select/SpeedTest.java @@ -26,8 +26,7 @@ public class SpeedTest { @Test public void testSpeed() throws Exception { // all the statements in testfiles/simple_parsing.txt - BufferedReader in = new BufferedReader(new InputStreamReader(SpeedTest.class. - getResourceAsStream("/simple_parsing.txt"))); + BufferedReader in = new BufferedReader(new InputStreamReader(SpeedTest.class.getResourceAsStream("/simple_parsing.txt"))); CCJSqlParserManagerTest d; ArrayList statementsList = new ArrayList(); @@ -39,8 +38,7 @@ public void testSpeed() throws Exception { statementsList.add(statement); } in.close(); - in = new BufferedReader(new InputStreamReader(SpeedTest.class. - getResourceAsStream("/RUBiS-select-requests.txt"))); + in = new BufferedReader(new InputStreamReader(SpeedTest.class.getResourceAsStream("/RUBiS-select-requests.txt"))); // all the statements in testfiles/RUBiS-select-requests.txt while (true) { @@ -82,8 +80,7 @@ public void testSpeed() throws Exception { String statement = ""; int numTests = 0; // it seems that the very first parsing takes a while, so I put it aside - Statement parsedStm = parserManager. - parse(new StringReader(statement = (String) statementsList.get(0))); + Statement parsedStm = parserManager.parse(new StringReader(statement = (String) statementsList.get(0))); TablesNamesFinder tablesNamesFinder = new TablesNamesFinder(); ArrayList parsedSelects = new ArrayList(NUM_REPS * statementsList.size()); long time = System.currentTimeMillis(); @@ -112,7 +109,7 @@ public void testSpeed() throws Exception { df.setMinimumFractionDigits(4); System.out.println(numTests + " statements parsed in " + elapsedTime + " milliseconds"); System.out.println(" (" + statementsPerSecond + " statements per second, " - + df.format(1.0 / statementsPerSecond) + " seconds per statement )"); + + df.format(1.0 / statementsPerSecond) + " seconds per statement )"); numTests = 0; time = System.currentTimeMillis(); @@ -126,10 +123,9 @@ public void testSpeed() throws Exception { } elapsedTime = System.currentTimeMillis() - time; statementsPerSecond = numTests * 1000 / elapsedTime; - System.out. - println(numTests + " select scans for table name executed in " + elapsedTime + " milliseconds"); + System.out.println(numTests + " select scans for table name executed in " + elapsedTime + " milliseconds"); System.out.println(" (" + statementsPerSecond + " select scans for table name per second, " - + df.format(1.0 / statementsPerSecond) + " seconds per select scans for table name)"); + + df.format(1.0 / statementsPerSecond) + " seconds per select scans for table name)"); } } diff --git a/src/test/java/net/sf/jsqlparser/test/simpleparsing/CCJSqlParserManagerTest.java b/src/test/java/net/sf/jsqlparser/test/simpleparsing/CCJSqlParserManagerTest.java index daf5a950a..d436a6c8e 100644 --- a/src/test/java/net/sf/jsqlparser/test/simpleparsing/CCJSqlParserManagerTest.java +++ b/src/test/java/net/sf/jsqlparser/test/simpleparsing/CCJSqlParserManagerTest.java @@ -16,8 +16,7 @@ public class CCJSqlParserManagerTest { @Test public void testParse() throws Exception { CCJSqlParserManager parserManager = new CCJSqlParserManager(); - BufferedReader in = new BufferedReader(new InputStreamReader(CreateTableTest.class. - getResourceAsStream("/simple_parsing.txt"))); + BufferedReader in = new BufferedReader(new InputStreamReader(CreateTableTest.class.getResourceAsStream("/simple_parsing.txt"))); String statement = ""; while (true) { @@ -61,8 +60,7 @@ public static String getLine(BufferedReader in) throws Exception { while (true) { line = in.readLine(); if (line != null) { - if ((line.length() < 2) || (line.length() >= 2) && !(line.charAt(0) == '/' && line. - charAt(1) == '/')) { + if ((line.length() < 2) || (line.length() >= 2) && !(line.charAt(0) == '/' && line.charAt(1) == '/')) { break; } } else { diff --git a/src/test/java/net/sf/jsqlparser/test/update/UpdateTest.java b/src/test/java/net/sf/jsqlparser/test/update/UpdateTest.java index 7b06b59ce..805f96d01 100644 --- a/src/test/java/net/sf/jsqlparser/test/update/UpdateTest.java +++ b/src/test/java/net/sf/jsqlparser/test/update/UpdateTest.java @@ -113,22 +113,22 @@ public void testUpdateDoesNotAllowLimitOffset() throws JSQLParserException { public void testUpdateWithFunctions() throws JSQLParserException { assertSqlCanBeParsedAndDeparsed("UPDATE tablename SET col = SUBSTRING(col2, 1, 2)"); } - + @Test public void testUpdateIssue508LeftShift() throws JSQLParserException { assertSqlCanBeParsedAndDeparsed("UPDATE user SET num = 1 << 1 WHERE id = 1"); } - + @Test public void testUpdateIssue338() throws JSQLParserException { assertSqlCanBeParsedAndDeparsed("UPDATE mytable SET status = (status & ~1)"); } - + @Test public void testUpdateIssue338_1() throws JSQLParserException { assertSqlCanBeParsedAndDeparsed("UPDATE mytable SET status = (status & 1)"); } - + @Test public void testUpdateIssue338_2() throws JSQLParserException { assertSqlCanBeParsedAndDeparsed("UPDATE mytable SET status = (status + 1)"); diff --git a/src/test/java/net/sf/jsqlparser/test/upsert/UpsertTest.java b/src/test/java/net/sf/jsqlparser/test/upsert/UpsertTest.java index 56351d541..66301a85d 100644 --- a/src/test/java/net/sf/jsqlparser/test/upsert/UpsertTest.java +++ b/src/test/java/net/sf/jsqlparser/test/upsert/UpsertTest.java @@ -28,7 +28,7 @@ public class UpsertTest { @Test public void testUpsert() throws JSQLParserException { - String statement ="UPSERT INTO TEST (NAME, ID) VALUES ('foo', 123)"; + String statement = "UPSERT INTO TEST (NAME, ID) VALUES ('foo', 123)"; Upsert upsert = (Upsert) parserManager.parse(new StringReader(statement)); assertEquals("TEST", upsert.getTable().getName()); assertTrue(upsert.isUseValues()); @@ -37,10 +37,8 @@ public void testUpsert() throws JSQLParserException { assertEquals("ID", ((Column) upsert.getColumns().get(1)).getColumnName()); assertEquals(2, ((ExpressionList) upsert.getItemsList()).getExpressions().size()); assertEquals("foo", - ((StringValue) ((ExpressionList) upsert.getItemsList()).getExpressions().get(0)). - getValue()); - assertEquals(123, ((LongValue) ((ExpressionList) upsert.getItemsList()).getExpressions(). - get(1)).getValue()); + ((StringValue) ((ExpressionList) upsert.getItemsList()).getExpressions().get(0)).getValue()); + assertEquals(123, ((LongValue) ((ExpressionList) upsert.getItemsList()).getExpressions().get(1)).getValue()); assertFalse(upsert.isUseSelectBrackets()); assertFalse(upsert.isUseDuplicate()); assertEquals(statement, "" + upsert); @@ -48,18 +46,16 @@ public void testUpsert() throws JSQLParserException { @Test public void testUpsertDuplicate() throws JSQLParserException { - String statement="UPSERT INTO TEST (ID, COUNTER) VALUES (123, 0) ON DUPLICATE KEY UPDATE COUNTER = COUNTER + 1"; - Upsert upsert= (Upsert) parserManager.parse(new StringReader(statement)); + String statement = "UPSERT INTO TEST (ID, COUNTER) VALUES (123, 0) ON DUPLICATE KEY UPDATE COUNTER = COUNTER + 1"; + Upsert upsert = (Upsert) parserManager.parse(new StringReader(statement)); assertEquals("TEST", upsert.getTable().getName()); assertEquals(2, upsert.getColumns().size()); assertTrue(upsert.isUseValues()); assertEquals("ID", ((Column) upsert.getColumns().get(0)).getColumnName()); assertEquals("COUNTER", ((Column) upsert.getColumns().get(1)).getColumnName()); assertEquals(2, ((ExpressionList) upsert.getItemsList()).getExpressions().size()); - assertEquals(123, ((LongValue) ((ExpressionList) upsert.getItemsList()).getExpressions(). - get(0)).getValue()); - assertEquals(0, ((LongValue) ((ExpressionList) upsert.getItemsList()).getExpressions(). - get(1)).getValue()); + assertEquals(123, ((LongValue) ((ExpressionList) upsert.getItemsList()).getExpressions().get(0)).getValue()); + assertEquals(0, ((LongValue) ((ExpressionList) upsert.getItemsList()).getExpressions().get(1)).getValue()); assertEquals(1, upsert.getDuplicateUpdateColumns().size()); assertEquals("COUNTER", ((Column) upsert.getDuplicateUpdateColumns().get(0)).getColumnName()); assertEquals(1, upsert.getDuplicateUpdateExpressionList().size()); @@ -71,8 +67,8 @@ public void testUpsertDuplicate() throws JSQLParserException { @Test public void testUpsertSelect() throws JSQLParserException { - String statement="UPSERT INTO test.targetTable (col1, col2) SELECT * FROM test.sourceTable"; - Upsert upsert= (Upsert) parserManager.parse(new StringReader(statement)); + String statement = "UPSERT INTO test.targetTable (col1, col2) SELECT * FROM test.sourceTable"; + Upsert upsert = (Upsert) parserManager.parse(new StringReader(statement)); assertEquals("test.targetTable", upsert.getTable().getFullyQualifiedName()); assertEquals(2, upsert.getColumns().size()); assertFalse(upsert.isUseValues()); @@ -81,31 +77,28 @@ public void testUpsertSelect() throws JSQLParserException { assertNull(upsert.getItemsList()); assertNotNull(upsert.getSelect()); assertEquals("test.sourceTable", - ((Table) ((PlainSelect) upsert.getSelect().getSelectBody()).getFromItem()).getFullyQualifiedName()); + ((Table) ((PlainSelect) upsert.getSelect().getSelectBody()).getFromItem()).getFullyQualifiedName()); assertFalse(upsert.isUseDuplicate()); assertEquals(statement, "" + upsert); } @Test public void testUpsertN() throws JSQLParserException { - String statement="UPSERT INTO TEST VALUES ('foo', 'bar', 3)"; - Upsert upsert= (Upsert) parserManager.parse(new StringReader(statement)); + String statement = "UPSERT INTO TEST VALUES ('foo', 'bar', 3)"; + Upsert upsert = (Upsert) parserManager.parse(new StringReader(statement)); assertEquals("TEST", upsert.getTable().getName()); assertEquals(3, ((ExpressionList) upsert.getItemsList()).getExpressions().size()); assertTrue(upsert.isUseValues()); assertEquals("foo", - ((StringValue) ((ExpressionList) upsert.getItemsList()).getExpressions().get(0)). - getValue()); + ((StringValue) ((ExpressionList) upsert.getItemsList()).getExpressions().get(0)).getValue()); assertEquals("bar", - ((StringValue) ((ExpressionList) upsert.getItemsList()).getExpressions().get(1)). - getValue()); - assertEquals(3, ((LongValue) ((ExpressionList) upsert.getItemsList()).getExpressions(). - get(2)).getValue()); + ((StringValue) ((ExpressionList) upsert.getItemsList()).getExpressions().get(1)).getValue()); + assertEquals(3, ((LongValue) ((ExpressionList) upsert.getItemsList()).getExpressions().get(2)).getValue()); assertFalse(upsert.isUseSelectBrackets()); assertFalse(upsert.isUseDuplicate()); assertEquals(statement, "" + upsert); } - + @Test public void testUpsertMultiRowValue() throws JSQLParserException { assertSqlCanBeParsedAndDeparsed("UPSERT INTO mytable (col1, col2) VALUES (a, b), (d, e)"); @@ -162,5 +155,5 @@ public void testHexValues3() throws JSQLParserException { public void testDuplicateKey() throws JSQLParserException { assertSqlCanBeParsedAndDeparsed("UPSERT INTO Users0 (UserId, Key, Value) VALUES (51311, 'T_211', 18) ON DUPLICATE KEY UPDATE Value = 18"); } - + } diff --git a/src/test/java/net/sf/jsqlparser/util/AddAliasesVisitorTest.java b/src/test/java/net/sf/jsqlparser/util/AddAliasesVisitorTest.java index d28586bdc..2bc0c60e5 100644 --- a/src/test/java/net/sf/jsqlparser/util/AddAliasesVisitorTest.java +++ b/src/test/java/net/sf/jsqlparser/util/AddAliasesVisitorTest.java @@ -20,24 +20,19 @@ */ public class AddAliasesVisitorTest { - public AddAliasesVisitorTest() { - } + public AddAliasesVisitorTest() {} @BeforeClass - public static void setUpClass() { - } + public static void setUpClass() {} @AfterClass - public static void tearDownClass() { - } + public static void tearDownClass() {} @Before - public void setUp() { - } + public void setUp() {} @After - public void tearDown() { - } + public void tearDown() {} private CCJSqlParserManager parserManager = new CCJSqlParserManager(); @@ -84,7 +79,6 @@ public void testVisit_SetOperationList() throws JSQLParserException { final AddAliasesVisitor instance = new AddAliasesVisitor(); setOpList.getSelectBody().accept(instance); - assertEquals("SELECT 3 + 4 AS A1 FROM test UNION SELECT 7 + 8 AS A1 FROM test2", setOpList. - toString()); + assertEquals("SELECT 3 + 4 AS A1 FROM test UNION SELECT 7 + 8 AS A1 FROM test2", setOpList.toString()); } } diff --git a/src/test/java/net/sf/jsqlparser/util/ConnectExpressionsVisitorTest.java b/src/test/java/net/sf/jsqlparser/util/ConnectExpressionsVisitorTest.java index 0691bdfe8..8072c5d1a 100644 --- a/src/test/java/net/sf/jsqlparser/util/ConnectExpressionsVisitorTest.java +++ b/src/test/java/net/sf/jsqlparser/util/ConnectExpressionsVisitorTest.java @@ -23,24 +23,19 @@ */ public class ConnectExpressionsVisitorTest { - public ConnectExpressionsVisitorTest() { - } + public ConnectExpressionsVisitorTest() {} @BeforeClass - public static void setUpClass() { - } + public static void setUpClass() {} @AfterClass - public static void tearDownClass() { - } + public static void tearDownClass() {} @Before - public void setUp() { - } + public void setUp() {} @After - public void tearDown() { - } + public void tearDown() {} private CCJSqlParserManager parserManager = new CCJSqlParserManager(); @@ -49,6 +44,7 @@ public void testVisit_PlainSelect_concat() throws JSQLParserException { String sql = "select a,b,c from test"; Select select = (Select) parserManager.parse(new StringReader(sql)); ConnectExpressionsVisitor instance = new ConnectExpressionsVisitor() { + @Override protected BinaryExpression createBinaryExpression() { return new Concat(); @@ -64,6 +60,7 @@ public void testVisit_PlainSelect_addition() throws JSQLParserException { String sql = "select a,b,c from test"; Select select = (Select) parserManager.parse(new StringReader(sql)); ConnectExpressionsVisitor instance = new ConnectExpressionsVisitor("testexpr") { + @Override protected BinaryExpression createBinaryExpression() { return new Addition(); diff --git a/src/test/java/net/sf/jsqlparser/util/SelectUtilsTest.java b/src/test/java/net/sf/jsqlparser/util/SelectUtilsTest.java index 2b0b54fce..a252e6d34 100644 --- a/src/test/java/net/sf/jsqlparser/util/SelectUtilsTest.java +++ b/src/test/java/net/sf/jsqlparser/util/SelectUtilsTest.java @@ -32,24 +32,19 @@ */ public class SelectUtilsTest { - public SelectUtilsTest() { - } + public SelectUtilsTest() {} @BeforeClass - public static void setUpClass() { - } + public static void setUpClass() {} @AfterClass - public static void tearDownClass() { - } + public static void tearDownClass() {} @Before - public void setUp() { - } + public void setUp() {} @After - public void tearDown() { - } + public void tearDown() {} /** * Test of addColumn method, of class SelectUtils. @@ -81,8 +76,7 @@ public void testAddJoin() throws JSQLParserException { @Test public void testBuildSelectFromTableAndExpressions() { - Select select = SelectUtils. - buildSelectFromTableAndExpressions(new Table("mytable"), new Column("a"), new Column("b")); + Select select = SelectUtils.buildSelectFromTableAndExpressions(new Table("mytable"), new Column("a"), new Column("b")); assertEquals("SELECT a, b FROM mytable", select.toString()); } @@ -94,12 +88,10 @@ public void testBuildSelectFromTable() { @Test public void testBuildSelectFromTableAndParsedExpression() throws JSQLParserException { - Select select = SelectUtils. - buildSelectFromTableAndExpressions(new Table("mytable"), "a+b", "test"); + Select select = SelectUtils.buildSelectFromTableAndExpressions(new Table("mytable"), "a+b", "test"); assertEquals("SELECT a + b, test FROM mytable", select.toString()); - assertTrue(((SelectExpressionItem) ((PlainSelect) select.getSelectBody()).getSelectItems(). - get(0)).getExpression() instanceof Addition); + assertTrue(((SelectExpressionItem) ((PlainSelect) select.getSelectBody()).getSelectItems().get(0)).getExpression() instanceof Addition); } @Test @@ -116,11 +108,9 @@ public void testTableAliasIssue311() { Table table2 = new Table("mytable2"); table2.setAlias(new Alias("tab2")); - List colunas = Arrays. - asList(new Column(table1, "col1"), new Column(table1, "col2"), new Column(table1, "col3"), new Column(table2, "b1"), new Column(table2, "b2")); + List colunas = Arrays.asList(new Column(table1, "col1"), new Column(table1, "col2"), new Column(table1, "col3"), new Column(table2, "b1"), new Column(table2, "b2")); - Select select = SelectUtils.buildSelectFromTableAndExpressions(table1, colunas. - toArray(new Expression[colunas.size()])); + Select select = SelectUtils.buildSelectFromTableAndExpressions(table1, colunas.toArray(new Expression[colunas.size()])); final EqualsTo equalsTo = new EqualsTo(); equalsTo.setLeftExpression(new Column(table1, "col1")); @@ -129,7 +119,7 @@ public void testTableAliasIssue311() { addJoin.setLeft(true); assertEquals("SELECT tab1.col1, tab1.col2, tab1.col3, tab2.b1, tab2.b2 FROM mytable1 AS tab1 LEFT JOIN mytable2 AS tab2 ON tab1.col1 = tab2.b1", - select.toString()); + select.toString()); } public void testTableAliasIssue311_2() { diff --git a/src/test/java/net/sf/jsqlparser/util/TablesNamesFinderTest.java b/src/test/java/net/sf/jsqlparser/util/TablesNamesFinderTest.java index 45d6cb18c..5cb0d92b3 100644 --- a/src/test/java/net/sf/jsqlparser/util/TablesNamesFinderTest.java +++ b/src/test/java/net/sf/jsqlparser/util/TablesNamesFinderTest.java @@ -49,8 +49,7 @@ public void testComplexMergeExamples() throws Exception { } private void runTestOnResource(String resPath) throws Exception { - BufferedReader in = new BufferedReader(new InputStreamReader(TablesNamesFinderTest.class. - getResourceAsStream(resPath))); + BufferedReader in = new BufferedReader(new InputStreamReader(TablesNamesFinderTest.class.getResourceAsStream(resPath))); TablesNamesFinder tablesNamesFinder = new TablesNamesFinder(); try { @@ -115,7 +114,7 @@ private void runTestOnResource(String resPath) throws Exception { public void testGetTableList() throws Exception { String sql = "SELECT * FROM MY_TABLE1, MY_TABLE2, (SELECT * FROM MY_TABLE3) LEFT OUTER JOIN MY_TABLE4 " - + " WHERE ID = (SELECT MAX(ID) FROM MY_TABLE5) AND ID2 IN (SELECT * FROM MY_TABLE6)"; + + " WHERE ID = (SELECT MAX(ID) FROM MY_TABLE5) AND ID2 IN (SELECT * FROM MY_TABLE6)"; net.sf.jsqlparser.statement.Statement statement = pm.parse(new StringReader(sql)); // now you should use a class that implements StatementVisitor to decide what to do @@ -196,7 +195,7 @@ public void testGetTableListFromDelete2() throws Exception { assertEquals(1, tableList.size()); assertTrue(tableList.contains("MY_TABLE1")); } - + @Test public void testGetTableListFromDeleteWithJoin() throws Exception { String sql = "DELETE t1, t2 FROM MY_TABLE1 t1 JOIN MY_TABLE2 t2 ON t1.id = t2.id"; @@ -395,8 +394,7 @@ public void testGetTableListIssue284() throws Exception { @Test public void testUpdateGetTableListIssue295() throws JSQLParserException { - Update statement = (Update) CCJSqlParserUtil. - parse("UPDATE component SET col = 0 WHERE (component_id,ver_num) IN (SELECT component_id,ver_num FROM component_temp)"); + Update statement = (Update) CCJSqlParserUtil.parse("UPDATE component SET col = 0 WHERE (component_id,ver_num) IN (SELECT component_id,ver_num FROM component_temp)"); TablesNamesFinder tablesNamesFinder = new TablesNamesFinder(); List tableList = tablesNamesFinder.getTableList(statement); assertEquals(2, tableList.size()); @@ -479,7 +477,7 @@ public void testCaseWhenSubSelect3() throws JSQLParserException { assertEquals(1, tableList.size()); assertTrue(tableList.contains("mytable2")); } - + @Test public void testExpressionIssue515() throws JSQLParserException { TablesNamesFinder finder = new TablesNamesFinder(); @@ -487,7 +485,7 @@ public void testExpressionIssue515() throws JSQLParserException { assertEquals(1, tableList.size()); assertTrue(tableList.contains("SOME_TABLE")); } - + public void testSelectHavingSubquery() throws Exception { String sql = "SELECT * FROM TABLE1 GROUP BY COL1 HAVING SUM(COL2) > (SELECT COUNT(*) FROM TABLE2)"; net.sf.jsqlparser.statement.Statement statement = pm.parse(new StringReader(sql)); diff --git a/src/test/java/net/sf/jsqlparser/util/cnfexpression/CNFTest.java b/src/test/java/net/sf/jsqlparser/util/cnfexpression/CNFTest.java index f3be41d7c..010ed8333 100644 --- a/src/test/java/net/sf/jsqlparser/util/cnfexpression/CNFTest.java +++ b/src/test/java/net/sf/jsqlparser/util/cnfexpression/CNFTest.java @@ -15,7 +15,7 @@ * */ public class CNFTest { - + /** * The purpose of this method is to check when there is a Not Operator * at the root. Which means the root must be switched. @@ -58,14 +58,14 @@ public class CNFTest { @Test public void test1() throws Exception { Expression expr = CCJSqlParserUtil.parseCondExpression( - "NOT ((1.2 < 2.3 OR 3.5 = 4.6) AND (1.1 <> 2.5 OR 8.0 >= 7.2))"); + "NOT ((1.2 < 2.3 OR 3.5 = 4.6) AND (1.1 <> 2.5 OR 8.0 >= 7.2))"); Expression expected = CCJSqlParserUtil.parseCondExpression( - "(NOT 1.2 < 2.3 OR NOT 1.1 <> 2.5) AND (NOT 1.2 < 2.3 OR NOT 8.0 >= 7.2) AND" + "(NOT 1.2 < 2.3 OR NOT 1.1 <> 2.5) AND (NOT 1.2 < 2.3 OR NOT 8.0 >= 7.2) AND" + " (NOT 3.5 = 4.6 OR NOT 1.1 <> 2.5) AND (NOT 3.5 = 4.6 OR NOT 8.0 >= 7.2)"); Expression result = CNFConverter.convertToCNF(expr); assertEquals(expected.toString(), result.toString()); } - + /** * The purpose is to test the double negation law. As you can * see when you build the tree, there will be two Not Operators @@ -109,16 +109,16 @@ public void test1() throws Exception { */ @Test public void test2() throws Exception { - Expression expr = CCJSqlParserUtil.parseCondExpression( - "((NOT (NOT 1.1 >= 2.3 OR 3.3 < 4.5)) OR " + Expression expr = CCJSqlParserUtil.parseCondExpression( + "((NOT (NOT 1.1 >= 2.3 OR 3.3 < 4.5)) OR " + "(S.A LIKE '\"%%%\"' AND S.B = '\"orz\"'))"); - Expression expected = CCJSqlParserUtil.parseCondExpression( - "(1.1 >= 2.3 OR S.A LIKE '\"%%%\"') AND (1.1 >= 2.3 OR S.B = '\"orz\"')" + Expression expected = CCJSqlParserUtil.parseCondExpression( + "(1.1 >= 2.3 OR S.A LIKE '\"%%%\"') AND (1.1 >= 2.3 OR S.B = '\"orz\"')" + " AND (NOT 3.3 < 4.5 OR S.A LIKE '\"%%%\"') AND (NOT 3.3 < 4.5 OR S.B = '\"orz\"')"); Expression result = CNFConverter.convertToCNF(expr); assertEquals(expected.toString(), result.toString()); } - + /** * This is the case when we test a more complex tree structure, * Notice you could see the amount of line to build up the CNF tree. @@ -358,32 +358,32 @@ public void test2() throws Exception { @Test public void test3() throws Exception { Expression expr = CCJSqlParserUtil.parseCondExpression( - "(3.0 >= 4.0 AND 5.0 <= 6.0) OR " + "(3.0 >= 4.0 AND 5.0 <= 6.0) OR " + "(((7.0 < 8.0 AND 9.0 > 10.0) AND 11.0 = 12.0) OR " + "NOT (13.0 <> 14.0 OR (15.0 = 16.0 AND (17.0 = 18.0 OR 19.0 > 20.0))))"); Expression expected = CCJSqlParserUtil.parseCondExpression( - "(3.0 >= 4.0 OR 7.0 < 8.0 OR NOT 13.0 <> 14.0) AND " - + "(3.0 >= 4.0 OR 7.0 < 8.0 OR NOT 15.0 = 16.0 OR NOT 17.0 = 18.0) AND " - + "(3.0 >= 4.0 OR 7.0 < 8.0 OR NOT 15.0 = 16.0 OR NOT 19.0 > 20.0) AND " - + "(3.0 >= 4.0 OR 9.0 > 10.0 OR NOT 13.0 <> 14.0) AND " - + "(3.0 >= 4.0 OR 9.0 > 10.0 OR NOT 15.0 = 16.0 OR NOT 17.0 = 18.0) AND " - + "(3.0 >= 4.0 OR 9.0 > 10.0 OR NOT 15.0 = 16.0 OR NOT 19.0 > 20.0) AND " - + "(3.0 >= 4.0 OR 11.0 = 12.0 OR NOT 13.0 <> 14.0) AND " - + "(3.0 >= 4.0 OR 11.0 = 12.0 OR NOT 15.0 = 16.0 OR NOT 17.0 = 18.0) AND " - + "(3.0 >= 4.0 OR 11.0 = 12.0 OR NOT 15.0 = 16.0 OR NOT 19.0 > 20.0) AND " - + "(5.0 <= 6.0 OR 7.0 < 8.0 OR NOT 13.0 <> 14.0) AND " - + "(5.0 <= 6.0 OR 7.0 < 8.0 OR NOT 15.0 = 16.0 OR NOT 17.0 = 18.0) AND " - + "(5.0 <= 6.0 OR 7.0 < 8.0 OR NOT 15.0 = 16.0 OR NOT 19.0 > 20.0) AND " - + "(5.0 <= 6.0 OR 9.0 > 10.0 OR NOT 13.0 <> 14.0) AND " - + "(5.0 <= 6.0 OR 9.0 > 10.0 OR NOT 15.0 = 16.0 OR NOT 17.0 = 18.0) AND " - + "(5.0 <= 6.0 OR 9.0 > 10.0 OR NOT 15.0 = 16.0 OR NOT 19.0 > 20.0) AND " - + "(5.0 <= 6.0 OR 11.0 = 12.0 OR NOT 13.0 <> 14.0) AND " - + "(5.0 <= 6.0 OR 11.0 = 12.0 OR NOT 15.0 = 16.0 OR NOT 17.0 = 18.0) AND " - + "(5.0 <= 6.0 OR 11.0 = 12.0 OR NOT 15.0 = 16.0 OR NOT 19.0 > 20.0)"); + "(3.0 >= 4.0 OR 7.0 < 8.0 OR NOT 13.0 <> 14.0) AND " + + "(3.0 >= 4.0 OR 7.0 < 8.0 OR NOT 15.0 = 16.0 OR NOT 17.0 = 18.0) AND " + + "(3.0 >= 4.0 OR 7.0 < 8.0 OR NOT 15.0 = 16.0 OR NOT 19.0 > 20.0) AND " + + "(3.0 >= 4.0 OR 9.0 > 10.0 OR NOT 13.0 <> 14.0) AND " + + "(3.0 >= 4.0 OR 9.0 > 10.0 OR NOT 15.0 = 16.0 OR NOT 17.0 = 18.0) AND " + + "(3.0 >= 4.0 OR 9.0 > 10.0 OR NOT 15.0 = 16.0 OR NOT 19.0 > 20.0) AND " + + "(3.0 >= 4.0 OR 11.0 = 12.0 OR NOT 13.0 <> 14.0) AND " + + "(3.0 >= 4.0 OR 11.0 = 12.0 OR NOT 15.0 = 16.0 OR NOT 17.0 = 18.0) AND " + + "(3.0 >= 4.0 OR 11.0 = 12.0 OR NOT 15.0 = 16.0 OR NOT 19.0 > 20.0) AND " + + "(5.0 <= 6.0 OR 7.0 < 8.0 OR NOT 13.0 <> 14.0) AND " + + "(5.0 <= 6.0 OR 7.0 < 8.0 OR NOT 15.0 = 16.0 OR NOT 17.0 = 18.0) AND " + + "(5.0 <= 6.0 OR 7.0 < 8.0 OR NOT 15.0 = 16.0 OR NOT 19.0 > 20.0) AND " + + "(5.0 <= 6.0 OR 9.0 > 10.0 OR NOT 13.0 <> 14.0) AND " + + "(5.0 <= 6.0 OR 9.0 > 10.0 OR NOT 15.0 = 16.0 OR NOT 17.0 = 18.0) AND " + + "(5.0 <= 6.0 OR 9.0 > 10.0 OR NOT 15.0 = 16.0 OR NOT 19.0 > 20.0) AND " + + "(5.0 <= 6.0 OR 11.0 = 12.0 OR NOT 13.0 <> 14.0) AND " + + "(5.0 <= 6.0 OR 11.0 = 12.0 OR NOT 15.0 = 16.0 OR NOT 17.0 = 18.0) AND " + + "(5.0 <= 6.0 OR 11.0 = 12.0 OR NOT 15.0 = 16.0 OR NOT 19.0 > 20.0)"); Expression result = CNFConverter.convertToCNF(expr); assertEquals(expected.toString(), result.toString()); } - + /** * This is the case when we test a very simple tree structure that * has neither AND operator or OR operator. @@ -412,7 +412,7 @@ public void test4() throws Exception { Expression result = CNFConverter.convertToCNF(expr); assertEquals(expected.toString(), result.toString()); } - + /** * This is the case when we test the tree that only contains AND * operator without having an OR operator. @@ -450,13 +450,13 @@ public void test4() throws Exception { @Test public void test5() throws Exception { Expression expr = CCJSqlParserUtil.parseCondExpression( - "NOT ((NOT (S.A > 3.5 AND S.B < 4)) OR " + "NOT ((NOT (S.A > 3.5 AND S.B < 4)) OR " + "(S.C LIKE '\"%%\"' OR S.D = {t '12:04:34'}))"); Expression expected = CCJSqlParserUtil.parseCondExpression( - "S.A > 3.5 AND S.B < 4 AND S.C NOT LIKE '\"%%\"' " - + "AND NOT S.D = {t '12:04:34'}"); + "S.A > 3.5 AND S.B < 4 AND S.C NOT LIKE '\"%%\"' " + + "AND NOT S.D = {t '12:04:34'}"); Expression result = CNFConverter.convertToCNF(expr); assertEquals(expected.toString(), result.toString()); } - + } diff --git a/src/test/java/net/sf/jsqlparser/util/deparser/CreateViewDeParserTest.java b/src/test/java/net/sf/jsqlparser/util/deparser/CreateViewDeParserTest.java index e81ba930f..6a200e8cb 100644 --- a/src/test/java/net/sf/jsqlparser/util/deparser/CreateViewDeParserTest.java +++ b/src/test/java/net/sf/jsqlparser/util/deparser/CreateViewDeParserTest.java @@ -41,24 +41,19 @@ */ public class CreateViewDeParserTest { - public CreateViewDeParserTest() { - } + public CreateViewDeParserTest() {} @BeforeClass - public static void setUpClass() { - } + public static void setUpClass() {} @AfterClass - public static void tearDownClass() { - } + public static void tearDownClass() {} @Before - public void setUp() { - } + public void setUp() {} @After - public void tearDown() { - } + public void tearDown() {} /** * Test of deParse method, of class CreateViewDeParser. @@ -92,13 +87,11 @@ public void visit(Column tableColumn) { selectDeParser.setExpressionVisitor(expressionDeParser); CreateViewDeParser instance = new CreateViewDeParser(b, selectDeParser); - CreateView vc = (CreateView) CCJSqlParserUtil. - parse("CREATE VIEW test AS SELECT a, b FROM mytable"); + CreateView vc = (CreateView) CCJSqlParserUtil.parse("CREATE VIEW test AS SELECT a, b FROM mytable"); instance.deParse(vc); assertEquals("CREATE VIEW test AS SELECT a, b FROM mytable", vc.toString()); - assertEquals("CREATE VIEW test AS SELECT \"a\", \"b\" FROM mytable", instance.getBuffer(). - toString()); + assertEquals("CREATE VIEW test AS SELECT \"a\", \"b\" FROM mytable", instance.getBuffer().toString()); } @Test @@ -110,6 +103,7 @@ public void testCreateViewASTNode() throws JSQLParserException { assertEquals(CCJSqlParserTreeConstants.JJTSTATEMENT, node.getId()); node.jjtAccept(new CCJSqlParserDefaultVisitor() { + int idxDelta = 0; @Override diff --git a/src/test/java/net/sf/jsqlparser/util/deparser/ExecuteDeParserTest.java b/src/test/java/net/sf/jsqlparser/util/deparser/ExecuteDeParserTest.java index 47a7a04da..aaf3b62e2 100644 --- a/src/test/java/net/sf/jsqlparser/util/deparser/ExecuteDeParserTest.java +++ b/src/test/java/net/sf/jsqlparser/util/deparser/ExecuteDeParserTest.java @@ -17,6 +17,7 @@ import net.sf.jsqlparser.statement.execute.Execute; public class ExecuteDeParserTest { + private ExecuteDeParser executeDeParser; @Mock diff --git a/src/test/java/net/sf/jsqlparser/util/deparser/ExpressionDeParserTest.java b/src/test/java/net/sf/jsqlparser/util/deparser/ExpressionDeParserTest.java index 891762002..9f3c4c624 100644 --- a/src/test/java/net/sf/jsqlparser/util/deparser/ExpressionDeParserTest.java +++ b/src/test/java/net/sf/jsqlparser/util/deparser/ExpressionDeParserTest.java @@ -26,6 +26,7 @@ @RunWith(MockitoJUnitRunner.class) public class ExpressionDeParserTest { + private ExpressionDeParser expressionDeParser; @Mock @@ -198,6 +199,7 @@ public void shouldDeParseAnalyticExpressionWithWindowElement() { private Answer appendToBuffer(final String string) { return new Answer() { + @Override public Void answer(InvocationOnMock invocation) throws Throwable { buffer.append(string); diff --git a/src/test/java/net/sf/jsqlparser/util/deparser/StatementDeParserTest.java b/src/test/java/net/sf/jsqlparser/util/deparser/StatementDeParserTest.java index 7dcd59aa3..68f44543d 100644 --- a/src/test/java/net/sf/jsqlparser/util/deparser/StatementDeParserTest.java +++ b/src/test/java/net/sf/jsqlparser/util/deparser/StatementDeParserTest.java @@ -40,6 +40,7 @@ @RunWith(MockitoJUnitRunner.class) public class StatementDeParserTest { + @Mock private ExpressionDeParser expressionDeParser; @@ -117,14 +118,14 @@ public void shouldUseProvidedDeparsersWhenDeParsingInsert() throws JSQLParserExc withItem2.setSelectBody(withItem2SelectBody); statementDeParser.visit(insert); - + then(withItem1).should().accept(selectDeParser); then(withItem2).should().accept(selectDeParser); then(selectBody).should().accept(selectDeParser); then(duplicateUpdateExpression1).should().accept(expressionDeParser); then(duplicateUpdateExpression1).should().accept(expressionDeParser); } - + @Test @SuppressWarnings("PMD.JUnitTestsShouldIncludeAssert") public void shouldUseProvidedDeParsersWhenDeParsingReplaceWithoutItemsList() { @@ -306,13 +307,14 @@ private Matcher replaceDeParserWithDeParsers(final Matcher(description.toString()) { + @Override public boolean matchesSafely(ReplaceDeParser item) { return expressionDeParserMatcher.matches(item.getExpressionVisitor()) && selectDeParserMatcher.matches(item.getSelectVisitor()); } }; } - + @Test @SuppressWarnings("PMD.JUnitTestsShouldIncludeAssert") public void shouldUseProvidedDeparsersWhenDeParsingUpsertWithExpressionList() throws JSQLParserException { @@ -357,5 +359,5 @@ public void shouldUseProvidedDeparsersWhenDeParsingUpsertWithExpressionList() th then(duplicateUpdateExpression1).should().accept(expressionDeParser); then(duplicateUpdateExpression1).should().accept(expressionDeParser); } - + } From fb1fe99c7bbd1df74fcd2aa2e6247b954c2e7084 Mon Sep 17 00:00:00 2001 From: Pavel Bekkerman Date: Wed, 7 Feb 2018 00:32:41 +0200 Subject: [PATCH 3/3] Lomboked: fixed old issues `Avoid unnecessary constructors - the compiler will generate these for you`, according to https://app.codacy.com/app/wumpz/JSqlParser/pullRequest?prid=1309220 --- .../java/net/sf/jsqlparser/statement/select/AllColumns.java | 2 -- .../sf/jsqlparser/expression/ExpressionVisitorAdapterTest.java | 2 -- src/test/java/net/sf/jsqlparser/expression/LongValueTest.java | 2 -- .../java/net/sf/jsqlparser/expression/SignedExpressionTest.java | 2 -- src/test/java/net/sf/jsqlparser/expression/StringValueTest.java | 2 -- .../java/net/sf/jsqlparser/parser/CCJSqlParserUtilTest.java | 2 -- src/test/java/net/sf/jsqlparser/schema/ColumnTest.java | 2 -- src/test/java/net/sf/jsqlparser/statement/SetStatementTest.java | 2 -- src/test/java/net/sf/jsqlparser/statement/StatementsTest.java | 2 -- .../java/net/sf/jsqlparser/statement/execute/ExecuteTest.java | 2 -- src/test/java/net/sf/jsqlparser/util/AddAliasesVisitorTest.java | 2 -- .../net/sf/jsqlparser/util/ConnectExpressionsVisitorTest.java | 2 -- src/test/java/net/sf/jsqlparser/util/SelectUtilsTest.java | 2 -- .../net/sf/jsqlparser/util/deparser/CreateViewDeParserTest.java | 2 -- 14 files changed, 28 deletions(-) diff --git a/src/main/java/net/sf/jsqlparser/statement/select/AllColumns.java b/src/main/java/net/sf/jsqlparser/statement/select/AllColumns.java index 2be6f029b..8c0e2641d 100644 --- a/src/main/java/net/sf/jsqlparser/statement/select/AllColumns.java +++ b/src/main/java/net/sf/jsqlparser/statement/select/AllColumns.java @@ -28,8 +28,6 @@ */ public class AllColumns extends ASTNodeAccessImpl implements SelectItem { - public AllColumns() {} - @Override public void accept(SelectItemVisitor selectItemVisitor) { selectItemVisitor.visit(this); diff --git a/src/test/java/net/sf/jsqlparser/expression/ExpressionVisitorAdapterTest.java b/src/test/java/net/sf/jsqlparser/expression/ExpressionVisitorAdapterTest.java index fc02c3ee4..5dd2a4506 100644 --- a/src/test/java/net/sf/jsqlparser/expression/ExpressionVisitorAdapterTest.java +++ b/src/test/java/net/sf/jsqlparser/expression/ExpressionVisitorAdapterTest.java @@ -48,8 +48,6 @@ */ public class ExpressionVisitorAdapterTest { - public ExpressionVisitorAdapterTest() {} - @BeforeClass public static void setUpClass() {} diff --git a/src/test/java/net/sf/jsqlparser/expression/LongValueTest.java b/src/test/java/net/sf/jsqlparser/expression/LongValueTest.java index 45680d37b..1252b2d1c 100644 --- a/src/test/java/net/sf/jsqlparser/expression/LongValueTest.java +++ b/src/test/java/net/sf/jsqlparser/expression/LongValueTest.java @@ -35,8 +35,6 @@ */ public class LongValueTest { - public LongValueTest() {} - @BeforeClass public static void setUpClass() {} diff --git a/src/test/java/net/sf/jsqlparser/expression/SignedExpressionTest.java b/src/test/java/net/sf/jsqlparser/expression/SignedExpressionTest.java index acb402459..142cc8d74 100644 --- a/src/test/java/net/sf/jsqlparser/expression/SignedExpressionTest.java +++ b/src/test/java/net/sf/jsqlparser/expression/SignedExpressionTest.java @@ -35,8 +35,6 @@ */ public class SignedExpressionTest { - public SignedExpressionTest() {} - @BeforeClass public static void setUpClass() {} diff --git a/src/test/java/net/sf/jsqlparser/expression/StringValueTest.java b/src/test/java/net/sf/jsqlparser/expression/StringValueTest.java index 2646e5273..82b333d7b 100644 --- a/src/test/java/net/sf/jsqlparser/expression/StringValueTest.java +++ b/src/test/java/net/sf/jsqlparser/expression/StringValueTest.java @@ -32,8 +32,6 @@ */ public class StringValueTest { - public StringValueTest() {} - @BeforeClass public static void setUpClass() {} diff --git a/src/test/java/net/sf/jsqlparser/parser/CCJSqlParserUtilTest.java b/src/test/java/net/sf/jsqlparser/parser/CCJSqlParserUtilTest.java index 81f0030d8..01f6dc4d0 100644 --- a/src/test/java/net/sf/jsqlparser/parser/CCJSqlParserUtilTest.java +++ b/src/test/java/net/sf/jsqlparser/parser/CCJSqlParserUtilTest.java @@ -23,8 +23,6 @@ */ public class CCJSqlParserUtilTest { - public CCJSqlParserUtilTest() {} - @BeforeClass public static void setUpClass() {} diff --git a/src/test/java/net/sf/jsqlparser/schema/ColumnTest.java b/src/test/java/net/sf/jsqlparser/schema/ColumnTest.java index 6e302c8dc..58a451390 100644 --- a/src/test/java/net/sf/jsqlparser/schema/ColumnTest.java +++ b/src/test/java/net/sf/jsqlparser/schema/ColumnTest.java @@ -34,8 +34,6 @@ */ public class ColumnTest { - public ColumnTest() {} - @BeforeClass public static void setUpClass() {} diff --git a/src/test/java/net/sf/jsqlparser/statement/SetStatementTest.java b/src/test/java/net/sf/jsqlparser/statement/SetStatementTest.java index 6df71f58f..4a84d1226 100644 --- a/src/test/java/net/sf/jsqlparser/statement/SetStatementTest.java +++ b/src/test/java/net/sf/jsqlparser/statement/SetStatementTest.java @@ -34,8 +34,6 @@ */ public class SetStatementTest { - public SetStatementTest() {} - @BeforeClass public static void setUpClass() {} diff --git a/src/test/java/net/sf/jsqlparser/statement/StatementsTest.java b/src/test/java/net/sf/jsqlparser/statement/StatementsTest.java index 72d3aa4d0..607c9bfdd 100644 --- a/src/test/java/net/sf/jsqlparser/statement/StatementsTest.java +++ b/src/test/java/net/sf/jsqlparser/statement/StatementsTest.java @@ -23,8 +23,6 @@ */ public class StatementsTest { - public StatementsTest() {} - @BeforeClass public static void setUpClass() {} diff --git a/src/test/java/net/sf/jsqlparser/statement/execute/ExecuteTest.java b/src/test/java/net/sf/jsqlparser/statement/execute/ExecuteTest.java index 7c6951e79..81215eb1f 100644 --- a/src/test/java/net/sf/jsqlparser/statement/execute/ExecuteTest.java +++ b/src/test/java/net/sf/jsqlparser/statement/execute/ExecuteTest.java @@ -34,8 +34,6 @@ */ public class ExecuteTest { - public ExecuteTest() {} - @BeforeClass public static void setUpClass() {} diff --git a/src/test/java/net/sf/jsqlparser/util/AddAliasesVisitorTest.java b/src/test/java/net/sf/jsqlparser/util/AddAliasesVisitorTest.java index 2bc0c60e5..d2a005e98 100644 --- a/src/test/java/net/sf/jsqlparser/util/AddAliasesVisitorTest.java +++ b/src/test/java/net/sf/jsqlparser/util/AddAliasesVisitorTest.java @@ -20,8 +20,6 @@ */ public class AddAliasesVisitorTest { - public AddAliasesVisitorTest() {} - @BeforeClass public static void setUpClass() {} diff --git a/src/test/java/net/sf/jsqlparser/util/ConnectExpressionsVisitorTest.java b/src/test/java/net/sf/jsqlparser/util/ConnectExpressionsVisitorTest.java index 8072c5d1a..c9d5b8bce 100644 --- a/src/test/java/net/sf/jsqlparser/util/ConnectExpressionsVisitorTest.java +++ b/src/test/java/net/sf/jsqlparser/util/ConnectExpressionsVisitorTest.java @@ -23,8 +23,6 @@ */ public class ConnectExpressionsVisitorTest { - public ConnectExpressionsVisitorTest() {} - @BeforeClass public static void setUpClass() {} diff --git a/src/test/java/net/sf/jsqlparser/util/SelectUtilsTest.java b/src/test/java/net/sf/jsqlparser/util/SelectUtilsTest.java index a252e6d34..f81942d0a 100644 --- a/src/test/java/net/sf/jsqlparser/util/SelectUtilsTest.java +++ b/src/test/java/net/sf/jsqlparser/util/SelectUtilsTest.java @@ -32,8 +32,6 @@ */ public class SelectUtilsTest { - public SelectUtilsTest() {} - @BeforeClass public static void setUpClass() {} diff --git a/src/test/java/net/sf/jsqlparser/util/deparser/CreateViewDeParserTest.java b/src/test/java/net/sf/jsqlparser/util/deparser/CreateViewDeParserTest.java index 6a200e8cb..3e38a2153 100644 --- a/src/test/java/net/sf/jsqlparser/util/deparser/CreateViewDeParserTest.java +++ b/src/test/java/net/sf/jsqlparser/util/deparser/CreateViewDeParserTest.java @@ -41,8 +41,6 @@ */ public class CreateViewDeParserTest { - public CreateViewDeParserTest() {} - @BeforeClass public static void setUpClass() {}