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..24b79771e 100644 --- a/src/main/java/net/sf/jsqlparser/expression/Alias.java +++ b/src/main/java/net/sf/jsqlparser/expression/Alias.java @@ -21,38 +21,22 @@ */ 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; - } - - public void setUseAs(boolean useAs) { - this.useAs = useAs; + this(name, true); } @Override diff --git a/src/main/java/net/sf/jsqlparser/expression/AllComparisonExpression.java b/src/main/java/net/sf/jsqlparser/expression/AllComparisonExpression.java index 3c596cc1d..8e143c2eb 100644 --- a/src/main/java/net/sf/jsqlparser/expression/AllComparisonExpression.java +++ b/src/main/java/net/sf/jsqlparser/expression/AllComparisonExpression.java @@ -21,21 +21,17 @@ */ 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; - public AllComparisonExpression(SubSelect subSelect) { - this.subSelect = subSelect; - } - - public SubSelect getSubSelect() { - return subSelect; - } - @Override public void accept(ExpressionVisitor expressionVisitor) { expressionVisitor.visit(this); diff --git a/src/main/java/net/sf/jsqlparser/expression/AnalyticExpression.java b/src/main/java/net/sf/jsqlparser/expression/AnalyticExpression.java index d0117ea29..1e901fd6a 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,6 +37,7 @@ * * @author tw */ +@Data public class AnalyticExpression extends ASTNodeAccessImpl implements Expression { private ExpressionList partitionExpressionList; @@ -54,78 +56,6 @@ 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(); @@ -146,7 +76,7 @@ public String toString() { if (keep != null) { b.append(keep.toString()).append(" "); } - + switch (type) { case WITHIN_GROUP: b.append("WITHIN GROUP"); @@ -164,19 +94,10 @@ public String toString() { 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(PlainSelect.getStringList(partitionExpressionList.getExpressions(), true, false)); b.append(" "); } } diff --git a/src/main/java/net/sf/jsqlparser/expression/AnyComparisonExpression.java b/src/main/java/net/sf/jsqlparser/expression/AnyComparisonExpression.java index 9bc270d03..789eb2dec 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,29 +31,18 @@ * * @author toben */ +@Data +@AllArgsConstructor public class AnyComparisonExpression extends ASTNodeAccessImpl implements Expression { - private final SubSelect subSelect; private final AnyType anyType; - - public AnyComparisonExpression(AnyType anyType, SubSelect subSelect) { - this.anyType = anyType; - this.subSelect = subSelect; - } - - public SubSelect getSubSelect() { - return subSelect; - } + private final SubSelect subSelect; @Override public void accept(ExpressionVisitor expressionVisitor) { expressionVisitor.visit(this); } - public AnyType getAnyType() { - return anyType; - } - @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 e0d80983d..a156f5162 100644 --- a/src/main/java/net/sf/jsqlparser/expression/BinaryExpression.java +++ b/src/main/java/net/sf/jsqlparser/expression/BinaryExpression.java @@ -21,50 +21,19 @@ */ 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() { @@ -72,5 +41,4 @@ public String toString() { } 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..98dda47bb 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,6 +58,7 @@ * * @author Havard Rast Blok */ +@Data public class CaseExpression extends ASTNodeAccessImpl implements Expression { private Expression switchExpression; @@ -68,52 +70,10 @@ 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"; + + 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..8634f101d 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,41 +29,18 @@ * * @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) { diff --git a/src/main/java/net/sf/jsqlparser/expression/DateTimeLiteralExpression.java b/src/main/java/net/sf/jsqlparser/expression/DateTimeLiteralExpression.java index 769d38bac..b9566c354 100644 --- a/src/main/java/net/sf/jsqlparser/expression/DateTimeLiteralExpression.java +++ b/src/main/java/net/sf/jsqlparser/expression/DateTimeLiteralExpression.java @@ -19,53 +19,39 @@ * . * #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; - } - @Override public void accept(ExpressionVisitor expressionVisitor) { expressionVisitor.visit(this); @@ -77,6 +63,8 @@ public String toString() { } public static enum DateTime { - DATE, TIME, TIMESTAMP; + 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..e0e75095c 100644 --- a/src/main/java/net/sf/jsqlparser/expression/DateValue.java +++ b/src/main/java/net/sf/jsqlparser/expression/DateValue.java @@ -21,13 +21,15 @@ */ 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; @@ -41,14 +43,6 @@ public void accept(ExpressionVisitor expressionVisitor) { expressionVisitor.visit(this); } - public Date getValue() { - return value; - } - - public void setValue(Date d) { - value = d; - } - @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..46064df2c 100644 --- a/src/main/java/net/sf/jsqlparser/expression/DoubleValue.java +++ b/src/main/java/net/sf/jsqlparser/expression/DoubleValue.java @@ -21,14 +21,21 @@ */ 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; + @Getter(AccessLevel.NONE) + @Setter(AccessLevel.NONE) private String stringValue; public DoubleValue(final String value) { @@ -45,14 +52,6 @@ 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; 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..92d334b7d 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; @@ -325,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 013d4039f..fbfe1ec40 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,6 +30,7 @@ * * @author tw */ +@Data public class ExtractExpression extends ASTNodeAccessImpl implements Expression { private String name; @@ -39,22 +41,6 @@ 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 + ')'; diff --git a/src/main/java/net/sf/jsqlparser/expression/Function.java b/src/main/java/net/sf/jsqlparser/expression/Function.java index 53c1ca3d2..b650a83ab 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..d7f89e42f 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; - - public HexValue(final String value) { - String val = value; - this.stringValue = val; - } + private String value; @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; + 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..b784d550f 100644 --- a/src/main/java/net/sf/jsqlparser/expression/IntervalExpression.java +++ b/src/main/java/net/sf/jsqlparser/expression/IntervalExpression.java @@ -21,33 +21,19 @@ */ 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; - public String getParameter() { - return parameter; - } - - 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 : ""); 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..761edbd41 100644 --- a/src/main/java/net/sf/jsqlparser/expression/JdbcParameter.java +++ b/src/main/java/net/sf/jsqlparser/expression/JdbcParameter.java @@ -21,40 +21,22 @@ */ 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; - public JdbcParameter() { - } - - 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); diff --git a/src/main/java/net/sf/jsqlparser/expression/JsonExpression.java b/src/main/java/net/sf/jsqlparser/expression/JsonExpression.java index 86cba6e17..7a2f369a5 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,29 +45,21 @@ 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; -// } -// -// 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 2ee6a8e39..b8480cf51 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,6 +35,7 @@ * * @author tw */ +@Data public class KeepExpression extends ASTNodeAccessImpl implements Expression { private String name; @@ -45,30 +47,6 @@ 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; - } - - public void setFirst(boolean first) { - this.first = first; - } - @Override public String toString() { StringBuilder b = new StringBuilder(); 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..5c41b7206 100644 --- a/src/main/java/net/sf/jsqlparser/expression/MySQLGroupConcat.java +++ b/src/main/java/net/sf/jsqlparser/expression/MySQLGroupConcat.java @@ -19,27 +19,29 @@ * . * #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; + +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..f8e375e12 100644 --- a/src/main/java/net/sf/jsqlparser/expression/MySQLIndexHint.java +++ b/src/main/java/net/sf/jsqlparser/expression/MySQLIndexHint.java @@ -23,18 +23,17 @@ import java.util.List; -public class MySQLIndexHint { +import lombok.AllArgsConstructor; +import lombok.Data; + +@Data +@AllArgsConstructor +public class MySQLIndexHint { private final String action; private final String indexQualifier; private final List indexNames; - public MySQLIndexHint(String action, String indexQualifier, List indexNames) { - this.action = action; - this.indexQualifier = indexQualifier; - this.indexNames = indexNames; - } - @Override public String toString() { // use|ignore|force key|index (index1,...,indexN) 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..3aba57696 100644 --- a/src/main/java/net/sf/jsqlparser/expression/NumericBind.java +++ b/src/main/java/net/sf/jsqlparser/expression/NumericBind.java @@ -21,24 +21,18 @@ */ 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; - public int getBindId() { - return bindId; - } - - public void setBindId(int bindId) { - this.bindId = bindId; - } - @Override public void accept(ExpressionVisitor expressionVisitor) { expressionVisitor.visit(this); diff --git a/src/main/java/net/sf/jsqlparser/expression/OracleHierarchicalExpression.java b/src/main/java/net/sf/jsqlparser/expression/OracleHierarchicalExpression.java index b1f701b8b..baa7df465 100644 --- a/src/main/java/net/sf/jsqlparser/expression/OracleHierarchicalExpression.java +++ b/src/main/java/net/sf/jsqlparser/expression/OracleHierarchicalExpression.java @@ -21,12 +21,14 @@ */ 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; @@ -34,38 +36,6 @@ public class OracleHierarchicalExpression extends ASTNodeAccessImpl implements E private boolean noCycle = false; boolean connectFirst = false; - public Expression getStartExpression() { - return startExpression; - } - - 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); diff --git a/src/main/java/net/sf/jsqlparser/expression/OracleHint.java b/src/main/java/net/sf/jsqlparser/expression/OracleHint.java index 58e04532c..d4a138892 100644 --- a/src/main/java/net/sf/jsqlparser/expression/OracleHint.java +++ b/src/main/java/net/sf/jsqlparser/expression/OracleHint.java @@ -21,28 +21,29 @@ */ 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 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(); + || MULTI_LINE.matcher(comment).find(); } public final void setComment(String comment) { @@ -60,22 +61,6 @@ public final void setComment(String comment) { } } - public String getValue() { - return value; - } - - public void setValue(String value) { - this.value = value; - } - - public boolean isSingleLine() { - return singleLine; - } - - public void setSingleLine(boolean singleLine) { - this.singleLine = singleLine; - } - @Override public void accept(ExpressionVisitor visitor) { visitor.visit(this); @@ -89,5 +74,4 @@ public String toString() { 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..fe56f9315 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; - public Parenthesis() { - } - - 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 + ")"; } + + 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 f0b65a09d..4ca46738d 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,30 +30,12 @@ * * @author tw */ +@Data public class RowConstructor extends ASTNodeAccessImpl implements Expression { private ExpressionList exprList; private String name = null; - public RowConstructor() { - } - - 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); diff --git a/src/main/java/net/sf/jsqlparser/expression/SignedExpression.java b/src/main/java/net/sf/jsqlparser/expression/SignedExpression.java index 8d8569405..f6c626011 100644 --- a/src/main/java/net/sf/jsqlparser/expression/SignedExpression.java +++ b/src/main/java/net/sf/jsqlparser/expression/SignedExpression.java @@ -21,11 +21,13 @@ */ 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; @@ -36,10 +38,6 @@ public SignedExpression(char sign, Expression expression) { setExpression(expression); } - public char getSign() { - return sign; - } - public final void setSign(char sign) { this.sign = sign; if (sign != '+' && sign != '-' && sign != '~') { @@ -47,14 +45,6 @@ public final void setSign(char sign) { } } - 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/StringValue.java b/src/main/java/net/sf/jsqlparser/expression/StringValue.java index 8d4cda17f..58022dcd6 100644 --- a/src/main/java/net/sf/jsqlparser/expression/StringValue.java +++ b/src/main/java/net/sf/jsqlparser/expression/StringValue.java @@ -23,11 +23,14 @@ 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 = ""; @@ -59,14 +62,6 @@ public StringValue(String escapedValue) { value = escapedValue; } - public String getValue() { - return value; - } - - public Character getPrefix() { - return prefix; - } - public String getNotExcapedValue() { StringBuilder buffer = new StringBuilder(value); int index = 0; @@ -79,14 +74,6 @@ public String getNotExcapedValue() { return buffer.toString(); } - public void setValue(String string) { - value = string; - } - - public void setPrefix(Character prefix) { - this.prefix = prefix; - } - @Override public void accept(ExpressionVisitor expressionVisitor) { expressionVisitor.visit(this); diff --git a/src/main/java/net/sf/jsqlparser/expression/TimeKeyExpression.java b/src/main/java/net/sf/jsqlparser/expression/TimeKeyExpression.java index 0e227e37b..7ac2b9ab7 100644 --- a/src/main/java/net/sf/jsqlparser/expression/TimeKeyExpression.java +++ b/src/main/java/net/sf/jsqlparser/expression/TimeKeyExpression.java @@ -21,29 +21,21 @@ */ 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; - public TimeKeyExpression(final String value) { - this.stringValue = value; - } - @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(); diff --git a/src/main/java/net/sf/jsqlparser/expression/TimeValue.java b/src/main/java/net/sf/jsqlparser/expression/TimeValue.java index b1e7fad41..6ff12e575 100644 --- a/src/main/java/net/sf/jsqlparser/expression/TimeValue.java +++ b/src/main/java/net/sf/jsqlparser/expression/TimeValue.java @@ -21,13 +21,15 @@ */ 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; @@ -41,14 +43,6 @@ public void accept(ExpressionVisitor expressionVisitor) { expressionVisitor.visit(this); } - public Time getValue() { - return value; - } - - public void setValue(Time d) { - value = d; - } - @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..2c11f3125 100644 --- a/src/main/java/net/sf/jsqlparser/expression/TimestampValue.java +++ b/src/main/java/net/sf/jsqlparser/expression/TimestampValue.java @@ -21,22 +21,26 @@ */ 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 static final char QUOTATION = '\''; + 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) { + 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())); @@ -49,14 +53,6 @@ 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 + "'}"; diff --git a/src/main/java/net/sf/jsqlparser/expression/UserVariable.java b/src/main/java/net/sf/jsqlparser/expression/UserVariable.java index d751523eb..0f985981f 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,37 +29,22 @@ * * @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; - } + private String name; + private boolean doubleAdd = false; @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; diff --git a/src/main/java/net/sf/jsqlparser/expression/WhenClause.java b/src/main/java/net/sf/jsqlparser/expression/WhenClause.java index c22ee2743..11ba3e7e0 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,6 +29,7 @@ * * @author Havard Rast Blok */ +@Data public class WhenClause extends ASTNodeAccessImpl implements Expression { private Expression whenExpression; @@ -38,34 +40,6 @@ 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; diff --git a/src/main/java/net/sf/jsqlparser/expression/WindowElement.java b/src/main/java/net/sf/jsqlparser/expression/WindowElement.java index 7ad4f7a07..1c4819acd 100644 --- a/src/main/java/net/sf/jsqlparser/expression/WindowElement.java +++ b/src/main/java/net/sf/jsqlparser/expression/WindowElement.java @@ -21,6 +21,9 @@ */ package net.sf.jsqlparser.expression; +import lombok.Data; + +@Data public class WindowElement { public enum Type { @@ -33,30 +36,6 @@ public enum Type { private WindowOffset offset; private WindowRange range; - public Type getType() { - return type; - } - - public void setType(Type type) { - this.type = type; - } - - public WindowOffset getOffset() { - return offset; - } - - public void setOffset(WindowOffset offset) { - this.offset = offset; - } - - public WindowRange getRange() { - return range; - } - - public void setRange(WindowRange range) { - this.range = range; - } - @Override public String toString() { StringBuilder buffer = new StringBuilder(type.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..5bae0f3d7 100644 --- a/src/main/java/net/sf/jsqlparser/expression/WindowOffset.java +++ b/src/main/java/net/sf/jsqlparser/expression/WindowOffset.java @@ -21,6 +21,9 @@ */ package net.sf.jsqlparser.expression; +import lombok.Data; + +@Data public class WindowOffset { public enum Type { @@ -34,22 +37,6 @@ public enum Type { private Expression expression; private Type type; - public Expression getExpression() { - return expression; - } - - public void setExpression(Expression expression) { - this.expression = expression; - } - - public Type getType() { - return type; - } - - public void setType(Type type) { - this.type = type; - } - @Override public String toString() { StringBuilder buffer = new StringBuilder(); diff --git a/src/main/java/net/sf/jsqlparser/expression/WindowRange.java b/src/main/java/net/sf/jsqlparser/expression/WindowRange.java index d90ace12c..5af776643 100644 --- a/src/main/java/net/sf/jsqlparser/expression/WindowRange.java +++ b/src/main/java/net/sf/jsqlparser/expression/WindowRange.java @@ -21,27 +21,14 @@ */ package net.sf.jsqlparser.expression; +import lombok.Data; + +@Data public class WindowRange { private WindowOffset start; private WindowOffset end; - public WindowOffset getEnd() { - return end; - } - - public void setEnd(WindowOffset end) { - this.end = end; - } - - public WindowOffset getStart() { - return start; - } - - public void setStart(WindowOffset start) { - this.start = start; - } - @Override public String toString() { StringBuilder buffer = new StringBuilder(); 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..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,9 +31,6 @@ */ public class Modulo extends BinaryExpression { - public Modulo() { - } - @Override public void accept(ExpressionVisitor expressionVisitor) { expressionVisitor.visit(this); 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..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 @@ -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,6 +29,7 @@ /** * A "BETWEEN" expr1 expr2 statement */ +@Data public class Between extends ASTNodeAccessImpl implements Expression { private Expression leftExpression; @@ -35,38 +37,6 @@ public class Between extends ASTNodeAccessImpl implements Expression { 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); @@ -75,6 +45,6 @@ public void accept(ExpressionVisitor expressionVisitor) { @Override public String toString() { return leftExpression + " " + (not ? "NOT " : "") + "BETWEEN " + betweenExpressionStart + " AND " - + betweenExpressionEnd; + + 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..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 @@ -21,14 +21,13 @@ */ package net.sf.jsqlparser.expression.operators.relational; +import lombok.AllArgsConstructor; + +@AllArgsConstructor public abstract class ComparisonOperator extends OldOracleJoinBinaryExpression { private final String operator; - public ComparisonOperator(String operator) { - this.operator = 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..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 @@ -21,31 +21,17 @@ */ 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; - public Expression getRightExpression() { - return rightExpression; - } - - public void setRightExpression(Expression expression) { - rightExpression = expression; - } - - public boolean isNot() { - return not; - } - - public void setNot(boolean b) { - not = b; - } - @Override public void accept(ExpressionVisitor expressionVisitor) { expressionVisitor.visit(this); 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..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 @@ -23,31 +23,22 @@ 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; - public ExpressionList() { - } - - 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); 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..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 @@ -21,10 +21,14 @@ */ 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; @@ -34,9 +38,6 @@ public class InExpression extends ASTNodeAccessImpl implements Expression, Suppo private int oldOracleJoinSyntax = NO_ORACLE_JOIN; - public InExpression() { - } - public InExpression(Expression leftExpression, ItemsList itemsList) { setLeftExpression(leftExpression); setRightItemsList(itemsList); @@ -50,43 +51,6 @@ public void setOldOracleJoinSyntax(int 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); 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..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 @@ -21,31 +21,17 @@ */ 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; - public Expression getLeftExpression() { - return leftExpression; - } - - 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); 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..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 @@ -21,16 +21,14 @@ */ package net.sf.jsqlparser.expression.operators.relational; +import lombok.AllArgsConstructor; import net.sf.jsqlparser.expression.BinaryExpression; import net.sf.jsqlparser.expression.ExpressionVisitor; +@AllArgsConstructor public class JsonOperator extends BinaryExpression { - private String op; //"@>" - - public JsonOperator(String op) { - this.op = op; - } + private final String op; //"@>" @Override public void accept(ExpressionVisitor expressionVisitor) { 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..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 @@ -21,24 +21,17 @@ */ 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); @@ -55,23 +48,6 @@ public String 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; - } } 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..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 @@ -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,13 +49,9 @@ 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()) { + && 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 c620a62e9..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 @@ -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; @@ -41,27 +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 ? "(+)" : ""); - } - - @Override - public int getOldOracleJoinSyntax() { - return oldOracleJoinSyntax; - } - - @Override - public int getOraclePriorPosition() { - return oraclePriorPosition; - } - - @Override - public void setOraclePriorPosition(int oraclePriorPosition) { - this.oraclePriorPosition = oraclePriorPosition; + + (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 27f0fff32..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 @@ -21,9 +21,11 @@ */ 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; @@ -35,10 +37,6 @@ public RegExpMatchOperator(RegExpMatchOperatorType operatorType) { this.operatorType = operatorType; } - public RegExpMatchOperatorType getOperatorType() { - return operatorType; - } - @Override public void accept(ExpressionVisitor expressionVisitor) { expressionVisitor.visit(this); @@ -60,4 +58,9 @@ public String getStringExpression() { } return null; } + + @Override + 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..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 @@ -21,12 +21,16 @@ */ 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; + @Accessors(chain = true) private boolean useRLike = false; public RegExpMySQLOperator(RegExpMatchOperatorType operatorType) { @@ -36,19 +40,6 @@ public RegExpMySQLOperator(RegExpMatchOperatorType operatorType) { 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); @@ -57,6 +48,11 @@ public void accept(ExpressionVisitor expressionVisitor) { @Override public String getStringExpression() { return (useRLike ? "RLIKE" : "REGEXP") - + (operatorType == RegExpMatchOperatorType.MATCH_CASESENSITIVE ? " BINARY" : ""); + + (operatorType == RegExpMatchOperatorType.MATCH_CASESENSITIVE ? " BINARY" : ""); + } + + @Override + public String 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 a5f889421..f5b0b79f9 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,12 +35,10 @@ * * @author toben */ +@UtilityClass public final class CCJSqlParserUtil { - private CCJSqlParserUtil() { - } - - public static Statement parse(Reader statementReader) throws JSQLParserException { + public Statement parse(Reader statementReader) throws JSQLParserException { CCJSqlParser parser = new CCJSqlParser(new StreamProvider(statementReader)); try { return parser.Statement(); @@ -47,7 +47,7 @@ public static Statement parse(Reader statementReader) throws JSQLParserException } } - public static Statement parse(String sql) throws JSQLParserException { + public Statement parse(String sql) throws JSQLParserException { CCJSqlParser parser = new CCJSqlParser(new StringProvider(sql)); try { return parser.Statement(); @@ -56,7 +56,7 @@ public static Statement parse(String sql) throws JSQLParserException { } } - public static Node parseAST(String sql) throws JSQLParserException { + public Node parseAST(String sql) throws JSQLParserException { CCJSqlParser parser = new CCJSqlParser(new StringProvider(sql)); try { parser.Statement(); @@ -66,7 +66,7 @@ public static Node parseAST(String sql) throws JSQLParserException { } } - public static Statement parse(InputStream is) throws JSQLParserException { + public Statement parse(InputStream is) throws JSQLParserException { try { CCJSqlParser parser = new CCJSqlParser(new StreamProvider(is)); return parser.Statement(); @@ -75,7 +75,7 @@ public static Statement parse(InputStream is) throws JSQLParserException { } } - public static Statement parse(InputStream is, String encoding) throws JSQLParserException { + public Statement parse(InputStream is, String encoding) throws JSQLParserException { try { CCJSqlParser parser = new CCJSqlParser(new StreamProvider(is, encoding)); return parser.Statement(); @@ -91,11 +91,11 @@ public static Statement parse(InputStream is, String encoding) throws JSQLParser * @return * @throws JSQLParserException */ - public static Expression parseExpression(String expression) throws JSQLParserException { + public Expression parseExpression(String expression) throws JSQLParserException { return parseExpression(expression, true); } - - public static Expression parseExpression(String expression, boolean allowPartialParse) throws JSQLParserException { + + public Expression parseExpression(String expression, boolean allowPartialParse) throws JSQLParserException { CCJSqlParser parser = new CCJSqlParser(new StringProvider(expression)); try { Expression expr = parser.SimpleExpression(); @@ -117,7 +117,7 @@ public static Expression parseExpression(String expression, boolean allowPartial * @return * @throws JSQLParserException */ - public static Expression parseCondExpression(String condExpr) throws JSQLParserException { + public Expression parseCondExpression(String condExpr) throws JSQLParserException { return parseCondExpression(condExpr, true); } @@ -128,7 +128,7 @@ public static Expression parseCondExpression(String condExpr) throws JSQLParserE * @param allowPartialParse false: needs the whole string to be processed. * @return */ - public static Expression parseCondExpression(String condExpr, boolean allowPartialParse) throws JSQLParserException { + public Expression parseCondExpression(String condExpr, boolean allowPartialParse) throws JSQLParserException { CCJSqlParser parser = new CCJSqlParser(new StringProvider(condExpr)); try { Expression expr = parser.Expression(); @@ -146,7 +146,7 @@ public static Expression parseCondExpression(String condExpr, boolean allowParti /** * Parse a statement list. */ - public static Statements parseStatements(String sqls) throws JSQLParserException { + public Statements parseStatements(String sqls) throws JSQLParserException { CCJSqlParser parser = new CCJSqlParser(new StringProvider(sqls)); try { return parser.Statements(); 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 4b343c303..719c60a09 100644 --- a/src/main/java/net/sf/jsqlparser/schema/Column.java +++ b/src/main/java/net/sf/jsqlparser/schema/Column.java @@ -21,20 +21,24 @@ */ 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; - public Column() { - } - public Column(Table table, String columnName) { setTable(table); setColumnName(columnName); @@ -44,22 +48,6 @@ public Column(String columnName) { this(null, columnName); } - public Table getTable() { - return table; - } - - public void setTable(Table table) { - this.table = table; - } - - public String getColumnName() { - return columnName; - } - - public void setColumnName(String string) { - columnName = string; - } - @Override public String getFullyQualifiedName() { return getName(false); diff --git a/src/main/java/net/sf/jsqlparser/schema/Database.java b/src/main/java/net/sf/jsqlparser/schema/Database.java index 5035b4fdd..482014ed8 100644 --- a/src/main/java/net/sf/jsqlparser/schema/Database.java +++ b/src/main/java/net/sf/jsqlparser/schema/Database.java @@ -21,34 +21,20 @@ */ package net.sf.jsqlparser.schema; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +@Data +@NoArgsConstructor +@AllArgsConstructor public final class Database implements MultiPartName { private Server server; private String databaseName; public Database(String databaseName) { - setDatabaseName(databaseName); - } - - public Database(Server server, String databaseName) { - setServer(server); - setDatabaseName(databaseName); - } - - public Server getServer() { - return server; - } - - public void setServer(Server server) { - this.server = server; - } - - public String getDatabaseName() { - return databaseName; - } - - public void setDatabaseName(String databaseName) { - this.databaseName = databaseName; + this(null, databaseName); } @Override diff --git a/src/main/java/net/sf/jsqlparser/schema/Server.java b/src/main/java/net/sf/jsqlparser/schema/Server.java index 7b83ab678..6ab6b460c 100644 --- a/src/main/java/net/sf/jsqlparser/schema/Server.java +++ b/src/main/java/net/sf/jsqlparser/schema/Server.java @@ -21,12 +21,15 @@ */ 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. - compile("\\[([^\\]]+?)(?:\\\\([^\\]]+))?\\]"); + public static final Pattern SERVER_PATTERN = Pattern.compile("\\[([^\\]]+?)(?:\\\\([^\\]]+))?\\]"); private String serverName; private String instanceName; @@ -49,26 +52,9 @@ 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. - 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 7a7a8ddba..2f994fdcc 100644 --- a/src/main/java/net/sf/jsqlparser/schema/Table.java +++ b/src/main/java/net/sf/jsqlparser/schema/Table.java @@ -21,13 +21,23 @@ */ 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; @@ -36,10 +46,7 @@ public class Table extends ASTNodeAccessImpl implements FromItem, MultiPartName private Alias alias; private Pivot pivot; - private MySQLIndexHint hint; - - public Table() { - } + private MySQLIndexHint mySQLIndexHint; public Table(String name) { this.name = name; @@ -56,40 +63,6 @@ public Table(Database database, String schemaName, String name) { 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 = ""; @@ -124,29 +97,11 @@ 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() : ""); + + ((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..043e55cb5 100644 --- a/src/main/java/net/sf/jsqlparser/statement/Commit.java +++ b/src/main/java/net/sf/jsqlparser/statement/Commit.java @@ -22,11 +22,12 @@ 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"; diff --git a/src/main/java/net/sf/jsqlparser/statement/SetStatement.java b/src/main/java/net/sf/jsqlparser/statement/SetStatement.java index 8794bd1ba..76fbe3446 100644 --- a/src/main/java/net/sf/jsqlparser/statement/SetStatement.java +++ b/src/main/java/net/sf/jsqlparser/statement/SetStatement.java @@ -19,36 +19,40 @@ * . * #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; + @Accessors(chain = true) private boolean useEqual; public SetStatement(String name, Expression expression) { @@ -56,31 +60,6 @@ public SetStatement(String name, Expression expression) { 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; - } - - public void setExpression(Expression expression) { - this.expression = expression; - } - @Override public String toString() { return "SET " + name + (useEqual ? " = " : " ") + expression.toString(); 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 1d9f38ebe..e456bbbb8 100644 --- a/src/main/java/net/sf/jsqlparser/statement/Statements.java +++ b/src/main/java/net/sf/jsqlparser/statement/Statements.java @@ -23,22 +23,17 @@ 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; - } - public void accept(StatementVisitor statementVisitor) { statementVisitor.visit(this); } 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..83a1fb759 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,20 +34,13 @@ * * @author toben & wrobstory */ +@Data public class Alter implements Statement { private Table table; private List alterExpressions; - public Table getTable() { - return table; - } - - public void setTable(Table table) { - this.table = table; - } - public void addAlterExpression(AlterExpression alterExpression) { if (alterExpressions == null) { alterExpressions = new ArrayList(); @@ -54,14 +48,6 @@ public void addAlterExpression(AlterExpression alterExpression) { alterExpressions.add(alterExpression); } - public List getAlterExpressions() { - return alterExpressions; - } - - public void setAlterExpressions(List alterExpressions) { - this.alterExpressions = alterExpressions; - } - @Override public void accept(StatementVisitor statementVisitor) { statementVisitor.visit(this); @@ -87,5 +73,4 @@ public String 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 9788888ed..e04259ad4 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() { @@ -219,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()) { @@ -238,13 +118,14 @@ 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)); } return b.toString(); } + @Data public static class ColumnDataType { private final String columnName; @@ -257,14 +138,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..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,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/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 c249b7d8a..3011d8d28 100644 --- a/src/main/java/net/sf/jsqlparser/statement/alter/DeferrableConstraint.java +++ b/src/main/java/net/sf/jsqlparser/statement/alter/DeferrableConstraint.java @@ -21,22 +21,15 @@ */ package net.sf.jsqlparser.statement.alter; +import lombok.AllArgsConstructor; +import lombok.Data; + +@Data +@AllArgsConstructor public class DeferrableConstraint implements ConstraintState { private boolean not; - public DeferrableConstraint(boolean not) { - this.not = not; - } - - public boolean isNot() { - return not; - } - - public void setNot(boolean not) { - this.not = not; - } - @Override public String toString() { StringBuilder b = new StringBuilder(); 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..425ad617e 100644 --- a/src/main/java/net/sf/jsqlparser/statement/alter/ValidateConstraint.java +++ b/src/main/java/net/sf/jsqlparser/statement/alter/ValidateConstraint.java @@ -21,22 +21,15 @@ */ package net.sf.jsqlparser.statement.alter; +import lombok.AllArgsConstructor; +import lombok.Data; + +@Data +@AllArgsConstructor public class ValidateConstraint implements ConstraintState { private boolean not; - public ValidateConstraint(boolean not) { - this.not = not; - } - - public boolean isNot() { - return not; - } - - public void setNot(boolean not) { - this.not = not; - } - @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..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 @@ -21,20 +21,29 @@ */ 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 { + /** + * The table on which the index is to be created + */ private Table table; + /** + * The index to be created + */ private Index index; @Override @@ -42,28 +51,6 @@ public void accept(StatementVisitor statementVisitor) { statementVisitor.visit(this); } - /** - * The index to be created - */ - public Index getIndex() { - return index; - } - - public void setIndex(Index index) { - this.index = index; - } - - /** - * The table on which the index is to be created - */ - public Table getTable() { - return table; - } - - public void setTable(Table table) { - this.table = table; - } - @Override public String toString() { StringBuilder buffer = new StringBuilder(); @@ -83,8 +70,8 @@ public String toString() { if (index.getColumnsNames() != null) { buffer.append(" ("); - for (Iterator iter = index.getColumnsNames().iterator(); iter.hasNext();) { - String columnName = (String) iter.next(); + for (Iterator iter = index.getColumnsNames().iterator(); iter.hasNext();) { + String columnName = iter.next(); buffer.append(columnName); @@ -98,5 +85,4 @@ public String 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 8d2c14cfb..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 @@ -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,27 +31,12 @@ * * thor mw */ +@Data public class CheckConstraint extends NamedConstraint { 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 + ")"; 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..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 @@ -24,8 +24,10 @@ 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; @@ -33,38 +35,6 @@ public class ColDataType { 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(); @@ -76,9 +46,8 @@ public String toString() { arraySpec.append("]"); } return dataType - + (argumentsStringList != null ? " " + PlainSelect. - getStringList(argumentsStringList, true, true) : "") - + arraySpec.toString() - + (characterSet != null ? " CHARACTER SET " + characterSet : ""); + + (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..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 @@ -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; + /** + * The {@link ColDataType} of this column definition + */ 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; - } + private List columnSpecStrings; @Override public String toString() { - return columnName + " " + colDataType + (columnSpecStrings != null ? " " + PlainSelect. - getStringList(columnSpecStrings, false, false) : ""); + 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..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 @@ -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 @@ -147,11 +74,11 @@ 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 " + (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..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 @@ -21,6 +21,7 @@ */ package net.sf.jsqlparser.statement.create.table; +import lombok.Data; import net.sf.jsqlparser.expression.Expression; /** @@ -28,18 +29,11 @@ * * @author wrobstory */ +@Data public class ExcludeConstraint extends Index { 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 "); 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..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 @@ -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 = ""; @@ -79,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 30beff484..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 @@ -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 + * The type of this index: "PRIMARY KEY", "UNIQUE", "INDEX" */ - public List getColumnsNames() { - return columnsNames; - } - - public String getName() { - return name; - } - + private String type; /** - * The type of this index: "PRIMARY KEY", "UNIQUE", "INDEX" + * A list of strings of all the columns regarding this 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; - } + private List columnsNames; + private String name; + private List indexSpec; @Override public String toString() { - String idxSpecText = PlainSelect.getStringList(idxSpec, false, false); - return type + (name != null ? " " + name : "") + " " + PlainSelect. - getStringList(columnsNames, true, true) + (!"".equals(idxSpecText) ? " " + idxSpecText : ""); + 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 fb87502ab..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 @@ -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,47 +33,22 @@ /** * 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; - } - + private Table view; /** * @return the SelectBody */ - public SelectBody getSelectBody() { - return selectBody; - } - - public void setSelectBody(SelectBody selectBody) { - this.selectBody = selectBody; - } - - public List getColumnNames() { - return columnNames; - } + 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 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..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 @@ -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,10 +33,20 @@ /** * A "CREATE VIEW" statement */ +@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; @@ -44,60 +56,6 @@ 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; - } - - public void setMaterialized(boolean materialized) { - this.materialized = materialized; - } - @Override public String toString() { StringBuilder sql = new StringBuilder("CREATE "); 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..bf3dee9fa 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,8 +33,7 @@ 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; @@ -41,59 +43,11 @@ public class Delete implements Statement { 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"); 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..47b35ac43 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,42 +42,10 @@ 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 + " " - + (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 009e7455f..dc5041c83 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,36 +31,13 @@ * * @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); @@ -67,14 +45,12 @@ public void accept(StatementVisitor statementVisitor) { @Override public String toString() { - return execType.name() + " " + name + " " + PlainSelect. - getStringList(exprList.getExpressions(), true, false); + 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..403f79828 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,10 +38,17 @@ * The insert statement. Every column name in columnNames matches an item in * itemsList */ +@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; @@ -54,7 +62,7 @@ public class Insert implements Statement { 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; @@ -66,144 +74,6 @@ 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(); @@ -238,7 +108,7 @@ public String toString() { sql.append(")"); } } - + if (useSet) { sql.append("SET "); for (int i = 0; i < getSetColumns().size(); i++) { @@ -264,11 +134,9 @@ public String toString() { if (isReturningAllColumns()) { sql.append(" RETURNING *"); } else if (getReturningExpressionList() != null) { - sql.append(" RETURNING ").append(PlainSelect. - getStringList(getReturningExpressionList(), true, false)); + 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..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,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..b4c62f60a 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,6 +34,7 @@ * * @author tw */ +@Data public class Merge implements Statement { private Table table; @@ -44,26 +46,6 @@ public class Merge implements Statement { 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) { @@ -71,51 +53,11 @@ public void setUsingSelect(SubSelect usingSelect) { } } - 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(); 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..64b816ba8 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; - } - @Override public String toString() { return " WHEN NOT MATCHED THEN INSERT " + PlainSelect.getStringList(columns, true, true) - + " VALUES " + PlainSelect.getStringList(values, 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..13447ee03 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,6 +31,7 @@ * * @author toben */ +@Data public class MergeUpdate { private List columns = null; @@ -36,38 +39,6 @@ public class MergeUpdate { 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(); 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..fbd60cc2e 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,81 +35,32 @@ /** * 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; - } - + 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" */ - public ItemsList getItemsList() { - return itemsList; - } - - public void setColumns(List list) { - columns = list; - } - - public void setItemsList(ItemsList list) { - itemsList = list; - } - + 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) [...]" */ - public List getExpressions() { - return expressions; - } - - public void setExpressions(List list) { - expressions = list; - } - - public boolean isUseValues() { - return useValues; - } + private List expressions; + private boolean useValues = true; + private boolean useIntoTables = false; - public void setUseValues(boolean useValues) { - this.useValues = useValues; + @Override + public void accept(StatementVisitor statementVisitor) { + statementVisitor.visit(this); } @Override 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..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,9 +28,6 @@ */ public class AllColumns extends ASTNodeAccessImpl implements SelectItem { - public AllColumns() { - } - @Override public void accept(SelectItemVisitor selectItemVisitor) { selectItemVisitor.visit(this); 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..35e7fa54e 100644 --- a/src/main/java/net/sf/jsqlparser/statement/select/AllTableColumns.java +++ b/src/main/java/net/sf/jsqlparser/statement/select/AllTableColumns.java @@ -21,31 +21,22 @@ */ 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; - public AllTableColumns() { - } - - 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); 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..78433627e 100644 --- a/src/main/java/net/sf/jsqlparser/statement/select/ExpressionListItem.java +++ b/src/main/java/net/sf/jsqlparser/statement/select/ExpressionListItem.java @@ -21,30 +21,16 @@ */ 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; - 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() : ""); 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..01e304fd1 100644 --- a/src/main/java/net/sf/jsqlparser/statement/select/Fetch.java +++ b/src/main/java/net/sf/jsqlparser/statement/select/Fetch.java @@ -21,11 +21,13 @@ */ 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; @@ -33,42 +35,9 @@ public class Fetch { 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"; + 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..34d45ba7e 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,6 +31,7 @@ * 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 { @@ -42,38 +44,6 @@ public enum Keyword { 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() + " "; 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..2f62a65b2 100644 --- a/src/main/java/net/sf/jsqlparser/statement/select/FunctionItem.java +++ b/src/main/java/net/sf/jsqlparser/statement/select/FunctionItem.java @@ -21,30 +21,16 @@ */ 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; - 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() : ""); 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..8e2b4b5c8 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,165 +31,54 @@ /** * 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 + * Whether is a "OUTER" join */ - public boolean isSimple() { - return simple; - } - - public void setSimple(boolean b) { - simple = b; - } - + private boolean outer = false; /** - * Whether is a "INNER" join - * - * @return true if is a "INNER" join + * Whether is a "RIGHT" join */ - public boolean isInner() { - return inner; - } - - public void setInner(boolean b) { - inner = b; - } - + private boolean right = false; /** - * Whether is a "OUTER" join - * - * @return true if is a "OUTER" join + * Whether is a "LEFT" join */ - public boolean isOuter() { - return outer; - } - - public void setOuter(boolean b) { - outer = b; - } - + private boolean left = false; /** - * Whether is a "SEMI" join - * - * @return true if is a "SEMI" join + * Whether is a "NATURAL" join */ - public boolean isSemi() { - return semi; - } - - public void setSemi(boolean b) { - semi = b; - } - + private boolean natural = false; /** - * Whether is a "LEFT" join - * - * @return true if is a "LEFT" join + * Whether is a "FULL" join */ - public boolean isLeft() { - return left; - } - - public void setLeft(boolean b) { - left = b; - } - + private boolean full = false; /** - * Whether is a "RIGHT" join - * - * @return true if is a "RIGHT" join + * Whether is a "INNER" join */ - public boolean isRight() { - return right; - } - - public void setRight(boolean b) { - right = b; - } - + private boolean inner = false; /** - * Whether is a "NATURAL" join - * - * @return true if is a "NATURAL" join + * Whether is a tab1,tab2 join */ - public boolean isNatural() { - return natural; - } - - public void setNatural(boolean b) { - natural = b; - } - + private boolean simple = false; + private boolean cross = false; /** - * Whether is a "FULL" join - * - * @return true if is a "FULL" join + * Whether is a "SEMI" 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; - } - + private boolean semi = false; /** - * Returns the right item of the join + * The right item of the join */ - public FromItem getRightItem() { - return rightItem; - } - - public void setRightItem(FromItem item) { - rightItem = item; - } - + private FromItem rightItem; /** - * Returns the "ON" expression (if any) + * The "ON" expression (if any) */ - public Expression getOnExpression() { - return onExpression; - } - - public void setOnExpression(Expression expression) { - onExpression = expression; - } - + private Expression onExpression; /** - * Returns the "USING" list of {@link net.sf.jsqlparser.schema.Column}s (if any) + * 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; - } + private List usingColumns; @Override public String toString() { @@ -218,8 +108,7 @@ public String toString() { } return type + "JOIN " + rightItem + ((onExpression != null) ? " ON " + onExpression + "" : "") - + PlainSelect.getFormatedList(usingColumns, "USING", true, true); + + 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..ab62bb0c5 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 : ""); + + ((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..50d5ee50d 100644 --- a/src/main/java/net/sf/jsqlparser/statement/select/Limit.java +++ b/src/main/java/net/sf/jsqlparser/statement/select/Limit.java @@ -21,56 +21,26 @@ */ 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 ...]) + * True if the limit is "LIMIT ALL [OFFSET ...]) */ - public boolean isLimitAll() { - return limitAll; - } - - public void setLimitAll(boolean b) { - limitAll = b; - } - + private boolean limitAll; /** - * @return true if the limit is "LIMIT NULL [OFFSET ...]) + * True if the limit is "LIMIT NULL [OFFSET ...]) */ - public boolean isLimitNull() { - return limitNull; - } - - public void setLimitNull(boolean b) { - limitNull = b; - } + private boolean limitNull = false; @Override public String toString() { 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..6e1a1ab83 100644 --- a/src/main/java/net/sf/jsqlparser/statement/select/Offset.java +++ b/src/main/java/net/sf/jsqlparser/statement/select/Offset.java @@ -21,43 +21,21 @@ */ 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 : ""); + 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..c1285e16b 100644 --- a/src/main/java/net/sf/jsqlparser/statement/select/OrderByElement.java +++ b/src/main/java/net/sf/jsqlparser/statement/select/OrderByElement.java @@ -21,11 +21,13 @@ */ 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 { @@ -37,44 +39,12 @@ public enum NullOrdering { 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; - } + private boolean ascDescPresent = false; 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(); @@ -82,7 +52,7 @@ public String toString() { if (!asc) { b.append(" DESC"); - } else if (ascDesc) { + } else if (ascDescPresent) { b.append(" ASC"); } 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..5bfb0012c 100755 --- a/src/main/java/net/sf/jsqlparser/statement/select/Pivot.java +++ b/src/main/java/net/sf/jsqlparser/statement/select/Pivot.java @@ -21,11 +21,13 @@ */ 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; @@ -38,57 +40,16 @@ 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():""); + + 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..7d0db587f 100644 --- a/src/main/java/net/sf/jsqlparser/statement/select/PivotXml.java +++ b/src/main/java/net/sf/jsqlparser/statement/select/PivotXml.java @@ -21,10 +21,12 @@ */ package net.sf.jsqlparser.statement.select; -import net.sf.jsqlparser.schema.Column; - import java.util.List; +import lombok.Data; +import net.sf.jsqlparser.schema.Column; + +@Data public class PivotXml extends Pivot { private SelectBody inSelect; @@ -35,32 +37,13 @@ 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; - } - @Override public String toString() { List forColumns = getForColumns(); - String in = inAny ? "ANY" : inSelect == null ? PlainSelect.getStringList(getInItems()) : inSelect. - toString(); + 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 + "))"; + + 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..b99de74ac 100644 --- a/src/main/java/net/sf/jsqlparser/statement/select/PlainSelect.java +++ b/src/main/java/net/sf/jsqlparser/statement/select/PlainSelect.java @@ -21,28 +21,43 @@ */ 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; + /** + * 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; @@ -58,54 +73,11 @@ public class PlainSelect extends ASTNodeAccessImpl implements SelectBody { 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 + * Sets the {@link Wait} for this SELECT */ - 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; - } + private Wait wait; + private boolean mySqlSqlCalcFoundRows = false; public void addSelectItems(SelectItem... items) { if (selectItems == null) { @@ -114,114 +86,11 @@ public void addSelectItems(SelectItem... items) { 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(); @@ -229,64 +98,6 @@ public void addGroupByColumnReference(Expression expr) { 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(); @@ -436,7 +247,7 @@ public static String getStringList(List list) { */ public static String getStringList(List list, boolean useComma, boolean useBrackets) { StringBuilder ans = new StringBuilder(); -// String ans = ""; + // String ans = ""; String comma = ","; if (!useComma) { comma = ""; @@ -444,28 +255,20 @@ public static String getStringList(List list, boolean useComma, boolean useBr if (list != null) { if (useBrackets) { ans.append("("); -// ans += "("; + // 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 + " " : ""); + // ans += "" + list.get(i) + ((i < list.size() - 1) ? comma + " " : ""); } if (useBrackets) { ans.append(")"); -// ans += ")"; + // ans += ")"; } } return ans.toString(); } - - public void setMySqlSqlCalcFoundRows(boolean mySqlCalcFoundRows) { - this.mySqlSqlCalcFoundRows = mySqlCalcFoundRows; - } - - public boolean getMySqlSqlCalcFoundRows() { - return this.mySqlSqlCalcFoundRows; - } } 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..518910c0a 100644 --- a/src/main/java/net/sf/jsqlparser/statement/select/Select.java +++ b/src/main/java/net/sf/jsqlparser/statement/select/Select.java @@ -24,9 +24,11 @@ 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; @@ -37,14 +39,6 @@ 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(); @@ -62,12 +56,4 @@ public String toString() { retval.append(selectBody); return retval.toString(); } - - public List getWithItemsList() { - return withItemsList; - } - - public void setWithItemsList(List withItemsList) { - this.withItemsList = withItemsList; - } } 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..9aac6da0b 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,34 +30,17 @@ /** * 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() { - } - 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); 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..761d3d1f1 100644 --- a/src/main/java/net/sf/jsqlparser/statement/select/SetOperationList.java +++ b/src/main/java/net/sf/jsqlparser/statement/select/SetOperationList.java @@ -23,12 +23,15 @@ 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; @@ -44,30 +47,6 @@ 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; @@ -78,30 +57,6 @@ public void setBracketsOpsAndSelects(List brackets, List se } } - 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(); @@ -140,6 +95,6 @@ public enum SetOperationType { INTERSECT, EXCEPT, MINUS, - UNION + 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..cb88a3743 100644 --- a/src/main/java/net/sf/jsqlparser/statement/select/SubJoin.java +++ b/src/main/java/net/sf/jsqlparser/statement/select/SubJoin.java @@ -21,13 +21,15 @@ */ 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; @@ -40,47 +42,11 @@ 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) { + for (Join j : joinList) { sb.append(" ").append(j); } 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..114dee8d7 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,6 +35,7 @@ /** * A subselect followed by an optional alias. */ +@Data public class SubSelect extends ASTNodeAccessImpl implements FromItem, Expression, ItemsList { private SelectBody selectBody; @@ -47,55 +50,11 @@ 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); @@ -122,14 +81,12 @@ public String toString() { 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 bb283d57d..cd605f413 100644 --- a/src/main/java/net/sf/jsqlparser/statement/select/Top.java +++ b/src/main/java/net/sf/jsqlparser/statement/select/Top.java @@ -21,56 +21,34 @@ */ 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 boolean parenthesis = false; + private boolean percentage = false; private Expression expression; - public Expression getExpression() { - return expression; - } - - public void setExpression(Expression expression) { - this.expression = expression; - } - - public boolean hasParenthesis() { - return hasParenthesis; - } - - public void setParenthesis(boolean hasParenthesis) { - this.hasParenthesis = hasParenthesis; - } - - public boolean isPercentage() { - return isPercentage; - } - - public void setPercentage(boolean percentage) { - this.isPercentage = percentage; - } - @Override public String toString() { String result = "TOP "; - if (hasParenthesis) { + if (parenthesis) { result += "("; } result += expression.toString(); - if (hasParenthesis) { + if (parenthesis) { result += ")"; } - if (isPercentage) { + if (percentage) { result += " PERCENT"; } 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..1c7d5db99 100644 --- a/src/main/java/net/sf/jsqlparser/statement/select/UnionOp.java +++ b/src/main/java/net/sf/jsqlparser/statement/select/UnionOp.java @@ -21,12 +21,14 @@ */ 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; @@ -36,22 +38,6 @@ 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 = ""; 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..f1b82ba51 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,6 +36,8 @@ * * @author toben */ +@Data +@NoArgsConstructor public class ValuesList implements FromItem { private Alias alias; @@ -41,9 +45,6 @@ public class ValuesList implements FromItem { private boolean noBrackets = false; private List columnNames; - public ValuesList() { - } - public ValuesList(MultiExpressionList multiExpressionList) { this.multiExpressionList = multiExpressionList; } @@ -53,48 +54,20 @@ 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; - } + public void setPivot(Pivot pivot) {} @Override public String toString() { StringBuilder b = new StringBuilder(); b.append("(VALUES "); - for (Iterator it = getMultiExpressionList().getExprList().iterator(); it. - hasNext();) { + for (Iterator it = getMultiExpressionList().getExprList().iterator(); it.hasNext();) { b.append(PlainSelect.getStringList(it.next().getExpressions(), true, !isNoBrackets())); if (it.hasNext()) { b.append(", "); @@ -117,12 +90,4 @@ public String toString() { } return b.toString(); } - - public List getColumnNames() { - return columnNames; - } - - public void setColumnNames(List columnNames) { - this.columnNames = columnNames; - } } 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..17f4b035b 100644 --- a/src/main/java/net/sf/jsqlparser/statement/select/Wait.java +++ b/src/main/java/net/sf/jsqlparser/statement/select/Wait.java @@ -10,32 +10,20 @@ */ 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 + * 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; - } + private long timeout; /** * Returns a String containing the WAIT clause and its timeout, where TIMEOUT is specified by 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..76b90faa5 100644 --- a/src/main/java/net/sf/jsqlparser/statement/select/WithItem.java +++ b/src/main/java/net/sf/jsqlparser/statement/select/WithItem.java @@ -23,68 +23,32 @@ 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; - } - + private String name; /** - * The {@link SelectBody} of this WITH item is the part after the "AS" keyword - * - * @return {@link SelectBody} of this WITH item + * The {@link SelectItem}s in this WITH (for example the A,B,C in "WITH mywith (A,B,C) AS ...") */ - public SelectBody getSelectBody() { - return selectBody; - } - - public void setSelectBody(SelectBody selectBody) { - this.selectBody = selectBody; - } - + private List withItemList; /** - * 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 + * The {@link SelectBody} of this WITH item is the part after the "AS" keyword */ - public List getWithItemList() { - return withItemList; - } - - public void setWithItemList(List withItemList) { - this.withItemList = withItemList; - } + private SelectBody selectBody; + private boolean recursive; @Override public String toString() { - return (recursive ? "RECURSIVE " : "") + name + ((withItemList != null) ? " " + PlainSelect. - getStringList(withItemList, true, true) : "") - + " AS (" + selectBody + ")"; + return (recursive ? "RECURSIVE " : "") + name + ((withItemList != null) ? " " + PlainSelect.getStringList(withItemList, true, true) : "") + + " AS (" + selectBody + ")"; } @Override 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..3d8bf9309 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,6 +29,7 @@ /** * A TRUNCATE TABLE statement */ +@Data public class Truncate implements Statement { private Table table; @@ -37,14 +39,6 @@ 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; 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..7d7d75479 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 "); @@ -232,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 a5d9a86db..22e38d17f 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,6 +47,7 @@ * @author messfish * */ +@Data public class Upsert implements Statement { private Table table; @@ -60,85 +62,13 @@ public class Upsert implements Statement { @Override public void accept(StatementVisitor statementVisitor) { - statementVisitor.visit(this); + 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) { @@ -147,7 +77,7 @@ public String toString() { if (useValues) { sb.append("VALUES "); } - + if (itemsList != null) { sb.append(itemsList); } else { @@ -172,9 +102,7 @@ public String toString() { 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..ea8d10578 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 @@ -38,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; @@ -87,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 c327aa5ca..f4983d49a 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 @@ -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) { - ((BinaryExpression) child).setNot(); - }else { + } else if (child instanceof BinaryExpression) { + ((BinaryExpression) child).setNot(true); + } 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()) { - binary.removeNot(); + 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 dca6fbc8e..e7fe7e595 100644 --- a/src/main/java/net/sf/jsqlparser/util/deparser/OrderByDeParser.java +++ b/src/main/java/net/sf/jsqlparser/util/deparser/OrderByDeParser.java @@ -21,19 +21,18 @@ */ 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; 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 a1278df6f..57dc3dc13 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 @@ -36,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
@@ -79,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()) { @@ -97,7 +126,7 @@ public void visit(PlainSelect plainSelect) { buffer.append(top).append(" "); } - if (plainSelect.getMySqlSqlCalcFoundRows()) { + if (plainSelect.isMySqlSqlCalcFoundRows()) { buffer.append("SQL_CALC_FOUND_ROWS").append(" "); } @@ -141,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()) { @@ -157,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) { @@ -236,7 +263,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); } @@ -246,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()); } @@ -262,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) { @@ -280,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 "); @@ -300,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()); @@ -329,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(")"); @@ -425,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 cbdd7dca6..9e394092b 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 @@ -47,8 +47,7 @@ public class UpdateDeParser implements OrderByVisitor { private ExpressionVisitor expressionVisitor = new ExpressionVisitorAdapter(); private SelectVisitor selectVisitor = new SelectVisitorAdapter(); - public UpdateDeParser() { - } + public UpdateDeParser() {} /** * @param expressionVisitor a {@link ExpressionVisitor} to de-parse expressions. It has to share @@ -74,8 +73,7 @@ public void setBuffer(StringBuilder buffer) { } public void deParse(Update update) { - buffer.append("UPDATE ").append(PlainSelect.getStringList(update.getTables(), true, false)). - append(" SET "); + buffer.append("UPDATE ").append(PlainSelect.getStringList(update.getTables(), true, false)).append(" SET "); if (!update.isUseSelect()) { for (int i = 0; i < update.getColumns().size(); i++) { @@ -139,8 +137,7 @@ public void deParse(Update update) { buffer.append(" RETURNING *"); } else if (update.getReturningExpressionList() != null) { buffer.append(" RETURNING "); - for (Iterator iter = update.getReturningExpressionList(). - iterator(); iter.hasNext();) { + for (Iterator iter = update.getReturningExpressionList().iterator(); iter.hasNext();) { buffer.append(iter.next().toString()); if (iter.hasNext()) { buffer.append(", "); @@ -167,8 +164,7 @@ public void visit(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/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/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..5dd2a4506 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; /** * @@ -45,24 +48,17 @@ */ public class 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 { @@ -89,8 +85,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() { @@ -137,8 +132,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() { @@ -157,8 +151,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() { @@ -176,8 +169,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(); @@ -188,28 +180,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 1b952a7f5..1252b2d1c 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.*; /** * @@ -32,24 +35,17 @@ */ public class 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 c190bc74f..142cc8d74 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; /** * @@ -33,24 +35,17 @@ */ public class 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 b4eaf2c0c..82b333d7b 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.*; /** * @@ -31,24 +32,17 @@ */ public class 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/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..692012b1a 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,16 +34,12 @@ 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 */ public class MySqlSqlCalcFoundRowsTest { + @Test public void testPossibleParsingWithSqlCalcFoundRowsHint() throws JSQLParserException { MySqlSqlCalcFoundRowRef ref = new MySqlSqlCalcFoundRowRef(false); @@ -56,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.getMySqlSqlCalcFoundRows(); + 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 1710412cc..01f6dc4d0 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.*; /** * @@ -20,24 +23,17 @@ */ public class 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. @@ -61,12 +57,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); @@ -78,25 +74,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 a32808d9d..58a451390 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; /** * @@ -32,24 +34,17 @@ */ public class 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/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..1c25d6015 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 @@ -31,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)) { @@ -47,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 8b3609909..4a84d1226 100644 --- a/src/test/java/net/sf/jsqlparser/statement/SetStatementTest.java +++ b/src/test/java/net/sf/jsqlparser/statement/SetStatementTest.java @@ -18,38 +18,33 @@ */ 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 */ public class 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 0ec8b9c47..607c9bfdd 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.*; /** * @@ -19,24 +23,17 @@ */ public class 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 da59576af..447fda6b3 100644 --- a/src/test/java/net/sf/jsqlparser/statement/UseStatementTest.java +++ b/src/test/java/net/sf/jsqlparser/statement/UseStatementTest.java @@ -18,17 +18,18 @@ */ 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 */ 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 64beb853d..81215eb1f 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; /** * @@ -32,24 +34,17 @@ */ public class 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. @@ -60,12 +55,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/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..6cccac0d2 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; /** * @@ -44,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); @@ -70,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/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..5a34ceda8 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é @@ -19,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()); @@ -32,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()); @@ -45,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()); @@ -57,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()); @@ -69,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 1a0e38589..cb351beec 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 { @@ -48,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); @@ -63,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); @@ -111,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 { @@ -143,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 { @@ -185,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 { @@ -201,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 { @@ -255,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 { @@ -312,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]; @@ -330,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; } @@ -350,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; } } @@ -395,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 10c4bc82d..362dde83c 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 { @@ -23,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()); } @@ -54,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/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..cd9379d34 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 { @@ -40,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 2171e16f8..5588fe47f 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(); @@ -35,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)"; @@ -46,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); } @@ -61,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()); } @@ -78,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"; @@ -98,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()); @@ -110,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()); @@ -122,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()); @@ -239,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')"); @@ -249,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 26de09cec..81a7da692 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; /** * @@ -34,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); @@ -55,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); } @@ -67,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 00dd04fd4..84cf06de8 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 { @@ -45,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); } @@ -67,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 7ad06843c..f5fa5fbd8 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. */ @@ -22,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); @@ -35,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 0c964de10..81cb69f5d 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; /** * @@ -82,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) { @@ -99,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"; @@ -122,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"; @@ -145,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 8168c61be..701e5492d 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 { @@ -160,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()); @@ -242,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(); @@ -253,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); } @@ -314,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()); @@ -322,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); } @@ -521,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"); } @@ -535,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 { @@ -555,7 +585,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(); @@ -571,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 { @@ -697,7 +723,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()); @@ -719,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); } @@ -803,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); } @@ -817,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); } @@ -856,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); @@ -869,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); @@ -878,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); @@ -896,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)"; @@ -917,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); @@ -974,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()); @@ -984,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()); @@ -1018,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"; @@ -1065,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); @@ -1078,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); } @@ -1095,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); } @@ -1105,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); } @@ -1131,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"; @@ -1144,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); } @@ -1175,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()); @@ -1188,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()); } @@ -1204,18 +1184,16 @@ 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(true, (boolean) ((LikeExpression) plainSelect.getWhere()).isNot()); + assertEquals("test", ((StringValue) ((LikeExpression) plainSelect.getWhere()).getRightExpression()).getValue()); + assertEquals(true, ((LikeExpression) plainSelect.getWhere()).isNot()); } 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(true, (boolean) ((LikeExpression) plainSelect.getWhere()).isNot()); + assertEquals("test", ((StringValue) ((LikeExpression) plainSelect.getWhere()).getRightExpression()).getValue()); + assertEquals(true, ((LikeExpression) plainSelect.getWhere()).isNot()); } public void testIlike() throws JSQLParserException { @@ -1232,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); } @@ -1266,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); } @@ -1315,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"; @@ -1337,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); } @@ -1348,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); } @@ -1402,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); } @@ -1417,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)); } @@ -1645,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); } @@ -1730,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); } @@ -1816,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 { @@ -1973,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 { @@ -2142,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'", @@ -2167,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 { @@ -2266,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 { @@ -2315,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); @@ -2422,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 { @@ -2430,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 { @@ -2442,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 { @@ -2495,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); } @@ -2546,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()); } @@ -2559,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"); @@ -2573,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)"); @@ -2635,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)"); @@ -2702,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 { @@ -2720,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 bb1b178b4..e817cacf3 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. @@ -75,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); } @@ -104,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); @@ -121,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); @@ -138,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 8c1f4b54c..e9ee93159 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 { @@ -25,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(); @@ -38,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) { @@ -81,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(); @@ -111,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(); @@ -125,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 0f4d8fafc..d436a6c8e 100644 --- a/src/test/java/net/sf/jsqlparser/test/simpleparsing/CCJSqlParserManagerTest.java +++ b/src/test/java/net/sf/jsqlparser/test/simpleparsing/CCJSqlParserManagerTest.java @@ -4,19 +4,19 @@ 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 { @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) { @@ -60,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/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..805f96d01 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 { @@ -111,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 8788f25d1..66301a85d 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; @@ -23,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()); @@ -32,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); @@ -43,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()); @@ -66,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()); @@ -76,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)"); @@ -157,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 ccf141ef5..d2a005e98 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; /** * @@ -17,24 +20,17 @@ */ public class 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(); @@ -81,7 +77,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 2f47a6198..c9d5b8bce 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.*; /** * @@ -20,24 +23,17 @@ */ public class 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(); @@ -46,6 +42,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(); @@ -61,6 +58,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 1d1176441..f81942d0a 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.*; /** * @@ -28,24 +32,17 @@ */ public class 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. @@ -77,8 +74,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()); } @@ -90,12 +86,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 @@ -112,11 +106,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")); @@ -125,7 +117,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 f35434001..5cb0d92b3 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 { @@ -45,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 { @@ -111,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 @@ -192,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"; @@ -391,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()); @@ -475,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(); @@ -483,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 3f8563a29..010ed8333 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; @@ -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 5288e5717..3e38a2153 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; /** * @@ -39,24 +41,17 @@ */ public class 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. @@ -90,13 +85,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 @@ -108,6 +101,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); } - + }