diff --git a/src/main/java/net/sf/jsqlparser/JSQLParserException.java b/src/main/java/net/sf/jsqlparser/JSQLParserException.java index ee7b45540..234943553 100644 --- a/src/main/java/net/sf/jsqlparser/JSQLParserException.java +++ b/src/main/java/net/sf/jsqlparser/JSQLParserException.java @@ -26,52 +26,52 @@ */ public class JSQLParserException extends Exception { - /* The serial class version */ - private static final long serialVersionUID = -1099039459759769980L; - private Throwable cause = null; + /* The serial class version */ + private static final long serialVersionUID = -1099039459759769980L; + private Throwable cause = null; - public JSQLParserException() { - super(); - } + public JSQLParserException() { + super(); + } - public JSQLParserException(String arg0) { - super(arg0); - } + public JSQLParserException(String arg0) { + super(arg0); + } - public JSQLParserException(Throwable arg0) { - this.cause = arg0; - } + public JSQLParserException(Throwable arg0) { + this.cause = arg0; + } - public JSQLParserException(String arg0, Throwable arg1) { - super(arg0); - this.cause = arg1; - } + public JSQLParserException(String arg0, Throwable arg1) { + super(arg0); + this.cause = arg1; + } - @Override - public Throwable getCause() { - return cause; - } + @Override + public Throwable getCause() { + return cause; + } - @Override - public void printStackTrace() { - printStackTrace(System.err); - } + @Override + public void printStackTrace() { + printStackTrace(System.err); + } - @Override - public void printStackTrace(java.io.PrintWriter pw) { - super.printStackTrace(pw); - if (cause != null) { - pw.println("Caused by:"); - cause.printStackTrace(pw); - } - } + @Override + public void printStackTrace(java.io.PrintWriter pw) { + super.printStackTrace(pw); + if (cause != null) { + pw.println("Caused by:"); + cause.printStackTrace(pw); + } + } - @Override - public void printStackTrace(java.io.PrintStream ps) { - super.printStackTrace(ps); - if (cause != null) { - ps.println("Caused by:"); - cause.printStackTrace(ps); - } - } + @Override + public void printStackTrace(java.io.PrintStream ps) { + super.printStackTrace(ps); + if (cause != null) { + ps.println("Caused by:"); + cause.printStackTrace(ps); + } + } } diff --git a/src/main/java/net/sf/jsqlparser/expression/Alias.java b/src/main/java/net/sf/jsqlparser/expression/Alias.java index e9e7b2e8e..6de501342 100644 --- a/src/main/java/net/sf/jsqlparser/expression/Alias.java +++ b/src/main/java/net/sf/jsqlparser/expression/Alias.java @@ -27,36 +27,36 @@ */ 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; - } - - @Override - public String toString() { - return (useAs ? " AS " : " ") + name; - } + 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; + } + + @Override + public String toString() { + return (useAs ? " AS " : " ") + name; + } } diff --git a/src/main/java/net/sf/jsqlparser/expression/AllComparisonExpression.java b/src/main/java/net/sf/jsqlparser/expression/AllComparisonExpression.java index 7c5f7d02a..cfa10043b 100644 --- a/src/main/java/net/sf/jsqlparser/expression/AllComparisonExpression.java +++ b/src/main/java/net/sf/jsqlparser/expression/AllComparisonExpression.java @@ -25,21 +25,21 @@ public class AllComparisonExpression implements Expression { - private final SubSelect subSelect; + private final SubSelect subSelect; - public AllComparisonExpression(SubSelect subSelect) { - this.subSelect = subSelect; - } + public AllComparisonExpression(SubSelect subSelect) { + this.subSelect = subSelect; + } + + public SubSelect getSubSelect() { + return subSelect; + } - public SubSelect getSubSelect() { - return subSelect; - } + @Override + public void accept(ExpressionVisitor expressionVisitor) { + expressionVisitor.visit(this); + } - @Override - public void accept(ExpressionVisitor expressionVisitor) { - expressionVisitor.visit(this); - } - @Override public String toString() { return "ALL " + subSelect.toString(); diff --git a/src/main/java/net/sf/jsqlparser/expression/AnalyticExpression.java b/src/main/java/net/sf/jsqlparser/expression/AnalyticExpression.java index af14c0aa9..9be0d32b9 100644 --- a/src/main/java/net/sf/jsqlparser/expression/AnalyticExpression.java +++ b/src/main/java/net/sf/jsqlparser/expression/AnalyticExpression.java @@ -28,10 +28,10 @@ import net.sf.jsqlparser.statement.select.PlainSelect; /** - * 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 expression for an analytical aggregate - * like sum(col) or the "all collumns" wildcard like count(*). + * 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 + * expression for an analytical aggregate like sum(col) or the "all collumns" wildcard like + * count(*). * * @author tw */ @@ -157,7 +157,8 @@ public void setAllColumns(boolean 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 ac6b6b781..48b656ec5 100644 --- a/src/main/java/net/sf/jsqlparser/expression/AnyComparisonExpression.java +++ b/src/main/java/net/sf/jsqlparser/expression/AnyComparisonExpression.java @@ -25,31 +25,32 @@ /** * Combines ANY and SOME expressions. + * * @author toben */ public class AnyComparisonExpression implements Expression { - private final SubSelect subSelect; + private final SubSelect subSelect; private final AnyType anyType; - - public AnyComparisonExpression(AnyType anyType, SubSelect subSelect) { + + public AnyComparisonExpression(AnyType anyType, SubSelect subSelect) { this.anyType = anyType; - this.subSelect = subSelect; - } + this.subSelect = subSelect; + } - public SubSelect getSubSelect() { - return subSelect; - } + public SubSelect getSubSelect() { + return subSelect; + } - @Override - public void accept(ExpressionVisitor expressionVisitor) { - expressionVisitor.visit(this); - } + @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 a6cfd9d36..1e5c24519 100644 --- a/src/main/java/net/sf/jsqlparser/expression/AnyType.java +++ b/src/main/java/net/sf/jsqlparser/expression/AnyType.java @@ -19,7 +19,7 @@ * . * #L% */ -/* + /* * Copyright (C) 2015 JSQLParser. * * This library is free software; you can redistribute it and/or @@ -45,6 +45,6 @@ */ public enum AnyType { - ANY, + ANY, SOME } diff --git a/src/main/java/net/sf/jsqlparser/expression/BinaryExpression.java b/src/main/java/net/sf/jsqlparser/expression/BinaryExpression.java index 53dddc12e..0aec57e71 100644 --- a/src/main/java/net/sf/jsqlparser/expression/BinaryExpression.java +++ b/src/main/java/net/sf/jsqlparser/expression/BinaryExpression.java @@ -22,46 +22,46 @@ package net.sf.jsqlparser.expression; /** - * A basic class for binary expressions, that is expressions having a left - * member and a right member which are in turn expressions. + * A basic class for binary expressions, that is expressions having a left member and a right member + * which are in turn expressions. */ public abstract class BinaryExpression implements Expression { - private Expression leftExpression; - private Expression rightExpression; - private boolean not = false; + private Expression leftExpression; + private Expression rightExpression; + private boolean not = false; - public BinaryExpression() { - } + public BinaryExpression() { + } - public Expression getLeftExpression() { - return leftExpression; - } + public Expression getLeftExpression() { + return leftExpression; + } - public Expression getRightExpression() { - return rightExpression; - } + public Expression getRightExpression() { + return rightExpression; + } - public void setLeftExpression(Expression expression) { - leftExpression = expression; - } + public void setLeftExpression(Expression expression) { + leftExpression = expression; + } - public void setRightExpression(Expression expression) { - rightExpression = expression; - } + public void setRightExpression(Expression expression) { + rightExpression = expression; + } - public void setNot() { - not = true; - } + public void setNot() { + not = true; + } - public boolean isNot() { - return not; - } + public boolean isNot() { + return not; + } - @Override - public String toString() { - return (not ? "NOT " : "") + getLeftExpression() + " " + getStringExpression() + " " + getRightExpression(); - } + @Override + public String toString() { + return (not ? "NOT " : "") + getLeftExpression() + " " + getStringExpression() + " " + getRightExpression(); + } - public abstract String getStringExpression(); + 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 e095cc062..39007a7eb 100644 --- a/src/main/java/net/sf/jsqlparser/expression/CaseExpression.java +++ b/src/main/java/net/sf/jsqlparser/expression/CaseExpression.java @@ -28,8 +28,7 @@ /** * CASE/WHEN expression. * - * Syntax: - *
+ * Syntax:  
  * CASE
  * WHEN condition THEN expression
  * [WHEN condition THEN expression]...
@@ -59,66 +58,66 @@
  */
 public class CaseExpression implements Expression {
 
-	private Expression switchExpression;
-	private List whenClauses;
-	private Expression elseExpression;
+    private Expression switchExpression;
+    private List whenClauses;
+    private Expression elseExpression;
 
-	/*
+    /*
 	 * (non-Javadoc)
 	 * 
 	 * @see net.sf.jsqlparser.expression.Expression#accept(net.sf.jsqlparser.expression.ExpressionVisitor)
-	 */
-	@Override
-	public void accept(ExpressionVisitor expressionVisitor) {
-		expressionVisitor.visit(this);
-	}
+     */
+    @Override
+    public void accept(ExpressionVisitor expressionVisitor) {
+        expressionVisitor.visit(this);
+    }
 
-	/**
-	 * @return Returns the switchExpression.
-	 */
-	public Expression getSwitchExpression() {
-		return switchExpression;
-	}
+    /**
+     * @return Returns the switchExpression.
+     */
+    public Expression getSwitchExpression() {
+        return switchExpression;
+    }
 
-	/**
-	 * @param switchExpression The switchExpression to set.
-	 */
-	public void setSwitchExpression(Expression switchExpression) {
-		this.switchExpression = switchExpression;
-	}
+    /**
+     * @param switchExpression The switchExpression to set.
+     */
+    public void setSwitchExpression(Expression switchExpression) {
+        this.switchExpression = switchExpression;
+    }
 
-	/**
-	 * @return Returns the elseExpression.
-	 */
-	public Expression getElseExpression() {
-		return elseExpression;
-	}
+    /**
+     * @return Returns the elseExpression.
+     */
+    public Expression getElseExpression() {
+        return elseExpression;
+    }
 
-	/**
-	 * @param elseExpression The elseExpression to set.
-	 */
-	public void setElseExpression(Expression elseExpression) {
-		this.elseExpression = elseExpression;
-	}
+    /**
+     * @param elseExpression The elseExpression to set.
+     */
+    public void setElseExpression(Expression elseExpression) {
+        this.elseExpression = elseExpression;
+    }
 
-	/**
-	 * @return Returns the whenClauses.
-	 */
-	public List getWhenClauses() {
-		return whenClauses;
-	}
+    /**
+     * @return Returns the whenClauses.
+     */
+    public List getWhenClauses() {
+        return whenClauses;
+    }
 
-	/**
-	 * @param whenClauses The whenClauses to set.
-	 */
-	public void setWhenClauses(List whenClauses) {
-		this.whenClauses = whenClauses;
-	}
+    /**
+     * @param whenClauses The whenClauses to set.
+     */
+    public void setWhenClauses(List whenClauses) {
+        this.whenClauses = whenClauses;
+    }
 
-	@Override
-	public String toString() {
-		return "CASE " + ((switchExpression != null) ? switchExpression + " " : "")
-				+ PlainSelect.getStringList(whenClauses, false, false) + " "
-				+ ((elseExpression != null) ? "ELSE " + elseExpression + " " : "") + "END";
-	}
+    @Override
+    public String toString() {
+        return "CASE " + ((switchExpression != null) ? switchExpression + " " : "")
+                + PlainSelect.getStringList(whenClauses, false, false) + " "
+                + ((elseExpression != null) ? "ELSE " + elseExpression + " " : "") + "END";
+    }
 }
diff --git a/src/main/java/net/sf/jsqlparser/expression/CastExpression.java b/src/main/java/net/sf/jsqlparser/expression/CastExpression.java
index 897a118a0..0e757629d 100644
--- a/src/main/java/net/sf/jsqlparser/expression/CastExpression.java
+++ b/src/main/java/net/sf/jsqlparser/expression/CastExpression.java
@@ -24,50 +24,50 @@
 import net.sf.jsqlparser.statement.create.table.ColDataType;
 
 /**
- * 
+ *
  * @author tw
  */
 public class CastExpression implements Expression {
 
-	private Expression leftExpression;
-	private ColDataType type;
-	private boolean useCastKeyword = true;
+    private Expression leftExpression;
+    private ColDataType type;
+    private boolean useCastKeyword = true;
 
-	public ColDataType getType() {
-		return type;
-	}
+    public ColDataType getType() {
+        return type;
+    }
 
-	public void setType(ColDataType type) {
-		this.type = type;
-	}
+    public void setType(ColDataType type) {
+        this.type = type;
+    }
 
-	public Expression getLeftExpression() {
-		return leftExpression;
-	}
+    public Expression getLeftExpression() {
+        return leftExpression;
+    }
 
-	public void setLeftExpression(Expression expression) {
-		leftExpression = expression;
-	}
+    public void setLeftExpression(Expression expression) {
+        leftExpression = expression;
+    }
 
-	@Override
-	public void accept(ExpressionVisitor expressionVisitor) {
-		expressionVisitor.visit(this);
-	}
+    @Override
+    public void accept(ExpressionVisitor expressionVisitor) {
+        expressionVisitor.visit(this);
+    }
 
-	public boolean isUseCastKeyword() {
-		return useCastKeyword;
-	}
+    public boolean isUseCastKeyword() {
+        return useCastKeyword;
+    }
 
-	public void setUseCastKeyword(boolean useCastKeyword) {
-		this.useCastKeyword = useCastKeyword;
-	}
+    public void setUseCastKeyword(boolean useCastKeyword) {
+        this.useCastKeyword = useCastKeyword;
+    }
 
-	@Override
-	public String toString() {
-		if (useCastKeyword) {
-			return "CAST(" + leftExpression + " AS " + type.toString() + ")";
-		} else {
-			return leftExpression + "::" + type.toString();
-		}
-	}
+    @Override
+    public String toString() {
+        if (useCastKeyword) {
+            return "CAST(" + leftExpression + " AS " + type.toString() + ")";
+        } else {
+            return leftExpression + "::" + type.toString();
+        }
+    }
 }
diff --git a/src/main/java/net/sf/jsqlparser/expression/DateTimeLiteralExpression.java b/src/main/java/net/sf/jsqlparser/expression/DateTimeLiteralExpression.java
index f51013cc7..e71617ea4 100644
--- a/src/main/java/net/sf/jsqlparser/expression/DateTimeLiteralExpression.java
+++ b/src/main/java/net/sf/jsqlparser/expression/DateTimeLiteralExpression.java
@@ -19,7 +19,7 @@
  * .
  * #L%
  */
-/*
+ /*
  * Copyright (C) 2016 JSQLParser.
  *
  * This library is free software; you can redistribute it and/or
@@ -44,6 +44,7 @@
  * @author toben
  */
 public class DateTimeLiteralExpression implements Expression {
+
     private String value;
     private DateTime type;
 
@@ -72,8 +73,8 @@ public void accept(ExpressionVisitor expressionVisitor) {
     public String toString() {
         return type.name() + " " + value;
     }
-    
+
     public static enum DateTime {
         DATE, TIME, TIMESTAMP;
     }
-}
\ No newline at end of file
+}
diff --git a/src/main/java/net/sf/jsqlparser/expression/DoubleValue.java b/src/main/java/net/sf/jsqlparser/expression/DoubleValue.java
index e56dbef7c..aaa98e77c 100644
--- a/src/main/java/net/sf/jsqlparser/expression/DoubleValue.java
+++ b/src/main/java/net/sf/jsqlparser/expression/DoubleValue.java
@@ -26,33 +26,33 @@
  */
 public class DoubleValue implements Expression {
 
-	private double value;
-	private String stringValue;
+    private double value;
+    private String stringValue;
 
-	public DoubleValue(final String value) {
-		String val = value;
-		if (val.charAt(0) == '+') {
-			val = val.substring(1);
-		}
-		this.value = Double.parseDouble(val);
-		this.stringValue = val;
-	}
+    public DoubleValue(final String value) {
+        String val = value;
+        if (val.charAt(0) == '+') {
+            val = val.substring(1);
+        }
+        this.value = Double.parseDouble(val);
+        this.stringValue = val;
+    }
 
-	@Override
-	public void accept(ExpressionVisitor expressionVisitor) {
-		expressionVisitor.visit(this);
-	}
+    @Override
+    public void accept(ExpressionVisitor expressionVisitor) {
+        expressionVisitor.visit(this);
+    }
 
-	public double getValue() {
-		return value;
-	}
+    public double getValue() {
+        return value;
+    }
 
-	public void setValue(double d) {
-		value = d;
-	}
+    public void setValue(double d) {
+        value = d;
+    }
 
-	@Override
-	public String toString() {
-		return stringValue;
-	}
+    @Override
+    public String toString() {
+        return stringValue;
+    }
 }
diff --git a/src/main/java/net/sf/jsqlparser/expression/Expression.java b/src/main/java/net/sf/jsqlparser/expression/Expression.java
index 409dbb21f..7c2c41819 100644
--- a/src/main/java/net/sf/jsqlparser/expression/Expression.java
+++ b/src/main/java/net/sf/jsqlparser/expression/Expression.java
@@ -23,5 +23,5 @@
 
 public interface Expression {
 
-	void accept(ExpressionVisitor expressionVisitor);
+    void accept(ExpressionVisitor expressionVisitor);
 }
diff --git a/src/main/java/net/sf/jsqlparser/expression/ExpressionVisitor.java b/src/main/java/net/sf/jsqlparser/expression/ExpressionVisitor.java
index 5c234481e..e9b9b5a6a 100644
--- a/src/main/java/net/sf/jsqlparser/expression/ExpressionVisitor.java
+++ b/src/main/java/net/sf/jsqlparser/expression/ExpressionVisitor.java
@@ -52,120 +52,120 @@
 
 public interface ExpressionVisitor {
 
-	void visit(NullValue nullValue);
+    void visit(NullValue nullValue);
 
-	void visit(Function function);
+    void visit(Function function);
 
-	void visit(SignedExpression signedExpression);
+    void visit(SignedExpression signedExpression);
 
-	void visit(JdbcParameter jdbcParameter);
+    void visit(JdbcParameter jdbcParameter);
 
     void visit(JdbcNamedParameter jdbcNamedParameter);
 
-	void visit(DoubleValue doubleValue);
-	
-	void visit(LongValue longValue);
-	
-	void visit(HexValue hexValue);
+    void visit(DoubleValue doubleValue);
 
-	void visit(DateValue dateValue);
+    void visit(LongValue longValue);
 
-	void visit(TimeValue timeValue);
+    void visit(HexValue hexValue);
 
-	void visit(TimestampValue timestampValue);
+    void visit(DateValue dateValue);
 
-	void visit(Parenthesis parenthesis);
+    void visit(TimeValue timeValue);
 
-	void visit(StringValue stringValue);
+    void visit(TimestampValue timestampValue);
 
-	void visit(Addition addition);
+    void visit(Parenthesis parenthesis);
 
-	void visit(Division division);
+    void visit(StringValue stringValue);
 
-	void visit(Multiplication multiplication);
+    void visit(Addition addition);
 
-	void visit(Subtraction subtraction);
+    void visit(Division division);
 
-	void visit(AndExpression andExpression);
+    void visit(Multiplication multiplication);
 
-	void visit(OrExpression orExpression);
+    void visit(Subtraction subtraction);
 
-	void visit(Between between);
+    void visit(AndExpression andExpression);
 
-	void visit(EqualsTo equalsTo);
+    void visit(OrExpression orExpression);
 
-	void visit(GreaterThan greaterThan);
+    void visit(Between between);
 
-	void visit(GreaterThanEquals greaterThanEquals);
+    void visit(EqualsTo equalsTo);
 
-	void visit(InExpression inExpression);
+    void visit(GreaterThan greaterThan);
 
-	void visit(IsNullExpression isNullExpression);
+    void visit(GreaterThanEquals greaterThanEquals);
 
-	void visit(LikeExpression likeExpression);
+    void visit(InExpression inExpression);
 
-	void visit(MinorThan minorThan);
+    void visit(IsNullExpression isNullExpression);
 
-	void visit(MinorThanEquals minorThanEquals);
+    void visit(LikeExpression likeExpression);
 
-	void visit(NotEqualsTo notEqualsTo);
+    void visit(MinorThan minorThan);
 
-	void visit(Column tableColumn);
+    void visit(MinorThanEquals minorThanEquals);
 
-	void visit(SubSelect subSelect);
+    void visit(NotEqualsTo notEqualsTo);
 
-	void visit(CaseExpression caseExpression);
+    void visit(Column tableColumn);
 
-	void visit(WhenClause whenClause);
+    void visit(SubSelect subSelect);
 
-	void visit(ExistsExpression existsExpression);
+    void visit(CaseExpression caseExpression);
 
-	void visit(AllComparisonExpression allComparisonExpression);
+    void visit(WhenClause whenClause);
 
-	void visit(AnyComparisonExpression anyComparisonExpression);
+    void visit(ExistsExpression existsExpression);
 
-	void visit(Concat concat);
+    void visit(AllComparisonExpression allComparisonExpression);
 
-	void visit(Matches matches);
+    void visit(AnyComparisonExpression anyComparisonExpression);
 
-	void visit(BitwiseAnd bitwiseAnd);
+    void visit(Concat concat);
 
-	void visit(BitwiseOr bitwiseOr);
+    void visit(Matches matches);
 
-	void visit(BitwiseXor bitwiseXor);
+    void visit(BitwiseAnd bitwiseAnd);
 
-	void visit(CastExpression cast);
+    void visit(BitwiseOr bitwiseOr);
 
-	void visit(Modulo modulo);
+    void visit(BitwiseXor bitwiseXor);
+
+    void visit(CastExpression cast);
+
+    void visit(Modulo modulo);
+
+    void visit(AnalyticExpression aexpr);
 
-	void visit(AnalyticExpression aexpr);
-    
     void visit(WithinGroupExpression wgexpr);
 
-	void visit(ExtractExpression eexpr);
+    void visit(ExtractExpression eexpr);
 
-	void visit(IntervalExpression iexpr);
+    void visit(IntervalExpression iexpr);
 
-	void visit(OracleHierarchicalExpression oexpr);
+    void visit(OracleHierarchicalExpression oexpr);
+
+    void visit(RegExpMatchOperator rexpr);
 
-	void visit(RegExpMatchOperator rexpr);
-    
     void visit(JsonExpression jsonExpr);
-    
+
     void visit(JsonOperator jsonExpr);
 
-	void visit(RegExpMySQLOperator regExpMySQLOperator);
-    
+    void visit(RegExpMySQLOperator regExpMySQLOperator);
+
     void visit(UserVariable var);
-    
+
     void visit(NumericBind bind);
-    
+
     void visit(KeepExpression aexpr);
-    
+
     void visit(MySQLGroupConcat groupConcat);
-    
+
     void visit(RowConstructor rowConstructor);
-    
+
     void visit(OracleHint hint);
 
     void visit(TimeKeyExpression timeKeyExpression);
diff --git a/src/main/java/net/sf/jsqlparser/expression/ExpressionVisitorAdapter.java b/src/main/java/net/sf/jsqlparser/expression/ExpressionVisitorAdapter.java
index a351f0b2a..2d3bc9e48 100644
--- a/src/main/java/net/sf/jsqlparser/expression/ExpressionVisitorAdapter.java
+++ b/src/main/java/net/sf/jsqlparser/expression/ExpressionVisitorAdapter.java
@@ -355,7 +355,7 @@ protected void visitBinaryExpression(BinaryExpression expr) {
     public void visit(JsonExpression jsonExpr) {
         visit(jsonExpr.getColumn());
     }
-    
+
     @Override
     public void visit(JsonOperator expr) {
         visitBinaryExpression(expr);
@@ -459,11 +459,11 @@ public void visit(RowConstructor rowConstructor) {
         }
     }
 
-	@Override
-	public void visit(HexValue hexValue) {
-		
-	}
-        
+    @Override
+    public void visit(HexValue hexValue) {
+
+    }
+
     @Override
     public void visit(OracleHint hint) {
 
@@ -476,7 +476,7 @@ public void visit(TimeKeyExpression timeKeyExpression) {
 
     @Override
     public void visit(DateTimeLiteralExpression literal) {
-    
+
     }
 
 }
diff --git a/src/main/java/net/sf/jsqlparser/expression/ExtractExpression.java b/src/main/java/net/sf/jsqlparser/expression/ExtractExpression.java
index b98eb097d..e082266e2 100644
--- a/src/main/java/net/sf/jsqlparser/expression/ExtractExpression.java
+++ b/src/main/java/net/sf/jsqlparser/expression/ExtractExpression.java
@@ -22,39 +22,39 @@
 package net.sf.jsqlparser.expression;
 
 /**
- * Extract value from date/time expression. The name stores the part - name to
- * get from the following date/time expression.
+ * Extract value from date/time expression. The name stores the part - name to get from the
+ * following date/time expression.
  *
  * @author tw
  */
 public class ExtractExpression implements Expression {
 
-	private String name;
-	private Expression expression;
+    private String name;
+    private Expression expression;
 
-	@Override
-	public void accept(ExpressionVisitor expressionVisitor) {
-		expressionVisitor.visit(this);
-	}
+    @Override
+    public void accept(ExpressionVisitor expressionVisitor) {
+        expressionVisitor.visit(this);
+    }
 
-	public String getName() {
-		return name;
-	}
+    public String getName() {
+        return name;
+    }
 
-	public void setName(String name) {
-		this.name = name;
-	}
+    public void setName(String name) {
+        this.name = name;
+    }
 
-	public Expression getExpression() {
-		return expression;
-	}
+    public Expression getExpression() {
+        return expression;
+    }
 
-	public void setExpression(Expression expression) {
-		this.expression = expression;
-	}
+    public void setExpression(Expression expression) {
+        this.expression = expression;
+    }
 
-	@Override
-	public String toString() {
-		return "EXTRACT(" + name + " FROM " + expression + ')';
-	}
+    @Override
+    public String toString() {
+        return "EXTRACT(" + name + " FROM " + expression + ')';
+    }
 }
diff --git a/src/main/java/net/sf/jsqlparser/expression/Function.java b/src/main/java/net/sf/jsqlparser/expression/Function.java
index b3b2279ff..fdfa5d4e0 100644
--- a/src/main/java/net/sf/jsqlparser/expression/Function.java
+++ b/src/main/java/net/sf/jsqlparser/expression/Function.java
@@ -81,8 +81,8 @@ public void setDistinct(boolean b) {
     }
 
     /**
-     * The list of parameters of the function (if any, else null) If the
-     * parameter is "*", allColumns is set to true
+     * 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)
      */
@@ -149,7 +149,7 @@ public String toString() {
         if (keep != null) {
             ans += " " + keep.toString();
         }
-        
+
         if (isEscaped) {
             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 bc0a74d43..ba6ea49f6 100644
--- a/src/main/java/net/sf/jsqlparser/expression/HexValue.java
+++ b/src/main/java/net/sf/jsqlparser/expression/HexValue.java
@@ -26,28 +26,28 @@
  */
 public class HexValue implements Expression {
 
-	private String stringValue;
+    private String stringValue;
 
-	public HexValue(final String value) {
-		String val = value;
-		this.stringValue = val;
-	}
+    public HexValue(final String value) {
+        String val = value;
+        this.stringValue = val;
+    }
 
-	@Override
-	public void accept(ExpressionVisitor expressionVisitor) {
-		expressionVisitor.visit(this);
-	}
+    @Override
+    public void accept(ExpressionVisitor expressionVisitor) {
+        expressionVisitor.visit(this);
+    }
 
-	public String getValue() {
-		return stringValue;
-	}
+    public String getValue() {
+        return stringValue;
+    }
 
-	public void setValue(String d) {
-		stringValue = d;
-	}
+    public void setValue(String d) {
+        stringValue = d;
+    }
 
-	@Override
-	public String toString() {
-		return stringValue;
-	}
+    @Override
+    public String toString() {
+        return stringValue;
+    }
 }
diff --git a/src/main/java/net/sf/jsqlparser/expression/IntervalExpression.java b/src/main/java/net/sf/jsqlparser/expression/IntervalExpression.java
index bec7ade89..4d62bf5d6 100644
--- a/src/main/java/net/sf/jsqlparser/expression/IntervalExpression.java
+++ b/src/main/java/net/sf/jsqlparser/expression/IntervalExpression.java
@@ -26,16 +26,17 @@
  * @author wumpz
  */
 public class IntervalExpression implements Expression {
-	private String parameter = null;
+
+    private String parameter = null;
     private String intervalType = null;
 
-	public String getParameter() {
-		return parameter;
-	}
+    public String getParameter() {
+        return parameter;
+    }
 
-	public void setParameter(String parameter) {
-		this.parameter = parameter;
-	}
+    public void setParameter(String parameter) {
+        this.parameter = parameter;
+    }
 
     public String getIntervalType() {
         return intervalType;
@@ -44,14 +45,14 @@ public String getIntervalType() {
     public void setIntervalType(String intervalType) {
         this.intervalType = intervalType;
     }
-	
-	@Override
-	public String toString() {
-		return "INTERVAL " + parameter + (intervalType!=null?" " + intervalType:"");
-	}
-
-	@Override
-	public void accept(ExpressionVisitor expressionVisitor) {
-		expressionVisitor.visit(this);
-	}
+
+    @Override
+    public String toString() {
+        return "INTERVAL " + parameter + (intervalType != null ? " " + intervalType : "");
+    }
+
+    @Override
+    public void accept(ExpressionVisitor expressionVisitor) {
+        expressionVisitor.visit(this);
+    }
 }
diff --git a/src/main/java/net/sf/jsqlparser/expression/JdbcNamedParameter.java b/src/main/java/net/sf/jsqlparser/expression/JdbcNamedParameter.java
index 438c6e24e..8b5a3268e 100644
--- a/src/main/java/net/sf/jsqlparser/expression/JdbcNamedParameter.java
+++ b/src/main/java/net/sf/jsqlparser/expression/JdbcNamedParameter.java
@@ -27,28 +27,28 @@
  */
 public class JdbcNamedParameter implements Expression {
 
-	private String name;
+    private String name;
 
-	/**
-	 * The name of the parameter
-	 *
-	 * @return the name of the parameter
-	 */
-	public String getName() {
-		return 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;
-	}
+    public void setName(String name) {
+        this.name = name;
+    }
 
-	@Override
-	public void accept(ExpressionVisitor expressionVisitor) {
-		expressionVisitor.visit(this);
-	}
+    @Override
+    public void accept(ExpressionVisitor expressionVisitor) {
+        expressionVisitor.visit(this);
+    }
 
-	@Override
-	public String toString() {
-		return ":" + name;
-	}
+    @Override
+    public String toString() {
+        return ":" + name;
+    }
 }
diff --git a/src/main/java/net/sf/jsqlparser/expression/JsonExpression.java b/src/main/java/net/sf/jsqlparser/expression/JsonExpression.java
index 469e018f3..c88217418 100644
--- a/src/main/java/net/sf/jsqlparser/expression/JsonExpression.java
+++ b/src/main/java/net/sf/jsqlparser/expression/JsonExpression.java
@@ -19,7 +19,6 @@
  * .
  * #L%
  */
-
 package net.sf.jsqlparser.expression;
 
 import java.util.ArrayList;
@@ -30,13 +29,13 @@
  *
  * @author toben
  */
-public class JsonExpression  implements Expression {
+public class JsonExpression implements Expression {
 
     private Column column;
-    
+
     private List idents = new ArrayList();
     private List operators = new ArrayList();
-    
+
     @Override
     public void accept(ExpressionVisitor expressionVisitor) {
         expressionVisitor.visit(this);
@@ -65,17 +64,16 @@ public void setColumn(Column column) {
 //    public void addIdent(String ident) {
 //        addIdent(ident, "->");
 //    }
-    
     public void addIdent(String ident, String operator) {
         idents.add(ident);
         operators.add(operator);
     }
-    
+
     @Override
     public String toString() {
         StringBuilder b = new StringBuilder();
         b.append(column.toString());
-        for (int i=0; i orderByElements;
+    private List orderByElements;
     private boolean first = false;
 
-	@Override
-	public void accept(ExpressionVisitor expressionVisitor) {
-		expressionVisitor.visit(this);
-	}
+    @Override
+    public void accept(ExpressionVisitor expressionVisitor) {
+        expressionVisitor.visit(this);
+    }
 
-	public List getOrderByElements() {
-		return orderByElements;
-	}
+    public List getOrderByElements() {
+        return orderByElements;
+    }
 
-	public void setOrderByElements(List orderByElements) {
-		this.orderByElements = orderByElements;
-	}
+    public void setOrderByElements(List orderByElements) {
+        this.orderByElements = orderByElements;
+    }
 
-	public String getName() {
-		return name;
-	}
+    public String getName() {
+        return name;
+    }
 
-	public void setName(String name) {
-		this.name = name;
-	}
+    public void setName(String name) {
+        this.name = name;
+    }
 
     public boolean isFirst() {
         return first;
@@ -67,31 +67,30 @@ public boolean isFirst() {
     public void setFirst(boolean first) {
         this.first = first;
     }
-    
 
     @Override
-	public String toString() {
-		StringBuilder b = new StringBuilder();
-
-		b.append("KEEP (").append(name);
-        
-        b.append(" ").append(first?"FIRST":"LAST").append(" ");
-		toStringOrderByElements(b);
-
-		b.append(")");
-
-		return b.toString();
-	}
-
-	private void toStringOrderByElements(StringBuilder b) {
-		if (orderByElements != null && !orderByElements.isEmpty()) {
-			b.append("ORDER BY ");
-			for (int i = 0; i < orderByElements.size(); i++) {
-				if (i > 0) {
-					b.append(", ");
-				}
-				b.append(orderByElements.get(i).toString());
-			}
-		}
-	}
+    public String toString() {
+        StringBuilder b = new StringBuilder();
+
+        b.append("KEEP (").append(name);
+
+        b.append(" ").append(first ? "FIRST" : "LAST").append(" ");
+        toStringOrderByElements(b);
+
+        b.append(")");
+
+        return b.toString();
+    }
+
+    private void toStringOrderByElements(StringBuilder b) {
+        if (orderByElements != null && !orderByElements.isEmpty()) {
+            b.append("ORDER BY ");
+            for (int i = 0; i < orderByElements.size(); i++) {
+                if (i > 0) {
+                    b.append(", ");
+                }
+                b.append(orderByElements.get(i).toString());
+            }
+        }
+    }
 }
diff --git a/src/main/java/net/sf/jsqlparser/expression/LongValue.java b/src/main/java/net/sf/jsqlparser/expression/LongValue.java
index 61d4ee981..23fd12efa 100644
--- a/src/main/java/net/sf/jsqlparser/expression/LongValue.java
+++ b/src/main/java/net/sf/jsqlparser/expression/LongValue.java
@@ -50,7 +50,7 @@ public void accept(ExpressionVisitor expressionVisitor) {
     public long getValue() {
         return Long.valueOf(stringValue);
     }
-    
+
     public BigInteger getBigIntegerValue() {
         return new BigInteger(stringValue);
     }
diff --git a/src/main/java/net/sf/jsqlparser/expression/MySQLGroupConcat.java b/src/main/java/net/sf/jsqlparser/expression/MySQLGroupConcat.java
index 3f34847cc..291a21043 100644
--- a/src/main/java/net/sf/jsqlparser/expression/MySQLGroupConcat.java
+++ b/src/main/java/net/sf/jsqlparser/expression/MySQLGroupConcat.java
@@ -19,7 +19,7 @@
  * .
  * #L%
  */
-/*
+ /*
  * Copyright (C) 2015 JSQLParser.
  *
  * This library is free software; you can redistribute it and/or
diff --git a/src/main/java/net/sf/jsqlparser/expression/NotExpression.java b/src/main/java/net/sf/jsqlparser/expression/NotExpression.java
index e4aa9821b..e94d05fec 100644
--- a/src/main/java/net/sf/jsqlparser/expression/NotExpression.java
+++ b/src/main/java/net/sf/jsqlparser/expression/NotExpression.java
@@ -26,27 +26,27 @@
  */
 public class NotExpression implements Expression {
 
-	private Expression expression;
+    private Expression expression;
 
-	public NotExpression(Expression expression) {
-		setExpression(expression);
-	}
-    
-	public Expression getExpression() {
-		return expression;
-	}
+    public NotExpression(Expression expression) {
+        setExpression(expression);
+    }
 
-	public final void setExpression(Expression expression) {
-		this.expression = expression;
-	}
+    public Expression getExpression() {
+        return expression;
+    }
 
-	@Override
-	public void accept(ExpressionVisitor expressionVisitor) {
-		expressionVisitor.visit(this);
-	}
+    public final void setExpression(Expression expression) {
+        this.expression = expression;
+    }
 
-	@Override
-	public String toString() {
-		return "NOT " + expression.toString();
-	}
+    @Override
+    public void accept(ExpressionVisitor expressionVisitor) {
+        expressionVisitor.visit(this);
+    }
+
+    @Override
+    public String toString() {
+        return "NOT " + expression.toString();
+    }
 }
diff --git a/src/main/java/net/sf/jsqlparser/expression/NullValue.java b/src/main/java/net/sf/jsqlparser/expression/NullValue.java
index f9659a3ea..d1fd45574 100644
--- a/src/main/java/net/sf/jsqlparser/expression/NullValue.java
+++ b/src/main/java/net/sf/jsqlparser/expression/NullValue.java
@@ -26,13 +26,13 @@
  */
 public class NullValue implements Expression {
 
-	@Override
-	public void accept(ExpressionVisitor expressionVisitor) {
-		expressionVisitor.visit(this);
-	}
+    @Override
+    public void accept(ExpressionVisitor expressionVisitor) {
+        expressionVisitor.visit(this);
+    }
 
-	@Override
-	public String toString() {
-		return "NULL";
-	}
+    @Override
+    public String toString() {
+        return "NULL";
+    }
 }
diff --git a/src/main/java/net/sf/jsqlparser/expression/NumericBind.java b/src/main/java/net/sf/jsqlparser/expression/NumericBind.java
index a07cc2d50..e4c29d5d2 100644
--- a/src/main/java/net/sf/jsqlparser/expression/NumericBind.java
+++ b/src/main/java/net/sf/jsqlparser/expression/NumericBind.java
@@ -27,7 +27,7 @@
  */
 public class NumericBind implements Expression {
 
-	private int bindId;
+    private int bindId;
 
     public int getBindId() {
         return bindId;
@@ -37,13 +37,13 @@ public void setBindId(int bindId) {
         this.bindId = bindId;
     }
 
-	@Override
-	public void accept(ExpressionVisitor expressionVisitor) {
-		expressionVisitor.visit(this);
-	}
+    @Override
+    public void accept(ExpressionVisitor expressionVisitor) {
+        expressionVisitor.visit(this);
+    }
 
-	@Override
-	public String toString() {
-		return ":" + bindId;
-	}
+    @Override
+    public String toString() {
+        return ":" + bindId;
+    }
 }
diff --git a/src/main/java/net/sf/jsqlparser/expression/OracleHint.java b/src/main/java/net/sf/jsqlparser/expression/OracleHint.java
index 62b7fc1e3..e0b82170b 100644
--- a/src/main/java/net/sf/jsqlparser/expression/OracleHint.java
+++ b/src/main/java/net/sf/jsqlparser/expression/OracleHint.java
@@ -26,21 +26,23 @@
 
 /**
  * Oracle Hint Expression
+ *
  * @author valdo
  */
 public class OracleHint 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();
+        return SINGLE_LINE.matcher(comment).find()
+                || MULTI_LINE.matcher(comment).find();
     }
-    
+
     public final void setComment(String comment) {
         Matcher m;
         m = SINGLE_LINE.matcher(comment);
@@ -55,7 +57,7 @@ public final void setComment(String comment) {
             this.singleLine = false;
         }
     }
-    
+
     public String getValue() {
         return value;
     }
@@ -71,12 +73,12 @@ public boolean isSingleLine() {
     public void setSingleLine(boolean singleLine) {
         this.singleLine = singleLine;
     }
-    
+
     @Override
     public void accept(ExpressionVisitor visitor) {
         visitor.visit(this);
     }
-    
+
     @Override
     public String toString() {
         if (singleLine) {
@@ -85,5 +87,5 @@ public String toString() {
             return "/*+ " + value + " */";
         }
     }
-    
-}
\ No newline at end of file
+
+}
diff --git a/src/main/java/net/sf/jsqlparser/expression/Parenthesis.java b/src/main/java/net/sf/jsqlparser/expression/Parenthesis.java
index 673a0a2d0..292177491 100644
--- a/src/main/java/net/sf/jsqlparser/expression/Parenthesis.java
+++ b/src/main/java/net/sf/jsqlparser/expression/Parenthesis.java
@@ -26,39 +26,39 @@
  */
 public class Parenthesis implements Expression {
 
-	private Expression expression;
-	private boolean not = false;
+    private Expression expression;
+    private boolean not = false;
 
-	public Parenthesis() {
-	}
+    public Parenthesis() {
+    }
 
-	public Parenthesis(Expression expression) {
-		setExpression(expression);
-	}
+    public Parenthesis(Expression expression) {
+        setExpression(expression);
+    }
 
-	public Expression getExpression() {
-		return expression;
-	}
+    public Expression getExpression() {
+        return expression;
+    }
 
-	public final void setExpression(Expression expression) {
-		this.expression = expression;
-	}
+    public final void setExpression(Expression expression) {
+        this.expression = expression;
+    }
 
-	@Override
-	public void accept(ExpressionVisitor expressionVisitor) {
-		expressionVisitor.visit(this);
-	}
+    @Override
+    public void accept(ExpressionVisitor expressionVisitor) {
+        expressionVisitor.visit(this);
+    }
 
-	public void setNot() {
-		not = true;
-	}
+    public void setNot() {
+        not = true;
+    }
 
-	public boolean isNot() {
-		return not;
-	}
+    public boolean isNot() {
+        return not;
+    }
 
-	@Override
-	public String toString() {
-		return (not ? "NOT " : "") + "(" + expression + ")";
-	}
+    @Override
+    public String toString() {
+        return (not ? "NOT " : "") + "(" + expression + ")";
+    }
 }
diff --git a/src/main/java/net/sf/jsqlparser/expression/RowConstructor.java b/src/main/java/net/sf/jsqlparser/expression/RowConstructor.java
index ccdbc29e2..575f4d4bf 100644
--- a/src/main/java/net/sf/jsqlparser/expression/RowConstructor.java
+++ b/src/main/java/net/sf/jsqlparser/expression/RowConstructor.java
@@ -25,15 +25,16 @@
 
 /**
  * Rowconstructor.
+ *
  * @author tw
  */
 public class RowConstructor implements Expression {
 
-	private ExpressionList exprList;
+    private ExpressionList exprList;
     private String name = null;
 
-	public RowConstructor() {
-	}
+    public RowConstructor() {
+    }
 
     public ExpressionList getExprList() {
         return exprList;
@@ -51,13 +52,13 @@ public void setName(String name) {
         this.name = name;
     }
 
-	@Override
-	public void accept(ExpressionVisitor expressionVisitor) {
-		expressionVisitor.visit(this);
-	}
+    @Override
+    public void accept(ExpressionVisitor expressionVisitor) {
+        expressionVisitor.visit(this);
+    }
 
-	@Override
-	public String toString() {
-		return (name !=null ? name : "") + exprList.toString();
-	}
+    @Override
+    public String toString() {
+        return (name != null ? name : "") + exprList.toString();
+    }
 }
diff --git a/src/main/java/net/sf/jsqlparser/expression/SignedExpression.java b/src/main/java/net/sf/jsqlparser/expression/SignedExpression.java
index 1db5051ff..2d766d24e 100644
--- a/src/main/java/net/sf/jsqlparser/expression/SignedExpression.java
+++ b/src/main/java/net/sf/jsqlparser/expression/SignedExpression.java
@@ -26,40 +26,40 @@
  */
 public class SignedExpression implements Expression {
 
-	private char sign;
-	private Expression expression;
+    private char sign;
+    private Expression expression;
 
-	public SignedExpression(char sign, Expression expression) {
-		setSign(sign);
-		setExpression(expression);
-	}
+    public SignedExpression(char sign, Expression expression) {
+        setSign(sign);
+        setExpression(expression);
+    }
 
-	public char getSign() {
-		return sign;
-	}
+    public char getSign() {
+        return sign;
+    }
 
-	public final void setSign(char sign) {
-		this.sign = sign;
-		if (sign != '+' && sign != '-') {
-			throw new IllegalArgumentException("illegal sign character, only + - allowed");
-		}
-	}
+    public final void setSign(char sign) {
+        this.sign = sign;
+        if (sign != '+' && sign != '-') {
+            throw new IllegalArgumentException("illegal sign character, only + - allowed");
+        }
+    }
 
-	public Expression getExpression() {
-		return expression;
-	}
+    public Expression getExpression() {
+        return expression;
+    }
 
-	public final void setExpression(Expression expression) {
-		this.expression = expression;
-	}
+    public final void setExpression(Expression expression) {
+        this.expression = expression;
+    }
 
-	@Override
-	public void accept(ExpressionVisitor expressionVisitor) {
-		expressionVisitor.visit(this);
-	}
+    @Override
+    public void accept(ExpressionVisitor expressionVisitor) {
+        expressionVisitor.visit(this);
+    }
 
-	@Override
-	public String toString() {
-		return getSign() + expression.toString();
-	}
+    @Override
+    public String toString() {
+        return getSign() + expression.toString();
+    }
 }
diff --git a/src/main/java/net/sf/jsqlparser/expression/TimeValue.java b/src/main/java/net/sf/jsqlparser/expression/TimeValue.java
index 7b4e5422d..b100a3f5f 100644
--- a/src/main/java/net/sf/jsqlparser/expression/TimeValue.java
+++ b/src/main/java/net/sf/jsqlparser/expression/TimeValue.java
@@ -28,27 +28,27 @@
  */
 public class TimeValue implements Expression {
 
-	private Time value;
+    private Time value;
 
-	public TimeValue(String value) {
-		this.value = Time.valueOf(value.substring(1, value.length() - 1));
-	}
+    public TimeValue(String value) {
+        this.value = Time.valueOf(value.substring(1, value.length() - 1));
+    }
 
-	@Override
-	public void accept(ExpressionVisitor expressionVisitor) {
-		expressionVisitor.visit(this);
-	}
+    @Override
+    public void accept(ExpressionVisitor expressionVisitor) {
+        expressionVisitor.visit(this);
+    }
 
-	public Time getValue() {
-		return value;
-	}
+    public Time getValue() {
+        return value;
+    }
 
-	public void setValue(Time d) {
-		value = d;
-	}
+    public void setValue(Time d) {
+        value = d;
+    }
 
-	@Override
-	public String toString() {
-		return "{t '" + value + "'}";
-	}
+    @Override
+    public String toString() {
+        return "{t '" + value + "'}";
+    }
 }
diff --git a/src/main/java/net/sf/jsqlparser/expression/TimestampValue.java b/src/main/java/net/sf/jsqlparser/expression/TimestampValue.java
index bfba0fd76..5c5a2c170 100644
--- a/src/main/java/net/sf/jsqlparser/expression/TimestampValue.java
+++ b/src/main/java/net/sf/jsqlparser/expression/TimestampValue.java
@@ -28,27 +28,27 @@
  */
 public class TimestampValue implements Expression {
 
-	private Timestamp value;
+    private Timestamp value;
 
-	public TimestampValue(String value) {
-		this.value = Timestamp.valueOf(value.substring(1, value.length() - 1));
-	}
+    public TimestampValue(String value) {
+        this.value = Timestamp.valueOf(value.substring(1, value.length() - 1));
+    }
 
-	@Override
-	public void accept(ExpressionVisitor expressionVisitor) {
-		expressionVisitor.visit(this);
-	}
+    @Override
+    public void accept(ExpressionVisitor expressionVisitor) {
+        expressionVisitor.visit(this);
+    }
 
-	public Timestamp getValue() {
-		return value;
-	}
+    public Timestamp getValue() {
+        return value;
+    }
 
-	public void setValue(Timestamp d) {
-		value = d;
-	}
+    public void setValue(Timestamp d) {
+        value = d;
+    }
 
-	@Override
-	public String toString() {
-		return "{ts '" + value + "'}";
-	}
+    @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 006b8397d..1b843cd64 100644
--- a/src/main/java/net/sf/jsqlparser/expression/UserVariable.java
+++ b/src/main/java/net/sf/jsqlparser/expression/UserVariable.java
@@ -23,30 +23,31 @@
 
 /**
  * Simple uservariables like @test.
+ *
  * @author aud
  */
 public class UserVariable implements Expression {
 
-	private String name;
+    private String name;
     private boolean doubleAdd = false;
 
-	/**
-	 * The name of the parameter
-	 *
-	 * @return the name of the parameter
-	 */
-	public String getName() {
-		return 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;
-	}
+    public void setName(String name) {
+        this.name = name;
+    }
 
-	@Override
-	public void accept(ExpressionVisitor expressionVisitor) {
-		expressionVisitor.visit(this);
-	}
+    @Override
+    public void accept(ExpressionVisitor expressionVisitor) {
+        expressionVisitor.visit(this);
+    }
 
     public boolean isDoubleAdd() {
         return doubleAdd;
@@ -55,11 +56,9 @@ public boolean isDoubleAdd() {
     public void setDoubleAdd(boolean doubleAdd) {
         this.doubleAdd = doubleAdd;
     }
-    
-    
 
-	@Override
-	public String toString() {
-		return "@" + (doubleAdd?"@":"") + name;
-	}
+    @Override
+    public String toString() {
+        return "@" + (doubleAdd ? "@" : "") + name;
+    }
 }
diff --git a/src/main/java/net/sf/jsqlparser/expression/WhenClause.java b/src/main/java/net/sf/jsqlparser/expression/WhenClause.java
index c2a105edd..82cd5815b 100644
--- a/src/main/java/net/sf/jsqlparser/expression/WhenClause.java
+++ b/src/main/java/net/sf/jsqlparser/expression/WhenClause.java
@@ -22,56 +22,55 @@
 package net.sf.jsqlparser.expression;
 
 /**
- * A clause of following syntax: WHEN condition THEN expression. Which is part
- * of a CaseExpression.
+ * A clause of following syntax: WHEN condition THEN expression. Which is part of a CaseExpression.
  *
  * @author Havard Rast Blok
  */
 public class WhenClause implements Expression {
 
-	private Expression whenExpression;
-	private Expression thenExpression;
+    private Expression whenExpression;
+    private Expression thenExpression;
 
-	/*
+    /*
 	 * (non-Javadoc)
 	 * 
 	 * @see net.sf.jsqlparser.expression.Expression#accept(net.sf.jsqlparser.expression.ExpressionVisitor)
-	 */
-	@Override
-	public void accept(ExpressionVisitor expressionVisitor) {
-		expressionVisitor.visit(this);
-	}
+     */
+    @Override
+    public void accept(ExpressionVisitor expressionVisitor) {
+        expressionVisitor.visit(this);
+    }
 
-	/**
-	 * @return Returns the thenExpression.
-	 */
-	public Expression getThenExpression() {
-		return thenExpression;
-	}
+    /**
+     * @return Returns the thenExpression.
+     */
+    public Expression getThenExpression() {
+        return thenExpression;
+    }
 
-	/**
-	 * @param thenExpression The thenExpression to set.
-	 */
-	public void setThenExpression(Expression thenExpression) {
-		this.thenExpression = thenExpression;
-	}
+    /**
+     * @param thenExpression The thenExpression to set.
+     */
+    public void setThenExpression(Expression thenExpression) {
+        this.thenExpression = thenExpression;
+    }
 
-	/**
-	 * @return Returns the whenExpression.
-	 */
-	public Expression getWhenExpression() {
-		return whenExpression;
-	}
+    /**
+     * @return Returns the whenExpression.
+     */
+    public Expression getWhenExpression() {
+        return whenExpression;
+    }
 
-	/**
-	 * @param whenExpression The whenExpression to set.
-	 */
-	public void setWhenExpression(Expression whenExpression) {
-		this.whenExpression = whenExpression;
-	}
+    /**
+     * @param whenExpression The whenExpression to set.
+     */
+    public void setWhenExpression(Expression whenExpression) {
+        this.whenExpression = whenExpression;
+    }
 
-	@Override
-	public String toString() {
-		return "WHEN " + whenExpression + " THEN " + thenExpression;
-	}
+    @Override
+    public String toString() {
+        return "WHEN " + whenExpression + " THEN " + thenExpression;
+    }
 }
diff --git a/src/main/java/net/sf/jsqlparser/expression/WindowElement.java b/src/main/java/net/sf/jsqlparser/expression/WindowElement.java
index 88cf9248d..7ad4f7a07 100644
--- a/src/main/java/net/sf/jsqlparser/expression/WindowElement.java
+++ b/src/main/java/net/sf/jsqlparser/expression/WindowElement.java
@@ -60,7 +60,7 @@ public void setRange(WindowRange range) {
     @Override
     public String toString() {
         StringBuilder buffer = new StringBuilder(type.toString());
-        
+
         if (offset != null) {
             buffer.append(offset.toString());
         } else if (range != null) {
diff --git a/src/main/java/net/sf/jsqlparser/expression/WindowOffset.java b/src/main/java/net/sf/jsqlparser/expression/WindowOffset.java
index 53eecdc76..e899becc9 100644
--- a/src/main/java/net/sf/jsqlparser/expression/WindowOffset.java
+++ b/src/main/java/net/sf/jsqlparser/expression/WindowOffset.java
@@ -30,7 +30,7 @@ public enum Type {
         CURRENT,
         EXPR
     }
-    
+
     private Expression expression;
     private Type type;
 
diff --git a/src/main/java/net/sf/jsqlparser/expression/WithinGroupExpression.java b/src/main/java/net/sf/jsqlparser/expression/WithinGroupExpression.java
index a046b1a51..896694318 100644
--- a/src/main/java/net/sf/jsqlparser/expression/WithinGroupExpression.java
+++ b/src/main/java/net/sf/jsqlparser/expression/WithinGroupExpression.java
@@ -32,9 +32,9 @@
 public class WithinGroupExpression implements Expression {
 
     private String name;
-    
+
     private List orderByElements;
-    
+
     private ExpressionList exprList;
 
     public String getName() {
diff --git a/src/main/java/net/sf/jsqlparser/expression/operators/arithmetic/Addition.java b/src/main/java/net/sf/jsqlparser/expression/operators/arithmetic/Addition.java
index 69ae7dbfb..e3c6af3d8 100644
--- a/src/main/java/net/sf/jsqlparser/expression/operators/arithmetic/Addition.java
+++ b/src/main/java/net/sf/jsqlparser/expression/operators/arithmetic/Addition.java
@@ -26,13 +26,13 @@
 
 public class Addition extends BinaryExpression {
 
-	@Override
-	public void accept(ExpressionVisitor expressionVisitor) {
-		expressionVisitor.visit(this);
-	}
+    @Override
+    public void accept(ExpressionVisitor expressionVisitor) {
+        expressionVisitor.visit(this);
+    }
 
-	@Override
-	public String getStringExpression() {
-		return "+";
-	}
+    @Override
+    public String getStringExpression() {
+        return "+";
+    }
 }
diff --git a/src/main/java/net/sf/jsqlparser/expression/operators/arithmetic/BitwiseAnd.java b/src/main/java/net/sf/jsqlparser/expression/operators/arithmetic/BitwiseAnd.java
index cfccc2c8e..fe998947a 100644
--- a/src/main/java/net/sf/jsqlparser/expression/operators/arithmetic/BitwiseAnd.java
+++ b/src/main/java/net/sf/jsqlparser/expression/operators/arithmetic/BitwiseAnd.java
@@ -26,13 +26,13 @@
 
 public class BitwiseAnd extends BinaryExpression {
 
-	@Override
-	public void accept(ExpressionVisitor expressionVisitor) {
-		expressionVisitor.visit(this);
-	}
+    @Override
+    public void accept(ExpressionVisitor expressionVisitor) {
+        expressionVisitor.visit(this);
+    }
 
-	@Override
-	public String getStringExpression() {
-		return "&";
-	}
+    @Override
+    public String getStringExpression() {
+        return "&";
+    }
 }
diff --git a/src/main/java/net/sf/jsqlparser/expression/operators/arithmetic/BitwiseOr.java b/src/main/java/net/sf/jsqlparser/expression/operators/arithmetic/BitwiseOr.java
index b17d552dc..1365e1a92 100644
--- a/src/main/java/net/sf/jsqlparser/expression/operators/arithmetic/BitwiseOr.java
+++ b/src/main/java/net/sf/jsqlparser/expression/operators/arithmetic/BitwiseOr.java
@@ -26,13 +26,13 @@
 
 public class BitwiseOr extends BinaryExpression {
 
-	@Override
-	public void accept(ExpressionVisitor expressionVisitor) {
-		expressionVisitor.visit(this);
-	}
+    @Override
+    public void accept(ExpressionVisitor expressionVisitor) {
+        expressionVisitor.visit(this);
+    }
 
-	@Override
-	public String getStringExpression() {
-		return "|";
-	}
+    @Override
+    public String getStringExpression() {
+        return "|";
+    }
 }
diff --git a/src/main/java/net/sf/jsqlparser/expression/operators/arithmetic/BitwiseXor.java b/src/main/java/net/sf/jsqlparser/expression/operators/arithmetic/BitwiseXor.java
index cbba102eb..bcc49f15e 100644
--- a/src/main/java/net/sf/jsqlparser/expression/operators/arithmetic/BitwiseXor.java
+++ b/src/main/java/net/sf/jsqlparser/expression/operators/arithmetic/BitwiseXor.java
@@ -26,13 +26,13 @@
 
 public class BitwiseXor extends BinaryExpression {
 
-	@Override
-	public void accept(ExpressionVisitor expressionVisitor) {
-		expressionVisitor.visit(this);
-	}
+    @Override
+    public void accept(ExpressionVisitor expressionVisitor) {
+        expressionVisitor.visit(this);
+    }
 
-	@Override
-	public String getStringExpression() {
-		return "^";
-	}
+    @Override
+    public String getStringExpression() {
+        return "^";
+    }
 }
diff --git a/src/main/java/net/sf/jsqlparser/expression/operators/arithmetic/Concat.java b/src/main/java/net/sf/jsqlparser/expression/operators/arithmetic/Concat.java
index 88f09dbb0..b9981d4e4 100644
--- a/src/main/java/net/sf/jsqlparser/expression/operators/arithmetic/Concat.java
+++ b/src/main/java/net/sf/jsqlparser/expression/operators/arithmetic/Concat.java
@@ -26,13 +26,13 @@
 
 public class Concat extends BinaryExpression {
 
-	@Override
-	public void accept(ExpressionVisitor expressionVisitor) {
-		expressionVisitor.visit(this);
-	}
+    @Override
+    public void accept(ExpressionVisitor expressionVisitor) {
+        expressionVisitor.visit(this);
+    }
 
-	@Override
-	public String getStringExpression() {
-		return "||";
-	}
+    @Override
+    public String getStringExpression() {
+        return "||";
+    }
 }
diff --git a/src/main/java/net/sf/jsqlparser/expression/operators/arithmetic/Division.java b/src/main/java/net/sf/jsqlparser/expression/operators/arithmetic/Division.java
index 0e7823da8..201d78ed5 100644
--- a/src/main/java/net/sf/jsqlparser/expression/operators/arithmetic/Division.java
+++ b/src/main/java/net/sf/jsqlparser/expression/operators/arithmetic/Division.java
@@ -26,13 +26,13 @@
 
 public class Division extends BinaryExpression {
 
-	@Override
-	public void accept(ExpressionVisitor expressionVisitor) {
-		expressionVisitor.visit(this);
-	}
+    @Override
+    public void accept(ExpressionVisitor expressionVisitor) {
+        expressionVisitor.visit(this);
+    }
 
-	@Override
-	public String getStringExpression() {
-		return "/";
-	}
+    @Override
+    public String getStringExpression() {
+        return "/";
+    }
 }
diff --git a/src/main/java/net/sf/jsqlparser/expression/operators/arithmetic/Modulo.java b/src/main/java/net/sf/jsqlparser/expression/operators/arithmetic/Modulo.java
index e816cc30b..9b88105a1 100644
--- a/src/main/java/net/sf/jsqlparser/expression/operators/arithmetic/Modulo.java
+++ b/src/main/java/net/sf/jsqlparser/expression/operators/arithmetic/Modulo.java
@@ -31,16 +31,16 @@
  */
 public class Modulo extends BinaryExpression {
 
-	public Modulo() {
-	}
+    public Modulo() {
+    }
 
-	@Override
-	public void accept(ExpressionVisitor expressionVisitor) {
-		expressionVisitor.visit(this);
-	}
+    @Override
+    public void accept(ExpressionVisitor expressionVisitor) {
+        expressionVisitor.visit(this);
+    }
 
-	@Override
-	public String getStringExpression() {
-		return "%";
-	}
+    @Override
+    public String getStringExpression() {
+        return "%";
+    }
 }
diff --git a/src/main/java/net/sf/jsqlparser/expression/operators/arithmetic/Multiplication.java b/src/main/java/net/sf/jsqlparser/expression/operators/arithmetic/Multiplication.java
index 2ed79c18c..64d5fb55e 100644
--- a/src/main/java/net/sf/jsqlparser/expression/operators/arithmetic/Multiplication.java
+++ b/src/main/java/net/sf/jsqlparser/expression/operators/arithmetic/Multiplication.java
@@ -26,13 +26,13 @@
 
 public class Multiplication extends BinaryExpression {
 
-	@Override
-	public void accept(ExpressionVisitor expressionVisitor) {
-		expressionVisitor.visit(this);
-	}
+    @Override
+    public void accept(ExpressionVisitor expressionVisitor) {
+        expressionVisitor.visit(this);
+    }
 
-	@Override
-	public String getStringExpression() {
-		return "*";
-	}
+    @Override
+    public String getStringExpression() {
+        return "*";
+    }
 }
diff --git a/src/main/java/net/sf/jsqlparser/expression/operators/arithmetic/Subtraction.java b/src/main/java/net/sf/jsqlparser/expression/operators/arithmetic/Subtraction.java
index d3b451957..630cf5908 100644
--- a/src/main/java/net/sf/jsqlparser/expression/operators/arithmetic/Subtraction.java
+++ b/src/main/java/net/sf/jsqlparser/expression/operators/arithmetic/Subtraction.java
@@ -26,13 +26,13 @@
 
 public class Subtraction extends BinaryExpression {
 
-	@Override
-	public void accept(ExpressionVisitor expressionVisitor) {
-		expressionVisitor.visit(this);
-	}
+    @Override
+    public void accept(ExpressionVisitor expressionVisitor) {
+        expressionVisitor.visit(this);
+    }
 
-	@Override
-	public String getStringExpression() {
-		return "-";
-	}
+    @Override
+    public String getStringExpression() {
+        return "-";
+    }
 }
diff --git a/src/main/java/net/sf/jsqlparser/expression/operators/conditional/AndExpression.java b/src/main/java/net/sf/jsqlparser/expression/operators/conditional/AndExpression.java
index 373b68c35..4dc1367d1 100644
--- a/src/main/java/net/sf/jsqlparser/expression/operators/conditional/AndExpression.java
+++ b/src/main/java/net/sf/jsqlparser/expression/operators/conditional/AndExpression.java
@@ -27,18 +27,18 @@
 
 public class AndExpression extends BinaryExpression {
 
-	public AndExpression(Expression leftExpression, Expression rightExpression) {
-		setLeftExpression(leftExpression);
-		setRightExpression(rightExpression);
-	}
+    public AndExpression(Expression leftExpression, Expression rightExpression) {
+        setLeftExpression(leftExpression);
+        setRightExpression(rightExpression);
+    }
 
-	@Override
-	public void accept(ExpressionVisitor expressionVisitor) {
-		expressionVisitor.visit(this);
-	}
+    @Override
+    public void accept(ExpressionVisitor expressionVisitor) {
+        expressionVisitor.visit(this);
+    }
 
-	@Override
-	public String getStringExpression() {
-		return "AND";
-	}
+    @Override
+    public String getStringExpression() {
+        return "AND";
+    }
 }
diff --git a/src/main/java/net/sf/jsqlparser/expression/operators/conditional/OrExpression.java b/src/main/java/net/sf/jsqlparser/expression/operators/conditional/OrExpression.java
index 0ea4f7239..7a1fc5ddc 100644
--- a/src/main/java/net/sf/jsqlparser/expression/operators/conditional/OrExpression.java
+++ b/src/main/java/net/sf/jsqlparser/expression/operators/conditional/OrExpression.java
@@ -27,18 +27,18 @@
 
 public class OrExpression extends BinaryExpression {
 
-	public OrExpression(Expression leftExpression, Expression rightExpression) {
-		setLeftExpression(leftExpression);
-		setRightExpression(rightExpression);
-	}
+    public OrExpression(Expression leftExpression, Expression rightExpression) {
+        setLeftExpression(leftExpression);
+        setRightExpression(rightExpression);
+    }
 
-	@Override
-	public void accept(ExpressionVisitor expressionVisitor) {
-		expressionVisitor.visit(this);
-	}
+    @Override
+    public void accept(ExpressionVisitor expressionVisitor) {
+        expressionVisitor.visit(this);
+    }
 
-	@Override
-	public String getStringExpression() {
-		return "OR";
-	}
+    @Override
+    public String getStringExpression() {
+        return "OR";
+    }
 }
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 ed7ad0ea6..5e046920a 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
@@ -29,51 +29,51 @@
  */
 public class Between implements Expression {
 
-	private Expression leftExpression;
-	private boolean not = false;
-	private Expression betweenExpressionStart;
-	private Expression betweenExpressionEnd;
+    private Expression leftExpression;
+    private boolean not = false;
+    private Expression betweenExpressionStart;
+    private Expression betweenExpressionEnd;
 
-	public Expression getBetweenExpressionEnd() {
-		return betweenExpressionEnd;
-	}
+    public Expression getBetweenExpressionEnd() {
+        return betweenExpressionEnd;
+    }
 
-	public Expression getBetweenExpressionStart() {
-		return betweenExpressionStart;
-	}
+    public Expression getBetweenExpressionStart() {
+        return betweenExpressionStart;
+    }
 
-	public Expression getLeftExpression() {
-		return leftExpression;
-	}
+    public Expression getLeftExpression() {
+        return leftExpression;
+    }
 
-	public boolean isNot() {
-		return not;
-	}
+    public boolean isNot() {
+        return not;
+    }
 
-	public void setBetweenExpressionEnd(Expression expression) {
-		betweenExpressionEnd = expression;
-	}
+    public void setBetweenExpressionEnd(Expression expression) {
+        betweenExpressionEnd = expression;
+    }
 
-	public void setBetweenExpressionStart(Expression expression) {
-		betweenExpressionStart = expression;
-	}
+    public void setBetweenExpressionStart(Expression expression) {
+        betweenExpressionStart = expression;
+    }
 
-	public void setLeftExpression(Expression expression) {
-		leftExpression = expression;
-	}
+    public void setLeftExpression(Expression expression) {
+        leftExpression = expression;
+    }
 
-	public void setNot(boolean b) {
-		not = b;
-	}
+    public void setNot(boolean b) {
+        not = b;
+    }
 
-	@Override
-	public void accept(ExpressionVisitor expressionVisitor) {
-		expressionVisitor.visit(this);
-	}
+    @Override
+    public void accept(ExpressionVisitor expressionVisitor) {
+        expressionVisitor.visit(this);
+    }
 
-	@Override
-	public String toString() {
-		return leftExpression + " " + (not ? "NOT " : "") + "BETWEEN " + betweenExpressionStart + " AND "
-				+ betweenExpressionEnd;
-	}
+    @Override
+    public String toString() {
+        return leftExpression + " " + (not ? "NOT " : "") + "BETWEEN " + betweenExpressionStart + " AND "
+                + betweenExpressionEnd;
+    }
 }
diff --git a/src/main/java/net/sf/jsqlparser/expression/operators/relational/EqualsTo.java b/src/main/java/net/sf/jsqlparser/expression/operators/relational/EqualsTo.java
index 578a851a0..c23fbd578 100755
--- a/src/main/java/net/sf/jsqlparser/expression/operators/relational/EqualsTo.java
+++ b/src/main/java/net/sf/jsqlparser/expression/operators/relational/EqualsTo.java
@@ -25,12 +25,12 @@
 
 public class EqualsTo extends ComparisonOperator {
 
-	public EqualsTo() {
-		super("=");
-	}
+    public EqualsTo() {
+        super("=");
+    }
 
-	@Override
-	public void accept(ExpressionVisitor expressionVisitor) {
-		expressionVisitor.visit(this);
-	}
+    @Override
+    public void accept(ExpressionVisitor expressionVisitor) {
+        expressionVisitor.visit(this);
+    }
 }
diff --git a/src/main/java/net/sf/jsqlparser/expression/operators/relational/ExistsExpression.java b/src/main/java/net/sf/jsqlparser/expression/operators/relational/ExistsExpression.java
index 9d676d720..0660874ec 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
@@ -26,36 +26,36 @@
 
 public class ExistsExpression 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);
-	}
-
-	public String getStringExpression() {
-		return (not ? "NOT " : "") + "EXISTS";
-	}
-
-	@Override
-	public String toString() {
-		return getStringExpression() + " " + rightExpression.toString();
-	}
+    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);
+    }
+
+    public String getStringExpression() {
+        return (not ? "NOT " : "") + "EXISTS";
+    }
+
+    @Override
+    public String toString() {
+        return getStringExpression() + " " + rightExpression.toString();
+    }
 }
diff --git a/src/main/java/net/sf/jsqlparser/expression/operators/relational/ExpressionList.java b/src/main/java/net/sf/jsqlparser/expression/operators/relational/ExpressionList.java
index f0649a7ff..39247ea95 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
@@ -31,30 +31,30 @@
  */
 public class ExpressionList implements ItemsList {
 
-	private List expressions;
+    private List expressions;
 
-	public ExpressionList() {
-	}
+    public ExpressionList() {
+    }
 
-	public ExpressionList(List expressions) {
-		this.expressions = expressions;
-	}
+    public ExpressionList(List expressions) {
+        this.expressions = expressions;
+    }
 
-	public List getExpressions() {
-		return expressions;
-	}
+    public List getExpressions() {
+        return expressions;
+    }
 
-	public void setExpressions(List list) {
-		expressions = list;
-	}
+    public void setExpressions(List list) {
+        expressions = list;
+    }
 
-	@Override
-	public void accept(ItemsListVisitor itemsListVisitor) {
-		itemsListVisitor.visit(this);
-	}
+    @Override
+    public void accept(ItemsListVisitor itemsListVisitor) {
+        itemsListVisitor.visit(this);
+    }
 
-	@Override
-	public String toString() {
-		return PlainSelect.getStringList(expressions, true, true);
-	}
+    @Override
+    public String toString() {
+        return PlainSelect.getStringList(expressions, true, true);
+    }
 }
diff --git a/src/main/java/net/sf/jsqlparser/expression/operators/relational/GreaterThan.java b/src/main/java/net/sf/jsqlparser/expression/operators/relational/GreaterThan.java
index d5380b55e..bb0e44577 100755
--- a/src/main/java/net/sf/jsqlparser/expression/operators/relational/GreaterThan.java
+++ b/src/main/java/net/sf/jsqlparser/expression/operators/relational/GreaterThan.java
@@ -25,12 +25,12 @@
 
 public class GreaterThan extends ComparisonOperator {
 
-	public GreaterThan() {
-		super(">");
-	}
-	
-	@Override
-	public void accept(ExpressionVisitor expressionVisitor) {
-		expressionVisitor.visit(this);
-	}
+    public GreaterThan() {
+        super(">");
+    }
+
+    @Override
+    public void accept(ExpressionVisitor expressionVisitor) {
+        expressionVisitor.visit(this);
+    }
 }
diff --git a/src/main/java/net/sf/jsqlparser/expression/operators/relational/GreaterThanEquals.java b/src/main/java/net/sf/jsqlparser/expression/operators/relational/GreaterThanEquals.java
index 211e1b79d..ad30668b2 100755
--- a/src/main/java/net/sf/jsqlparser/expression/operators/relational/GreaterThanEquals.java
+++ b/src/main/java/net/sf/jsqlparser/expression/operators/relational/GreaterThanEquals.java
@@ -25,16 +25,16 @@
 
 public class GreaterThanEquals extends ComparisonOperator {
 
-	public GreaterThanEquals() {
-		super(">=");
-	}
+    public GreaterThanEquals() {
+        super(">=");
+    }
 
-	public GreaterThanEquals(String operator) {
-		super(operator);
-	}
+    public GreaterThanEquals(String operator) {
+        super(operator);
+    }
 
-	@Override
-	public void accept(ExpressionVisitor expressionVisitor) {
-		expressionVisitor.visit(this);
-	}
+    @Override
+    public void accept(ExpressionVisitor expressionVisitor) {
+        expressionVisitor.visit(this);
+    }
 }
diff --git a/src/main/java/net/sf/jsqlparser/expression/operators/relational/InExpression.java b/src/main/java/net/sf/jsqlparser/expression/operators/relational/InExpression.java
index a0d638d24..8fe568fda 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
@@ -26,22 +26,22 @@
 
 public class InExpression implements Expression, SupportsOldOracleJoinSyntax {
 
-	private Expression leftExpression;
-	private ItemsList leftItemsList;
-	private ItemsList rightItemsList;
-	private boolean not = false;
+    private Expression leftExpression;
+    private ItemsList leftItemsList;
+    private ItemsList rightItemsList;
+    private boolean not = false;
 
     private int oldOracleJoinSyntax = NO_ORACLE_JOIN;
 
-	public InExpression() {
-	}
+    public InExpression() {
+    }
 
-	public InExpression(Expression leftExpression, ItemsList itemsList) {
-		setLeftExpression(leftExpression);
-		setRightItemsList(itemsList);
-	}
+    public InExpression(Expression leftExpression, ItemsList itemsList) {
+        setLeftExpression(leftExpression);
+        setRightItemsList(itemsList);
+    }
 
-	@Override
+    @Override
     public void setOldOracleJoinSyntax(int oldOracleJoinSyntax) {
         this.oldOracleJoinSyntax = oldOracleJoinSyntax;
         if (oldOracleJoinSyntax < 0 || oldOracleJoinSyntax > 1) {
@@ -49,66 +49,66 @@ public void setOldOracleJoinSyntax(int oldOracleJoinSyntax) {
         }
     }
 
-	@Override
+    @Override
     public int getOldOracleJoinSyntax() {
         return oldOracleJoinSyntax;
     }
 
-	public ItemsList getRightItemsList() {
-		return rightItemsList;
-	}
+    public ItemsList getRightItemsList() {
+        return rightItemsList;
+    }
 
-	public Expression getLeftExpression() {
-		return leftExpression;
-	}
+    public Expression getLeftExpression() {
+        return leftExpression;
+    }
 
-	public final void setRightItemsList(ItemsList list) {
-		rightItemsList = list;
-	}
+    public final void setRightItemsList(ItemsList list) {
+        rightItemsList = list;
+    }
 
-	public final void setLeftExpression(Expression expression) {
-		leftExpression = expression;
-	}
+    public final void setLeftExpression(Expression expression) {
+        leftExpression = expression;
+    }
 
-	public boolean isNot() {
-		return not;
-	}
+    public boolean isNot() {
+        return not;
+    }
 
-	public void setNot(boolean b) {
-		not = b;
-	}
+    public void setNot(boolean b) {
+        not = b;
+    }
 
-	public ItemsList getLeftItemsList() {
-		return leftItemsList;
-	}
+    public ItemsList getLeftItemsList() {
+        return leftItemsList;
+    }
 
-	public void setLeftItemsList(ItemsList leftItemsList) {
-		this.leftItemsList = leftItemsList;
-	}
+    public void setLeftItemsList(ItemsList leftItemsList) {
+        this.leftItemsList = leftItemsList;
+    }
 
-	@Override
-	public void accept(ExpressionVisitor expressionVisitor) {
-		expressionVisitor.visit(this);
-	}
+    @Override
+    public void accept(ExpressionVisitor expressionVisitor) {
+        expressionVisitor.visit(this);
+    }
 
     private String getLeftExpressionString() {
         return leftExpression + (oldOracleJoinSyntax == ORACLE_JOIN_RIGHT ? "(+)" : "");
     }
 
-	@Override
-	public String toString() {
-		return (leftExpression == null ? leftItemsList : getLeftExpressionString()) + " " + (not ? "NOT " : "") + "IN " + rightItemsList + "";
-	}
+    @Override
+    public String toString() {
+        return (leftExpression == null ? leftItemsList : getLeftExpressionString()) + " " + (not ? "NOT " : "") + "IN " + rightItemsList + "";
+    }
 
-	@Override
-	public int getOraclePriorPosition() {
-		return SupportsOldOracleJoinSyntax.NO_ORACLE_PRIOR;
-	}
+    @Override
+    public int getOraclePriorPosition() {
+        return SupportsOldOracleJoinSyntax.NO_ORACLE_PRIOR;
+    }
 
-	@Override
-	public void setOraclePriorPosition(int priorPosition) {
+    @Override
+    public void setOraclePriorPosition(int priorPosition) {
         if (priorPosition != SupportsOldOracleJoinSyntax.NO_ORACLE_PRIOR) {
             throw new IllegalArgumentException("unexpected prior for oracle found");
         }
-	}
+    }
 }
diff --git a/src/main/java/net/sf/jsqlparser/expression/operators/relational/IsNullExpression.java b/src/main/java/net/sf/jsqlparser/expression/operators/relational/IsNullExpression.java
index c39e7fc75..a12dd8691 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
@@ -26,32 +26,32 @@
 
 public class IsNullExpression 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);
-	}
-
-	@Override
-	public String toString() {
-		return leftExpression + " IS " + (not ? "NOT " : "") + "NULL";
-	}
+    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);
+    }
+
+    @Override
+    public String toString() {
+        return leftExpression + " IS " + (not ? "NOT " : "") + "NULL";
+    }
 }
diff --git a/src/main/java/net/sf/jsqlparser/expression/operators/relational/ItemsList.java b/src/main/java/net/sf/jsqlparser/expression/operators/relational/ItemsList.java
index 6b9d7f197..655d5f902 100644
--- a/src/main/java/net/sf/jsqlparser/expression/operators/relational/ItemsList.java
+++ b/src/main/java/net/sf/jsqlparser/expression/operators/relational/ItemsList.java
@@ -22,10 +22,9 @@
 package net.sf.jsqlparser.expression.operators.relational;
 
 /**
- * Values of an "INSERT" statement (for example a SELECT or a list of
- * expressions)
+ * Values of an "INSERT" statement (for example a SELECT or a list of expressions)
  */
 public interface ItemsList {
 
-	void accept(ItemsListVisitor itemsListVisitor);
+    void accept(ItemsListVisitor itemsListVisitor);
 }
diff --git a/src/main/java/net/sf/jsqlparser/expression/operators/relational/ItemsListVisitor.java b/src/main/java/net/sf/jsqlparser/expression/operators/relational/ItemsListVisitor.java
index a7e30a984..3c630c21f 100644
--- a/src/main/java/net/sf/jsqlparser/expression/operators/relational/ItemsListVisitor.java
+++ b/src/main/java/net/sf/jsqlparser/expression/operators/relational/ItemsListVisitor.java
@@ -25,9 +25,9 @@
 
 public interface ItemsListVisitor {
 
-	void visit(SubSelect subSelect);
+    void visit(SubSelect subSelect);
 
-	void visit(ExpressionList expressionList);
+    void visit(ExpressionList expressionList);
 
-	void visit(MultiExpressionList multiExprList);
+    void visit(MultiExpressionList multiExprList);
 }
diff --git a/src/main/java/net/sf/jsqlparser/expression/operators/relational/ItemsListVisitorAdapter.java b/src/main/java/net/sf/jsqlparser/expression/operators/relational/ItemsListVisitorAdapter.java
index 19c995069..ff2cf1cc7 100644
--- a/src/main/java/net/sf/jsqlparser/expression/operators/relational/ItemsListVisitorAdapter.java
+++ b/src/main/java/net/sf/jsqlparser/expression/operators/relational/ItemsListVisitorAdapter.java
@@ -23,7 +23,8 @@
 
 import net.sf.jsqlparser.statement.select.SubSelect;
 
-public class ItemsListVisitorAdapter implements ItemsListVisitor{
+public class ItemsListVisitorAdapter implements ItemsListVisitor {
+
     @Override
     public void visit(SubSelect subSelect) {
 
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 7f5781079..997961250 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
@@ -25,21 +25,20 @@
 import net.sf.jsqlparser.expression.ExpressionVisitor;
 
 public class JsonOperator extends BinaryExpression {
-    
+
     private String op; //"@>"
-    
-    public JsonOperator(String op){
+
+    public JsonOperator(String op) {
         this.op = op;
     }
 
-	@Override
-	public void accept(ExpressionVisitor expressionVisitor) {
-		expressionVisitor.visit(this);
-	}
+    @Override
+    public void accept(ExpressionVisitor expressionVisitor) {
+        expressionVisitor.visit(this);
+    }
 
-	@Override
-	public String getStringExpression() {
-		return op;
-	}
+    @Override
+    public String getStringExpression() {
+        return op;
+    }
 }
-
diff --git a/src/main/java/net/sf/jsqlparser/expression/operators/relational/LikeExpression.java b/src/main/java/net/sf/jsqlparser/expression/operators/relational/LikeExpression.java
index b5b109652..23f70196e 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
@@ -26,46 +26,46 @@
 
 public class LikeExpression extends BinaryExpression {
 
-	private boolean not = false;
-	private String escape = null;
+    private boolean not = false;
+    private String escape = null;
     private boolean caseInsensitive = false;
 
-	@Override
-	public boolean isNot() {
-		return not;
-	}
+    @Override
+    public boolean isNot() {
+        return not;
+    }
 
-	public void setNot(boolean b) {
-		not = b;
-	}
+    public void setNot(boolean b) {
+        not = b;
+    }
 
-	@Override
-	public void accept(ExpressionVisitor expressionVisitor) {
-		expressionVisitor.visit(this);
-	}
+    @Override
+    public void accept(ExpressionVisitor expressionVisitor) {
+        expressionVisitor.visit(this);
+    }
 
-	@Override
-	public String getStringExpression() {
-		return (not ? "NOT " : "") + (caseInsensitive?"ILIKE":"LIKE");
-	}
+    @Override
+    public String getStringExpression() {
+        return (not ? "NOT " : "") + (caseInsensitive ? "ILIKE" : "LIKE");
+    }
 
-	@Override
-	public String toString() {
-		String retval = super.toString();
-		if (escape != null) {
-			retval += " ESCAPE " + "'" + escape + "'";
-		}
+    @Override
+    public String toString() {
+        String retval = super.toString();
+        if (escape != null) {
+            retval += " ESCAPE " + "'" + escape + "'";
+        }
 
-		return retval;
-	}
+        return retval;
+    }
 
-	public String getEscape() {
-		return escape;
-	}
+    public String getEscape() {
+        return escape;
+    }
 
-	public void setEscape(String escape) {
-		this.escape = escape;
-	}
+    public void setEscape(String escape) {
+        this.escape = escape;
+    }
 
     public boolean isCaseInsensitive() {
         return caseInsensitive;
diff --git a/src/main/java/net/sf/jsqlparser/expression/operators/relational/Matches.java b/src/main/java/net/sf/jsqlparser/expression/operators/relational/Matches.java
index 1dda83cb9..2da8a0fdc 100755
--- a/src/main/java/net/sf/jsqlparser/expression/operators/relational/Matches.java
+++ b/src/main/java/net/sf/jsqlparser/expression/operators/relational/Matches.java
@@ -25,13 +25,13 @@
 
 public class Matches extends OldOracleJoinBinaryExpression {
 
-	@Override
-	public void accept(ExpressionVisitor expressionVisitor) {
-		expressionVisitor.visit(this);
-	}
+    @Override
+    public void accept(ExpressionVisitor expressionVisitor) {
+        expressionVisitor.visit(this);
+    }
 
-	@Override
-	public String getStringExpression() {
-		return "@@";
-	}
+    @Override
+    public String getStringExpression() {
+        return "@@";
+    }
 }
diff --git a/src/main/java/net/sf/jsqlparser/expression/operators/relational/MinorThan.java b/src/main/java/net/sf/jsqlparser/expression/operators/relational/MinorThan.java
index db5004293..950733ad1 100755
--- a/src/main/java/net/sf/jsqlparser/expression/operators/relational/MinorThan.java
+++ b/src/main/java/net/sf/jsqlparser/expression/operators/relational/MinorThan.java
@@ -25,12 +25,12 @@
 
 public class MinorThan extends ComparisonOperator {
 
-	public MinorThan() {
-		super("<");
-	}
+    public MinorThan() {
+        super("<");
+    }
 
-	@Override
-	public void accept(ExpressionVisitor expressionVisitor) {
-		expressionVisitor.visit(this);
-	}
+    @Override
+    public void accept(ExpressionVisitor expressionVisitor) {
+        expressionVisitor.visit(this);
+    }
 }
diff --git a/src/main/java/net/sf/jsqlparser/expression/operators/relational/MinorThanEquals.java b/src/main/java/net/sf/jsqlparser/expression/operators/relational/MinorThanEquals.java
index 869f92e5a..39dd64766 100755
--- a/src/main/java/net/sf/jsqlparser/expression/operators/relational/MinorThanEquals.java
+++ b/src/main/java/net/sf/jsqlparser/expression/operators/relational/MinorThanEquals.java
@@ -25,16 +25,16 @@
 
 public class MinorThanEquals extends ComparisonOperator {
 
-	public MinorThanEquals() {
-		super("<=");
-	}
+    public MinorThanEquals() {
+        super("<=");
+    }
 
-	public MinorThanEquals(String operator) {
-		super(operator);
-	}
+    public MinorThanEquals(String operator) {
+        super(operator);
+    }
 
-	@Override
-	public void accept(ExpressionVisitor expressionVisitor) {
-		expressionVisitor.visit(this);
-	}
+    @Override
+    public void accept(ExpressionVisitor expressionVisitor) {
+        expressionVisitor.visit(this);
+    }
 }
diff --git a/src/main/java/net/sf/jsqlparser/expression/operators/relational/MultiExpressionList.java b/src/main/java/net/sf/jsqlparser/expression/operators/relational/MultiExpressionList.java
index 1e3d39640..0ff7f477b 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
@@ -28,53 +28,53 @@
 import net.sf.jsqlparser.expression.Expression;
 
 /**
- * A list of ExpressionList items. e.g. multi values of insert statements. This
- * one allows only equally sized ExpressionList.
+ * A list of ExpressionList items. e.g. multi values of insert statements. This one allows only
+ * equally sized ExpressionList.
  *
  * @author toben
  */
 public class MultiExpressionList implements ItemsList {
 
-	private List exprList;
+    private List exprList;
 
-	public MultiExpressionList() {
-		this.exprList = new ArrayList();
-	}
+    public MultiExpressionList() {
+        this.exprList = new ArrayList();
+    }
 
-	@Override
-	public void accept(ItemsListVisitor itemsListVisitor) {
-		itemsListVisitor.visit(this);
-	}
+    @Override
+    public void accept(ItemsListVisitor itemsListVisitor) {
+        itemsListVisitor.visit(this);
+    }
 
-	public List getExprList() {
-		return exprList;
-	}
+    public List getExprList() {
+        return exprList;
+    }
 
-	public void addExpressionList(ExpressionList el) {
-		if (!exprList.isEmpty()
-				&& exprList.get(0).getExpressions().size() != el.getExpressions().size()) {
-			throw new IllegalArgumentException("different count of parameters");
-		}
-		exprList.add(el);
-	}
+    public void addExpressionList(ExpressionList el) {
+        if (!exprList.isEmpty()
+                && exprList.get(0).getExpressions().size() != el.getExpressions().size()) {
+            throw new IllegalArgumentException("different count of parameters");
+        }
+        exprList.add(el);
+    }
 
-	public void addExpressionList(List list) {
-		addExpressionList(new ExpressionList(list));
-	}
+    public void addExpressionList(List list) {
+        addExpressionList(new ExpressionList(list));
+    }
 
-	public void addExpressionList(Expression expr) {
-		addExpressionList(new ExpressionList(Arrays.asList(expr)));
-	}
+    public void addExpressionList(Expression expr) {
+        addExpressionList(new ExpressionList(Arrays.asList(expr)));
+    }
 
-	@Override
-	public String toString() {
-		StringBuilder b = new StringBuilder();
-		for (Iterator it = exprList.iterator(); it.hasNext();) {
-			b.append(it.next().toString());
-			if (it.hasNext()) {
-				b.append(", ");
-			}
-		}
-		return b.toString();
-	}
+    @Override
+    public String toString() {
+        StringBuilder b = new StringBuilder();
+        for (Iterator it = exprList.iterator(); it.hasNext();) {
+            b.append(it.next().toString());
+            if (it.hasNext()) {
+                b.append(", ");
+            }
+        }
+        return b.toString();
+    }
 }
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 f600f0615..c620a62e9 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
@@ -27,10 +27,10 @@
 public abstract class OldOracleJoinBinaryExpression extends BinaryExpression implements SupportsOldOracleJoinSyntax {
 
     private int oldOracleJoinSyntax = NO_ORACLE_JOIN;
-	
-	private int oraclePriorPosition = NO_ORACLE_PRIOR;
 
-	@Override
+    private int oraclePriorPosition = NO_ORACLE_PRIOR;
+
+    @Override
     public void setOldOracleJoinSyntax(int oldOracleJoinSyntax) {
         this.oldOracleJoinSyntax = oldOracleJoinSyntax;
         if (oldOracleJoinSyntax < 0 || oldOracleJoinSyntax > 2) {
@@ -40,28 +40,28 @@ 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 ? "(+)" : "");
+        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
+    @Override
     public int getOldOracleJoinSyntax() {
         return oldOracleJoinSyntax;
     }
 
-	@Override
-	public int getOraclePriorPosition() {
-		return oraclePriorPosition;
-	}
+    @Override
+    public int getOraclePriorPosition() {
+        return oraclePriorPosition;
+    }
 
-	@Override
-	public void setOraclePriorPosition(int oraclePriorPosition) {
-		this.oraclePriorPosition = oraclePriorPosition;
-	}
+    @Override
+    public void setOraclePriorPosition(int oraclePriorPosition) {
+        this.oraclePriorPosition = oraclePriorPosition;
+    }
 }
diff --git a/src/main/java/net/sf/jsqlparser/expression/operators/relational/RegExpMatchOperator.java b/src/main/java/net/sf/jsqlparser/expression/operators/relational/RegExpMatchOperator.java
index db1edb369..27f0fff32 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
@@ -26,38 +26,38 @@
 
 public class RegExpMatchOperator extends BinaryExpression {
 
-	private RegExpMatchOperatorType operatorType;
+    private RegExpMatchOperatorType operatorType;
 
-	public RegExpMatchOperator(RegExpMatchOperatorType operatorType) {
-		if (operatorType == null) {
-			throw new NullPointerException();
-		}
-		this.operatorType = operatorType;
-	}
+    public RegExpMatchOperator(RegExpMatchOperatorType operatorType) {
+        if (operatorType == null) {
+            throw new NullPointerException();
+        }
+        this.operatorType = operatorType;
+    }
 
-	public RegExpMatchOperatorType getOperatorType() {
-		return operatorType;
-	}
+    public RegExpMatchOperatorType getOperatorType() {
+        return operatorType;
+    }
 
-	@Override
-	public void accept(ExpressionVisitor expressionVisitor) {
-		expressionVisitor.visit(this);
-	}
+    @Override
+    public void accept(ExpressionVisitor expressionVisitor) {
+        expressionVisitor.visit(this);
+    }
 
-	@Override
-	public String getStringExpression() {
-		switch (operatorType) {
-			case MATCH_CASESENSITIVE:
-				return "~";
-			case MATCH_CASEINSENSITIVE:
-				return "~*";
-			case NOT_MATCH_CASESENSITIVE:
-				return "!~";
-			case NOT_MATCH_CASEINSENSITIVE:
-				return "!~*";
-			default:
-				break;
-		}
-		return null;
-	}
+    @Override
+    public String getStringExpression() {
+        switch (operatorType) {
+            case MATCH_CASESENSITIVE:
+                return "~";
+            case MATCH_CASEINSENSITIVE:
+                return "~*";
+            case NOT_MATCH_CASESENSITIVE:
+                return "!~";
+            case NOT_MATCH_CASEINSENSITIVE:
+                return "!~*";
+            default:
+                break;
+        }
+        return null;
+    }
 }
diff --git a/src/main/java/net/sf/jsqlparser/expression/operators/relational/RegExpMatchOperatorType.java b/src/main/java/net/sf/jsqlparser/expression/operators/relational/RegExpMatchOperatorType.java
index 92bfeb941..764ce845a 100644
--- a/src/main/java/net/sf/jsqlparser/expression/operators/relational/RegExpMatchOperatorType.java
+++ b/src/main/java/net/sf/jsqlparser/expression/operators/relational/RegExpMatchOperatorType.java
@@ -23,11 +23,12 @@
 
 /**
  * PostgresSQL match operators.
+ *
  * @author toben
  */
 public enum RegExpMatchOperatorType {
-	MATCH_CASESENSITIVE,
-	MATCH_CASEINSENSITIVE,
-	NOT_MATCH_CASESENSITIVE,
-	NOT_MATCH_CASEINSENSITIVE
+    MATCH_CASESENSITIVE,
+    MATCH_CASEINSENSITIVE,
+    NOT_MATCH_CASESENSITIVE,
+    NOT_MATCH_CASEINSENSITIVE
 }
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 615eb302d..2fd7a39a2 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
@@ -26,33 +26,33 @@
 
 public class RegExpMySQLOperator extends BinaryExpression {
 
-	private RegExpMatchOperatorType operatorType;
+    private RegExpMatchOperatorType operatorType;
 
-	public RegExpMySQLOperator(RegExpMatchOperatorType operatorType) {
-		if (operatorType == null) {
-			throw new NullPointerException();
-		}
-		this.operatorType = operatorType;
-	}
+    public RegExpMySQLOperator(RegExpMatchOperatorType operatorType) {
+        if (operatorType == null) {
+            throw new NullPointerException();
+        }
+        this.operatorType = operatorType;
+    }
 
-	public RegExpMatchOperatorType getOperatorType() {
-		return operatorType;
-	}
+    public RegExpMatchOperatorType getOperatorType() {
+        return operatorType;
+    }
 
-	@Override
-	public void accept(ExpressionVisitor expressionVisitor) {
-		expressionVisitor.visit(this);
-	}
+    @Override
+    public void accept(ExpressionVisitor expressionVisitor) {
+        expressionVisitor.visit(this);
+    }
 
-	@Override
-	public String getStringExpression() {
-		switch (operatorType) {
-			case MATCH_CASESENSITIVE:
-				return "REGEXP BINARY";
-			case MATCH_CASEINSENSITIVE:
-				return "REGEXP";
-			default:
-		}
-		return null;
-	}
+    @Override
+    public String getStringExpression() {
+        switch (operatorType) {
+            case MATCH_CASESENSITIVE:
+                return "REGEXP BINARY";
+            case MATCH_CASEINSENSITIVE:
+                return "REGEXP";
+            default:
+        }
+        return null;
+    }
 }
diff --git a/src/main/java/net/sf/jsqlparser/expression/operators/relational/SupportsOldOracleJoinSyntax.java b/src/main/java/net/sf/jsqlparser/expression/operators/relational/SupportsOldOracleJoinSyntax.java
index 1b76796a2..970bb2ef6 100644
--- a/src/main/java/net/sf/jsqlparser/expression/operators/relational/SupportsOldOracleJoinSyntax.java
+++ b/src/main/java/net/sf/jsqlparser/expression/operators/relational/SupportsOldOracleJoinSyntax.java
@@ -23,18 +23,18 @@
 
 public interface SupportsOldOracleJoinSyntax {
 
-	int NO_ORACLE_JOIN = 0;
-	int ORACLE_JOIN_RIGHT = 1;
-	int ORACLE_JOIN_LEFT = 2;
-	int NO_ORACLE_PRIOR = 0;
-	int ORACLE_PRIOR_START = 1;
-	int ORACLE_PRIOR_END = 2;
+    int NO_ORACLE_JOIN = 0;
+    int ORACLE_JOIN_RIGHT = 1;
+    int ORACLE_JOIN_LEFT = 2;
+    int NO_ORACLE_PRIOR = 0;
+    int ORACLE_PRIOR_START = 1;
+    int ORACLE_PRIOR_END = 2;
 
-	int getOldOracleJoinSyntax();
+    int getOldOracleJoinSyntax();
 
-	void setOldOracleJoinSyntax(int oldOracleJoinSyntax);
+    void setOldOracleJoinSyntax(int oldOracleJoinSyntax);
 
-	int getOraclePriorPosition();
+    int getOraclePriorPosition();
 
-	void setOraclePriorPosition(int priorPosition);
+    void setOraclePriorPosition(int priorPosition);
 }
diff --git a/src/main/java/net/sf/jsqlparser/parser/ASTNodeAccess.java b/src/main/java/net/sf/jsqlparser/parser/ASTNodeAccess.java
index 9672117f2..2d540d39a 100644
--- a/src/main/java/net/sf/jsqlparser/parser/ASTNodeAccess.java
+++ b/src/main/java/net/sf/jsqlparser/parser/ASTNodeAccess.java
@@ -19,7 +19,7 @@
  * .
  * #L%
  */
-/*
+ /*
  * Copyright (C) 2015 JSQLParser.
  *
  * This library is free software; you can redistribute it and/or
@@ -44,6 +44,8 @@
  * @author toben
  */
 public interface ASTNodeAccess {
+
     SimpleNode getASTNode();
+
     void setASTNode(SimpleNode node);
 }
diff --git a/src/main/java/net/sf/jsqlparser/parser/ASTNodeAccessImpl.java b/src/main/java/net/sf/jsqlparser/parser/ASTNodeAccessImpl.java
index 857ba5674..77c94c180 100644
--- a/src/main/java/net/sf/jsqlparser/parser/ASTNodeAccessImpl.java
+++ b/src/main/java/net/sf/jsqlparser/parser/ASTNodeAccessImpl.java
@@ -19,7 +19,7 @@
  * .
  * #L%
  */
-/*
+ /*
  * Copyright (C) 2015 JSQLParser.
  *
  * This library is free software; you can redistribute it and/or
@@ -44,8 +44,9 @@
  * @author toben
  */
 public class ASTNodeAccessImpl implements ASTNodeAccess {
+
     private SimpleNode node;
-    
+
     @Override
     public SimpleNode getASTNode() {
         return node;
@@ -55,5 +56,5 @@ public SimpleNode getASTNode() {
     public void setASTNode(SimpleNode node) {
         this.node = node;
     }
-    
+
 }
diff --git a/src/main/java/net/sf/jsqlparser/parser/CCJSqlParserManager.java b/src/main/java/net/sf/jsqlparser/parser/CCJSqlParserManager.java
index fc998fbd7..88f53869c 100644
--- a/src/main/java/net/sf/jsqlparser/parser/CCJSqlParserManager.java
+++ b/src/main/java/net/sf/jsqlparser/parser/CCJSqlParserManager.java
@@ -31,13 +31,13 @@
  */
 public class CCJSqlParserManager implements JSqlParser {
 
-	@Override
-	public Statement parse(Reader statementReader) throws JSQLParserException {
-		CCJSqlParser parser = new CCJSqlParser(statementReader);
-		try {
-			return parser.Statement();
-		} catch (Exception ex) {
-			throw new JSQLParserException(ex);
-		} 
-	}
-}
\ No newline at end of file
+    @Override
+    public Statement parse(Reader statementReader) throws JSQLParserException {
+        CCJSqlParser parser = new CCJSqlParser(statementReader);
+        try {
+            return parser.Statement();
+        } catch (Exception ex) {
+            throw new JSQLParserException(ex);
+        }
+    }
+}
diff --git a/src/main/java/net/sf/jsqlparser/parser/CCJSqlParserUtil.java b/src/main/java/net/sf/jsqlparser/parser/CCJSqlParserUtil.java
index 659cc5bef..fe2bcf518 100644
--- a/src/main/java/net/sf/jsqlparser/parser/CCJSqlParserUtil.java
+++ b/src/main/java/net/sf/jsqlparser/parser/CCJSqlParserUtil.java
@@ -31,98 +31,102 @@
 
 /**
  * Toolfunctions to start and use JSqlParser.
+ *
  * @author toben
  */
 public final class CCJSqlParserUtil {
-	
-	private CCJSqlParserUtil() {}
-	
-	public static Statement parse(Reader statementReader) throws JSQLParserException {
-		CCJSqlParser parser = new CCJSqlParser(statementReader);
-		try {
-			return parser.Statement();
-		} catch (Exception ex) {
-			throw new JSQLParserException(ex);
-		} 
-	}
-	
-	public static Statement parse(String sql) throws JSQLParserException {
-		CCJSqlParser parser = new CCJSqlParser(new StringReader(sql));
-		try {
-			return parser.Statement();
-		} catch (Exception ex) {
-			throw new JSQLParserException(ex);
-		} 
-	}
-    
+
+    private CCJSqlParserUtil() {
+    }
+
+    public static Statement parse(Reader statementReader) throws JSQLParserException {
+        CCJSqlParser parser = new CCJSqlParser(statementReader);
+        try {
+            return parser.Statement();
+        } catch (Exception ex) {
+            throw new JSQLParserException(ex);
+        }
+    }
+
+    public static Statement parse(String sql) throws JSQLParserException {
+        CCJSqlParser parser = new CCJSqlParser(new StringReader(sql));
+        try {
+            return parser.Statement();
+        } catch (Exception ex) {
+            throw new JSQLParserException(ex);
+        }
+    }
+
     public static Node parseAST(String sql) throws JSQLParserException {
-		CCJSqlParser parser = new CCJSqlParser(new StringReader(sql));
-		try {
+        CCJSqlParser parser = new CCJSqlParser(new StringReader(sql));
+        try {
             parser.Statement();
-			return parser.jjtree.rootNode();
-		} catch (Exception ex) {
-			throw new JSQLParserException(ex);
-		} 
-	}
-	
-	public static Statement parse(InputStream is) throws JSQLParserException {
-		CCJSqlParser parser = new CCJSqlParser(is);
-		try {
-			return parser.Statement();
-		} catch (Exception ex) {
-			throw new JSQLParserException(ex);
-		} 
-	}
-	
-	public static Statement parse(InputStream is, String encoding) throws JSQLParserException {
-		CCJSqlParser parser = new CCJSqlParser(is,encoding);
-		try {
-			return parser.Statement();
-		} catch (Exception ex) {
-			throw new JSQLParserException(ex);
-		} 
-	}
-	
-	/**
-	 * Parse an expression.
-	 * @param expression
-	 * @return
-	 * @throws JSQLParserException 
-	 */
-	public static Expression parseExpression(String expression) throws JSQLParserException {
-		CCJSqlParser parser = new CCJSqlParser(new StringReader(expression));
-		try {
-			return parser.SimpleExpression();
-		} catch (Exception ex) {
-			throw new JSQLParserException(ex);
-		} 
-	}
-    
+            return parser.jjtree.rootNode();
+        } catch (Exception ex) {
+            throw new JSQLParserException(ex);
+        }
+    }
+
+    public static Statement parse(InputStream is) throws JSQLParserException {
+        CCJSqlParser parser = new CCJSqlParser(is);
+        try {
+            return parser.Statement();
+        } catch (Exception ex) {
+            throw new JSQLParserException(ex);
+        }
+    }
+
+    public static Statement parse(InputStream is, String encoding) throws JSQLParserException {
+        CCJSqlParser parser = new CCJSqlParser(is, encoding);
+        try {
+            return parser.Statement();
+        } catch (Exception ex) {
+            throw new JSQLParserException(ex);
+        }
+    }
+
+    /**
+     * Parse an expression.
+     *
+     * @param expression
+     * @return
+     * @throws JSQLParserException
+     */
+    public static Expression parseExpression(String expression) throws JSQLParserException {
+        CCJSqlParser parser = new CCJSqlParser(new StringReader(expression));
+        try {
+            return parser.SimpleExpression();
+        } catch (Exception ex) {
+            throw new JSQLParserException(ex);
+        }
+    }
+
     /**
-	 * Parse an conditional expression. This is the expression after a where clause.
-	 * @param condExpr
-	 * @return
-	 * @throws JSQLParserException 
-	 */
-	public static Expression parseCondExpression(String condExpr) throws JSQLParserException {
-		CCJSqlParser parser = new CCJSqlParser(new StringReader(condExpr));
-		try {
-			return parser.Expression();
-		} catch (Exception ex) {
-			throw new JSQLParserException(ex);
-		} 
-	}
-    
+     * Parse an conditional expression. This is the expression after a where clause.
+     *
+     * @param condExpr
+     * @return
+     * @throws JSQLParserException
+     */
+    public static Expression parseCondExpression(String condExpr) throws JSQLParserException {
+        CCJSqlParser parser = new CCJSqlParser(new StringReader(condExpr));
+        try {
+            return parser.Expression();
+        } catch (Exception ex) {
+            throw new JSQLParserException(ex);
+        }
+    }
+
     /**
      * Parse a statement list.
      */
     public static Statements parseStatements(String sqls) throws JSQLParserException {
-		CCJSqlParser parser = new CCJSqlParser(new StringReader(sqls));
-		try {
-			return parser.Statements();
-		} catch (Exception ex) {
-			throw new JSQLParserException(ex);
-		} 
-	}
+        CCJSqlParser parser = new CCJSqlParser(new StringReader(sqls));
+        try {
+            return parser.Statements();
+        } catch (Exception ex) {
+            throw new JSQLParserException(ex);
+        }
+    }
 
 }
diff --git a/src/main/java/net/sf/jsqlparser/parser/JSqlParser.java b/src/main/java/net/sf/jsqlparser/parser/JSqlParser.java
index 758cd5ae9..b7e4e25dc 100644
--- a/src/main/java/net/sf/jsqlparser/parser/JSqlParser.java
+++ b/src/main/java/net/sf/jsqlparser/parser/JSqlParser.java
@@ -31,5 +31,5 @@
  */
 public interface JSqlParser {
 
-	Statement parse(Reader statementReader) throws JSQLParserException;
+    Statement parse(Reader statementReader) throws JSQLParserException;
 }
diff --git a/src/main/java/net/sf/jsqlparser/schema/Column.java b/src/main/java/net/sf/jsqlparser/schema/Column.java
index 7bc0c31ea..4b343c303 100644
--- a/src/main/java/net/sf/jsqlparser/schema/Column.java
+++ b/src/main/java/net/sf/jsqlparser/schema/Column.java
@@ -64,11 +64,12 @@ public void setColumnName(String string) {
     public String getFullyQualifiedName() {
         return getName(false);
     }
-    
+
     /**
      * Get name with out without using aliases.
+     *
      * @param aliases
-     * @return 
+     * @return
      */
     public String getName(boolean aliases) {
         StringBuilder fqn = new StringBuilder();
diff --git a/src/main/java/net/sf/jsqlparser/schema/Database.java b/src/main/java/net/sf/jsqlparser/schema/Database.java
index 6ab5fe4f9..5035b4fdd 100644
--- a/src/main/java/net/sf/jsqlparser/schema/Database.java
+++ b/src/main/java/net/sf/jsqlparser/schema/Database.java
@@ -22,6 +22,7 @@
 package net.sf.jsqlparser.schema;
 
 public final class Database implements MultiPartName {
+
     private Server server;
     private String databaseName;
 
diff --git a/src/main/java/net/sf/jsqlparser/schema/MultiPartName.java b/src/main/java/net/sf/jsqlparser/schema/MultiPartName.java
index 38679769f..b238c755d 100644
--- a/src/main/java/net/sf/jsqlparser/schema/MultiPartName.java
+++ b/src/main/java/net/sf/jsqlparser/schema/MultiPartName.java
@@ -22,5 +22,6 @@
 package net.sf.jsqlparser.schema;
 
 public interface MultiPartName {
+
     String getFullyQualifiedName();
 }
diff --git a/src/main/java/net/sf/jsqlparser/schema/Server.java b/src/main/java/net/sf/jsqlparser/schema/Server.java
index d0944bf1a..7b83ab678 100644
--- a/src/main/java/net/sf/jsqlparser/schema/Server.java
+++ b/src/main/java/net/sf/jsqlparser/schema/Server.java
@@ -25,7 +25,8 @@
 
 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;
@@ -66,7 +67,8 @@ public void setInstanceName(String instanceName) {
 
     @Override
     public String getFullyQualifiedName() {
-        if (serverName != null && !serverName.isEmpty() && instanceName != null && !instanceName.isEmpty()) {
+        if (serverName != null && !serverName.isEmpty() && instanceName != null && !instanceName.
+                isEmpty()) {
             return String.format("[%s\\%s]", serverName, instanceName);
         } else if (serverName != null && !serverName.isEmpty()) {
             return String.format("[%s]", serverName);
diff --git a/src/main/java/net/sf/jsqlparser/schema/Table.java b/src/main/java/net/sf/jsqlparser/schema/Table.java
index b6ec5525a..6bd67d903 100644
--- a/src/main/java/net/sf/jsqlparser/schema/Table.java
+++ b/src/main/java/net/sf/jsqlparser/schema/Table.java
@@ -136,7 +136,7 @@ public void setPivot(Pivot pivot) {
     @Override
     public String toString() {
         return getFullyQualifiedName()
-               + ((pivot != null) ? " " + pivot : "")
-               + ((alias != null) ? alias.toString() : "");
+                + ((pivot != null) ? " " + pivot : "")
+                + ((alias != null) ? alias.toString() : "");
     }
 }
diff --git a/src/main/java/net/sf/jsqlparser/statement/SetStatement.java b/src/main/java/net/sf/jsqlparser/statement/SetStatement.java
index 4a74a4e98..8794bd1ba 100644
--- a/src/main/java/net/sf/jsqlparser/statement/SetStatement.java
+++ b/src/main/java/net/sf/jsqlparser/statement/SetStatement.java
@@ -19,7 +19,7 @@
  * .
  * #L%
  */
-/*
+ /*
  * Copyright (C) 2015 JSQLParser.
  *
  * This library is free software; you can redistribute it and/or
@@ -83,7 +83,7 @@ public void setExpression(Expression expression) {
 
     @Override
     public String toString() {
-        return "SET " + name + (useEqual?" = ":" ") + expression.toString();
+        return "SET " + name + (useEqual ? " = " : " ") + expression.toString();
     }
 
     @Override
diff --git a/src/main/java/net/sf/jsqlparser/statement/Statement.java b/src/main/java/net/sf/jsqlparser/statement/Statement.java
index 25969b156..bf45b83cb 100644
--- a/src/main/java/net/sf/jsqlparser/statement/Statement.java
+++ b/src/main/java/net/sf/jsqlparser/statement/Statement.java
@@ -26,5 +26,5 @@
  */
 public interface Statement {
 
-	void accept(StatementVisitor statementVisitor);
+    void accept(StatementVisitor statementVisitor);
 }
diff --git a/src/main/java/net/sf/jsqlparser/statement/StatementVisitor.java b/src/main/java/net/sf/jsqlparser/statement/StatementVisitor.java
index dde46bbda..7b04a5051 100644
--- a/src/main/java/net/sf/jsqlparser/statement/StatementVisitor.java
+++ b/src/main/java/net/sf/jsqlparser/statement/StatementVisitor.java
@@ -38,35 +38,35 @@
 
 public interface StatementVisitor {
 
-	void visit(Select select);
+    void visit(Select select);
 
-	void visit(Delete delete);
+    void visit(Delete delete);
 
-	void visit(Update update);
+    void visit(Update update);
 
-	void visit(Insert insert);
+    void visit(Insert insert);
 
-	void visit(Replace replace);
+    void visit(Replace replace);
 
-	void visit(Drop drop);
+    void visit(Drop drop);
 
-	void visit(Truncate truncate);
+    void visit(Truncate truncate);
 
-	void visit(CreateIndex createIndex);
+    void visit(CreateIndex createIndex);
 
-	void visit(CreateTable createTable);
+    void visit(CreateTable createTable);
+
+    void visit(CreateView createView);
 
-	void visit(CreateView createView);
-    
     void visit(AlterView alterView);
-	
-	void visit(Alter alter);
-    
+
+    void visit(Alter alter);
+
     void visit(Statements stmts);
-    
+
     void visit(Execute execute);
-    
+
     void visit(SetStatement set);
-    
+
     void visit(Merge merge);
 }
diff --git a/src/main/java/net/sf/jsqlparser/statement/StatementVisitorAdapter.java b/src/main/java/net/sf/jsqlparser/statement/StatementVisitorAdapter.java
index bf0a76543..41f3fd996 100644
--- a/src/main/java/net/sf/jsqlparser/statement/StatementVisitorAdapter.java
+++ b/src/main/java/net/sf/jsqlparser/statement/StatementVisitorAdapter.java
@@ -37,9 +37,10 @@
 import net.sf.jsqlparser.statement.update.Update;
 
 public class StatementVisitorAdapter implements StatementVisitor {
+
     @Override
     public void visit(Select select) {
-        
+
     }
 
     @Override
@@ -99,17 +100,17 @@ public void visit(Statements stmts) {
 
     @Override
     public void visit(Execute execute) {
-        
+
     }
 
     @Override
     public void visit(SetStatement set) {
-        
+
     }
 
     @Override
     public void visit(Merge merge) {
-        
+
     }
 
     @Override
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 2bc57ab07..b0ea9342f 100644
--- a/src/main/java/net/sf/jsqlparser/statement/alter/Alter.java
+++ b/src/main/java/net/sf/jsqlparser/statement/alter/Alter.java
@@ -47,7 +47,7 @@ public void setTable(Table table) {
         this.table = table;
     }
 
-    public void addAlterExpression(AlterExpression alterExpression){
+    public void addAlterExpression(AlterExpression alterExpression) {
         if (alterExpressions == null) {
             alterExpressions = new ArrayList();
         }
@@ -75,12 +75,12 @@ public String toString() {
 
         Iterator altIter = alterExpressions.iterator();
 
-        while (altIter.hasNext()){
+        while (altIter.hasNext()) {
             b.append(altIter.next().toString());
 
             // Need to append whitespace after each ADD or DROP statement
             // but not the last one
-            if (altIter.hasNext()){
+            if (altIter.hasNext()) {
                 b.append(", ");
             }
         }
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 475aaccb3..85110c033 100644
--- a/src/main/java/net/sf/jsqlparser/statement/alter/AlterExpression.java
+++ b/src/main/java/net/sf/jsqlparser/statement/alter/AlterExpression.java
@@ -21,7 +21,6 @@
  */
 package net.sf.jsqlparser.statement.alter;
 
-
 import java.util.ArrayList;
 import java.util.Collections;
 import java.util.List;
@@ -53,7 +52,7 @@ public class AlterExpression {
     private List fkColumns;
     private String fkSourceTable;
     private List fkSourceColumns;
-    
+
     private List constraints;
 
     public AlterOperation getOperation() {
@@ -195,7 +194,9 @@ public String toString() {
         } else if (getColDataTypeList() != null) {
             if (colDataTypeList.size() > 1) {
                 b.append("(");
-            } else b.append("COLUMN ");
+            } else {
+                b.append("COLUMN ");
+            }
             b.append(PlainSelect.getStringList(colDataTypeList));
             if (colDataTypeList.size() > 1) {
                 b.append(")");
@@ -204,12 +205,15 @@ public String toString() {
             b.append("CONSTRAINT ").append(constraintName);
         } else if (pkColumns != null) {
             b.append("PRIMARY KEY (").append(PlainSelect.getStringList(pkColumns)).append(')');
-            if(getConstraints()!=null && !getConstraints().isEmpty())
+            if (getConstraints() != null && !getConstraints().isEmpty()) {
                 b.append(' ').append(PlainSelect.getStringList(constraints, false, false));
+            }
         } 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(
+            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");
@@ -257,8 +261,7 @@ public String toString() {
             return columnName + " " + colDataType + parametersToString();
         }
 
-        private String parametersToString()
-        {
+        private String parametersToString() {
             if (columnSpecs == null || columnSpecs.isEmpty()) {
                 return "";
             }
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 5637d8a72..2223505f7 100644
--- a/src/main/java/net/sf/jsqlparser/statement/alter/AlterOperation.java
+++ b/src/main/java/net/sf/jsqlparser/statement/alter/AlterOperation.java
@@ -19,7 +19,7 @@
  * .
  * #L%
  */
-/*
+ /*
  * Copyright (C) 2016 JSQLParser.
  *
  * This library is free software; you can redistribute it and/or
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 701940737..878566b1e 100644
--- a/src/main/java/net/sf/jsqlparser/statement/alter/ConstraintState.java
+++ b/src/main/java/net/sf/jsqlparser/statement/alter/ConstraintState.java
@@ -23,8 +23,8 @@
 
 /**
  * Based on https://docs.oracle.com/cd/B28359_01/server.111/b28286/clauses002.htm#i1002273
- * 
+ *
  * @author Christophe Moine
  */
 public interface ConstraintState {
-}
\ No newline at end of file
+}
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 40385e239..c249b7d8a 100644
--- a/src/main/java/net/sf/jsqlparser/statement/alter/DeferrableConstraint.java
+++ b/src/main/java/net/sf/jsqlparser/statement/alter/DeferrableConstraint.java
@@ -1,48 +1,49 @@
-/*
- * #%L
- * JSQLParser library
- * %%
- * Copyright (C) 2004 - 2017 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
- * published by the Free Software Foundation, either version 2.1 of the
- * License, or (at your option) any later version.
- * 
- * This program 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 General Lesser Public License for more details.
- * 
- * You should have received a copy of the GNU General Lesser Public
- * License along with this program.  If not, see
- * .
- * #L%
- */
-package net.sf.jsqlparser.statement.alter;
-
-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();
-        if(not) {
-            b.append("NOT ");
-        }
-        b.append("DEFERRABLE");
-        return b.toString();
-    }
-}
\ No newline at end of file
+/*
+ * #%L
+ * JSQLParser library
+ * %%
+ * Copyright (C) 2004 - 2017 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
+ * published by the Free Software Foundation, either version 2.1 of the
+ * License, or (at your option) any later version.
+ * 
+ * This program 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 General Lesser Public License for more details.
+ * 
+ * You should have received a copy of the GNU General Lesser Public
+ * License along with this program.  If not, see
+ * .
+ * #L%
+ */
+package net.sf.jsqlparser.statement.alter;
+
+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();
+        if (not) {
+            b.append("NOT ");
+        }
+        b.append("DEFERRABLE");
+        return b.toString();
+    }
+}
diff --git a/src/main/java/net/sf/jsqlparser/statement/alter/EnableConstraint.java b/src/main/java/net/sf/jsqlparser/statement/alter/EnableConstraint.java
index 9230301ca..1bdcd7ec2 100644
--- a/src/main/java/net/sf/jsqlparser/statement/alter/EnableConstraint.java
+++ b/src/main/java/net/sf/jsqlparser/statement/alter/EnableConstraint.java
@@ -22,6 +22,7 @@
 package net.sf.jsqlparser.statement.alter;
 
 public class EnableConstraint implements ConstraintState {
+
     private boolean disable;
 
     public EnableConstraint(boolean disable) {
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 27bb52228..c4241fa4e 100644
--- a/src/main/java/net/sf/jsqlparser/statement/alter/ValidateConstraint.java
+++ b/src/main/java/net/sf/jsqlparser/statement/alter/ValidateConstraint.java
@@ -22,6 +22,7 @@
 package net.sf.jsqlparser.statement.alter;
 
 public class ValidateConstraint implements ConstraintState {
+
     private boolean not;
 
     public ValidateConstraint(boolean not) {
@@ -40,4 +41,4 @@ public void setNot(boolean not) {
     public String toString() {
         return not ? "NOVALIDATE" : "VALIDATE";
     }
-}
\ No newline at end of file
+}
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 d278a2525..5b590ea45 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
@@ -34,69 +34,69 @@
  */
 public class CreateIndex implements Statement {
 
-	private Table table;
-	private Index index;
-
-	@Override
-	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();
-
-		buffer.append("CREATE ");
-
-		if (index.getType() != null) {
-			buffer.append(index.getType());
-			buffer.append(" ");
-		}
-
-		buffer.append("INDEX ");
-		buffer.append(index.getName());
-		buffer.append(" ON ");
-		buffer.append(table.getFullyQualifiedName());
-
-		if (index.getColumnsNames() != null) {
-			buffer.append(" (");
-
-			for (Iterator iter = index.getColumnsNames().iterator(); iter.hasNext() ;) {
-				String columnName = (String)iter.next();
-
-				buffer.append(columnName);
-
-				if (iter.hasNext()) {
-					buffer.append(", ");
-				}
-			}
-
-			buffer.append(")");
-		}
-
-		return buffer.toString();
-	}
+    private Table table;
+    private Index index;
+
+    @Override
+    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();
+
+        buffer.append("CREATE ");
+
+        if (index.getType() != null) {
+            buffer.append(index.getType());
+            buffer.append(" ");
+        }
+
+        buffer.append("INDEX ");
+        buffer.append(index.getName());
+        buffer.append(" ON ");
+        buffer.append(table.getFullyQualifiedName());
+
+        if (index.getColumnsNames() != null) {
+            buffer.append(" (");
+
+            for (Iterator iter = index.getColumnsNames().iterator(); iter.hasNext();) {
+                String columnName = (String) iter.next();
+
+                buffer.append(columnName);
+
+                if (iter.hasNext()) {
+                    buffer.append(", ");
+                }
+            }
+
+            buffer.append(")");
+        }
+
+        return buffer.toString();
+    }
 
 }
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 1518b98ad..8d2c14cfb 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
@@ -25,22 +25,23 @@
 import net.sf.jsqlparser.schema.Table;
 
 /**
- * Table Check Constraint
- * Eg. ' CONSTRAINT less_than_ten CHECK (count < 10) '
- * @author mw
+ * Table Check Constraint Eg. ' CONSTRAINT less_than_ten CHECK (count < 10) ' @au
+ *
+ *
+ * thor mw
  */
 public class CheckConstraint extends NamedConstraint {
+
     private Table table;
     private Expression expression;
 
+    public Table getTable() {
+        return table;
+    }
 
-	public Table getTable() {
-		return table;
-	}
-
-	public void setTable(Table table) {
-		this.table = table;
-	}
+    public void setTable(Table table) {
+        this.table = table;
+    }
 
     public Expression getExpression() {
         return 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 bf2c455ab..fafb4f06d 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
@@ -76,7 +76,8 @@ public String toString() {
             arraySpec.append("]");
         }
         return dataType
-                + (argumentsStringList != null ? " " + PlainSelect.getStringList(argumentsStringList, true, true) : "")
+                + (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 3be788035..c43adcbf2 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
@@ -31,43 +31,44 @@
  */
 public class ColumnDefinition {
 
-	private String columnName;
-	private ColDataType colDataType;
-	private List columnSpecStrings;
+    private String columnName;
+    private ColDataType colDataType;
+    private List columnSpecStrings;
 
-	/**
-	 * A list of strings of every word after the datatype of the column.
- * Example ("NOT", "NULL") - */ - public List getColumnSpecStrings() { - return columnSpecStrings; - } + /** + * 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; - } + public void setColumnSpecStrings(List list) { + columnSpecStrings = list; + } - /** - * The {@link ColDataType} of this column definition - */ - public ColDataType getColDataType() { - return colDataType; - } + /** + * The {@link ColDataType} of this column definition + */ + public ColDataType getColDataType() { + return colDataType; + } - public void setColDataType(ColDataType type) { - colDataType = type; - } + public void setColDataType(ColDataType type) { + colDataType = type; + } - public String getColumnName() { - return columnName; - } + public String getColumnName() { + return columnName; + } - public void setColumnName(String string) { - columnName = string; - } + public void setColumnName(String string) { + columnName = string; + } - @Override - public String toString() { - return columnName + " " + colDataType + (columnSpecStrings != null ? " " + PlainSelect.getStringList(columnSpecStrings, false, false) : ""); - } + @Override + public String toString() { + return columnName + " " + colDataType + (columnSpecStrings != null ? " " + PlainSelect. + getStringList(columnSpecStrings, false, false) : ""); + } } diff --git a/src/main/java/net/sf/jsqlparser/statement/create/table/CreateTable.java b/src/main/java/net/sf/jsqlparser/statement/create/table/CreateTable.java index 48efdecbb..0cc64f619 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 @@ -62,11 +62,16 @@ public void setTable(Table table) { /** * Whether the table is unlogged or not (PostgreSQL 9.1+ feature) - * @return + * + * @return */ - public boolean isUnlogged() { return unlogged; } + public boolean isUnlogged() { + return unlogged; + } - public void setUnlogged(boolean unlogged) { this.unlogged = unlogged; } + public void setUnlogged(boolean unlogged) { + this.unlogged = unlogged; + } /** * A list of {@link ColumnDefinition}s of this table. @@ -80,8 +85,7 @@ public void setColumnDefinitions(List list) { } /** - * A list of options (as simple strings) of this table definition, as - * ("TYPE", "=", "MYISAM") + * A list of options (as simple strings) of this table definition, as ("TYPE", "=", "MYISAM") */ public List getTableOptionsStrings() { return tableOptionsStrings; @@ -98,13 +102,11 @@ public List getCreateOptionsStrings() { public void setCreateOptionsStrings(List createOptionsStrings) { this.createOptionsStrings = createOptionsStrings; } - - /** * 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. + * Indexes created with column definitions (as in mycol INT PRIMARY KEY) are not inserted into + * this list. */ public List getIndexes() { return indexes; @@ -144,12 +146,12 @@ public String toString() { String sql; String createOps = PlainSelect.getStringList(createOptionsStrings, false, false); - sql = "CREATE " + (unlogged ? "UNLOGGED " : "") + - (!"".equals(createOps)?createOps + " ":"") + - "TABLE " + (ifNotExists?"IF NOT EXISTS ":"") + table; + sql = "CREATE " + (unlogged ? "UNLOGGED " : "") + + (!"".equals(createOps) ? createOps + " " : "") + + "TABLE " + (ifNotExists ? "IF NOT EXISTS " : "") + table; if (select != null) { - sql += " AS " + (selectParenthesis?"(":"") + select.toString() + (selectParenthesis?")":""); + sql += " AS " + (selectParenthesis ? "(" : "") + select.toString() + (selectParenthesis ? ")" : ""); } 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 90ad23111..63fee20f0 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,17 +21,14 @@ */ package net.sf.jsqlparser.statement.create.table; - - import net.sf.jsqlparser.expression.Expression; /** - * Table Exclusion Constraint - * Eg. 'EXCLUDE WHERE (col1 > 100)' + * Table Exclusion Constraint Eg. 'EXCLUDE WHERE (col1 > 100)' * * @author wrobstory */ -public class ExcludeConstraint extends Index{ +public class ExcludeConstraint extends Index { private Expression expression; 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 556977680..0c371751a 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 @@ -27,57 +27,60 @@ /** * Foreign Key Index + * * @author toben */ public class ForeignKeyIndex extends NamedConstraint { - private Table table; - private List referencedColumnNames; - private String onDeleteReferenceOption; - private String onUpdateReferenceOption; - public Table getTable() { - return table; - } + private Table table; + private List referencedColumnNames; + private String onDeleteReferenceOption; + private String onUpdateReferenceOption; - public void setTable(Table table) { - this.table = table; - } + public Table getTable() { + return table; + } - public List getReferencedColumnNames() { - return referencedColumnNames; - } + public void setTable(Table table) { + this.table = table; + } - public void setReferencedColumnNames(List referencedColumnNames) { - this.referencedColumnNames = referencedColumnNames; - } + public List getReferencedColumnNames() { + return referencedColumnNames; + } - public String getOnDeleteReferenceOption() { - return onDeleteReferenceOption; - } + public void setReferencedColumnNames(List referencedColumnNames) { + this.referencedColumnNames = referencedColumnNames; + } - public void setOnDeleteReferenceOption(String onDeleteReferenceOption) { - this.onDeleteReferenceOption = onDeleteReferenceOption; - } + public String getOnDeleteReferenceOption() { + return onDeleteReferenceOption; + } - public String getOnUpdateReferenceOption() { - return onUpdateReferenceOption; - } + public void setOnDeleteReferenceOption(String onDeleteReferenceOption) { + this.onDeleteReferenceOption = onDeleteReferenceOption; + } - public void setOnUpdateReferenceOption(String onUpdateReferenceOption) { - this.onUpdateReferenceOption = onUpdateReferenceOption; - } + public String getOnUpdateReferenceOption() { + return onUpdateReferenceOption; + } - @Override - public String toString() { - String referenceOptions = ""; - if(onDeleteReferenceOption != null) { - referenceOptions += " ON DELETE " + onDeleteReferenceOption; - } - if(onUpdateReferenceOption != null) { - referenceOptions += " ON UPDATE " + onUpdateReferenceOption; - } - return super.toString() - + " REFERENCES " + table + PlainSelect.getStringList(getReferencedColumnNames(), true, true) - + referenceOptions; - } + public void setOnUpdateReferenceOption(String onUpdateReferenceOption) { + this.onUpdateReferenceOption = onUpdateReferenceOption; + } + + @Override + public String toString() { + String referenceOptions = ""; + if (onDeleteReferenceOption != null) { + referenceOptions += " ON DELETE " + onDeleteReferenceOption; + } + if (onUpdateReferenceOption != null) { + referenceOptions += " ON UPDATE " + onUpdateReferenceOption; + } + return super.toString() + + " 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 c36434664..30beff484 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 @@ -30,40 +30,40 @@ */ public class Index { - private String type; - private List columnsNames; - private String name; + private String type; + private List columnsNames; + private String name; private List idxSpec; - /** - * A list of strings of all the columns regarding this index - */ - public List getColumnsNames() { - return columnsNames; - } + /** + * A list of strings of all the columns regarding this index + */ + public List getColumnsNames() { + return columnsNames; + } - public String getName() { - return name; - } + public String getName() { + return name; + } - /** - * The type of this index: "PRIMARY KEY", "UNIQUE", "INDEX" - */ - public String getType() { - return type; - } + /** + * The type of this index: "PRIMARY KEY", "UNIQUE", "INDEX" + */ + public String getType() { + return type; + } - public void setColumnsNames(List list) { - columnsNames = list; - } + public void setColumnsNames(List list) { + columnsNames = list; + } - public void setName(String string) { - name = string; - } + public void setName(String string) { + name = string; + } - public void setType(String string) { - type = string; - } + public void setType(String string) { + type = string; + } public List getIndexSpec() { return idxSpec; @@ -73,9 +73,10 @@ public void setIndexSpec(List idxSpec) { this.idxSpec = idxSpec; } - @Override - public String toString() { + @Override + public String toString() { String idxSpecText = PlainSelect.getStringList(idxSpec, false, false); - return type + (name != null ? " " + name : "") + " " + PlainSelect.getStringList(columnsNames, true, true) + (!"".equals(idxSpecText)?" " + idxSpecText:""); - } + 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 b89d29405..454c8b03a 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 @@ -51,6 +51,7 @@ 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 efd309f61..fb87502ab 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 @@ -33,56 +33,56 @@ */ public class AlterView implements Statement { - private Table view; - private SelectBody selectBody; - private List columnNames = null; + private Table view; + private SelectBody selectBody; + private List columnNames = null; - @Override - public void accept(StatementVisitor statementVisitor) { - statementVisitor.visit(this); - } + @Override + public void accept(StatementVisitor statementVisitor) { + statementVisitor.visit(this); + } - /** - * 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; - } + /** + * 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; - } + public void setView(Table view) { + this.view = view; + } - /** - * @return the SelectBody - */ - public SelectBody getSelectBody() { - return selectBody; - } + /** + * @return the SelectBody + */ + public SelectBody getSelectBody() { + return selectBody; + } - public void setSelectBody(SelectBody selectBody) { - this.selectBody = selectBody; - } + public void setSelectBody(SelectBody selectBody) { + this.selectBody = selectBody; + } - public List getColumnNames() { - return columnNames; - } + public List getColumnNames() { + return columnNames; + } - public void setColumnNames(List columnNames) { - this.columnNames = columnNames; - } + public void setColumnNames(List columnNames) { + this.columnNames = columnNames; + } - @Override - public String toString() { - StringBuilder sql = new StringBuilder("ALTER "); - sql.append("VIEW "); - sql.append(view); - if (columnNames != null) { - sql.append(PlainSelect.getStringList(columnNames, true, true)); - } - sql.append(" AS ").append(selectBody); - return sql.toString(); - } + @Override + public String toString() { + StringBuilder sql = new StringBuilder("ALTER "); + sql.append("VIEW "); + sql.append(view); + if (columnNames != null) { + sql.append(PlainSelect.getStringList(columnNames, true, true)); + } + sql.append(" AS ").append(selectBody); + return sql.toString(); + } } diff --git a/src/main/java/net/sf/jsqlparser/statement/create/view/CreateView.java b/src/main/java/net/sf/jsqlparser/statement/create/view/CreateView.java index cf0553cbc..e3d514515 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 @@ -33,86 +33,86 @@ */ public class CreateView implements Statement { - private Table view; - private SelectBody selectBody; - private boolean orReplace = false; - private List columnNames = null; - private boolean materialized = false; + private Table view; + private SelectBody selectBody; + private boolean orReplace = false; + private List columnNames = null; + private boolean materialized = false; - @Override - public void accept(StatementVisitor statementVisitor) { - statementVisitor.visit(this); - } + @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; - } + /** + * 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; - } + public void setView(Table view) { + this.view = view; + } - /** - * @return was "OR REPLACE" specified? - */ - public boolean isOrReplace() { - return orReplace; - } + /** + * @return was "OR REPLACE" specified? + */ + public boolean isOrReplace() { + return orReplace; + } - /** - * @param orReplace was "OR REPLACE" specified? - */ - public void setOrReplace(boolean orReplace) { - this.orReplace = orReplace; - } + /** + * @param orReplace was "OR REPLACE" specified? + */ + public void setOrReplace(boolean orReplace) { + this.orReplace = orReplace; + } - /** - * @return the SelectBody - */ - public SelectBody getSelectBody() { - return selectBody; - } + /** + * @return the SelectBody + */ + public SelectBody getSelectBody() { + return selectBody; + } - public void setSelectBody(SelectBody selectBody) { - this.selectBody = selectBody; - } + public void setSelectBody(SelectBody selectBody) { + this.selectBody = selectBody; + } - public List getColumnNames() { - return columnNames; - } + public List getColumnNames() { + return columnNames; + } - public void setColumnNames(List columnNames) { - this.columnNames = columnNames; - } + public void setColumnNames(List columnNames) { + this.columnNames = columnNames; + } - public boolean isMaterialized() { - return materialized; - } + public boolean isMaterialized() { + return materialized; + } - public void setMaterialized(boolean materialized) { - this.materialized = materialized; - } + public void setMaterialized(boolean materialized) { + this.materialized = materialized; + } - @Override - public String toString() { - StringBuilder sql = new StringBuilder("CREATE "); - if (isOrReplace()) { - sql.append("OR REPLACE "); - } - if (isMaterialized()) { - sql.append("MATERIALIZED "); - } - sql.append("VIEW "); - sql.append(view); - if (columnNames != null) { - sql.append(PlainSelect.getStringList(columnNames, true, true)); - } - sql.append(" AS ").append(selectBody); - return sql.toString(); - } + @Override + public String toString() { + StringBuilder sql = new StringBuilder("CREATE "); + if (isOrReplace()) { + sql.append("OR REPLACE "); + } + if (isMaterialized()) { + sql.append("MATERIALIZED "); + } + sql.append("VIEW "); + sql.append(view); + if (columnNames != null) { + sql.append(PlainSelect.getStringList(columnNames, true, true)); + } + sql.append(" AS ").append(selectBody); + return sql.toString(); + } } diff --git a/src/main/java/net/sf/jsqlparser/statement/delete/Delete.java b/src/main/java/net/sf/jsqlparser/statement/delete/Delete.java index 9fa7572be..75e6e06cd 100644 --- a/src/main/java/net/sf/jsqlparser/statement/delete/Delete.java +++ b/src/main/java/net/sf/jsqlparser/statement/delete/Delete.java @@ -34,102 +34,101 @@ public class Delete implements Statement { - private Table table; - private List tables; - private List joins; - private Expression where; - private Limit limit; - private List orderByElements; - - public List getOrderByElements() { - return orderByElements; - } - - public void setOrderByElements(List orderByElements) { - this.orderByElements = orderByElements; - } - - @Override - public void accept(StatementVisitor statementVisitor) { - statementVisitor.visit(this); - } - - public Table getTable() { - return table; - } - - public Expression getWhere() { - return where; - } - - public void setTable(Table name) { - table = name; - } - - public void setWhere(Expression expression) { - where = expression; - } - - public Limit getLimit() { - return limit; - } - - public void setLimit(Limit limit) { - this.limit = limit; - } - - - public List
getTables() { - return tables; - } - - public void setTables(List
tables) { - this.tables = tables; - } - - public List getJoins() { - return joins; - } - - public void setJoins(List joins) { - this.joins = joins; - } - - @Override - public String toString() { - StringBuilder b = new StringBuilder("DELETE"); - - if( tables != null && tables.size() > 0){ - b.append(" "); - for(Table t : tables){ - b.append(t.toString()); - } - } - - b.append(" FROM "); - b.append(table); - - if (joins != null) { - for (Join join : joins) { - if (join.isSimple()) { - b.append(", ").append(join); - } else { - b.append(" ").append(join); - } - } - } - - if( where != null ){ - b.append(" WHERE ").append(where); - } - - if(orderByElements!=null){ - b.append(PlainSelect.orderByToString(orderByElements)); - } - - if(limit != null){ - b.append(limit); - } - return b.toString(); - } + private Table table; + private List
tables; + private List joins; + private Expression where; + private Limit limit; + private List orderByElements; + + public List getOrderByElements() { + return orderByElements; + } + + public void setOrderByElements(List orderByElements) { + this.orderByElements = orderByElements; + } + + @Override + public void accept(StatementVisitor statementVisitor) { + statementVisitor.visit(this); + } + + public Table getTable() { + return table; + } + + public Expression getWhere() { + return where; + } + + public void setTable(Table name) { + table = name; + } + + public void setWhere(Expression expression) { + where = expression; + } + + public Limit getLimit() { + return limit; + } + + public void setLimit(Limit limit) { + this.limit = limit; + } + + public List
getTables() { + return tables; + } + + public void setTables(List
tables) { + this.tables = tables; + } + + public List getJoins() { + return joins; + } + + public void setJoins(List joins) { + this.joins = joins; + } + + @Override + public String toString() { + StringBuilder b = new StringBuilder("DELETE"); + + if (tables != null && tables.size() > 0) { + b.append(" "); + for (Table t : tables) { + b.append(t.toString()); + } + } + + b.append(" FROM "); + b.append(table); + + if (joins != null) { + for (Join join : joins) { + if (join.isSimple()) { + b.append(", ").append(join); + } else { + b.append(" ").append(join); + } + } + } + + if (where != null) { + b.append(" WHERE ").append(where); + } + + if (orderByElements != null) { + b.append(PlainSelect.orderByToString(orderByElements)); + } + + if (limit != null) { + b.append(limit); + } + return b.toString(); + } } 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 149482435..69dceb189 100644 --- a/src/main/java/net/sf/jsqlparser/statement/drop/Drop.java +++ b/src/main/java/net/sf/jsqlparser/statement/drop/Drop.java @@ -30,39 +30,39 @@ public class Drop implements Statement { - private String type; - private Table name; - private List parameters; + private String type; + private Table name; + private List parameters; private boolean ifExists = false; - @Override - public void accept(StatementVisitor statementVisitor) { - statementVisitor.visit(this); - } + @Override + public void accept(StatementVisitor statementVisitor) { + statementVisitor.visit(this); + } - public Table getName() { - return name; - } + public Table getName() { + return name; + } - public List getParameters() { - return parameters; - } + public List getParameters() { + return parameters; + } - public String getType() { - return type; - } + public String getType() { + return type; + } - public void setName(Table string) { - name = string; - } + public void setName(Table string) { + name = string; + } - public void setParameters(List list) { - parameters = list; - } + public void setParameters(List list) { + parameters = list; + } - public void setType(String string) { - type = string; - } + public void setType(String string) { + type = string; + } public boolean isIfExists() { return ifExists; @@ -72,15 +72,15 @@ public void setIfExists(boolean ifExists) { this.ifExists = ifExists; } - @Override - public String toString() { - String sql = "DROP " + type + " " - + (ifExists?"IF EXISTS ":"") + name.toString(); + @Override + public String toString() { + String sql = "DROP " + type + " " + + (ifExists ? "IF EXISTS " : "") + name.toString(); - if (parameters != null && !parameters.isEmpty()) { - sql += " " + PlainSelect.getStringList(parameters); - } + if (parameters != null && !parameters.isEmpty()) { + sql += " " + PlainSelect.getStringList(parameters); + } - return sql; - } + return sql; + } } 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 c3ab4a349..4a26bd612 100644 --- a/src/main/java/net/sf/jsqlparser/statement/execute/Execute.java +++ b/src/main/java/net/sf/jsqlparser/statement/execute/Execute.java @@ -50,7 +50,7 @@ public ExpressionList getExprList() { public void setExprList(ExpressionList exprList) { this.exprList = exprList; } - + @Override public void accept(StatementVisitor statementVisitor) { statementVisitor.visit(this); @@ -58,7 +58,8 @@ public void accept(StatementVisitor statementVisitor) { @Override public String toString() { - return "EXECUTE " + name + " " + PlainSelect.getStringList(exprList.getExpressions(), true, false); + return "EXECUTE " + name + " " + PlainSelect. + getStringList(exprList.getExpressions(), true, false); } } 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 53e10f645..31541aaa5 100644 --- a/src/main/java/net/sf/jsqlparser/statement/insert/Insert.java +++ b/src/main/java/net/sf/jsqlparser/statement/insert/Insert.java @@ -34,8 +34,8 @@ import net.sf.jsqlparser.statement.select.SelectExpressionItem; /** - * The insert statement. Every column name in columnNames matches - * an item in itemsList + * The insert statement. Every column name in columnNames matches an item in + * itemsList */ public class Insert implements Statement { @@ -179,10 +179,10 @@ public String toString() { StringBuilder sql = new StringBuilder(); sql.append("INSERT "); - if(modifierPriority != null){ + if (modifierPriority != null) { sql.append(modifierPriority.name()).append(" "); } - if(modifierIgnore){ + if (modifierIgnore) { sql.append("IGNORE "); } sql.append("INTO "); @@ -197,7 +197,7 @@ public String toString() { if (itemsList != null) { sql.append(itemsList); - }else { + } else { if (useSelectBrackets) { sql.append("("); } @@ -209,9 +209,7 @@ public String toString() { } } - - - if (useDuplicate){ + if (useDuplicate) { sql.append(" ON DUPLICATE KEY UPDATE "); for (int i = 0; i < getDuplicateUpdateColumns().size(); i++) { if (i != 0) { @@ -225,7 +223,8 @@ 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/merge/MergeUpdate.java b/src/main/java/net/sf/jsqlparser/statement/merge/MergeUpdate.java index 0720bcec0..bdd1a404d 100644 --- a/src/main/java/net/sf/jsqlparser/statement/merge/MergeUpdate.java +++ b/src/main/java/net/sf/jsqlparser/statement/merge/MergeUpdate.java @@ -73,9 +73,9 @@ public String toString() { StringBuilder b = new StringBuilder(); b.append(" WHEN MATCHED THEN UPDATE SET "); for (int i = 0; i < columns.size(); i++) { - if (i != 0) { - b.append(", "); - } + if (i != 0) { + b.append(", "); + } b.append(columns.get(i).toString()).append(" = ").append(values.get(i).toString()); } if (whereCondition != null) { 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 43a862758..936d1665b 100644 --- a/src/main/java/net/sf/jsqlparser/statement/replace/Replace.java +++ b/src/main/java/net/sf/jsqlparser/statement/replace/Replace.java @@ -65,8 +65,8 @@ public void setUseIntoTables(boolean 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". + * 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 */ @@ -75,9 +75,8 @@ public List getColumns() { } /** - * 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" + * 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; @@ -92,8 +91,8 @@ public void setItemsList(ItemsList list) { } /** - * A list of {@link net.sf.jsqlparser.expression.Expression}s (from a - * "REPLACE mytab SET col1=exp1, col2=exp2").
+ * 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() { 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 569ea312c..35c8acb52 100644 --- a/src/main/java/net/sf/jsqlparser/statement/select/AllTableColumns.java +++ b/src/main/java/net/sf/jsqlparser/statement/select/AllTableColumns.java @@ -28,30 +28,30 @@ public class AllTableColumns implements SelectItem { - private Table table; + private Table table; - public AllTableColumns() { - } + public AllTableColumns() { + } - public AllTableColumns(Table tableName) { - this.table = tableName; - } + public AllTableColumns(Table tableName) { + this.table = tableName; + } - public Table getTable() { - return table; - } + public Table getTable() { + return table; + } - public void setTable(Table table) { - this.table = table; - } + public void setTable(Table table) { + this.table = table; + } - @Override - public void accept(SelectItemVisitor selectItemVisitor) { - selectItemVisitor.visit(this); - } + @Override + public void accept(SelectItemVisitor selectItemVisitor) { + selectItemVisitor.visit(this); + } - @Override - public String toString() { - return table + ".*"; - } + @Override + public String toString() { + return table + ".*"; + } } diff --git a/src/main/java/net/sf/jsqlparser/statement/select/Distinct.java b/src/main/java/net/sf/jsqlparser/statement/select/Distinct.java index b243dc50e..e9d62ab0e 100644 --- a/src/main/java/net/sf/jsqlparser/statement/select/Distinct.java +++ b/src/main/java/net/sf/jsqlparser/statement/select/Distinct.java @@ -28,29 +28,28 @@ */ public class Distinct { - private List onSelectItems; + 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; - } + /** + * 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 void setOnSelectItems(List list) { + onSelectItems = list; + } public boolean isUseUnique() { return useUnique; @@ -60,14 +59,14 @@ public void setUseUnique(boolean useUnique) { this.useUnique = useUnique; } - @Override - public String toString() { - String sql = useUnique?"UNIQUE":"DISTINCT"; + @Override + public String toString() { + String sql = useUnique ? "UNIQUE" : "DISTINCT"; - if (onSelectItems != null && !onSelectItems.isEmpty()) { - sql += " ON (" + PlainSelect.getStringList(onSelectItems) + ")"; - } + if (onSelectItems != null && !onSelectItems.isEmpty()) { + sql += " ON (" + PlainSelect.getStringList(onSelectItems) + ")"; + } - return sql; - } + return sql; + } } diff --git a/src/main/java/net/sf/jsqlparser/statement/select/ExceptOp.java b/src/main/java/net/sf/jsqlparser/statement/select/ExceptOp.java index eea0050fb..d0db50bbd 100644 --- a/src/main/java/net/sf/jsqlparser/statement/select/ExceptOp.java +++ b/src/main/java/net/sf/jsqlparser/statement/select/ExceptOp.java @@ -29,7 +29,7 @@ */ public class ExceptOp extends SetOperation { - public ExceptOp() { - super(SetOperationType.EXCEPT); - } + public ExceptOp() { + super(SetOperationType.EXCEPT); + } } 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 fee65428d..4918ce756 100644 --- a/src/main/java/net/sf/jsqlparser/statement/select/Fetch.java +++ b/src/main/java/net/sf/jsqlparser/statement/select/Fetch.java @@ -26,45 +26,46 @@ */ public class Fetch { - private long rowCount; - private boolean fetchJdbcParameter = false; + private long rowCount; + private boolean fetchJdbcParameter = false; private boolean isFetchParamFirst = false; - private String fetchParam = "ROW"; + private String fetchParam = "ROW"; - public long getRowCount() { - return rowCount; - } + public long getRowCount() { + return rowCount; + } - public void setRowCount(long l) { - rowCount = l; - } + public void setRowCount(long l) { + rowCount = l; + } - public boolean isFetchJdbcParameter() { - return fetchJdbcParameter; - } + public boolean isFetchJdbcParameter() { + return fetchJdbcParameter; + } public String getFetchParam() { - return fetchParam; - } + return fetchParam; + } - public boolean isFetchParamFirst() { - return isFetchParamFirst; - } + public boolean isFetchParamFirst() { + return isFetchParamFirst; + } - public void setFetchJdbcParameter(boolean b) { - fetchJdbcParameter = b; - } + public void setFetchJdbcParameter(boolean b) { + fetchJdbcParameter = b; + } - public void setFetchParam(String s) { - this.fetchParam = s; - } + public void setFetchParam(String s) { + this.fetchParam = s; + } - public void setFetchParamFirst(boolean b) { - this.isFetchParamFirst = b; - } + public void setFetchParamFirst(boolean b) { + this.isFetchParamFirst = b; + } - @Override - public String toString() { - return " FETCH " + (isFetchParamFirst ? "FIRST" : "NEXT") + " " + (fetchJdbcParameter ? "?" : Long.toString(rowCount)) + " " + fetchParam + " ONLY"; - } + @Override + public String toString() { + return " FETCH " + (isFetchParamFirst ? "FIRST" : "NEXT") + " " + (fetchJdbcParameter ? "?" : 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 ab79dd22f..a476f025c 100644 --- a/src/main/java/net/sf/jsqlparser/statement/select/First.java +++ b/src/main/java/net/sf/jsqlparser/statement/select/First.java @@ -24,13 +24,14 @@ import net.sf.jsqlparser.expression.JdbcParameter; /** - * A FIRST clause in the form [FIRST row_count] the alternative form - * [LIMIT row_count] is also supported. - * + * A FIRST clause in the form [FIRST row_count] the alternative form [LIMIT row_count] is also + * supported. + * * 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 */ public class First { + public enum Keyword { FIRST, LIMIT @@ -64,7 +65,7 @@ public Keyword getKeyword() { public void setKeyword(Keyword keyword) { this.keyword = keyword; } - + public String getVariable() { return variable; } @@ -72,16 +73,16 @@ public String getVariable() { public void setVariable(String variable) { this.variable = variable; } - + @Override public String toString() { String result = keyword.name() + " "; - if(rowCount != null) { + if (rowCount != null) { result += rowCount; } else if (jdbcParameter != null) { result += jdbcParameter.toString(); - } else if (variable != null){ + } else if (variable != null) { result += variable; } diff --git a/src/main/java/net/sf/jsqlparser/statement/select/FromItem.java b/src/main/java/net/sf/jsqlparser/statement/select/FromItem.java index f20ceb880..f3781e289 100644 --- a/src/main/java/net/sf/jsqlparser/statement/select/FromItem.java +++ b/src/main/java/net/sf/jsqlparser/statement/select/FromItem.java @@ -24,16 +24,15 @@ import net.sf.jsqlparser.expression.Alias; /** - * An item in a "SELECT [...] FROM item1" statement. (for example a table or a - * sub-select) + * An item in a "SELECT [...] FROM item1" statement. (for example a table or a sub-select) */ public interface FromItem { - void accept(FromItemVisitor fromItemVisitor); + void accept(FromItemVisitor fromItemVisitor); - Alias getAlias(); + Alias getAlias(); - void setAlias(Alias alias); + void setAlias(Alias alias); Pivot getPivot(); diff --git a/src/main/java/net/sf/jsqlparser/statement/select/FromItemVisitor.java b/src/main/java/net/sf/jsqlparser/statement/select/FromItemVisitor.java index 9130aeba2..8ec50c1b3 100644 --- a/src/main/java/net/sf/jsqlparser/statement/select/FromItemVisitor.java +++ b/src/main/java/net/sf/jsqlparser/statement/select/FromItemVisitor.java @@ -25,15 +25,15 @@ public interface FromItemVisitor { - void visit(Table tableName); + void visit(Table tableName); - void visit(SubSelect subSelect); + void visit(SubSelect subSelect); - void visit(SubJoin subjoin); + void visit(SubJoin subjoin); - void visit(LateralSubSelect lateralSubSelect); + void visit(LateralSubSelect lateralSubSelect); - void visit(ValuesList valuesList); + void visit(ValuesList valuesList); - void visit(TableFunction tableFunction); + void visit(TableFunction tableFunction); } diff --git a/src/main/java/net/sf/jsqlparser/statement/select/FromItemVisitorAdapter.java b/src/main/java/net/sf/jsqlparser/statement/select/FromItemVisitorAdapter.java index 81448ee5d..c2af2a115 100644 --- a/src/main/java/net/sf/jsqlparser/statement/select/FromItemVisitorAdapter.java +++ b/src/main/java/net/sf/jsqlparser/statement/select/FromItemVisitorAdapter.java @@ -23,7 +23,8 @@ import net.sf.jsqlparser.schema.Table; -public class FromItemVisitorAdapter implements FromItemVisitor{ +public class FromItemVisitorAdapter implements FromItemVisitor { + @Override public void visit(Table table) { diff --git a/src/main/java/net/sf/jsqlparser/statement/select/IntersectOp.java b/src/main/java/net/sf/jsqlparser/statement/select/IntersectOp.java index ea933fae8..e6976134f 100644 --- a/src/main/java/net/sf/jsqlparser/statement/select/IntersectOp.java +++ b/src/main/java/net/sf/jsqlparser/statement/select/IntersectOp.java @@ -29,7 +29,7 @@ */ public class IntersectOp extends SetOperation { - public IntersectOp() { - super(SetOperationType.INTERSECT); - } + public IntersectOp() { + super(SetOperationType.INTERSECT); + } } diff --git a/src/main/java/net/sf/jsqlparser/statement/select/IntoTableVisitor.java b/src/main/java/net/sf/jsqlparser/statement/select/IntoTableVisitor.java index cdb8b8c25..9b0746d43 100644 --- a/src/main/java/net/sf/jsqlparser/statement/select/IntoTableVisitor.java +++ b/src/main/java/net/sf/jsqlparser/statement/select/IntoTableVisitor.java @@ -25,5 +25,5 @@ public interface IntoTableVisitor { - void visit(Table tableName); + void visit(Table tableName); } diff --git a/src/main/java/net/sf/jsqlparser/statement/select/IntoTableVisitorAdapter.java b/src/main/java/net/sf/jsqlparser/statement/select/IntoTableVisitorAdapter.java index 3992452d7..32f960e75 100644 --- a/src/main/java/net/sf/jsqlparser/statement/select/IntoTableVisitorAdapter.java +++ b/src/main/java/net/sf/jsqlparser/statement/select/IntoTableVisitorAdapter.java @@ -24,6 +24,7 @@ import net.sf.jsqlparser.schema.Table; public class IntoTableVisitorAdapter implements IntoTableVisitor { + @Override public void visit(Table tableName) { 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 f93a4e1eb..a2c87fb40 100644 --- a/src/main/java/net/sf/jsqlparser/statement/select/Join.java +++ b/src/main/java/net/sf/jsqlparser/statement/select/Join.java @@ -31,191 +31,194 @@ */ public class Join { - private boolean outer = false; - private boolean right = false; - private boolean left = false; - private boolean natural = false; - private boolean full = false; - private boolean inner = false; - private boolean simple = false; - private boolean cross = false; - private boolean semi = false; - private FromItem rightItem; - private Expression onExpression; - private List usingColumns; - - /** - * Whether is a tab1,tab2 join - * - * @return true if is a "tab1,tab2" join - */ - public boolean isSimple() { - return simple; - } - - public void setSimple(boolean b) { - simple = b; - } - - /** - * Whether is a "INNER" join - * - * @return true if is a "INNER" join - */ - public boolean isInner() { - return inner; - } - - public void setInner(boolean b) { - inner = b; - } - - /** - * Whether is a "OUTER" join - * - * @return true if is a "OUTER" join - */ - public boolean isOuter() { - return outer; - } - - public void setOuter(boolean b) { - outer = b; - } - - /** - * Whether is a "SEMI" join - * - * @return true if is a "SEMI" join - */ - public boolean isSemi() { return semi; } - - public void setSemi(boolean b) { semi = b; } - - /** - * Whether is a "LEFT" join - * - * @return true if is a "LEFT" join - */ - public boolean isLeft() { - return left; - } - - public void setLeft(boolean b) { - left = b; - } - - /** - * Whether is a "RIGHT" join - * - * @return true if is a "RIGHT" join - */ - public boolean isRight() { - return right; - } - - public void setRight(boolean b) { - right = b; - } - - /** - * Whether is a "NATURAL" join - * - * @return true if is a "NATURAL" join - */ - public boolean isNatural() { - return natural; - } - - public void setNatural(boolean b) { - natural = b; - } - - /** - * Whether is a "FULL" join - * - * @return true if is a "FULL" join - */ - public boolean isFull() { - return full; - } - - public void setFull(boolean b) { - full = b; - } - - public boolean isCross() { - return cross; - } - - public void setCross(boolean cross) { - this.cross = cross; - } - - /** - * Returns the right item of the join - */ - public FromItem getRightItem() { - return rightItem; - } - - public void setRightItem(FromItem item) { - rightItem = item; - } - - /** - * Returns the "ON" expression (if any) - */ - public Expression getOnExpression() { - return onExpression; - } - - public void setOnExpression(Expression expression) { - onExpression = expression; - } - - /** - * Returns the "USING" list of {@link net.sf.jsqlparser.schema.Column}s (if - * any) - */ - public List getUsingColumns() { - return usingColumns; - } - - public void setUsingColumns(List list) { - usingColumns = list; - } - - @Override - public String toString() { - if (isSimple()) { - return "" + rightItem; - } else { - String type = ""; - - if (isRight()) { - type += "RIGHT "; - } else if (isNatural()) { - type += "NATURAL "; - } else if (isFull()) { - type += "FULL "; - } else if (isLeft()) { - type += "LEFT "; - } else if (isCross()) { - type += "CROSS "; - } - - if (isOuter()) { - type += "OUTER "; - } else if (isInner()) { - type += "INNER "; - } else if (isSemi()) { - type += "SEMI "; - } - - return type + "JOIN " + rightItem + ((onExpression != null) ? " ON " + onExpression + "" : "") - + PlainSelect.getFormatedList(usingColumns, "USING", true, true); - } - - } + private boolean outer = false; + private boolean right = false; + private boolean left = false; + private boolean natural = false; + private boolean full = false; + private boolean inner = false; + private boolean simple = false; + private boolean cross = false; + private boolean semi = false; + private FromItem rightItem; + private Expression onExpression; + private List usingColumns; + + /** + * Whether is a tab1,tab2 join + * + * @return true if is a "tab1,tab2" join + */ + public boolean isSimple() { + return simple; + } + + public void setSimple(boolean b) { + simple = b; + } + + /** + * Whether is a "INNER" join + * + * @return true if is a "INNER" join + */ + public boolean isInner() { + return inner; + } + + public void setInner(boolean b) { + inner = b; + } + + /** + * Whether is a "OUTER" join + * + * @return true if is a "OUTER" join + */ + public boolean isOuter() { + return outer; + } + + public void setOuter(boolean b) { + outer = b; + } + + /** + * Whether is a "SEMI" join + * + * @return true if is a "SEMI" join + */ + public boolean isSemi() { + return semi; + } + + public void setSemi(boolean b) { + semi = b; + } + + /** + * Whether is a "LEFT" join + * + * @return true if is a "LEFT" join + */ + public boolean isLeft() { + return left; + } + + public void setLeft(boolean b) { + left = b; + } + + /** + * Whether is a "RIGHT" join + * + * @return true if is a "RIGHT" join + */ + public boolean isRight() { + return right; + } + + public void setRight(boolean b) { + right = b; + } + + /** + * Whether is a "NATURAL" join + * + * @return true if is a "NATURAL" join + */ + public boolean isNatural() { + return natural; + } + + public void setNatural(boolean b) { + natural = b; + } + + /** + * Whether is a "FULL" join + * + * @return true if is a "FULL" join + */ + public boolean isFull() { + return full; + } + + public void setFull(boolean b) { + full = b; + } + + public boolean isCross() { + return cross; + } + + public void setCross(boolean cross) { + this.cross = cross; + } + + /** + * Returns the right item of the join + */ + public FromItem getRightItem() { + return rightItem; + } + + public void setRightItem(FromItem item) { + rightItem = item; + } + + /** + * Returns the "ON" expression (if any) + */ + public Expression getOnExpression() { + return onExpression; + } + + public void setOnExpression(Expression expression) { + onExpression = expression; + } + + /** + * Returns the "USING" list of {@link net.sf.jsqlparser.schema.Column}s (if any) + */ + public List getUsingColumns() { + return usingColumns; + } + + public void setUsingColumns(List list) { + usingColumns = list; + } + + @Override + public String toString() { + if (isSimple()) { + return "" + rightItem; + } else { + String type = ""; + + if (isRight()) { + type += "RIGHT "; + } else if (isNatural()) { + type += "NATURAL "; + } else if (isFull()) { + type += "FULL "; + } else if (isLeft()) { + type += "LEFT "; + } else if (isCross()) { + type += "CROSS "; + } + + if (isOuter()) { + type += "OUTER "; + } else if (isInner()) { + type += "INNER "; + } else if (isSemi()) { + type += "SEMI "; + } + + return type + "JOIN " + rightItem + ((onExpression != null) ? " ON " + onExpression + "" : "") + + PlainSelect.getFormatedList(usingColumns, "USING", true, true); + } + + } } 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 3cefc4727..52b094f7d 100644 --- a/src/main/java/net/sf/jsqlparser/statement/select/LateralSubSelect.java +++ b/src/main/java/net/sf/jsqlparser/statement/select/LateralSubSelect.java @@ -30,47 +30,47 @@ */ public class LateralSubSelect implements FromItem { - private SubSelect subSelect; - private Alias alias; + private SubSelect subSelect; + private Alias alias; private Pivot pivot; - public void setSubSelect(SubSelect subSelect) { - this.subSelect = subSelect; - } + public void setSubSelect(SubSelect subSelect) { + this.subSelect = subSelect; + } - public SubSelect getSubSelect() { - return subSelect; - } + public SubSelect getSubSelect() { + return subSelect; + } - @Override - public void accept(FromItemVisitor fromItemVisitor) { - fromItemVisitor.visit(this); - } + @Override + public void accept(FromItemVisitor fromItemVisitor) { + fromItemVisitor.visit(this); + } - @Override - public Alias getAlias() { - return alias; - } + @Override + public Alias getAlias() { + return alias; + } - @Override - public void setAlias(Alias alias) { - this.alias = alias; - } + @Override + public void setAlias(Alias alias) { + this.alias = alias; + } - @Override + @Override public Pivot getPivot() { return pivot; } - @Override + @Override public void setPivot(Pivot pivot) { this.pivot = pivot; } @Override - public String toString() { - return "LATERAL" + subSelect.toString() + - ((pivot != null) ? " "+pivot : "") + - ((alias != null) ? alias.toString() : ""); - } + public String toString() { + return "LATERAL" + subSelect.toString() + + ((pivot != null) ? " " + pivot : "") + + ((alias != null) ? alias.toString() : ""); + } } 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 1b54cbfac..981ba5d56 100644 --- a/src/main/java/net/sf/jsqlparser/statement/select/Limit.java +++ b/src/main/java/net/sf/jsqlparser/statement/select/Limit.java @@ -24,64 +24,67 @@ import net.sf.jsqlparser.expression.Expression; /** - * A limit clause in the form [LIMIT {[offset,] row_count) | (row_count | ALL) - * OFFSET offset}] + * A limit clause in the form [LIMIT {[offset,] row_count) | (row_count | ALL) OFFSET offset}] */ public class Limit { - private Expression rowCount; - private Expression offset; - private boolean limitAll; + private Expression rowCount; + private Expression offset; + private boolean limitAll; private boolean limitNull = false; - public Expression getOffset() { - return offset; - } + public Expression getOffset() { + return offset; + } - public Expression getRowCount() { - return rowCount; - } + public Expression getRowCount() { + return rowCount; + } - public void setOffset(Expression l) { - offset = l; - } + public void setOffset(Expression l) { + offset = l; + } - public void setRowCount(Expression l) { - rowCount = l; - } + public void setRowCount(Expression l) { + rowCount = l; + } - /** - * @return true if the limit is "LIMIT ALL [OFFSET ...]) - */ - public boolean isLimitAll() { - return limitAll; - } + /** + * @return true if the limit is "LIMIT ALL [OFFSET ...]) + */ + public boolean isLimitAll() { + return limitAll; + } - public void setLimitAll(boolean b) { - limitAll = b; - } + public void setLimitAll(boolean b) { + limitAll = b; + } /** * @return true if the limit is "LIMIT NULL [OFFSET ...]) */ - public boolean isLimitNull() { return limitNull; } + public boolean isLimitNull() { + return limitNull; + } - public void setLimitNull(boolean b) { limitNull = b; } + public void setLimitNull(boolean b) { + limitNull = b; + } - @Override - public String toString() { - String retVal = " LIMIT "; - if (limitNull) { + @Override + public String toString() { + String retVal = " LIMIT "; + if (limitNull) { retVal += "NULL"; } else { if (null != offset) { retVal += offset + ", "; - } + } if (null != rowCount) { retVal += rowCount; } } - - return retVal; - } + + return retVal; + } } diff --git a/src/main/java/net/sf/jsqlparser/statement/select/MinusOp.java b/src/main/java/net/sf/jsqlparser/statement/select/MinusOp.java index 74b761626..d63a04bc6 100644 --- a/src/main/java/net/sf/jsqlparser/statement/select/MinusOp.java +++ b/src/main/java/net/sf/jsqlparser/statement/select/MinusOp.java @@ -29,7 +29,7 @@ */ public class MinusOp extends SetOperation { - public MinusOp() { - super(SetOperationType.MINUS); - } + public MinusOp() { + super(SetOperationType.MINUS); + } } 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 25b52f8b0..a8bb81fac 100644 --- a/src/main/java/net/sf/jsqlparser/statement/select/Offset.java +++ b/src/main/java/net/sf/jsqlparser/statement/select/Offset.java @@ -22,41 +22,40 @@ package net.sf.jsqlparser.statement.select; /** - * An offset clause in the form OFFSET offset - * or in the form OFFSET offset (ROW | ROWS) + * An offset clause in the form OFFSET offset or in the form OFFSET offset (ROW | ROWS) */ public class Offset { - private long offset; - private boolean offsetJdbcParameter = false; - private String offsetParam = null; + private long offset; + private boolean offsetJdbcParameter = false; + private String offsetParam = null; - public long getOffset() { - return offset; - } + public long getOffset() { + return offset; + } - public String getOffsetParam() { - return offsetParam; - } + public String getOffsetParam() { + return offsetParam; + } - public void setOffset(long l) { - offset = l; - } + public void setOffset(long l) { + offset = l; + } - public void setOffsetParam(String s) { - offsetParam = s; - } + public void setOffsetParam(String s) { + offsetParam = s; + } - public boolean isOffsetJdbcParameter() { - return offsetJdbcParameter; - } + public boolean isOffsetJdbcParameter() { + return offsetJdbcParameter; + } - public void setOffsetJdbcParameter(boolean b) { - offsetJdbcParameter = b; - } + public void setOffsetJdbcParameter(boolean b) { + offsetJdbcParameter = b; + } - @Override - public String toString() { - return " OFFSET " + (offsetJdbcParameter ? "?" : offset) + (offsetParam != null ? " "+offsetParam : ""); - } + @Override + public String toString() { + return " OFFSET " + (offsetJdbcParameter ? "?" : 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 50a7fb758..1a1a3fe66 100644 --- a/src/main/java/net/sf/jsqlparser/statement/select/OrderByElement.java +++ b/src/main/java/net/sf/jsqlparser/statement/select/OrderByElement.java @@ -54,7 +54,7 @@ public void setNullOrdering(NullOrdering nullOrdering) { public void setAsc(boolean b) { asc = b; } - + public void setAscDescPresent(boolean b) { ascDesc = b; } @@ -79,13 +79,13 @@ public void setExpression(Expression expression) { public String toString() { StringBuilder b = new StringBuilder(); b.append(expression.toString()); - + if (!asc) { b.append(" DESC"); } else if (ascDesc) { b.append(" ASC"); } - + if (nullOrdering != null) { b.append(' '); b.append(nullOrdering == NullOrdering.NULLS_FIRST ? "NULLS FIRST" : "NULLS LAST"); diff --git a/src/main/java/net/sf/jsqlparser/statement/select/OrderByVisitor.java b/src/main/java/net/sf/jsqlparser/statement/select/OrderByVisitor.java index 3c7542bf2..cd82b6885 100644 --- a/src/main/java/net/sf/jsqlparser/statement/select/OrderByVisitor.java +++ b/src/main/java/net/sf/jsqlparser/statement/select/OrderByVisitor.java @@ -23,5 +23,5 @@ public interface OrderByVisitor { - void visit(OrderByElement orderBy); + void visit(OrderByElement orderBy); } diff --git a/src/main/java/net/sf/jsqlparser/statement/select/OrderByVisitorAdapter.java b/src/main/java/net/sf/jsqlparser/statement/select/OrderByVisitorAdapter.java index cf83546ea..ba5bee90d 100644 --- a/src/main/java/net/sf/jsqlparser/statement/select/OrderByVisitorAdapter.java +++ b/src/main/java/net/sf/jsqlparser/statement/select/OrderByVisitorAdapter.java @@ -22,6 +22,7 @@ package net.sf.jsqlparser.statement.select; public class OrderByVisitorAdapter implements OrderByVisitor { + @Override public void visit(OrderByElement orderBy) { 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 15c103239..0c4729715 100755 --- a/src/main/java/net/sf/jsqlparser/statement/select/Pivot.java +++ b/src/main/java/net/sf/jsqlparser/statement/select/Pivot.java @@ -77,9 +77,10 @@ public List getInItems() { @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) + ")"; + return "PIVOT (" + + PlainSelect.getStringList(functionItems) + + " FOR " + PlainSelect. + getStringList(forColumns, true, forColumns != null && forColumns.size() > 1) + + " IN " + PlainSelect.getStringList(getInItems(), true, true) + ")"; } } diff --git a/src/main/java/net/sf/jsqlparser/statement/select/PivotVisitorAdapter.java b/src/main/java/net/sf/jsqlparser/statement/select/PivotVisitorAdapter.java index 23319a270..95ceaba69 100644 --- a/src/main/java/net/sf/jsqlparser/statement/select/PivotVisitorAdapter.java +++ b/src/main/java/net/sf/jsqlparser/statement/select/PivotVisitorAdapter.java @@ -22,6 +22,7 @@ package net.sf.jsqlparser.statement.select; public class PivotVisitorAdapter implements PivotVisitor { + @Override public void visit(Pivot pivot) { 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 3e9d3402a..43f76c12d 100644 --- a/src/main/java/net/sf/jsqlparser/statement/select/PivotXml.java +++ b/src/main/java/net/sf/jsqlparser/statement/select/PivotXml.java @@ -30,7 +30,7 @@ public class PivotXml extends Pivot { private SelectBody inSelect; private boolean inAny = false; - @Override + @Override public void accept(PivotVisitor pivotVisitor) { pivotVisitor.visit(this); } @@ -54,11 +54,13 @@ public void setInAny(boolean inAny) { @Override public String toString() { List forColumns = getForColumns(); - String in = inAny ? "ANY" : inSelect == null ? PlainSelect.getStringList(getInItems()) : inSelect.toString(); - return "PIVOT XML (" + - PlainSelect.getStringList(getFunctionItems()) + - " FOR " + PlainSelect.getStringList(forColumns, true, forColumns != null && forColumns.size() > 1) + - " IN (" + in + "))"; + String in = inAny ? "ANY" : inSelect == null ? PlainSelect.getStringList(getInItems()) : inSelect. + toString(); + return "PIVOT XML (" + + PlainSelect.getStringList(getFunctionItems()) + + " FOR " + PlainSelect. + getStringList(forColumns, true, forColumns != null && forColumns.size() > 1) + + " IN (" + in + "))"; } } diff --git a/src/main/java/net/sf/jsqlparser/statement/select/PlainSelect.java b/src/main/java/net/sf/jsqlparser/statement/select/PlainSelect.java index 252d6b8cd..1aaa53489 100644 --- a/src/main/java/net/sf/jsqlparser/statement/select/PlainSelect.java +++ b/src/main/java/net/sf/jsqlparser/statement/select/PlainSelect.java @@ -58,7 +58,7 @@ public class PlainSelect implements SelectBody { private Table forUpdateTable = null; private boolean useBrackets = false; private Wait wait; - + public boolean isUseBrackets() { return useBrackets; } @@ -81,8 +81,7 @@ public List
getIntoTables() { } /** - * The {@link SelectItem}s in this query (for example the A,B,C in "SELECT - * A,B,C") + * 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 */ @@ -190,7 +189,7 @@ public First getFirst() { public void setFirst(First first) { this.first = first; } - + public Distinct getDistinct() { return distinct; } @@ -208,8 +207,8 @@ public void setHaving(Expression expression) { } /** - * A list of {@link Expression}s of the GROUP BY clause. It is null in case - * there is no GROUP BY clause + * 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 */ @@ -267,12 +266,11 @@ public OracleHint getOracleHint() { public void setOracleHint(OracleHint oracleHint) { this.oracleHint = oracleHint; } - + /** * Sets the {@link Wait} for this SELECT - * - * @param wait - * the {@link Wait} for this SELECT + * + * @param wait the {@link Wait} for this SELECT */ public void setWait(final Wait wait) { this.wait = wait; @@ -280,7 +278,7 @@ public void setWait(final 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() { @@ -294,7 +292,7 @@ public String toString() { sql.append("("); } sql.append("SELECT "); - + if (oracleHint != null) { sql.append(oracleHint).append(" "); } @@ -302,11 +300,11 @@ public String toString() { if (skip != null) { sql.append(skip).append(" "); } - + if (first != null) { sql.append(first).append(" "); } - + if (distinct != null) { sql.append(distinct).append(" "); } @@ -364,7 +362,7 @@ public String toString() { if (forUpdateTable != null) { sql.append(" OF ").append(forUpdateTable); } - + if (wait != null) { // Wait's toString will do the formatting for us sql.append(wait); @@ -409,8 +407,8 @@ public static String getFormatedList(List list, String expression, boolean us } /** - * List the toString out put of the objects in the List comma separated. If - * the List is null or empty an empty string is returned. + * List the toString out put of the objects in the List comma separated. If the List is null or + * empty an empty string is returned. * * The same as getStringList(list, true, false) * @@ -423,8 +421,8 @@ public static String getStringList(List list) { } /** - * List the toString out put of the objects in the List that can be comma - * separated. If the List is null or empty an empty string is returned. + * List the toString out put of the objects in the List that can be comma separated. If the List + * is null or empty an empty string is returned. * * @param list list of objects with toString methods * @param useComma true if the list has to be comma separated @@ -432,7 +430,7 @@ public static String getStringList(List list) { * @return comma separated list of the elements in the list */ public static String getStringList(List list, boolean useComma, boolean useBrackets) { - StringBuilder ans=new StringBuilder(); + StringBuilder ans = new StringBuilder(); // String ans = ""; String comma = ","; if (!useComma) { @@ -457,4 +455,4 @@ public static String getStringList(List list, boolean useComma, boolean useBr return ans.toString(); } -} \ No newline at end of file +} diff --git a/src/main/java/net/sf/jsqlparser/statement/select/SelectBody.java b/src/main/java/net/sf/jsqlparser/statement/select/SelectBody.java index 30693a1f9..40e320d57 100644 --- a/src/main/java/net/sf/jsqlparser/statement/select/SelectBody.java +++ b/src/main/java/net/sf/jsqlparser/statement/select/SelectBody.java @@ -23,5 +23,5 @@ public interface SelectBody { - void accept(SelectVisitor selectVisitor); + void accept(SelectVisitor selectVisitor); } 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 23a0f3d33..7250d1973 100644 --- a/src/main/java/net/sf/jsqlparser/statement/select/SelectExpressionItem.java +++ b/src/main/java/net/sf/jsqlparser/statement/select/SelectExpressionItem.java @@ -29,39 +29,39 @@ */ public class SelectExpressionItem implements SelectItem { - private Expression expression; - private Alias alias; + private Expression expression; + private Alias alias; - public SelectExpressionItem() { - } + public SelectExpressionItem() { + } - public SelectExpressionItem(Expression expression) { - this.expression = expression; - } - - public Alias getAlias() { - return alias; - } + public SelectExpressionItem(Expression expression) { + this.expression = expression; + } - public Expression getExpression() { - return expression; - } + public Alias getAlias() { + return alias; + } - public void setAlias(Alias alias) { - this.alias = alias; - } + public Expression getExpression() { + return expression; + } - public void setExpression(Expression expression) { - this.expression = expression; - } + public void setAlias(Alias alias) { + this.alias = alias; + } - @Override - public void accept(SelectItemVisitor selectItemVisitor) { - selectItemVisitor.visit(this); - } + public void setExpression(Expression expression) { + this.expression = expression; + } - @Override - public String toString() { - return expression + ((alias != null) ? alias.toString() : ""); - } + @Override + public void accept(SelectItemVisitor selectItemVisitor) { + selectItemVisitor.visit(this); + } + + @Override + public String toString() { + return expression + ((alias != null) ? alias.toString() : ""); + } } diff --git a/src/main/java/net/sf/jsqlparser/statement/select/SelectItem.java b/src/main/java/net/sf/jsqlparser/statement/select/SelectItem.java index 1ec8b1154..8b186ed5a 100644 --- a/src/main/java/net/sf/jsqlparser/statement/select/SelectItem.java +++ b/src/main/java/net/sf/jsqlparser/statement/select/SelectItem.java @@ -27,5 +27,5 @@ */ public interface SelectItem { - void accept(SelectItemVisitor selectItemVisitor); + void accept(SelectItemVisitor selectItemVisitor); } diff --git a/src/main/java/net/sf/jsqlparser/statement/select/SelectItemVisitor.java b/src/main/java/net/sf/jsqlparser/statement/select/SelectItemVisitor.java index 72584e7d3..955999ef0 100644 --- a/src/main/java/net/sf/jsqlparser/statement/select/SelectItemVisitor.java +++ b/src/main/java/net/sf/jsqlparser/statement/select/SelectItemVisitor.java @@ -23,9 +23,9 @@ public interface SelectItemVisitor { - void visit(AllColumns allColumns); + void visit(AllColumns allColumns); - void visit(AllTableColumns allTableColumns); + void visit(AllTableColumns allTableColumns); - void visit(SelectExpressionItem selectExpressionItem); + void visit(SelectExpressionItem selectExpressionItem); } diff --git a/src/main/java/net/sf/jsqlparser/statement/select/SelectItemVisitorAdapter.java b/src/main/java/net/sf/jsqlparser/statement/select/SelectItemVisitorAdapter.java index 6618aad1e..cb702aa87 100644 --- a/src/main/java/net/sf/jsqlparser/statement/select/SelectItemVisitorAdapter.java +++ b/src/main/java/net/sf/jsqlparser/statement/select/SelectItemVisitorAdapter.java @@ -21,7 +21,8 @@ */ package net.sf.jsqlparser.statement.select; -public class SelectItemVisitorAdapter implements SelectItemVisitor{ +public class SelectItemVisitorAdapter implements SelectItemVisitor { + @Override public void visit(AllColumns columns) { diff --git a/src/main/java/net/sf/jsqlparser/statement/select/SelectVisitor.java b/src/main/java/net/sf/jsqlparser/statement/select/SelectVisitor.java index dba85516f..2aff5e38d 100644 --- a/src/main/java/net/sf/jsqlparser/statement/select/SelectVisitor.java +++ b/src/main/java/net/sf/jsqlparser/statement/select/SelectVisitor.java @@ -23,9 +23,9 @@ public interface SelectVisitor { - void visit(PlainSelect plainSelect); + void visit(PlainSelect plainSelect); - void visit(SetOperationList setOpList); + void visit(SetOperationList setOpList); - void visit(WithItem withItem); + void visit(WithItem withItem); } diff --git a/src/main/java/net/sf/jsqlparser/statement/select/SelectVisitorAdapter.java b/src/main/java/net/sf/jsqlparser/statement/select/SelectVisitorAdapter.java index 6eacb5cec..0d60728e2 100644 --- a/src/main/java/net/sf/jsqlparser/statement/select/SelectVisitorAdapter.java +++ b/src/main/java/net/sf/jsqlparser/statement/select/SelectVisitorAdapter.java @@ -22,14 +22,15 @@ package net.sf.jsqlparser.statement.select; public class SelectVisitorAdapter implements SelectVisitor { + @Override public void visit(PlainSelect plainSelect) { - + } @Override public void visit(SetOperationList setOpList) { - + } @Override 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 96056f189..918eb4350 100644 --- a/src/main/java/net/sf/jsqlparser/statement/select/SetOperation.java +++ b/src/main/java/net/sf/jsqlparser/statement/select/SetOperation.java @@ -24,21 +24,20 @@ import net.sf.jsqlparser.statement.select.SetOperationList.SetOperationType; /** - * Single Set-Operation (name). Placeholder for one specific set operation, e.g. - * union, intersect. + * Single Set-Operation (name). Placeholder for one specific set operation, e.g. union, intersect. * * @author tw */ public abstract class SetOperation { - private SetOperationType type; + private SetOperationType type; - public SetOperation(SetOperationType type) { - this.type = type; - } + public SetOperation(SetOperationType type) { + this.type = type; + } - @Override - public String toString() { - return type.name(); - } + @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 3ba43eb65..7bde7cd87 100644 --- a/src/main/java/net/sf/jsqlparser/statement/select/SetOperationList.java +++ b/src/main/java/net/sf/jsqlparser/statement/select/SetOperationList.java @@ -24,9 +24,8 @@ import java.util.List; /** - * 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. + * 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 */ @@ -111,7 +110,7 @@ public String toString() { if (i != 0) { buffer.append(" ").append(operations.get(i - 1).toString()).append(" "); } - if (brackets==null || brackets.get(i)) { + if (brackets == null || brackets.get(i)) { buffer.append("(").append(selects.get(i).toString()).append(")"); } else { buffer.append(selects.get(i).toString()); 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 a1162c1d8..d9237ee69 100644 --- a/src/main/java/net/sf/jsqlparser/statement/select/Skip.java +++ b/src/main/java/net/sf/jsqlparser/statement/select/Skip.java @@ -25,7 +25,7 @@ /** * A skip clause in the form [SKIP row_count] - * + * * 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 */ @@ -63,11 +63,11 @@ public void setVariable(String variable) { public String toString() { String result = "SKIP "; - if(rowCount != null) { + if (rowCount != null) { result += rowCount; } else if (jdbcParameter != null) { result += jdbcParameter.toString(); - } else if (variable != null){ + } else if (variable != null) { result += variable; } 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 0b9cea66e..ee568f9d1 100644 --- a/src/main/java/net/sf/jsqlparser/statement/select/SubJoin.java +++ b/src/main/java/net/sf/jsqlparser/statement/select/SubJoin.java @@ -28,56 +28,56 @@ */ public class SubJoin implements FromItem { - private FromItem left; - private Join join; - private Alias alias; - private Pivot pivot; + private FromItem left; + private Join join; + private Alias alias; + private Pivot pivot; - @Override - public void accept(FromItemVisitor fromItemVisitor) { - fromItemVisitor.visit(this); - } + @Override + public void accept(FromItemVisitor fromItemVisitor) { + fromItemVisitor.visit(this); + } - public FromItem getLeft() { - return left; - } + public FromItem getLeft() { + return left; + } - public void setLeft(FromItem l) { - left = l; - } + public void setLeft(FromItem l) { + left = l; + } - public Join getJoin() { - return join; - } + public Join getJoin() { + return join; + } - public void setJoin(Join j) { - join = j; - } + public void setJoin(Join j) { + join = j; + } - @Override - public Pivot getPivot() { - return pivot; - } + @Override + public Pivot getPivot() { + return pivot; + } - @Override - public void setPivot(Pivot pivot) { - this.pivot = pivot; - } + @Override + public void setPivot(Pivot pivot) { + this.pivot = pivot; + } - @Override - public Alias getAlias() { - return alias; - } + @Override + public Alias getAlias() { + return alias; + } - @Override - public void setAlias(Alias alias) { - this.alias = alias; - } + @Override + public void setAlias(Alias alias) { + this.alias = alias; + } - @Override - public String toString() { - return "(" + left + " " + join + ")" - + ((pivot != null) ? " " + pivot : "") - + ((alias != null) ? alias.toString() : ""); - } + @Override + public String toString() { + return "(" + left + " " + join + ")" + + ((pivot != null) ? " " + pivot : "") + + ((alias != null) ? alias.toString() : ""); + } } diff --git a/src/main/java/net/sf/jsqlparser/statement/select/SubSelect.java b/src/main/java/net/sf/jsqlparser/statement/select/SubSelect.java index 322d6190f..741fc9d06 100644 --- a/src/main/java/net/sf/jsqlparser/statement/select/SubSelect.java +++ b/src/main/java/net/sf/jsqlparser/statement/select/SubSelect.java @@ -86,7 +86,7 @@ public boolean isUseBrackets() { public void setUseBrackets(boolean useBrackets) { this.useBrackets = useBrackets; } - + public List getWithItemsList() { return withItemsList; } @@ -103,8 +103,9 @@ public void accept(ItemsListVisitor itemsListVisitor) { @Override public String toString() { StringBuilder retval = new StringBuilder(); - if (useBrackets) + if (useBrackets) { retval.append("("); + } if (withItemsList != null && !withItemsList.isEmpty()) { retval.append("WITH "); for (Iterator iter = withItemsList.iterator(); iter.hasNext();) { @@ -117,16 +118,17 @@ public String toString() { } } retval.append(selectBody); - if (useBrackets) + if (useBrackets) { retval.append(")"); - + } + if (pivot != null) { retval.append(" ").append(pivot); } if (alias != null) { retval.append(alias.toString()); } - + 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 54660dbda..3bb89b7e4 100644 --- a/src/main/java/net/sf/jsqlparser/statement/select/TableFunction.java +++ b/src/main/java/net/sf/jsqlparser/statement/select/TableFunction.java @@ -36,4 +36,4 @@ public Pivot getPivot() { @Override public void setPivot(Pivot pivot) { } -} \ No newline at end of file +} 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 a4a7d4e76..43eb49469 100644 --- a/src/main/java/net/sf/jsqlparser/statement/select/UnionOp.java +++ b/src/main/java/net/sf/jsqlparser/statement/select/UnionOp.java @@ -29,37 +29,37 @@ */ public class UnionOp extends SetOperation { - private boolean distinct; - private boolean all; + private boolean distinct; + private boolean all; - public UnionOp() { - super(SetOperationType.UNION); - } + public UnionOp() { + super(SetOperationType.UNION); + } - public boolean isAll() { - return all; - } + public boolean isAll() { + return all; + } - public void setAll(boolean all) { - this.all = all; - } + public void setAll(boolean all) { + this.all = all; + } - public boolean isDistinct() { - return distinct; - } + public boolean isDistinct() { + return distinct; + } - public void setDistinct(boolean distinct) { - this.distinct = distinct; - } + public void setDistinct(boolean distinct) { + this.distinct = distinct; + } - @Override - public String toString() { - String allDistinct = ""; - if (isAll()) { - allDistinct = " ALL"; - } else if (isDistinct()) { - allDistinct = " DISTINCT"; - } - return super.toString() + allDistinct; - } + @Override + public String toString() { + String allDistinct = ""; + if (isAll()) { + allDistinct = " ALL"; + } else if (isDistinct()) { + allDistinct = " DISTINCT"; + } + return super.toString() + allDistinct; + } } diff --git a/src/main/java/net/sf/jsqlparser/statement/select/ValuesList.java b/src/main/java/net/sf/jsqlparser/statement/select/ValuesList.java index 0234aa611..26f9a919f 100644 --- a/src/main/java/net/sf/jsqlparser/statement/select/ValuesList.java +++ b/src/main/java/net/sf/jsqlparser/statement/select/ValuesList.java @@ -29,39 +29,39 @@ import net.sf.jsqlparser.expression.Alias; /** - * This is a container for a values item within a select statement. It holds - * some syntactical stuff that differs from values within an insert statement. + * This is a container for a values item within a select statement. It holds some syntactical stuff + * that differs from values within an insert statement. * * @author toben */ public class ValuesList implements FromItem { - private Alias alias; - private MultiExpressionList multiExpressionList; - private boolean noBrackets = false; - private List columnNames; + private Alias alias; + private MultiExpressionList multiExpressionList; + private boolean noBrackets = false; + private List columnNames; - public ValuesList() { - } + public ValuesList() { + } - public ValuesList(MultiExpressionList multiExpressionList) { - this.multiExpressionList = multiExpressionList; - } + public ValuesList(MultiExpressionList multiExpressionList) { + this.multiExpressionList = multiExpressionList; + } - @Override - public void accept(FromItemVisitor fromItemVisitor) { - fromItemVisitor.visit(this); - } + @Override + public void accept(FromItemVisitor fromItemVisitor) { + fromItemVisitor.visit(this); + } - @Override - public Alias getAlias() { - return alias; - } + @Override + public Alias getAlias() { + return alias; + } - @Override - public void setAlias(Alias alias) { - this.alias = alias; - } + @Override + public void setAlias(Alias alias) { + this.alias = alias; + } @Override public Pivot getPivot() { @@ -73,55 +73,56 @@ public void setPivot(Pivot pivot) { } public MultiExpressionList getMultiExpressionList() { - return multiExpressionList; - } - - public void setMultiExpressionList(MultiExpressionList multiExpressionList) { - this.multiExpressionList = multiExpressionList; - } - - public boolean isNoBrackets() { - return noBrackets; - } - - public void setNoBrackets(boolean noBrackets) { - this.noBrackets = noBrackets; - } - - @Override - public String toString() { - StringBuilder b = new StringBuilder(); - - b.append("(VALUES "); - for (Iterator it = getMultiExpressionList().getExprList().iterator(); it.hasNext();) { - b.append(PlainSelect.getStringList(it.next().getExpressions(), true, !isNoBrackets())); - if (it.hasNext()) { - b.append(", "); - } - } - b.append(")"); - if (alias != null) { - b.append(alias.toString()); - - if (columnNames != null) { - b.append("("); - for (Iterator it = columnNames.iterator(); it.hasNext();) { - b.append(it.next()); - if (it.hasNext()) { - b.append(", "); - } - } - b.append(")"); - } - } - return b.toString(); - } - - public List getColumnNames() { - return columnNames; - } - - public void setColumnNames(List columnNames) { - this.columnNames = columnNames; - } + return multiExpressionList; + } + + public void setMultiExpressionList(MultiExpressionList multiExpressionList) { + this.multiExpressionList = multiExpressionList; + } + + public boolean isNoBrackets() { + return noBrackets; + } + + public void setNoBrackets(boolean noBrackets) { + this.noBrackets = noBrackets; + } + + @Override + public String toString() { + StringBuilder b = new StringBuilder(); + + b.append("(VALUES "); + for (Iterator it = getMultiExpressionList().getExprList().iterator(); it. + hasNext();) { + b.append(PlainSelect.getStringList(it.next().getExpressions(), true, !isNoBrackets())); + if (it.hasNext()) { + b.append(", "); + } + } + b.append(")"); + if (alias != null) { + b.append(alias.toString()); + + if (columnNames != null) { + b.append("("); + for (Iterator it = columnNames.iterator(); it.hasNext();) { + b.append(it.next()); + if (it.hasNext()) { + b.append(", "); + } + } + b.append(")"); + } + } + return b.toString(); + } + + public List getColumnNames() { + return columnNames; + } + + public void setColumnNames(List columnNames) { + this.columnNames = columnNames; + } } 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 f9d4f82bb..7de26ba26 100644 --- a/src/main/java/net/sf/jsqlparser/statement/select/Wait.java +++ b/src/main/java/net/sf/jsqlparser/statement/select/Wait.java @@ -11,42 +11,40 @@ package net.sf.jsqlparser.statement.select; /** - * A timeout applied to SELECT to specify how long to wait for the row on the - * lock to be released. - * + * A timeout applied to SELECT to specify how long to wait for the row on the lock to be released. + * * @author janmonterrubio */ public class Wait { + private long timeout; /** * Returns the number of seconds specified for the WAIT command - * + * * @return the number of seconds specified for the WAIT command */ public long getTimeout() { - return timeout; + 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} + * + * @param timeout the number of seconds to WAIT for this {@link Wait} */ public void setTimeout(long timeout) { - this.timeout = timeout; + this.timeout = timeout; } /** - * Returns a String containing the WAIT clause and its timeout, where - * TIMEOUT is specified by {@link #getTimeout()}. The returned string will - * be: + * Returns a String containing the WAIT clause and its timeout, where TIMEOUT is specified by + * {@link #getTimeout()}. The returned string will null be: * " WAIT <TIMEOUT>" * */ @Override public String toString() { - return " WAIT " + timeout; + return " WAIT " + timeout; } } diff --git a/src/main/java/net/sf/jsqlparser/statement/select/WithItem.java b/src/main/java/net/sf/jsqlparser/statement/select/WithItem.java index 682b32567..6a8b16d30 100644 --- a/src/main/java/net/sf/jsqlparser/statement/select/WithItem.java +++ b/src/main/java/net/sf/jsqlparser/statement/select/WithItem.java @@ -34,8 +34,7 @@ public class WithItem implements SelectBody { private boolean recursive; /** - * The name of this WITH item (for example, "myWITH" in "WITH myWITH AS - * (SELECT A,B,C))" + * The name of this WITH item (for example, "myWITH" in "WITH myWITH AS (SELECT A,B,C))" * * @return the name of this WITH */ @@ -56,8 +55,7 @@ public void setRecursive(boolean recursive) { } /** - * The {@link SelectBody} of this WITH item is the part after the "AS" - * keyword + * The {@link SelectBody} of this WITH item is the part after the "AS" keyword * * @return {@link SelectBody} of this WITH item */ @@ -70,8 +68,7 @@ public void setSelectBody(SelectBody selectBody) { } /** - * The {@link SelectItem}s in this WITH (for example the A,B,C in "WITH - * mywith (A,B,C) AS ...") + * 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 */ @@ -85,7 +82,8 @@ public void setWithItemList(List withItemList) { @Override public String toString() { - return (recursive ? "RECURSIVE " : "") + name + ((withItemList != null) ? " " + PlainSelect.getStringList(withItemList, true, true) : "") + return (recursive ? "RECURSIVE " : "") + name + ((withItemList != null) ? " " + PlainSelect. + getStringList(withItemList, true, true) : "") + " AS (" + selectBody + ")"; } 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 0cd77c465..d07299289 100644 --- a/src/main/java/net/sf/jsqlparser/statement/truncate/Truncate.java +++ b/src/main/java/net/sf/jsqlparser/statement/truncate/Truncate.java @@ -30,23 +30,23 @@ */ public class Truncate implements Statement { - private Table table; + private Table table; - @Override - public void accept(StatementVisitor statementVisitor) { - statementVisitor.visit(this); - } + @Override + public void accept(StatementVisitor statementVisitor) { + statementVisitor.visit(this); + } - public Table getTable() { - return table; - } + public Table getTable() { + return table; + } - public void setTable(Table table) { - this.table = table; - } + public void setTable(Table table) { + this.table = table; + } - @Override - public String toString() { - return "TRUNCATE TABLE " + table; - } + @Override + public String toString() { + return "TRUNCATE TABLE " + table; + } } diff --git a/src/main/java/net/sf/jsqlparser/statement/update/Update.java b/src/main/java/net/sf/jsqlparser/statement/update/Update.java index 5cf2416f4..ab9e22c16 100644 --- a/src/main/java/net/sf/jsqlparser/statement/update/Update.java +++ b/src/main/java/net/sf/jsqlparser/statement/update/Update.java @@ -41,201 +41,201 @@ */ public class Update implements Statement { - private List
tables; - private Expression where; - private List columns; - private List expressions; - private FromItem fromItem; - private List joins; - private Select select; - private boolean useColumnsBrackets = true; - private boolean useSelect = false; - private List orderByElements; - private Limit limit; - private boolean returningAllColumns = false; - private List returningExpressionList = null; - - @Override - 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 "); - b.append(PlainSelect.getStringList(getTables(), true, false)).append(" SET "); - - if (!useSelect) { - for (int i = 0; i < getColumns().size(); i++) { - if (i != 0) { - b.append(", "); - } - b.append(columns.get(i)).append(" = "); - b.append(expressions.get(i)); - } - } else { - if (useColumnsBrackets) { - b.append("("); - } - for (int i = 0; i < getColumns().size(); i++) { - if (i != 0) { - b.append(", "); - } - b.append(columns.get(i)); - } - if (useColumnsBrackets) { - b.append(")"); - } - b.append(" = "); - b.append("(").append(select).append(")"); - } - - if (fromItem != null) { - b.append(" FROM ").append(fromItem); - if (joins != null) { - for (Join join : joins) { - if (join.isSimple()) { - b.append(", ").append(join); - } else { - b.append(" ").append(join); - } - } - } - } - - if (where != null) { - b.append(" WHERE "); - b.append(where); - } - if (orderByElements!=null) { - b.append(PlainSelect.orderByToString(orderByElements)); - } - if (limit != null) { - b.append(limit); - } - - if (isReturningAllColumns()) { - b.append(" RETURNING *"); - } else if (getReturningExpressionList() != null) { - b.append(" RETURNING ").append(PlainSelect.getStringList(getReturningExpressionList(), true, false)); - } - - return b.toString(); - } + private List
tables; + private Expression where; + private List columns; + private List expressions; + private FromItem fromItem; + private List joins; + private Select select; + private boolean useColumnsBrackets = true; + private boolean useSelect = false; + private List orderByElements; + private Limit limit; + private boolean returningAllColumns = false; + private List returningExpressionList = null; + + @Override + 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 "); + b.append(PlainSelect.getStringList(getTables(), true, false)).append(" SET "); + + if (!useSelect) { + for (int i = 0; i < getColumns().size(); i++) { + if (i != 0) { + b.append(", "); + } + b.append(columns.get(i)).append(" = "); + b.append(expressions.get(i)); + } + } else { + if (useColumnsBrackets) { + b.append("("); + } + for (int i = 0; i < getColumns().size(); i++) { + if (i != 0) { + b.append(", "); + } + b.append(columns.get(i)); + } + if (useColumnsBrackets) { + b.append(")"); + } + b.append(" = "); + b.append("(").append(select).append(")"); + } + + if (fromItem != null) { + b.append(" FROM ").append(fromItem); + if (joins != null) { + for (Join join : joins) { + if (join.isSimple()) { + b.append(", ").append(join); + } else { + b.append(" ").append(join); + } + } + } + } + + if (where != null) { + b.append(" WHERE "); + b.append(where); + } + if (orderByElements != null) { + b.append(PlainSelect.orderByToString(orderByElements)); + } + if (limit != null) { + b.append(limit); + } + + if (isReturningAllColumns()) { + b.append(" RETURNING *"); + } else if (getReturningExpressionList() != null) { + b.append(" RETURNING ").append(PlainSelect. + getStringList(getReturningExpressionList(), true, false)); + } + + return b.toString(); + } } diff --git a/src/main/java/net/sf/jsqlparser/util/AddAliasesVisitor.java b/src/main/java/net/sf/jsqlparser/util/AddAliasesVisitor.java index eb5eefbb2..370a363df 100644 --- a/src/main/java/net/sf/jsqlparser/util/AddAliasesVisitor.java +++ b/src/main/java/net/sf/jsqlparser/util/AddAliasesVisitor.java @@ -27,94 +27,93 @@ import java.util.*; /** - * Add aliases to every column and expression selected by a select - statement. - * Existing aliases are recognized and preserved. This class standard uses a - * prefix of A and a counter to generate new aliases (e.g. A1, A5, ...). This - * behaviour can be altered. + * Add aliases to every column and expression selected by a select - statement. Existing aliases are + * recognized and preserved. This class standard uses a prefix of A and a counter to generate new + * aliases (e.g. A1, A5, ...). This behaviour can be altered. * * @author tw */ public class AddAliasesVisitor implements SelectVisitor, SelectItemVisitor { - private static final String NOT_SUPPORTED_YET = "Not supported yet."; - private List aliases = new LinkedList(); - private boolean firstRun = true; - private int counter = 0; - private String prefix = "A"; + private static final String NOT_SUPPORTED_YET = "Not supported yet."; + private List aliases = new LinkedList(); + private boolean firstRun = true; + private int counter = 0; + private String prefix = "A"; - @Override - public void visit(PlainSelect plainSelect) { - firstRun = true; - counter = 0; - aliases.clear(); - for (SelectItem item : plainSelect.getSelectItems()) { - item.accept(this); - } - firstRun = false; - for (SelectItem item : plainSelect.getSelectItems()) { - item.accept(this); - } - } + @Override + public void visit(PlainSelect plainSelect) { + firstRun = true; + counter = 0; + aliases.clear(); + for (SelectItem item : plainSelect.getSelectItems()) { + item.accept(this); + } + firstRun = false; + for (SelectItem item : plainSelect.getSelectItems()) { + item.accept(this); + } + } - @Override - public void visit(SetOperationList setOpList) { - for (SelectBody select : setOpList.getSelects()) { - select.accept(this); - } - } + @Override + public void visit(SetOperationList setOpList) { + for (SelectBody select : setOpList.getSelects()) { + select.accept(this); + } + } - @Override - public void visit(AllTableColumns allTableColumns) { - throw new UnsupportedOperationException(NOT_SUPPORTED_YET); - } + @Override + public void visit(AllTableColumns allTableColumns) { + throw new UnsupportedOperationException(NOT_SUPPORTED_YET); + } - @Override - public void visit(SelectExpressionItem selectExpressionItem) { - if (firstRun) { - if (selectExpressionItem.getAlias() != null) { - aliases.add(selectExpressionItem.getAlias().getName().toUpperCase()); - } - } else { - if (selectExpressionItem.getAlias() == null) { + @Override + public void visit(SelectExpressionItem selectExpressionItem) { + if (firstRun) { + if (selectExpressionItem.getAlias() != null) { + aliases.add(selectExpressionItem.getAlias().getName().toUpperCase()); + } + } else { + if (selectExpressionItem.getAlias() == null) { - while (true) { - String alias = getNextAlias().toUpperCase(); - if (!aliases.contains(alias)) { - aliases.add(alias); - selectExpressionItem.setAlias(new Alias(alias)); - break; - } - } - } - } - } + while (true) { + String alias = getNextAlias().toUpperCase(); + if (!aliases.contains(alias)) { + aliases.add(alias); + selectExpressionItem.setAlias(new Alias(alias)); + break; + } + } + } + } + } - /** - * Calculate next alias name to use. - * - * @return - */ - protected String getNextAlias() { - counter++; - return prefix + counter; - } + /** + * Calculate next alias name to use. + * + * @return + */ + protected String getNextAlias() { + counter++; + return prefix + counter; + } - /** - * Set alias prefix. - * - * @param prefix - */ - public void setPrefix(String prefix) { - this.prefix = prefix; - } + /** + * Set alias prefix. + * + * @param prefix + */ + public void setPrefix(String prefix) { + this.prefix = prefix; + } - @Override - public void visit(WithItem withItem) { - throw new UnsupportedOperationException(NOT_SUPPORTED_YET); //To change body of generated methods, choose Tools | Templates. - } + @Override + public void visit(WithItem withItem) { + throw new UnsupportedOperationException(NOT_SUPPORTED_YET); //To change body of generated methods, choose Tools | Templates. + } - @Override - public void visit(AllColumns allColumns) { - throw new UnsupportedOperationException(NOT_SUPPORTED_YET); //To change body of generated methods, choose Tools | Templates. - } + @Override + public void visit(AllColumns allColumns) { + throw new UnsupportedOperationException(NOT_SUPPORTED_YET); //To change body of generated methods, choose Tools | Templates. + } } diff --git a/src/main/java/net/sf/jsqlparser/util/ConnectExpressionsVisitor.java b/src/main/java/net/sf/jsqlparser/util/ConnectExpressionsVisitor.java index 82ced6a3f..a581f2398 100644 --- a/src/main/java/net/sf/jsqlparser/util/ConnectExpressionsVisitor.java +++ b/src/main/java/net/sf/jsqlparser/util/ConnectExpressionsVisitor.java @@ -27,83 +27,81 @@ import java.util.*; /** - * Connect all selected expressions with a binary expression. Out of select a,b - * from table one gets select a || b as expr from table. The type of binary - * expression is set by overwriting this class abstract method - * createBinaryExpression. + * Connect all selected expressions with a binary expression. Out of select a,b from table one gets + * select a || b as expr from table. The type of binary expression is set by overwriting this class + * abstract method createBinaryExpression. * * @author tw */ public abstract class ConnectExpressionsVisitor implements SelectVisitor, SelectItemVisitor { - private String alias = "expr"; - private final List itemsExpr = new LinkedList(); - - public ConnectExpressionsVisitor() { - } - - public ConnectExpressionsVisitor(String alias) { - this.alias = alias; - } - - /** - * Create instances of this binary expression that connects all selected - * expressions. - * - * @return - */ - protected abstract BinaryExpression createBinaryExpression(); - - @Override - public void visit(PlainSelect plainSelect) { - for (SelectItem item : plainSelect.getSelectItems()) { - item.accept(this); - } - - if (itemsExpr.size() > 1) { - BinaryExpression binExpr = createBinaryExpression(); - binExpr.setLeftExpression(itemsExpr.get(0).getExpression()); - for (int i = 1; i < itemsExpr.size() - 1; i++) { - binExpr.setRightExpression(itemsExpr.get(i).getExpression()); - BinaryExpression binExpr2 = createBinaryExpression(); - binExpr2.setLeftExpression(binExpr); - binExpr = binExpr2; - } - binExpr.setRightExpression(itemsExpr.get(itemsExpr.size() - 1).getExpression()); - - SelectExpressionItem sei = new SelectExpressionItem(); - sei.setExpression(binExpr); - - plainSelect.getSelectItems().clear(); - plainSelect.getSelectItems().add(sei); - } - - ((SelectExpressionItem) plainSelect.getSelectItems().get(0)).setAlias(new Alias(alias)); - } - - @Override - public void visit(SetOperationList setOpList) { - for (SelectBody select : setOpList.getSelects()) { - select.accept(this); - } - } - - @Override - public void visit(WithItem withItem) { - } - - @Override - public void visit(AllTableColumns allTableColumns) { - throw new UnsupportedOperationException("Not supported yet."); - } - - @Override - public void visit(AllColumns allColumns) { - throw new UnsupportedOperationException("Not supported yet."); - } - - @Override - public void visit(SelectExpressionItem selectExpressionItem) { - itemsExpr.add(selectExpressionItem); - } + private String alias = "expr"; + private final List itemsExpr = new LinkedList(); + + public ConnectExpressionsVisitor() { + } + + public ConnectExpressionsVisitor(String alias) { + this.alias = alias; + } + + /** + * Create instances of this binary expression that connects all selected expressions. + * + * @return + */ + protected abstract BinaryExpression createBinaryExpression(); + + @Override + public void visit(PlainSelect plainSelect) { + for (SelectItem item : plainSelect.getSelectItems()) { + item.accept(this); + } + + if (itemsExpr.size() > 1) { + BinaryExpression binExpr = createBinaryExpression(); + binExpr.setLeftExpression(itemsExpr.get(0).getExpression()); + for (int i = 1; i < itemsExpr.size() - 1; i++) { + binExpr.setRightExpression(itemsExpr.get(i).getExpression()); + BinaryExpression binExpr2 = createBinaryExpression(); + binExpr2.setLeftExpression(binExpr); + binExpr = binExpr2; + } + binExpr.setRightExpression(itemsExpr.get(itemsExpr.size() - 1).getExpression()); + + SelectExpressionItem sei = new SelectExpressionItem(); + sei.setExpression(binExpr); + + plainSelect.getSelectItems().clear(); + plainSelect.getSelectItems().add(sei); + } + + ((SelectExpressionItem) plainSelect.getSelectItems().get(0)).setAlias(new Alias(alias)); + } + + @Override + public void visit(SetOperationList setOpList) { + for (SelectBody select : setOpList.getSelects()) { + select.accept(this); + } + } + + @Override + public void visit(WithItem withItem) { + } + + @Override + public void visit(AllTableColumns allTableColumns) { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void visit(AllColumns allColumns) { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override + public void visit(SelectExpressionItem selectExpressionItem) { + itemsExpr.add(selectExpressionItem); + } } diff --git a/src/main/java/net/sf/jsqlparser/util/SelectUtils.java b/src/main/java/net/sf/jsqlparser/util/SelectUtils.java index b64cae501..b617b2987 100644 --- a/src/main/java/net/sf/jsqlparser/util/SelectUtils.java +++ b/src/main/java/net/sf/jsqlparser/util/SelectUtils.java @@ -45,132 +45,136 @@ */ public final class SelectUtils { - private static final String NOT_SUPPORTED_YET = "Not supported yet."; - - private SelectUtils() { - } - - /** - * Builds select expr1, expr2 from table. - * @param table - * @param expr - * @return - */ - public static Select buildSelectFromTableAndExpressions(Table table, Expression ... expr) { - SelectItem[] list = new SelectItem[expr.length]; - for (int i=0;i joins = plainSelect.getJoins(); - if (joins == null) { - joins = new ArrayList(); - plainSelect.setJoins(joins); - } - Join join = new Join(); - join.setRightItem(table); - join.setOnExpression(onExpression); - joins.add(join); - return join; - } - throw new UnsupportedOperationException(NOT_SUPPORTED_YET); - } - + private static final String NOT_SUPPORTED_YET = "Not supported yet."; + + private SelectUtils() { + } + + /** + * Builds select expr1, expr2 from table. + * + * @param table + * @param expr + * @return + */ + public static Select buildSelectFromTableAndExpressions(Table table, Expression... expr) { + SelectItem[] list = new SelectItem[expr.length]; + for (int i = 0; i < expr.length; i++) { + list[i] = new SelectExpressionItem(expr[i]); + } + return buildSelectFromTableAndSelectItems(table, list); + } + + /** + * Builds select expr1, expr2 from table. + * + * @param table + * @param expr + * @return + * @throws net.sf.jsqlparser.JSQLParserException + */ + public static Select buildSelectFromTableAndExpressions(Table table, String... expr) throws JSQLParserException { + SelectItem[] list = new SelectItem[expr.length]; + for (int i = 0; i < expr.length; i++) { + list[i] = new SelectExpressionItem(CCJSqlParserUtil.parseExpression(expr[i])); + } + return buildSelectFromTableAndSelectItems(table, list); + } + + public static Select buildSelectFromTableAndSelectItems(Table table, SelectItem... selectItems) { + Select select = new Select(); + PlainSelect body = new PlainSelect(); + body.addSelectItems(selectItems); + body.setFromItem(table); + select.setSelectBody(body); + return select; + } + + /** + * Builds select * from table. + * + * @param table + * @return + */ + public static Select buildSelectFromTable(Table table) { + return buildSelectFromTableAndSelectItems(table, new AllColumns()); + } + + /** + * Adds an expression to select statements. E.g. a simple column is an expression. + * + * @param select + * @param expr + */ + public static void addExpression(Select select, final Expression expr) { + select.getSelectBody().accept(new SelectVisitor() { + + @Override + public void visit(PlainSelect plainSelect) { + plainSelect.getSelectItems().add(new SelectExpressionItem(expr)); + } + + @Override + public void visit(SetOperationList setOpList) { + throw new UnsupportedOperationException(NOT_SUPPORTED_YET); + } + + @Override + public void visit(WithItem withItem) { + throw new UnsupportedOperationException(NOT_SUPPORTED_YET); + } + }); + } + + /** + * Adds a simple join to a select statement. The introduced join is returned for more + * configuration settings on it (e.g. left join, right join). + * + * @param select + * @param table + * @param onExpression + * @return + */ + public static Join addJoin(Select select, final Table table, final Expression onExpression) { + if (select.getSelectBody() instanceof PlainSelect) { + PlainSelect plainSelect = (PlainSelect) select.getSelectBody(); + List joins = plainSelect.getJoins(); + if (joins == null) { + joins = new ArrayList(); + plainSelect.setJoins(joins); + } + Join join = new Join(); + join.setRightItem(table); + join.setOnExpression(onExpression); + joins.add(join); + return join; + } + throw new UnsupportedOperationException(NOT_SUPPORTED_YET); + } + /** * Adds group by to a plain select statement. + * * @param select - * @param expr + * @param expr */ public static void addGroupBy(Select select, final Expression expr) { select.getSelectBody().accept(new SelectVisitor() { - @Override - public void visit(PlainSelect plainSelect) { + @Override + public void visit(PlainSelect plainSelect) { plainSelect.addGroupByColumnReference(expr); - } - - @Override - public void visit(SetOperationList setOpList) { - throw new UnsupportedOperationException(NOT_SUPPORTED_YET); - } - - @Override - public void visit(WithItem withItem) { - throw new UnsupportedOperationException(NOT_SUPPORTED_YET); - } - }); + } + + @Override + public void visit(SetOperationList setOpList) { + throw new UnsupportedOperationException(NOT_SUPPORTED_YET); + } + + @Override + public void visit(WithItem withItem) { + throw new UnsupportedOperationException(NOT_SUPPORTED_YET); + } + }); } } diff --git a/src/main/java/net/sf/jsqlparser/util/TablesNamesFinder.java b/src/main/java/net/sf/jsqlparser/util/TablesNamesFinder.java index 7889c67be..a2cd25826 100644 --- a/src/main/java/net/sf/jsqlparser/util/TablesNamesFinder.java +++ b/src/main/java/net/sf/jsqlparser/util/TablesNamesFinder.java @@ -51,6 +51,7 @@ import net.sf.jsqlparser.statement.merge.Merge; import net.sf.jsqlparser.statement.truncate.Truncate; import net.sf.jsqlparser.expression.operators.relational.JsonOperator; + /** * Find all used tables within an select statement. */ @@ -92,7 +93,6 @@ public void visit(Select select) { * @param update * @return */ - public List getTableList(Expression expr) { init(); expr.accept(this); @@ -455,7 +455,7 @@ public void visit(JsonExpression jsonExpr) { @Override public void visit(JsonOperator jsonExpr) { } - + @Override public void visit(AllColumns allColumns) { } diff --git a/src/main/java/net/sf/jsqlparser/util/deparser/AlterDeParser.java b/src/main/java/net/sf/jsqlparser/util/deparser/AlterDeParser.java index 3f6d20d05..1d71ccc54 100644 --- a/src/main/java/net/sf/jsqlparser/util/deparser/AlterDeParser.java +++ b/src/main/java/net/sf/jsqlparser/util/deparser/AlterDeParser.java @@ -25,24 +25,26 @@ /** * very simple alter statement deparser + * * @author toben */ public class AlterDeParser { + private StringBuilder buffer; public AlterDeParser(StringBuilder buffer) { this.buffer = buffer; } - + public void deParse(Alter alter) { - buffer.append(alter.toString()); - } + buffer.append(alter.toString()); + } - public StringBuilder getBuffer() { - return buffer; - } + public StringBuilder getBuffer() { + return buffer; + } - public void setBuffer(StringBuilder buffer) { - this.buffer = buffer; - } + public void setBuffer(StringBuilder buffer) { + this.buffer = buffer; + } } diff --git a/src/main/java/net/sf/jsqlparser/util/deparser/AlterViewDeParser.java b/src/main/java/net/sf/jsqlparser/util/deparser/AlterViewDeParser.java index c475621dc..9f4f72d90 100644 --- a/src/main/java/net/sf/jsqlparser/util/deparser/AlterViewDeParser.java +++ b/src/main/java/net/sf/jsqlparser/util/deparser/AlterViewDeParser.java @@ -26,47 +26,47 @@ import net.sf.jsqlparser.statement.select.SelectVisitor; /** - * A class to de-parse (that is, tranform from JSqlParser hierarchy into a - * string) a {@link net.sf.jsqlparser.statement.create.view.AlterView} + * A class to de-parse (that is, tranform from JSqlParser hierarchy into a string) a + * {@link net.sf.jsqlparser.statement.create.view.AlterView} */ public class AlterViewDeParser { - private StringBuilder buffer; + private StringBuilder buffer; private SelectVisitor selectVisitor; - - /** - * @param buffer the buffer that will be filled with the select - */ - public AlterViewDeParser(StringBuilder buffer) { - SelectDeParser selectDeParser = new SelectDeParser(); + + /** + * @param buffer the buffer that will be filled with the select + */ + public AlterViewDeParser(StringBuilder buffer) { + SelectDeParser selectDeParser = new SelectDeParser(); selectDeParser.setBuffer(buffer); ExpressionDeParser expressionDeParser = new ExpressionDeParser(selectDeParser, buffer); selectDeParser.setExpressionVisitor(expressionDeParser); selectVisitor = selectDeParser; this.buffer = buffer; - } + } public AlterViewDeParser(StringBuilder buffer, SelectVisitor selectVisitor) { - this.buffer = buffer; + this.buffer = buffer; this.selectVisitor = selectVisitor; - } - - public void deParse(AlterView alterView) { - buffer.append("ALTER "); - buffer.append("VIEW ").append(alterView.getView().getFullyQualifiedName()); - if (alterView.getColumnNames() != null) { - buffer.append(PlainSelect.getStringList(alterView.getColumnNames(), true, true)); - } - buffer.append(" AS "); - + } + + public void deParse(AlterView alterView) { + buffer.append("ALTER "); + buffer.append("VIEW ").append(alterView.getView().getFullyQualifiedName()); + if (alterView.getColumnNames() != null) { + buffer.append(PlainSelect.getStringList(alterView.getColumnNames(), true, true)); + } + buffer.append(" AS "); + alterView.getSelectBody().accept(selectVisitor); - } + } - public StringBuilder getBuffer() { - return buffer; - } + public StringBuilder getBuffer() { + return buffer; + } - public void setBuffer(StringBuilder buffer) { - this.buffer = buffer; - } + public void setBuffer(StringBuilder buffer) { + this.buffer = buffer; + } } diff --git a/src/main/java/net/sf/jsqlparser/util/deparser/CreateIndexDeParser.java b/src/main/java/net/sf/jsqlparser/util/deparser/CreateIndexDeParser.java index dd7ad187f..450d2ab33 100644 --- a/src/main/java/net/sf/jsqlparser/util/deparser/CreateIndexDeParser.java +++ b/src/main/java/net/sf/jsqlparser/util/deparser/CreateIndexDeParser.java @@ -27,8 +27,8 @@ import net.sf.jsqlparser.statement.create.table.Index; /** - * A class to de-parse (that is, tranform from JSqlParser hierarchy into a string) - * a {@link net.sf.jsqlparser.statement.create.index.CreateIndex} + * A class to de-parse (that is, tranform from JSqlParser hierarchy into a string) a + * {@link net.sf.jsqlparser.statement.create.index.CreateIndex} * * @author Raymond Augé */ @@ -36,48 +36,48 @@ public class CreateIndexDeParser { private StringBuilder buffer; - /** - * @param buffer the buffer that will be filled with the create - */ - public CreateIndexDeParser(StringBuilder buffer) { - this.buffer = buffer; - } + /** + * @param buffer the buffer that will be filled with the create + */ + public CreateIndexDeParser(StringBuilder buffer) { + this.buffer = buffer; + } - public void deParse(CreateIndex createIndex) { - Index index = createIndex.getIndex(); + public void deParse(CreateIndex createIndex) { + Index index = createIndex.getIndex(); - buffer.append("CREATE "); + buffer.append("CREATE "); - if (index.getType() != null) { - buffer.append(index.getType()); - buffer.append(" "); - } + if (index.getType() != null) { + buffer.append(index.getType()); + buffer.append(" "); + } - buffer.append("INDEX "); - buffer.append(index.getName()); - buffer.append(" ON "); - buffer.append(createIndex.getTable().getFullyQualifiedName()); + buffer.append("INDEX "); + buffer.append(index.getName()); + buffer.append(" ON "); + buffer.append(createIndex.getTable().getFullyQualifiedName()); - if (index.getColumnsNames() != null) { - buffer.append(" ("); - for (Iterator iter = index.getColumnsNames().iterator(); iter.hasNext();) { - String columnName = (String)iter.next(); - buffer.append(columnName); + if (index.getColumnsNames() != null) { + buffer.append(" ("); + for (Iterator iter = index.getColumnsNames().iterator(); iter.hasNext();) { + String columnName = (String) iter.next(); + buffer.append(columnName); - if (iter.hasNext()) { - buffer.append(", "); - } - } - buffer.append(")"); - } - } + if (iter.hasNext()) { + buffer.append(", "); + } + } + buffer.append(")"); + } + } - public StringBuilder getBuffer() { - return buffer; - } + public StringBuilder getBuffer() { + return buffer; + } - public void setBuffer(StringBuilder buffer) { - this.buffer = buffer; - } + public void setBuffer(StringBuilder buffer) { + this.buffer = buffer; + } } diff --git a/src/main/java/net/sf/jsqlparser/util/deparser/CreateViewDeParser.java b/src/main/java/net/sf/jsqlparser/util/deparser/CreateViewDeParser.java index 33162ed59..0a7fbe69e 100644 --- a/src/main/java/net/sf/jsqlparser/util/deparser/CreateViewDeParser.java +++ b/src/main/java/net/sf/jsqlparser/util/deparser/CreateViewDeParser.java @@ -26,53 +26,53 @@ import net.sf.jsqlparser.statement.select.SelectVisitor; /** - * A class to de-parse (that is, tranform from JSqlParser hierarchy into a - * string) a {@link net.sf.jsqlparser.statement.create.view.CreateView} + * A class to de-parse (that is, tranform from JSqlParser hierarchy into a string) a + * {@link net.sf.jsqlparser.statement.create.view.CreateView} */ public class CreateViewDeParser { - private StringBuilder buffer; + private StringBuilder buffer; private SelectVisitor selectVisitor; - - /** - * @param buffer the buffer that will be filled with the select - */ - public CreateViewDeParser(StringBuilder buffer) { - SelectDeParser selectDeParser = new SelectDeParser(); + + /** + * @param buffer the buffer that will be filled with the select + */ + public CreateViewDeParser(StringBuilder buffer) { + SelectDeParser selectDeParser = new SelectDeParser(); selectDeParser.setBuffer(buffer); ExpressionDeParser expressionDeParser = new ExpressionDeParser(selectDeParser, buffer); selectDeParser.setExpressionVisitor(expressionDeParser); selectVisitor = selectDeParser; this.buffer = buffer; - } + } public CreateViewDeParser(StringBuilder buffer, SelectVisitor selectVisitor) { - this.buffer = buffer; + this.buffer = buffer; this.selectVisitor = selectVisitor; - } - - public void deParse(CreateView createView) { - buffer.append("CREATE "); - if (createView.isOrReplace()) { - buffer.append("OR REPLACE "); - } - if (createView.isMaterialized()) { - buffer.append("MATERIALIZED "); - } - buffer.append("VIEW ").append(createView.getView().getFullyQualifiedName()); - if (createView.getColumnNames() != null) { - buffer.append(PlainSelect.getStringList(createView.getColumnNames(), true, true)); - } - buffer.append(" AS "); - + } + + public void deParse(CreateView createView) { + buffer.append("CREATE "); + if (createView.isOrReplace()) { + buffer.append("OR REPLACE "); + } + if (createView.isMaterialized()) { + buffer.append("MATERIALIZED "); + } + buffer.append("VIEW ").append(createView.getView().getFullyQualifiedName()); + if (createView.getColumnNames() != null) { + buffer.append(PlainSelect.getStringList(createView.getColumnNames(), true, true)); + } + buffer.append(" AS "); + createView.getSelectBody().accept(selectVisitor); - } + } - public StringBuilder getBuffer() { - return buffer; - } + public StringBuilder getBuffer() { + return buffer; + } - public void setBuffer(StringBuilder buffer) { - this.buffer = buffer; - } + public void setBuffer(StringBuilder buffer) { + this.buffer = buffer; + } } 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 64dfec21f..3f32de215 100644 --- a/src/main/java/net/sf/jsqlparser/util/deparser/DeleteDeParser.java +++ b/src/main/java/net/sf/jsqlparser/util/deparser/DeleteDeParser.java @@ -28,46 +28,46 @@ import net.sf.jsqlparser.statement.select.Join; /** - * A class to de-parse (that is, tranform from JSqlParser hierarchy into a - * string) a {@link net.sf.jsqlparser.statement.delete.Delete} + * A class to de-parse (that is, tranform from JSqlParser hierarchy into a string) a + * {@link net.sf.jsqlparser.statement.delete.Delete} */ public class DeleteDeParser { - private StringBuilder buffer = new StringBuilder(); + private StringBuilder buffer = new StringBuilder(); private ExpressionVisitor expressionVisitor = new ExpressionVisitorAdapter(); public DeleteDeParser() { } - - /** - * @param expressionVisitor a {@link ExpressionVisitor} to de-parse - * expressions. It has to share the same
- * StringBuilder (buffer parameter) as this object in order to work - * @param buffer the buffer that will be filled with the select - */ - public DeleteDeParser(ExpressionVisitor expressionVisitor, StringBuilder buffer) { - this.buffer = buffer; - this.expressionVisitor = expressionVisitor; - } - public StringBuilder getBuffer() { - return buffer; - } + /** + * @param expressionVisitor a {@link ExpressionVisitor} to de-parse expressions. It has to share + * the same
+ * StringBuilder (buffer parameter) as this object in order to work + * @param buffer the buffer that will be filled with the select + */ + public DeleteDeParser(ExpressionVisitor expressionVisitor, StringBuilder buffer) { + this.buffer = buffer; + this.expressionVisitor = expressionVisitor; + } + + public StringBuilder getBuffer() { + return buffer; + } - public void setBuffer(StringBuilder buffer) { - this.buffer = buffer; - } + public void setBuffer(StringBuilder buffer) { + this.buffer = buffer; + } + + public void deParse(Delete delete) { + buffer.append("DELETE"); + if (delete.getTables() != null && delete.getTables().size() > 0) { + for (Table table : delete.getTables()) { + buffer.append(" ").append(table.getFullyQualifiedName()); + } + } + buffer.append(" FROM ").append(delete.getTable().toString()); - public void deParse(Delete delete) { - buffer.append("DELETE"); - if(delete.getTables() != null && delete.getTables().size() > 0){ - for( Table table : delete.getTables() ){ - buffer.append(" ").append(table.getFullyQualifiedName()); - } - } - buffer.append(" FROM ").append(delete.getTable().toString()); - - if (delete.getJoins() != null) { + if (delete.getJoins() != null) { for (Join join : delete.getJoins()) { if (join.isSimple()) { buffer.append(", ").append(join); @@ -76,26 +76,26 @@ public void deParse(Delete delete) { } } } - - if (delete.getWhere() != null) { - buffer.append(" WHERE "); - delete.getWhere().accept(expressionVisitor); - } - if(delete.getOrderByElements()!=null){ - new OrderByDeParser(expressionVisitor, buffer).deParse(delete.getOrderByElements()); - } - if (delete.getLimit() != null) { - new LimitDeparser(buffer).deParse(delete.getLimit()); - } + if (delete.getWhere() != null) { + buffer.append(" WHERE "); + delete.getWhere().accept(expressionVisitor); + } - } + if (delete.getOrderByElements() != null) { + new OrderByDeParser(expressionVisitor, buffer).deParse(delete.getOrderByElements()); + } + if (delete.getLimit() != null) { + new LimitDeparser(buffer).deParse(delete.getLimit()); + } - public ExpressionVisitor getExpressionVisitor() { - return expressionVisitor; - } + } - public void setExpressionVisitor(ExpressionVisitor visitor) { - expressionVisitor = visitor; - } + public ExpressionVisitor getExpressionVisitor() { + return expressionVisitor; + } + + public void setExpressionVisitor(ExpressionVisitor visitor) { + expressionVisitor = visitor; + } } diff --git a/src/main/java/net/sf/jsqlparser/util/deparser/DropDeParser.java b/src/main/java/net/sf/jsqlparser/util/deparser/DropDeParser.java index d776d19d1..72dd10805 100644 --- a/src/main/java/net/sf/jsqlparser/util/deparser/DropDeParser.java +++ b/src/main/java/net/sf/jsqlparser/util/deparser/DropDeParser.java @@ -21,7 +21,6 @@ */ package net.sf.jsqlparser.util.deparser; - import net.sf.jsqlparser.statement.drop.Drop; import net.sf.jsqlparser.statement.select.PlainSelect; @@ -39,11 +38,12 @@ public DropDeParser(StringBuilder buffer) { public void deParse(Drop drop) { buffer.append("DROP "); buffer.append(drop.getType()); - if (drop.isIfExists()) + if (drop.isIfExists()) { buffer.append(" IF EXISTS"); + } buffer.append(" ").append(drop.getName()); - + if (drop.getParameters() != null && !drop.getParameters().isEmpty()) { buffer.append(" ").append(PlainSelect.getStringList(drop.getParameters())); } diff --git a/src/main/java/net/sf/jsqlparser/util/deparser/ExecuteDeParser.java b/src/main/java/net/sf/jsqlparser/util/deparser/ExecuteDeParser.java index 0aa7e99c0..fd1a6835e 100644 --- a/src/main/java/net/sf/jsqlparser/util/deparser/ExecuteDeParser.java +++ b/src/main/java/net/sf/jsqlparser/util/deparser/ExecuteDeParser.java @@ -27,38 +27,39 @@ public class ExecuteDeParser { - private StringBuilder buffer; - private ExpressionVisitor expressionVisitor; + private StringBuilder buffer; + private ExpressionVisitor expressionVisitor; - /** - * @param expressionVisitor a {@link ExpressionVisitor} to de-parse - * expressions. It has to share the same
- * StringBuilder (buffer parameter) as this object in order to work - * @param buffer the buffer that will be filled with the select - */ - public ExecuteDeParser(ExpressionVisitor expressionVisitor, StringBuilder buffer) { - this.buffer = buffer; - this.expressionVisitor = expressionVisitor; - } + /** + * @param expressionVisitor a {@link ExpressionVisitor} to de-parse expressions. It has to share + * the same
+ * StringBuilder (buffer parameter) as this object in order to work + * @param buffer the buffer that will be filled with the select + */ + public ExecuteDeParser(ExpressionVisitor expressionVisitor, StringBuilder buffer) { + this.buffer = buffer; + this.expressionVisitor = expressionVisitor; + } - public StringBuilder getBuffer() { - return buffer; - } + public StringBuilder getBuffer() { + return buffer; + } - public void setBuffer(StringBuilder buffer) { - this.buffer = buffer; - } + public void setBuffer(StringBuilder buffer) { + this.buffer = buffer; + } - public void deParse(Execute execute) { - buffer.append("EXECUTE ").append(execute.getName()); - buffer.append(" ").append(PlainSelect.getStringList(execute.getExprList().getExpressions(), true, false)); - } + public void deParse(Execute execute) { + buffer.append("EXECUTE ").append(execute.getName()); + buffer.append(" ").append(PlainSelect. + getStringList(execute.getExprList().getExpressions(), true, false)); + } - public ExpressionVisitor getExpressionVisitor() { - return expressionVisitor; - } + public ExpressionVisitor getExpressionVisitor() { + return expressionVisitor; + } - public void setExpressionVisitor(ExpressionVisitor visitor) { - expressionVisitor = visitor; - } + public void setExpressionVisitor(ExpressionVisitor visitor) { + expressionVisitor = visitor; + } } 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 0fcd90bb3..154209158 100644 --- a/src/main/java/net/sf/jsqlparser/util/deparser/InsertDeParser.java +++ b/src/main/java/net/sf/jsqlparser/util/deparser/InsertDeParser.java @@ -36,8 +36,8 @@ import net.sf.jsqlparser.statement.select.WithItem; /** - * A class to de-parse (that is, tranform from JSqlParser hierarchy into a - * string) an {@link net.sf.jsqlparser.statement.insert.Insert} + * A class to de-parse (that is, tranform from JSqlParser hierarchy into a string) an + * {@link net.sf.jsqlparser.statement.insert.Insert} */ public class InsertDeParser implements ItemsListVisitor { @@ -50,12 +50,10 @@ public InsertDeParser() { /** * @param expressionVisitor a {@link ExpressionVisitor} to de-parse - * {@link net.sf.jsqlparser.expression.Expression}s. It has to share the - * same
+ * {@link net.sf.jsqlparser.expression.Expression}s. It has to share the same
* StringBuilder (buffer parameter) as this object in order to work * @param selectVisitor a {@link SelectVisitor} to de-parse - * {@link net.sf.jsqlparser.statement.select.Select}s. It has to share the - * same
+ * {@link net.sf.jsqlparser.statement.select.Select}s. It has to share the same
* StringBuilder (buffer parameter) as this object in order to work * @param buffer the buffer that will be filled with the insert */ @@ -75,10 +73,10 @@ public void setBuffer(StringBuilder buffer) { public void deParse(Insert insert) { buffer.append("INSERT "); - if(insert.getModifierPriority() != null){ + if (insert.getModifierPriority() != null) { buffer.append(insert.getModifierPriority()).append(" "); } - if(insert.isModifierIgnore()){ + if (insert.isModifierIgnore()) { buffer.append("IGNORE "); } buffer.append("INTO "); @@ -118,7 +116,7 @@ public void deParse(Insert insert) { } } - if(insert.isUseDuplicate()){ + if (insert.isUseDuplicate()) { buffer.append(" ON DUPLICATE KEY UPDATE "); for (int i = 0; i < insert.getDuplicateUpdateColumns().size(); i++) { Column column = insert.getDuplicateUpdateColumns().get(i); @@ -136,7 +134,8 @@ 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/LimitDeparser.java b/src/main/java/net/sf/jsqlparser/util/deparser/LimitDeparser.java index 9ee874ca9..16320ca22 100644 --- a/src/main/java/net/sf/jsqlparser/util/deparser/LimitDeparser.java +++ b/src/main/java/net/sf/jsqlparser/util/deparser/LimitDeparser.java @@ -39,9 +39,10 @@ public void deParse(Limit limit) { if (null != limit.getOffset()) { buffer.append(limit.getOffset()).append(", "); } - + if (null != limit.getRowCount()) { buffer.append(limit.getRowCount()); } } - }} + } +} 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 093459c13..96d8f0ec1 100644 --- a/src/main/java/net/sf/jsqlparser/util/deparser/OrderByDeParser.java +++ b/src/main/java/net/sf/jsqlparser/util/deparser/OrderByDeParser.java @@ -21,7 +21,6 @@ */ package net.sf.jsqlparser.util.deparser; - import net.sf.jsqlparser.expression.ExpressionVisitor; import net.sf.jsqlparser.statement.select.OrderByElement; @@ -34,16 +33,15 @@ public class OrderByDeParser { private final ExpressionVisitor expressionVisitor; public OrderByDeParser(ExpressionVisitor expressionVisitor, StringBuilder buffer) { - this.expressionVisitor= expressionVisitor; + this.expressionVisitor = expressionVisitor; this.buffer = buffer; } - public void deParse( List orderByElementList) { + public void deParse(List orderByElementList) { deParse(false, orderByElementList); } - - public void deParse(boolean oracleSiblings, List orderByElementList){ + public void deParse(boolean oracleSiblings, List orderByElementList) { if (oracleSiblings) { buffer.append(" ORDER SIBLINGS BY "); } else { @@ -59,7 +57,7 @@ public void deParse(boolean oracleSiblings, List orderByElementL } } - public void deParseElement(OrderByElement orderBy){ + public void deParseElement(OrderByElement orderBy) { orderBy.getExpression().accept(expressionVisitor); if (!orderBy.isAsc()) { buffer.append(" DESC"); @@ -68,7 +66,8 @@ 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 5d3dad3e0..1ead53a1d 100644 --- a/src/main/java/net/sf/jsqlparser/util/deparser/ReplaceDeParser.java +++ b/src/main/java/net/sf/jsqlparser/util/deparser/ReplaceDeParser.java @@ -34,8 +34,8 @@ import net.sf.jsqlparser.statement.select.SubSelect; /** - * A class to de-parse (that is, tranform from JSqlParser hierarchy into a - * string) a {@link net.sf.jsqlparser.statement.replace.Replace} + * A class to de-parse (that is, tranform from JSqlParser hierarchy into a string) a + * {@link net.sf.jsqlparser.statement.replace.Replace} */ public class ReplaceDeParser implements ItemsListVisitor { @@ -47,12 +47,11 @@ public ReplaceDeParser() { } /** - * @param expressionVisitor a {@link ExpressionVisitor} to de-parse - * expressions. It has to share the same
+ * @param expressionVisitor a {@link ExpressionVisitor} to de-parse expressions. It has to share + * the same
* StringBuilder (buffer parameter) as this object in order to work * @param selectVisitor a {@link SelectVisitor} to de-parse - * {@link net.sf.jsqlparser.statement.select.Select}s. It has to share the - * same
+ * {@link net.sf.jsqlparser.statement.select.Select}s. It has to share the same
* StringBuilder (buffer parameter) as this object in order to work * @param buffer the buffer that will be filled with the select */ 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 cc0929771..82f67a1dd 100644 --- a/src/main/java/net/sf/jsqlparser/util/deparser/SelectDeParser.java +++ b/src/main/java/net/sf/jsqlparser/util/deparser/SelectDeParser.java @@ -28,8 +28,8 @@ import java.util.*; /** - * A class to de-parse (that is, tranform from JSqlParser hierarchy into a - * string) a {@link net.sf.jsqlparser.statement.select.Select} + * A class to de-parse (that is, tranform from JSqlParser hierarchy into a string) a + * {@link net.sf.jsqlparser.statement.select.Select} */ public class SelectDeParser implements SelectVisitor, SelectItemVisitor, FromItemVisitor, PivotVisitor { @@ -40,8 +40,8 @@ public SelectDeParser() { } /** - * @param expressionVisitor a {@link ExpressionVisitor} to de-parse - * expressions. It has to share the same
+ * @param expressionVisitor a {@link ExpressionVisitor} to de-parse expressions. It has to share + * the same
* StringBuilder (buffer parameter) as this object in order to work * @param buffer the buffer that will be filled with the select */ @@ -80,7 +80,8 @@ 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()) { @@ -136,7 +137,8 @@ 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()) { @@ -151,7 +153,8 @@ 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) { @@ -237,8 +240,9 @@ public void visit(Pivot pivot) { 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(forColumns, true, forColumns != null && forColumns.size() > 1)). + append(" IN ") .append(PlainSelect.getStringList(pivot.getInItems(), true, true)) .append(")"); } @@ -249,8 +253,9 @@ public void visit(PivotXml pivot) { 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(forColumns, true, forColumns != null && forColumns.size() > 1)). + append(" IN ("); if (pivot.isInAny()) { buffer.append("ANY"); } else if (pivot.getInSelect() != null) { @@ -407,7 +412,8 @@ 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/SetStatementDeParser.java b/src/main/java/net/sf/jsqlparser/util/deparser/SetStatementDeParser.java index 798c7a0c2..01578f977 100644 --- a/src/main/java/net/sf/jsqlparser/util/deparser/SetStatementDeParser.java +++ b/src/main/java/net/sf/jsqlparser/util/deparser/SetStatementDeParser.java @@ -30,8 +30,8 @@ public class SetStatementDeParser { private ExpressionVisitor expressionVisitor; /** - * @param expressionVisitor a {@link ExpressionVisitor} to de-parse - * expressions. It has to share the same
+ * @param expressionVisitor a {@link ExpressionVisitor} to de-parse expressions. It has to share + * the same
* StringBuilder (buffer parameter) as this object in order to work * @param buffer the buffer that will be filled with the select */ 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 e27e3542a..8b2f0fe5e 100644 --- a/src/main/java/net/sf/jsqlparser/util/deparser/StatementDeParser.java +++ b/src/main/java/net/sf/jsqlparser/util/deparser/StatementDeParser.java @@ -67,7 +67,7 @@ public void visit(CreateView createView) { CreateViewDeParser createViewDeParser = new CreateViewDeParser(buffer); createViewDeParser.deParse(createView); } - + @Override public void visit(AlterView alterView) { AlterViewDeParser alterViewDeParser = new AlterViewDeParser(buffer); 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 77039b881..cbdd7dca6 100644 --- a/src/main/java/net/sf/jsqlparser/util/deparser/UpdateDeParser.java +++ b/src/main/java/net/sf/jsqlparser/util/deparser/UpdateDeParser.java @@ -36,9 +36,10 @@ import net.sf.jsqlparser.statement.select.OrderByElement; import net.sf.jsqlparser.statement.select.SelectExpressionItem; import net.sf.jsqlparser.statement.select.SelectVisitorAdapter; + /** - * A class to de-parse (that is, tranform from JSqlParser hierarchy into a - * string) an {@link net.sf.jsqlparser.statement.update.Update} + * A class to de-parse (that is, tranform from JSqlParser hierarchy into a string) an + * {@link net.sf.jsqlparser.statement.update.Update} */ public class UpdateDeParser implements OrderByVisitor { @@ -50,12 +51,11 @@ public UpdateDeParser() { } /** - * @param expressionVisitor a {@link ExpressionVisitor} to de-parse - * expressions. It has to share the same
+ * @param expressionVisitor a {@link ExpressionVisitor} to de-parse expressions. It has to share + * the same
* StringBuilder (buffer parameter) as this object in order to work * @param selectVisitor a {@link SelectVisitor} to de-parse - * {@link net.sf.jsqlparser.statement.select.Select}s. It has to share the - * same
+ * {@link net.sf.jsqlparser.statement.select.Select}s. It has to share the same
* StringBuilder (buffer parameter) as this object in order to work * @param buffer the buffer that will be filled with the select */ @@ -74,13 +74,14 @@ 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++) { Column column = update.getColumns().get(i); column.accept(expressionVisitor); - + buffer.append(" = "); Expression expression = update.getExpressions().get(i); @@ -127,8 +128,8 @@ public void deParse(Update update) { buffer.append(" WHERE "); update.getWhere().accept(expressionVisitor); } - if (update.getOrderByElements()!=null) { - new OrderByDeParser(expressionVisitor, buffer).deParse(update.getOrderByElements()); + if (update.getOrderByElements() != null) { + new OrderByDeParser(expressionVisitor, buffer).deParse(update.getOrderByElements()); } if (update.getLimit() != null) { new LimitDeparser(buffer).deParse(update.getLimit()); @@ -138,7 +139,8 @@ 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(", "); @@ -165,7 +167,8 @@ 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/test/java/net/sf/jsqlparser/expression/ExpressionVisitorAdapterTest.java b/src/test/java/net/sf/jsqlparser/expression/ExpressionVisitorAdapterTest.java index 27a930f28..1cceced34 100644 --- a/src/test/java/net/sf/jsqlparser/expression/ExpressionVisitorAdapterTest.java +++ b/src/test/java/net/sf/jsqlparser/expression/ExpressionVisitorAdapterTest.java @@ -44,22 +44,22 @@ * @author tw */ public class ExpressionVisitorAdapterTest { - + public ExpressionVisitorAdapterTest() { } - + @BeforeClass public static void setUpClass() { } - + @AfterClass public static void tearDownClass() { } - + @Before public void setUp() { } - + @After public void tearDown() { } @@ -67,10 +67,10 @@ public void tearDown() { @Test public void testInExpressionProblem() throws JSQLParserException { final List exprList = new ArrayList(); - Select select = (Select) CCJSqlParserUtil.parse( "select * from foo where x in (?,?,?)" ); + Select select = (Select) CCJSqlParserUtil.parse("select * from foo where x in (?,?,?)"); PlainSelect plainSelect = (PlainSelect) select.getSelectBody(); Expression where = plainSelect.getWhere(); - where.accept( new ExpressionVisitorAdapter() { + where.accept(new ExpressionVisitorAdapter() { @Override public void visit(InExpression expr) { @@ -80,16 +80,17 @@ public void visit(InExpression expr) { exprList.add(expr.getRightItemsList()); } }); - + assertTrue(exprList.get(0) instanceof Expression); assertNull(exprList.get(1)); assertTrue(exprList.get(2) instanceof ItemsList); } - + @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() { @@ -102,12 +103,12 @@ public void visit(InExpression expr) { exprList.add(expr.getRightItemsList()); } }); - + assertNull(exprList.get(0)); assertTrue(exprList.get(1) instanceof ItemsList); assertTrue(exprList.get(2) instanceof ItemsList); } - + @Test public void testOracleHintExpressions() throws JSQLParserException { testOracleHintExpression("select --+ MYHINT \n * from foo", "MYHINT", true); @@ -127,16 +128,17 @@ public void visit(OracleHint hint) { holder[0] = hint; } }); - + assertNotNull(holder[0]); assertEquals(singleLine, holder[0].isSingleLine()); assertEquals(hint, holder[0].getValue()); } @Test - public void testCurrentTimestampExpression() throws JSQLParserException{ + 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() { @@ -153,9 +155,10 @@ public void visit(Column column) { } @Test - public void testCurrentDateExpression() throws JSQLParserException{ + 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() { @@ -173,14 +176,15 @@ 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(); adapter.setSelectVisitor(new SelectVisitorAdapter()); try { where.accept(adapter); - } catch (NullPointerException npe){ + } catch (NullPointerException npe) { fail(); } } diff --git a/src/test/java/net/sf/jsqlparser/expression/LongValueTest.java b/src/test/java/net/sf/jsqlparser/expression/LongValueTest.java index 919127832..80b71b864 100644 --- a/src/test/java/net/sf/jsqlparser/expression/LongValueTest.java +++ b/src/test/java/net/sf/jsqlparser/expression/LongValueTest.java @@ -1,77 +1,77 @@ -/* - * 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.expression; - -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.*; - -/** - * - * @author tw - */ -public class LongValueTest { - - public LongValueTest() { - } - - @BeforeClass - public static void setUpClass() { - } - - @AfterClass - public static void tearDownClass() { - } - - @Before - public void setUp() { - } - - @After - public void tearDown() { - } - - @Test - public void testSimpleNumber() { - LongValue value = new LongValue("123"); - - assertEquals("123", value.getStringValue()); - assertEquals(123L, value.getValue()); - assertEquals(new BigInteger("123"), value.getBigIntegerValue()); - } - - @Test - public void testLargeNumber() { - final String largeNumber = "20161114000000035001"; - LongValue value = new LongValue(largeNumber); - - assertEquals(largeNumber, value.getStringValue()); - try { - value.getValue(); - fail("should not work"); - } catch (Exception e) { - - } - assertEquals(new BigInteger(largeNumber), value.getBigIntegerValue()); - } -} +/* + * 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.expression; + +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.*; + +/** + * + * @author tw + */ +public class LongValueTest { + + public LongValueTest() { + } + + @BeforeClass + public static void setUpClass() { + } + + @AfterClass + public static void tearDownClass() { + } + + @Before + public void setUp() { + } + + @After + public void tearDown() { + } + + @Test + public void testSimpleNumber() { + LongValue value = new LongValue("123"); + + assertEquals("123", value.getStringValue()); + assertEquals(123L, value.getValue()); + assertEquals(new BigInteger("123"), value.getBigIntegerValue()); + } + + @Test + public void testLargeNumber() { + final String largeNumber = "20161114000000035001"; + LongValue value = new LongValue(largeNumber); + + assertEquals(largeNumber, value.getStringValue()); + try { + value.getValue(); + fail("should not work"); + } catch (Exception e) { + + } + assertEquals(new BigInteger(largeNumber), value.getBigIntegerValue()); + } +} diff --git a/src/test/java/net/sf/jsqlparser/expression/SignedExpressionTest.java b/src/test/java/net/sf/jsqlparser/expression/SignedExpressionTest.java index 969217646..c190bc74f 100644 --- a/src/test/java/net/sf/jsqlparser/expression/SignedExpressionTest.java +++ b/src/test/java/net/sf/jsqlparser/expression/SignedExpressionTest.java @@ -16,7 +16,6 @@ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, * MA 02110-1301 USA */ - package net.sf.jsqlparser.expression; import net.sf.jsqlparser.JSQLParserException; @@ -33,32 +32,32 @@ * @author toben */ public class SignedExpressionTest { - - public SignedExpressionTest() { - } - - @BeforeClass - public static void setUpClass() { - } - - @AfterClass - public static void tearDownClass() { - } - - @Before - public void setUp() { - } - - @After - public void tearDown() { - } - /** - * Test of getSign method, of class SignedExpression. - */ - @Test(expected = IllegalArgumentException.class) - public void testGetSign() throws JSQLParserException { - new SignedExpression('*', CCJSqlParserUtil.parseExpression("a")); - fail("must not work"); - } + public SignedExpressionTest() { + } + + @BeforeClass + public static void setUpClass() { + } + + @AfterClass + public static void tearDownClass() { + } + + @Before + public void setUp() { + } + + @After + public void tearDown() { + } + + /** + * Test of getSign method, of class SignedExpression. + */ + @Test(expected = IllegalArgumentException.class) + public void testGetSign() throws JSQLParserException { + new SignedExpression('*', CCJSqlParserUtil.parseExpression("a")); + fail("must not work"); + } } diff --git a/src/test/java/net/sf/jsqlparser/expression/StringValueTest.java b/src/test/java/net/sf/jsqlparser/expression/StringValueTest.java index 925d49114..dd99d9950 100644 --- a/src/test/java/net/sf/jsqlparser/expression/StringValueTest.java +++ b/src/test/java/net/sf/jsqlparser/expression/StringValueTest.java @@ -30,27 +30,26 @@ * @author toben */ public class StringValueTest { - + public StringValueTest() { } - + @BeforeClass public static void setUpClass() { } - + @AfterClass public static void tearDownClass() { } - + @Before public void setUp() { } - + @After public void tearDown() { } - @Test public void testGetValue() { StringValue instance = new StringValue("'*'"); @@ -58,7 +57,7 @@ public void testGetValue() { String result = instance.getValue(); assertEquals(expResult, result); } - + @Test public void testGetValue2_issue329() { StringValue instance = new StringValue("*"); diff --git a/src/test/java/net/sf/jsqlparser/parser/CCJSqlParserUtilTest.java b/src/test/java/net/sf/jsqlparser/parser/CCJSqlParserUtilTest.java index cb8eb6b5a..868a2d613 100644 --- a/src/test/java/net/sf/jsqlparser/parser/CCJSqlParserUtilTest.java +++ b/src/test/java/net/sf/jsqlparser/parser/CCJSqlParserUtilTest.java @@ -18,52 +18,52 @@ * @author toben */ public class CCJSqlParserUtilTest { - - public CCJSqlParserUtilTest() { - } - - @BeforeClass - public static void setUpClass() { - } - - @AfterClass - public static void tearDownClass() { - } - - @Before - public void setUp() { - } - - @After - public void tearDown() { - } - /** - * Test of parseExpression method, of class CCJSqlParserUtil. - */ - @Test - public void testParseExpression() throws Exception { - Expression result = CCJSqlParserUtil.parseExpression("a+b"); - assertEquals("a + b", result.toString()); - assertTrue(result instanceof Addition); - Addition add = (Addition)result; - assertTrue(add.getLeftExpression() instanceof Column); - assertTrue(add.getRightExpression() instanceof Column); - } - - @Test - public void testParseExpression2() throws Exception { - Expression result = CCJSqlParserUtil.parseExpression("2*(a+6.0)"); - assertEquals("2 * (a + 6.0)", result.toString()); - assertTrue(result instanceof Multiplication); - Multiplication mult = (Multiplication)result; - assertTrue(mult.getLeftExpression() instanceof LongValue); - assertTrue(mult.getRightExpression() instanceof Parenthesis); - } - + public CCJSqlParserUtilTest() { + } + + @BeforeClass + public static void setUpClass() { + } + + @AfterClass + public static void tearDownClass() { + } + + @Before + public void setUp() { + } + + @After + public void tearDown() { + } + + /** + * Test of parseExpression method, of class CCJSqlParserUtil. + */ + @Test + public void testParseExpression() throws Exception { + Expression result = CCJSqlParserUtil.parseExpression("a+b"); + assertEquals("a + b", result.toString()); + assertTrue(result instanceof Addition); + Addition add = (Addition) result; + assertTrue(add.getLeftExpression() instanceof Column); + assertTrue(add.getRightExpression() instanceof Column); + } + + @Test + public void testParseExpression2() throws Exception { + Expression result = CCJSqlParserUtil.parseExpression("2*(a+6.0)"); + assertEquals("2 * (a + 6.0)", result.toString()); + assertTrue(result instanceof Multiplication); + Multiplication mult = (Multiplication) result; + assertTrue(mult.getLeftExpression() instanceof LongValue); + assertTrue(mult.getRightExpression() instanceof Parenthesis); + } + @Test - public void testParseCondExpression() throws Exception { - Expression result = CCJSqlParserUtil.parseCondExpression("a+b>5 and c<3"); - assertEquals("a + b > 5 AND c < 3", result.toString()); - } + public void testParseCondExpression() throws Exception { + Expression result = CCJSqlParserUtil.parseCondExpression("a+b>5 and c<3"); + assertEquals("a + b > 5 AND c < 3", result.toString()); + } } diff --git a/src/test/java/net/sf/jsqlparser/schema/ColumnTest.java b/src/test/java/net/sf/jsqlparser/schema/ColumnTest.java index 1c0612cdd..3fba898a6 100644 --- a/src/test/java/net/sf/jsqlparser/schema/ColumnTest.java +++ b/src/test/java/net/sf/jsqlparser/schema/ColumnTest.java @@ -1,62 +1,62 @@ -/* - * 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.schema; - -import net.sf.jsqlparser.expression.Alias; -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.*; - -/** - * - * @author tw - */ -public class ColumnTest { - - public ColumnTest() { - } - - @BeforeClass - public static void setUpClass() { - } - - @AfterClass - public static void tearDownClass() { - } - - @Before - public void setUp() { - } - - @After - public void tearDown() { - } - - @Test - public void testMissingTableAlias() { - Table myTable = new Table("myTable"); - myTable.setAlias(new Alias("tb")); - Column myColumn = new Column(myTable, "myColumn"); - assertEquals("tb.myColumn", myColumn.toString()); - } - -} +/* + * 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.schema; + +import net.sf.jsqlparser.expression.Alias; +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.*; + +/** + * + * @author tw + */ +public class ColumnTest { + + public ColumnTest() { + } + + @BeforeClass + public static void setUpClass() { + } + + @AfterClass + public static void tearDownClass() { + } + + @Before + public void setUp() { + } + + @After + public void tearDown() { + } + + @Test + public void testMissingTableAlias() { + Table myTable = new Table("myTable"); + myTable.setAlias(new Alias("tb")); + Column myColumn = new Column(myTable, "myColumn"); + assertEquals("tb.myColumn", myColumn.toString()); + } + +} diff --git a/src/test/java/net/sf/jsqlparser/schema/ServerTest.java b/src/test/java/net/sf/jsqlparser/schema/ServerTest.java index 39fc2366d..924492c74 100644 --- a/src/test/java/net/sf/jsqlparser/schema/ServerTest.java +++ b/src/test/java/net/sf/jsqlparser/schema/ServerTest.java @@ -24,8 +24,6 @@ * . * #L% */ - - public class ServerTest { @Test diff --git a/src/test/java/net/sf/jsqlparser/statement/AdaptersTest.java b/src/test/java/net/sf/jsqlparser/statement/AdaptersTest.java index df66e3e8d..9997d125b 100644 --- a/src/test/java/net/sf/jsqlparser/statement/AdaptersTest.java +++ b/src/test/java/net/sf/jsqlparser/statement/AdaptersTest.java @@ -20,6 +20,7 @@ * @author aalmiray */ public class AdaptersTest { + /** * Test extracting JDBC named parameters using adapters */ @@ -46,12 +47,15 @@ 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())); } }); } @@ -69,6 +73,7 @@ public void visit(JdbcNamedParameter parameter) { } private static class Pair { + private final L left; private final R right; diff --git a/src/test/java/net/sf/jsqlparser/statement/SetStatementTest.java b/src/test/java/net/sf/jsqlparser/statement/SetStatementTest.java index 2d89669ce..8b3609909 100644 --- a/src/test/java/net/sf/jsqlparser/statement/SetStatementTest.java +++ b/src/test/java/net/sf/jsqlparser/statement/SetStatementTest.java @@ -31,37 +31,36 @@ * @author toben */ public class SetStatementTest { - + public SetStatementTest() { } - + @BeforeClass public static void setUpClass() { } - + @AfterClass public static void tearDownClass() { } - + @Before public void setUp() { } - + @After public void tearDown() { } - @Test public void testSimpleSet() throws JSQLParserException { assertSqlCanBeParsedAndDeparsed("SET statement_timeout = 0"); } - + @Test public void testIssue373() throws JSQLParserException { assertSqlCanBeParsedAndDeparsed("SET deferred_name_resolution true"); } - + @Test public void testIssue373_2() throws JSQLParserException { assertSqlCanBeParsedAndDeparsed("SET tester 5"); diff --git a/src/test/java/net/sf/jsqlparser/statement/StatementsTest.java b/src/test/java/net/sf/jsqlparser/statement/StatementsTest.java index 5749c86e4..5d0c6e6c3 100644 --- a/src/test/java/net/sf/jsqlparser/statement/StatementsTest.java +++ b/src/test/java/net/sf/jsqlparser/statement/StatementsTest.java @@ -18,22 +18,22 @@ * @author toben */ public class StatementsTest { - + public StatementsTest() { } - + @BeforeClass public static void setUpClass() { } - + @AfterClass public static void tearDownClass() { } - + @Before public void setUp() { } - + @After public void tearDown() { } @@ -42,62 +42,62 @@ public void tearDown() { public void testStatements() throws JSQLParserException { String sqls = "select * from mytable; select * from mytable2;"; Statements parseStatements = CCJSqlParserUtil.parseStatements(sqls); - + assertEquals("SELECT * FROM mytable;\nSELECT * FROM mytable2;\n", parseStatements.toString()); - + assertTrue(parseStatements.getStatements().get(0) instanceof Select); assertTrue(parseStatements.getStatements().get(1) instanceof Select); } - + @Test public void testStatementsProblem() throws JSQLParserException { String sqls = ";;select * from mytable;;select * from mytable2;;;"; Statements parseStatements = CCJSqlParserUtil.parseStatements(sqls); - + assertEquals("SELECT * FROM mytable;\nSELECT * FROM mytable2;\n", parseStatements.toString()); - + assertTrue(parseStatements.getStatements().get(0) instanceof Select); assertTrue(parseStatements.getStatements().get(1) instanceof Select); } - + @Test public void testStatementsErrorRecovery() throws JSQLParserException, ParseException { String sqls = "select * from mytable; select * from;"; CCJSqlParser parser = new CCJSqlParser(new StringReader(sqls)); parser.setErrorRecovery(true); Statements parseStatements = parser.Statements(); - + assertEquals(2, parseStatements.getStatements().size()); - + assertTrue(parseStatements.getStatements().get(0) instanceof Select); assertNull(parseStatements.getStatements().get(1)); } - + @Test public void testStatementsErrorRecovery2() throws JSQLParserException, ParseException { String sqls = "select * from1 table;"; CCJSqlParser parser = new CCJSqlParser(new StringReader(sqls)); parser.setErrorRecovery(true); Statements parseStatements = parser.Statements(); - + assertEquals(1, parseStatements.getStatements().size()); - + assertTrue(parseStatements.getStatements().get(0) instanceof Select); - assertEquals(1,parser.getParseErrors().size()); + assertEquals(1, parser.getParseErrors().size()); } - + @Test public void testStatementsErrorRecovery3() throws JSQLParserException, ParseException { String sqls = "select * from mytable; select * from;select * from mytable2"; CCJSqlParser parser = new CCJSqlParser(new StringReader(sqls)); parser.setErrorRecovery(true); Statements parseStatements = parser.Statements(); - + assertEquals(2, parseStatements.getStatements().size()); - + assertTrue(parseStatements.getStatements().get(0) instanceof Select); assertNull(parseStatements.getStatements().get(1)); - - assertEquals(2,parser.getParseErrors().size()); + + assertEquals(2, parser.getParseErrors().size()); } } 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 4b677ea99..214f7cafa 100644 --- a/src/test/java/net/sf/jsqlparser/statement/execute/ExecuteTest.java +++ b/src/test/java/net/sf/jsqlparser/statement/execute/ExecuteTest.java @@ -16,7 +16,6 @@ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, * MA 02110-1301 USA */ - package net.sf.jsqlparser.statement.execute; import net.sf.jsqlparser.JSQLParserException; @@ -32,28 +31,29 @@ * @author toben */ public class ExecuteTest { - + public ExecuteTest() { } - + @BeforeClass public static void setUpClass() { } - + @AfterClass public static void tearDownClass() { } - + @Before public void setUp() { } - + @After public void tearDown() { } /** * Test of accept method, of class Execute. + * * @throws net.sf.jsqlparser.JSQLParserException */ @Test diff --git a/src/test/java/net/sf/jsqlparser/test/TestException.java b/src/test/java/net/sf/jsqlparser/test/TestException.java index b53d2d851..282bbe6b0 100644 --- a/src/test/java/net/sf/jsqlparser/test/TestException.java +++ b/src/test/java/net/sf/jsqlparser/test/TestException.java @@ -5,50 +5,50 @@ */ public class TestException extends Exception { - private Throwable cause = null; - - public TestException() { - super(); - } - - public TestException(String arg0) { - super(arg0); - } - - public TestException(Throwable arg0) { - this.cause = arg0; - } - - public TestException(String arg0, Throwable arg1) { - super(arg0); - this.cause = arg1; - } - - @Override - public Throwable getCause() { - return cause; - } - - @Override - public void printStackTrace() { - printStackTrace(System.err); - } - - @Override - public void printStackTrace(java.io.PrintWriter pw) { - super.printStackTrace(pw); - if (cause != null) { - pw.println("Caused by:"); - cause.printStackTrace(pw); - } - } - - @Override - public void printStackTrace(java.io.PrintStream ps) { - super.printStackTrace(ps); - if (cause != null) { - ps.println("Caused by:"); - cause.printStackTrace(ps); - } - } + private Throwable cause = null; + + public TestException() { + super(); + } + + public TestException(String arg0) { + super(arg0); + } + + public TestException(Throwable arg0) { + this.cause = arg0; + } + + public TestException(String arg0, Throwable arg1) { + super(arg0); + this.cause = arg1; + } + + @Override + public Throwable getCause() { + return cause; + } + + @Override + public void printStackTrace() { + printStackTrace(System.err); + } + + @Override + public void printStackTrace(java.io.PrintWriter pw) { + super.printStackTrace(pw); + if (cause != null) { + pw.println("Caused by:"); + cause.printStackTrace(pw); + } + } + + @Override + public void printStackTrace(java.io.PrintStream ps) { + super.printStackTrace(ps); + if (cause != null) { + ps.println("Caused by:"); + cause.printStackTrace(ps); + } + } } diff --git a/src/test/java/net/sf/jsqlparser/test/TestUtils.java b/src/test/java/net/sf/jsqlparser/test/TestUtils.java index cfeb4350c..cf93755a3 100644 --- a/src/test/java/net/sf/jsqlparser/test/TestUtils.java +++ b/src/test/java/net/sf/jsqlparser/test/TestUtils.java @@ -18,7 +18,6 @@ */ package net.sf.jsqlparser.test; - import java.io.StringReader; import java.util.regex.Pattern; @@ -45,7 +44,8 @@ */ 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); @@ -55,8 +55,8 @@ public static void assertSqlCanBeParsedAndDeparsed(String statement) throws JSQL * Tries to parse and deparse the given statement. * * @param statement - * @param laxDeparsingCheck removes all linefeeds from the original and - * removes all double spaces. The check is caseinsensitive. + * @param laxDeparsingCheck removes all linefeeds from the original and removes all double + * spaces. The check is caseinsensitive. * @throws JSQLParserException */ public static void assertSqlCanBeParsedAndDeparsed(String statement, boolean laxDeparsingCheck) throws JSQLParserException { @@ -69,24 +69,25 @@ public static void assertStatementCanBeDeparsedAs(Statement parsed, String state } public static void assertStatementCanBeDeparsedAs(Statement parsed, String statement, boolean laxDeparsingCheck) { - assertEquals(buildSqlString(statement, laxDeparsingCheck), + assertEquals(buildSqlString(statement, laxDeparsingCheck), buildSqlString(parsed.toString(), laxDeparsingCheck)); StatementDeParser deParser = new StatementDeParser(new StringBuilder()); parsed.accept(deParser); - assertEquals(buildSqlString(statement, laxDeparsingCheck), + assertEquals(buildSqlString(statement, laxDeparsingCheck), buildSqlString(deParser.getBuffer().toString(), laxDeparsingCheck)); } - + public static String buildSqlString(final String originalSql, boolean laxDeparsingCheck) { - String sql = SQL_COMMENT_PATTERN.matcher(originalSql).replaceAll(""); + 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; } } - + @Test public void testBuildSqlString() { assertEquals("select col from test", buildSqlString(" SELECT col FROM \r\n \t TEST \n", true)); @@ -103,7 +104,7 @@ public static void assertExpressionCanBeDeparsedAs(final Expression parsed, Stri assertEquals(expression, stringBuilder.toString()); } - + public static void assertOracleHintExists(String sql, boolean assertDeparser, String... hints) throws JSQLParserException { if (assertDeparser) { assertSqlCanBeParsedAndDeparsed(sql, true); @@ -130,5 +131,5 @@ public static void assertOracleHintExists(String sql, boolean assertDeparser, St } } } - + } 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 1823cf824..389c4d7bc 100644 --- a/src/test/java/net/sf/jsqlparser/test/alter/AlterTest.java +++ b/src/test/java/net/sf/jsqlparser/test/alter/AlterTest.java @@ -1,6 +1,5 @@ package net.sf.jsqlparser.test.alter; - import static net.sf.jsqlparser.test.TestUtils.assertSqlCanBeParsedAndDeparsed; import static net.sf.jsqlparser.test.TestUtils.assertStatementCanBeDeparsedAs; @@ -22,10 +21,11 @@ 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()); + Alter alter = (Alter) stmt; + assertEquals("mytable", alter.getTable().getFullyQualifiedName()); AlterExpression alterExp = alter.getAlterExpressions().get(0); assertNotNull(alterExp); List colDataTypes = alterExp.getColDataTypeList(); @@ -36,8 +36,8 @@ public void testAlterTableAddColumn() throws JSQLParserException { public void testAlterTableAddColumn_ColumnKeyWordImplicit() throws JSQLParserException { Statement stmt = CCJSqlParserUtil.parse("ALTER TABLE mytable ADD mycolumn varchar (255)"); assertTrue(stmt instanceof Alter); - Alter alter = (Alter)stmt; - assertEquals("mytable",alter.getTable().getFullyQualifiedName()); + Alter alter = (Alter) stmt; + assertEquals("mytable", alter.getTable().getFullyQualifiedName()); AlterExpression alterExp = alter.getAlterExpressions().get(0); assertNotNull(alterExp); List colDataTypes = alterExp.getColDataTypeList(); @@ -48,7 +48,7 @@ public void testAlterTableAddColumn_ColumnKeyWordImplicit() throws JSQLParserExc public void testAlterTablePrimaryKey() throws JSQLParserException { assertSqlCanBeParsedAndDeparsed("ALTER TABLE animals ADD PRIMARY KEY (id)"); } - + public void testAlterTablePrimaryKeyDeferrable() throws JSQLParserException { assertSqlCanBeParsedAndDeparsed("ALTER TABLE animals ADD PRIMARY KEY (id) DEFERRABLE"); } @@ -56,19 +56,19 @@ public void testAlterTablePrimaryKeyDeferrable() throws JSQLParserException { public void testAlterTablePrimaryKeyNotDeferrable() throws JSQLParserException { assertSqlCanBeParsedAndDeparsed("ALTER TABLE animals ADD PRIMARY KEY (id) NOT DEFERRABLE"); } - + public void testAlterTablePrimaryKeyValidate() throws JSQLParserException { assertSqlCanBeParsedAndDeparsed("ALTER TABLE animals ADD PRIMARY KEY (id) VALIDATE"); } - + public void testAlterTablePrimaryKeyNoValidate() throws JSQLParserException { assertSqlCanBeParsedAndDeparsed("ALTER TABLE animals ADD PRIMARY KEY (id) NOVALIDATE"); } - + public void testAlterTablePrimaryKeyDeferrableValidate() throws JSQLParserException { assertSqlCanBeParsedAndDeparsed("ALTER TABLE animals ADD PRIMARY KEY (id) DEFERRABLE VALIDATE"); } - + public void testAlterTablePrimaryKeyDeferrableDisableNoValidate() throws JSQLParserException { assertSqlCanBeParsedAndDeparsed("ALTER TABLE animals ADD PRIMARY KEY (id) DEFERRABLE DISABLE NOVALIDATE"); } @@ -104,8 +104,9 @@ 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"); - Alter alter = (Alter)stmt; + 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); AlterExpression col2Exp = alterExps.get(1); @@ -158,8 +159,9 @@ 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"); - Alter alter = (Alter)stmt; + 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); AlterExpression col2Exp = alterExps.get(1); @@ -206,7 +208,8 @@ 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 { @@ -215,7 +218,8 @@ 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); 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 b102c2e7b..99984b6d8 100644 --- a/src/test/java/net/sf/jsqlparser/test/create/AlterViewTest.java +++ b/src/test/java/net/sf/jsqlparser/test/create/AlterViewTest.java @@ -1,6 +1,5 @@ package net.sf.jsqlparser.test.create; - import net.sf.jsqlparser.JSQLParserException; import static net.sf.jsqlparser.test.TestUtils.*; import org.junit.Test; @@ -8,8 +7,8 @@ public class AlterViewTest { @Test - public void testAlterView() throws JSQLParserException { - String stmt = "ALTER VIEW myview AS SELECT * FROM mytab"; - assertSqlCanBeParsedAndDeparsed(stmt); - } + public void testAlterView() throws JSQLParserException { + String stmt = "ALTER VIEW myview AS SELECT * FROM mytab"; + assertSqlCanBeParsedAndDeparsed(stmt); + } } 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 4e97409a0..2f0d6e62c 100644 --- a/src/test/java/net/sf/jsqlparser/test/create/CreateIndexTest.java +++ b/src/test/java/net/sf/jsqlparser/test/create/CreateIndexTest.java @@ -15,73 +15,73 @@ */ public class CreateIndexTest { - private final CCJSqlParserManager parserManager = new CCJSqlParserManager(); + private final CCJSqlParserManager parserManager = new CCJSqlParserManager(); @Test - public void testCreateIndex() throws JSQLParserException { - 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()); - assertNull(createIndex.getIndex().getType()); - assertEquals("mytab", createIndex.getTable().getFullyQualifiedName()); - assertEquals("mycol", createIndex.getIndex().getColumnsNames().get(0)); - assertEquals(statement, ""+createIndex); - } + public void testCreateIndex() throws JSQLParserException { + 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()); + assertNull(createIndex.getIndex().getType()); + assertEquals("mytab", createIndex.getTable().getFullyQualifiedName()); + assertEquals("mycol", createIndex.getIndex().getColumnsNames().get(0)); + assertEquals(statement, "" + createIndex); + } @Test - public void testCreateIndex2() throws JSQLParserException { - 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()); - assertEquals("mytype", createIndex.getIndex().getType()); - assertEquals("mytab", createIndex.getTable().getFullyQualifiedName()); - assertEquals("mycol2", createIndex.getIndex().getColumnsNames().get(1)); - assertEquals(statement, ""+createIndex); - } + public void testCreateIndex2() throws JSQLParserException { + 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()); + assertEquals("mytype", createIndex.getIndex().getType()); + assertEquals("mytab", createIndex.getTable().getFullyQualifiedName()); + assertEquals("mycol2", createIndex.getIndex().getColumnsNames().get(1)); + assertEquals(statement, "" + createIndex); + } @Test - public void testCreateIndex3() throws JSQLParserException { - 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()); - assertEquals("mytype", createIndex.getIndex().getType()); - assertEquals("mytab", createIndex.getTable().getFullyQualifiedName()); - assertEquals("mycol3", createIndex.getIndex().getColumnsNames().get(2)); - } + public void testCreateIndex3() throws JSQLParserException { + 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()); + assertEquals("mytype", createIndex.getIndex().getType()); + assertEquals("mytab", createIndex.getTable().getFullyQualifiedName()); + assertEquals("mycol3", createIndex.getIndex().getColumnsNames().get(2)); + } @Test - public void testCreateIndex4() throws JSQLParserException { - 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()); - assertEquals("mytype", createIndex.getIndex().getType()); - assertEquals("mytab", createIndex.getTable().getFullyQualifiedName()); - assertEquals("mycol3", createIndex.getIndex().getColumnsNames().get(2)); - } + public void testCreateIndex4() throws JSQLParserException { + 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()); + assertEquals("mytype", createIndex.getIndex().getType()); + assertEquals("mytab", createIndex.getTable().getFullyQualifiedName()); + assertEquals("mycol3", createIndex.getIndex().getColumnsNames().get(2)); + } @Test - public void testCreateIndex5() throws JSQLParserException { - 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()); - assertEquals("mytype", createIndex.getIndex().getType()); - assertEquals("mytab", createIndex.getTable().getFullyQualifiedName()); - assertEquals("mycol3", createIndex.getIndex().getColumnsNames().get(2)); - } + public void testCreateIndex5() throws JSQLParserException { + 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()); + assertEquals("mytype", createIndex.getIndex().getType()); + assertEquals("mytab", createIndex.getTable().getFullyQualifiedName()); + assertEquals("mycol3", createIndex.getIndex().getColumnsNames().get(2)); + } @Test - public void testCreateIndex6() throws JSQLParserException { - String stmt= "CREATE INDEX myindex ON mytab (mycol, mycol2)"; - assertSqlCanBeParsedAndDeparsed(stmt); - } + public void testCreateIndex6() throws JSQLParserException { + String stmt = "CREATE INDEX myindex ON mytab (mycol, mycol2)"; + assertSqlCanBeParsedAndDeparsed(stmt); + } } 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 fb2f4fc60..8b5e9ecbe 100644 --- a/src/test/java/net/sf/jsqlparser/test/create/CreateTableTest.java +++ b/src/test/java/net/sf/jsqlparser/test/create/CreateTableTest.java @@ -20,360 +20,370 @@ public class CreateTableTest extends TestCase { - private CCJSqlParserManager parserManager = new CCJSqlParserManager(); - - public CreateTableTest(String arg0) { - super(arg0); - } - - public void testCreateTable2() throws JSQLParserException { - String statement = "CREATE TABLE testtab (\"test\" varchar (255))"; - assertSqlCanBeParsedAndDeparsed(statement); - } - - public void testCreateTable3() throws JSQLParserException { - String statement = "CREATE TABLE testtab (\"test\" varchar (255), \"test2\" varchar (255))"; - assertSqlCanBeParsedAndDeparsed(statement); - } - + private CCJSqlParserManager parserManager = new CCJSqlParserManager(); + + public CreateTableTest(String arg0) { + super(arg0); + } + + public void testCreateTable2() throws JSQLParserException { + String statement = "CREATE TABLE testtab (\"test\" varchar (255))"; + assertSqlCanBeParsedAndDeparsed(statement); + } + + public void testCreateTable3() throws JSQLParserException { + String statement = "CREATE TABLE testtab (\"test\" varchar (255), \"test2\" varchar (255))"; + assertSqlCanBeParsedAndDeparsed(statement); + } + public void testCreateTableAsSelect() throws JSQLParserException { - String statement = "CREATE TABLE a AS SELECT col1, col2 FROM b"; - assertSqlCanBeParsedAndDeparsed(statement); - } - + String statement = "CREATE TABLE a AS SELECT col1, col2 FROM b"; + assertSqlCanBeParsedAndDeparsed(statement); + } + public void testCreateTableAsSelect2() throws JSQLParserException { - String statement = "CREATE TABLE newtable AS WITH a AS (SELECT col1, col3 FROM testtable) SELECT col1, col2, col3 FROM b INNER JOIN a ON b.col1 = a.col1"; - assertSqlCanBeParsedAndDeparsed(statement); - } - - 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"; - CreateTable createTable = (CreateTable) parserManager.parse(new StringReader(statement)); - assertEquals(2, createTable.getColumnDefinitions().size()); + String statement = "CREATE TABLE newtable AS WITH a AS (SELECT col1, col3 FROM testtable) SELECT col1, col2, col3 FROM b INNER JOIN a ON b.col1 = a.col1"; + assertSqlCanBeParsedAndDeparsed(statement); + } + + 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"; + 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("PRIMARY KEY", ((Index) createTable.getIndexes().get(0)).getType()); - assertEquals("mycol", ((Index) createTable.getIndexes().get(0)).getColumnsNames().get(1)); - assertEquals(statement, "" + createTable); - } - + 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); + } + 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"; - CreateTable createTable = (CreateTable) parserManager.parse(new StringReader(statement)); - assertEquals(2, createTable.getColumnDefinitions().size()); + 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"; + 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("PRIMARY KEY", ((Index) createTable.getIndexes().get(0)).getType()); - assertEquals("mycol", ((Index) createTable.getIndexes().get(0)).getColumnsNames().get(1)); - assertEquals(statement, "" + createTable); - } - + 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); + } + public void testCreateTableUnlogged2() 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))"; - assertSqlCanBeParsedAndDeparsed(statement); - } - - public void testCreateTableForeignKey() throws JSQLParserException { - String statement = "CREATE TABLE test (id INT UNSIGNED NOT NULL AUTO_INCREMENT, string VARCHAR (20), user_id INT UNSIGNED, PRIMARY KEY (id), FOREIGN KEY (user_id) REFERENCES ra_user(id))"; - assertSqlCanBeParsedAndDeparsed(statement); - } - - public void testCreateTableForeignKey2() throws JSQLParserException { - String statement = "CREATE TABLE test (id INT UNSIGNED NOT NULL AUTO_INCREMENT, string VARCHAR (20), user_id INT UNSIGNED, PRIMARY KEY (id), CONSTRAINT fkIdx FOREIGN KEY (user_id) REFERENCES ra_user(id))"; - assertSqlCanBeParsedAndDeparsed(statement); - } + 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))"; + assertSqlCanBeParsedAndDeparsed(statement); + } + + public void testCreateTableForeignKey() throws JSQLParserException { + String statement = "CREATE TABLE test (id INT UNSIGNED NOT NULL AUTO_INCREMENT, string VARCHAR (20), user_id INT UNSIGNED, PRIMARY KEY (id), FOREIGN KEY (user_id) REFERENCES ra_user(id))"; + assertSqlCanBeParsedAndDeparsed(statement); + } + + public void testCreateTableForeignKey2() throws JSQLParserException { + String statement = "CREATE TABLE test (id INT UNSIGNED NOT NULL AUTO_INCREMENT, string VARCHAR (20), user_id INT UNSIGNED, PRIMARY KEY (id), CONSTRAINT fkIdx FOREIGN KEY (user_id) REFERENCES ra_user(id))"; + assertSqlCanBeParsedAndDeparsed(statement); + } public void testCreateTableForeignKey3() throws JSQLParserException { String statement = "CREATE TABLE test (id INT UNSIGNED NOT NULL AUTO_INCREMENT, string VARCHAR (20), user_id INT UNSIGNED REFERENCES ra_user(id), PRIMARY KEY (id))"; - assertSqlCanBeParsedAndDeparsed(statement,true); + assertSqlCanBeParsedAndDeparsed(statement, true); } public void testCreateTableForeignKey4() throws JSQLParserException { String statement = "CREATE TABLE test (id INT UNSIGNED NOT NULL AUTO_INCREMENT, string VARCHAR (20), user_id INT UNSIGNED FOREIGN KEY REFERENCES ra_user(id), PRIMARY KEY (id))"; - assertSqlCanBeParsedAndDeparsed(statement,true); + assertSqlCanBeParsedAndDeparsed(statement, true); } - + public void testCreateTablePrimaryKey() throws JSQLParserException { - String statement = "CREATE TABLE test (id INT UNSIGNED NOT NULL AUTO_INCREMENT, string VARCHAR (20), user_id INT UNSIGNED, CONSTRAINT pk_name PRIMARY KEY (id))"; - assertSqlCanBeParsedAndDeparsed(statement); - } - + String statement = "CREATE TABLE test (id INT UNSIGNED NOT NULL AUTO_INCREMENT, string VARCHAR (20), user_id INT UNSIGNED, CONSTRAINT pk_name PRIMARY KEY (id))"; + assertSqlCanBeParsedAndDeparsed(statement); + } + public void testCreateTableParams() throws JSQLParserException { assertSqlCanBeParsedAndDeparsed("CREATE TEMPORARY TABLE T1 (PROCESSID VARCHAR (32)) ON COMMIT PRESERVE ROWS"); } - + 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); } - + public void testCreateTableDefault() throws JSQLParserException { assertSqlCanBeParsedAndDeparsed("CREATE TABLE T1 (id integer default -1)"); } - + public void testCreateTableDefault2() throws JSQLParserException { assertSqlCanBeParsedAndDeparsed("CREATE TABLE T1 (id integer default 1)"); } - + public void testCreateTableIfNotExists() throws JSQLParserException { assertSqlCanBeParsedAndDeparsed("CREATE TABLE IF NOT EXISTS animals (id INT NOT NULL)"); } - + public void testCreateTableInlinePrimaryKey() throws JSQLParserException { assertSqlCanBeParsedAndDeparsed("CREATE TABLE animals (id INT PRIMARY KEY NOT NULL)"); } - + public void testCreateTableWithRange() throws JSQLParserException { assertSqlCanBeParsedAndDeparsed("CREATE TABLE foo (name character varying (255), range character varying (255), start_range integer, end_range integer)"); } - + public void testCreateTableWithKey() throws JSQLParserException { assertSqlCanBeParsedAndDeparsed("CREATE TABLE bar (key character varying (255) NOT NULL)"); } - + public void testCreateTableWithUniqueKey() throws JSQLParserException { assertSqlCanBeParsedAndDeparsed("CREATE TABLE animals (id INT NOT NULL, name VARCHAR (100) UNIQUE KEY (id))"); } - + 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 { assertSqlCanBeParsedAndDeparsed("CREATE TABLE sal_emp (name text, pay_by_quarter integer[], schedule text[][])"); } - + public void testCreateTableArrays2() throws JSQLParserException { assertSqlCanBeParsedAndDeparsed("CREATE TABLE sal_emp (name text, pay_by_quarter integer[5], schedule text[3][2])"); } - + public void testCreateTableColumnValues() throws JSQLParserException { assertSqlCanBeParsedAndDeparsed("CREATE TABLE mytable1 (values INTEGER)"); } - + public void testCreateTableColumnValue() throws JSQLParserException { assertSqlCanBeParsedAndDeparsed("CREATE TABLE mytable1 (value INTEGER)"); } - - public void testCreateTableForeignKey5() throws JSQLParserException { - assertSqlCanBeParsedAndDeparsed("CREATE TABLE IF NOT EXISTS table1 (id INTEGER PRIMARY KEY AUTO_INCREMENT, aid INTEGER REFERENCES accounts ON aid ON DELETE CASCADE, name STRING, lastname STRING)"); - } - public void testCreateTableForeignKey6() throws JSQLParserException { - assertSqlCanBeParsedAndDeparsed("CREATE TABLE test (id long, fkey long references another_table (id))"); - } + public void testCreateTableForeignKey5() throws JSQLParserException { + assertSqlCanBeParsedAndDeparsed("CREATE TABLE IF NOT EXISTS table1 (id INTEGER PRIMARY KEY AUTO_INCREMENT, aid INTEGER REFERENCES accounts ON aid ON DELETE CASCADE, name STRING, lastname STRING)"); + } - public void testMySqlCreateTableOnUpdateCurrentTimestamp() throws JSQLParserException { - assertSqlCanBeParsedAndDeparsed("CREATE TABLE test (applied timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP)"); - } + public void testCreateTableForeignKey6() throws JSQLParserException { + assertSqlCanBeParsedAndDeparsed("CREATE TABLE test (id long, fkey long references another_table (id))"); + } - 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"); - } + public void testMySqlCreateTableOnUpdateCurrentTimestamp() throws JSQLParserException { + assertSqlCanBeParsedAndDeparsed("CREATE TABLE test (applied timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP)"); + } - 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"); - } + 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"); + } - 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"); - } + 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"); + } + + 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"); + } public void testCreateTableWithCheck() throws JSQLParserException { assertSqlCanBeParsedAndDeparsed("CREATE TABLE table2 (id INT (10) NOT NULL, name TEXT, url TEXT, CONSTRAINT name_not_empty CHECK (name <> ''))"); } - + 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); } - + public void testCreateTableIssue270_1() throws JSQLParserException { assertSqlCanBeParsedAndDeparsed("CREATE TABLE item (i_item_sk integer NOT NULL, i_item_id character (16))"); } - + public void testCreateTempTableIssue293() throws JSQLParserException { assertSqlCanBeParsedAndDeparsed("CREATE GLOBAL TEMPORARY TABLE T1 (PROCESSID VARCHAR (32))"); } - + public void testCreateTableWithTablespaceIssue247() throws JSQLParserException { assertSqlCanBeParsedAndDeparsed("CREATE TABLE TABLE1 (COLUMN1 VARCHAR2 (15), COLUMN2 VARCHAR2 (15), CONSTRAINT P_PK PRIMARY KEY (COLUMN1) USING INDEX TABLESPACE \"T_INDEX\") TABLESPACE \"T_SPACE\""); } - + public void testCreateTableWithTablespaceIssue247_1() throws JSQLParserException { assertSqlCanBeParsedAndDeparsed("CREATE TABLE TABLE1 (COLUMN1 VARCHAR2 (15), COLUMN2 VARCHAR2 (15), CONSTRAINT P_PK PRIMARY KEY (COLUMN1) USING INDEX TABLESPACE \"T_INDEX\")"); } - + public void testOnDeleteSetNull() throws JSQLParserException { assertSqlCanBeParsedAndDeparsed("CREATE TABLE inventory (inventory_id INT PRIMARY KEY, product_id INT, CONSTRAINT fk_inv_product_id FOREIGN KEY (product_id) REFERENCES products(product_id) ON DELETE SET NULL)"); } - public void testColumnCheck() throws JSQLParserException { - assertSqlCanBeParsedAndDeparsed("CREATE TABLE table1 (col1 INTEGER CHECK (col1 > 100))"); - } + public void testColumnCheck() throws JSQLParserException { + assertSqlCanBeParsedAndDeparsed("CREATE TABLE table1 (col1 INTEGER CHECK (col1 > 100))"); + } - public void testTableReferenceWithSchema() throws JSQLParserException { - assertSqlCanBeParsedAndDeparsed("CREATE TABLE table1 (col1 INTEGER REFERENCES schema1.table1)"); - } + public void testTableReferenceWithSchema() throws JSQLParserException { + assertSqlCanBeParsedAndDeparsed("CREATE TABLE table1 (col1 INTEGER REFERENCES schema1.table1)"); + } - public void testNamedColumnConstraint() throws JSQLParserException { - assertSqlCanBeParsedAndDeparsed("CREATE TABLE foo (col1 integer CONSTRAINT no_null NOT NULL)"); - } + public void testNamedColumnConstraint() throws JSQLParserException { + assertSqlCanBeParsedAndDeparsed("CREATE TABLE foo (col1 integer CONSTRAINT no_null NOT NULL)"); + } - public void testColumnConstraintWith() throws JSQLParserException { - assertSqlCanBeParsedAndDeparsed("CREATE TABLE foo (col1 integer) WITH (fillfactor=70)"); - } + public void testColumnConstraintWith() throws JSQLParserException { + assertSqlCanBeParsedAndDeparsed("CREATE TABLE foo (col1 integer) WITH (fillfactor=70)"); + } + + public void testExcludeWhereConstraint() throws JSQLParserException { + assertSqlCanBeParsedAndDeparsed("CREATE TABLE foo (col1 integer, EXCLUDE WHERE (col1 > 100))"); + } - public void testExcludeWhereConstraint() throws JSQLParserException { - assertSqlCanBeParsedAndDeparsed("CREATE TABLE foo (col1 integer, EXCLUDE WHERE (col1 > 100))"); - } - public void testTimestampWithoutTimezone() throws JSQLParserException { assertSqlCanBeParsedAndDeparsed("CREATE TABLE abc.tabc (transaction_date TIMESTAMP WITHOUT TIME ZONE)"); } - + public void testCreateUnitonIssue402() throws JSQLParserException { assertSqlCanBeParsedAndDeparsed("CREATE TABLE temp.abc AS SELECT sku FROM temp.a UNION SELECT sku FROM temp.b"); } - + 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 testRUBiSCreateList() throws Exception { - BufferedReader in = new BufferedReader(new InputStreamReader(CreateTableTest.class.getResourceAsStream("/RUBiS-create-requests.txt"))); - TablesNamesFinder tablesNamesFinder = new TablesNamesFinder(); - - try { - int numSt = 1; - while (true) { - String line = getLine(in); - if (line == null) { - break; - } - - if (!"#begin".equals(line)) { - break; - } - line = getLine(in); - StringBuilder buf = new StringBuilder(line); - while (true) { - line = getLine(in); - if ("#end".equals(line)) { - break; - } - buf.append("\n"); - buf.append(line); - } - - String query = buf.toString(); - if (!getLine(in).equals("true")) { - continue; - } - - String tableName = getLine(in); - String cols = getLine(in); - try { - CreateTable createTable = (CreateTable) parserManager.parse(new StringReader(query)); - String[] colsList = null; - if ("null".equals(cols)) { - colsList = new String[0]; - } else { - StringTokenizer tokenizer = new StringTokenizer(cols, " "); - - List colsListList = new ArrayList(); - while (tokenizer.hasMoreTokens()) { - colsListList.add(tokenizer.nextToken()); - } - - colsList = (String[]) colsListList.toArray(new String[colsListList.size()]); - - } - List colsFound = new ArrayList(); - if (createTable.getColumnDefinitions() != null) { - 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();) { - Index index = (Index) iterator.next(); - if (index.getType().equals("PRIMARY KEY") && index.getColumnsNames().size() == 1 - && index.getColumnsNames().get(0).equals(colName)) { - unique = true; - } - - } - } - - if (!unique) { - if (columnDefinition.getColumnSpecStrings() != null) { - 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")) { - unique = true; - } - } - } - } - if (unique) { - colName += ".unique"; - } - colsFound.add(colName.toLowerCase()); - } - } - - assertEquals("stm:" + query, colsList.length, colsFound.size()); - - for (int i = 0; i < colsList.length; i++) { - assertEquals("stm:" + query, colsList[i], colsFound.get(i)); - - } - } catch (Exception e) { - throw new TestException("error at stm num: " + numSt + " " + query, e); - } - numSt++; - - } - } finally { - if (in != null) { - in.close(); - } - } - } - - private String getLine(BufferedReader in) throws Exception { - String line = null; - while (true) { - line = in.readLine(); - if (line != null) { - if ((line.length() != 0) - && ((line.length() < 2) || (line.length() >= 2) - && !(line.charAt(0) == '/' && line.charAt(1) == '/'))) { - break; - } - } else { - break; - } - - } - - return line; - } + public void testRUBiSCreateList() throws Exception { + BufferedReader in = new BufferedReader(new InputStreamReader(CreateTableTest.class. + getResourceAsStream("/RUBiS-create-requests.txt"))); + TablesNamesFinder tablesNamesFinder = new TablesNamesFinder(); + + try { + int numSt = 1; + while (true) { + String line = getLine(in); + if (line == null) { + break; + } + + if (!"#begin".equals(line)) { + break; + } + line = getLine(in); + StringBuilder buf = new StringBuilder(line); + while (true) { + line = getLine(in); + if ("#end".equals(line)) { + break; + } + buf.append("\n"); + buf.append(line); + } + + String query = buf.toString(); + if (!getLine(in).equals("true")) { + continue; + } + + String tableName = getLine(in); + String cols = getLine(in); + try { + CreateTable createTable = (CreateTable) parserManager. + parse(new StringReader(query)); + String[] colsList = null; + if ("null".equals(cols)) { + colsList = new String[0]; + } else { + StringTokenizer tokenizer = new StringTokenizer(cols, " "); + + List colsListList = new ArrayList(); + while (tokenizer.hasMoreTokens()) { + colsListList.add(tokenizer.nextToken()); + } + + colsList = (String[]) colsListList.toArray(new String[colsListList.size()]); + + } + List colsFound = new ArrayList(); + if (createTable.getColumnDefinitions() != null) { + 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();) { + Index index = (Index) iterator.next(); + if (index.getType().equals("PRIMARY KEY") && index. + getColumnsNames().size() == 1 + && index.getColumnsNames().get(0).equals(colName)) { + unique = true; + } + + } + } + + if (!unique) { + if (columnDefinition.getColumnSpecStrings() != null) { + 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")) { + unique = true; + } + } + } + } + if (unique) { + colName += ".unique"; + } + colsFound.add(colName.toLowerCase()); + } + } + + assertEquals("stm:" + query, colsList.length, colsFound.size()); + + for (int i = 0; i < colsList.length; i++) { + assertEquals("stm:" + query, colsList[i], colsFound.get(i)); + + } + } catch (Exception e) { + throw new TestException("error at stm num: " + numSt + " " + query, e); + } + numSt++; + + } + } finally { + if (in != null) { + in.close(); + } + } + } + + private String getLine(BufferedReader in) throws Exception { + String line = null; + while (true) { + line = in.readLine(); + if (line != null) { + if ((line.length() != 0) + && ((line.length() < 2) || (line.length() >= 2) + && !(line.charAt(0) == '/' && line.charAt(1) == '/'))) { + break; + } + } else { + break; + } + + } + + return line; + } } 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 ce5e01358..10c4bc82d 100644 --- a/src/test/java/net/sf/jsqlparser/test/create/CreateViewTest.java +++ b/src/test/java/net/sf/jsqlparser/test/create/CreateViewTest.java @@ -12,58 +12,60 @@ public class CreateViewTest extends TestCase { - private CCJSqlParserManager parserManager = new CCJSqlParserManager(); + private CCJSqlParserManager parserManager = new CCJSqlParserManager(); - public CreateViewTest(String arg0) { - super(arg0); - } + public CreateViewTest(String arg0) { + super(arg0); + } - public void testCreateView() throws JSQLParserException { - String statement = "CREATE VIEW myview AS SELECT * FROM mytab"; - 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(statement, createView.toString()); - } + public void testCreateView() throws JSQLParserException { + String statement = "CREATE VIEW myview AS SELECT * FROM mytab"; + 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(statement, createView.toString()); + } - public void testCreateView2() throws JSQLParserException { - String stmt = "CREATE VIEW myview AS SELECT * FROM mytab"; - assertSqlCanBeParsedAndDeparsed(stmt); - } + public void testCreateView2() throws JSQLParserException { + String stmt = "CREATE VIEW myview AS SELECT * FROM mytab"; + assertSqlCanBeParsedAndDeparsed(stmt); + } - public void testCreateView3() throws JSQLParserException { - String stmt = "CREATE OR REPLACE VIEW myview AS SELECT * FROM mytab"; - assertSqlCanBeParsedAndDeparsed(stmt); - } + public void testCreateView3() throws JSQLParserException { + String stmt = "CREATE OR REPLACE VIEW myview AS SELECT * FROM mytab"; + assertSqlCanBeParsedAndDeparsed(stmt); + } - public void testCreateView4() throws JSQLParserException { - String stmt = "CREATE OR REPLACE VIEW view2 AS SELECT a, b, c FROM testtab INNER JOIN testtab2 ON testtab.col1 = testtab2.col2"; - assertSqlCanBeParsedAndDeparsed(stmt); - } - - public void testCreateViewWithColumnNames1() throws JSQLParserException { - String stmt = "CREATE OR REPLACE VIEW view1(col1, col2) AS SELECT a, b FROM testtab"; - assertSqlCanBeParsedAndDeparsed(stmt); - } - - public void testCreateView5() throws JSQLParserException { - String statement = "CREATE VIEW myview AS (SELECT * FROM mytab)"; - String statement2 = "CREATE VIEW myview AS (SELECT * FROM mytab)"; - 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(statement2, createView.toString()); - } - - public void testCreateViewUnion() throws JSQLParserException { - String stmt = "CREATE VIEW view1 AS (SELECT a, b FROM testtab) UNION (SELECT b, c FROM testtab2)"; - assertSqlCanBeParsedAndDeparsed(stmt); - } - - public void testCreateMaterializedView() throws JSQLParserException { - String stmt = "CREATE MATERIALIZED VIEW view1 AS SELECT a, b FROM testtab"; - assertSqlCanBeParsedAndDeparsed(stmt); - } + public void testCreateView4() throws JSQLParserException { + String stmt = "CREATE OR REPLACE VIEW view2 AS SELECT a, b, c FROM testtab INNER JOIN testtab2 ON testtab.col1 = testtab2.col2"; + assertSqlCanBeParsedAndDeparsed(stmt); + } + + public void testCreateViewWithColumnNames1() throws JSQLParserException { + String stmt = "CREATE OR REPLACE VIEW view1(col1, col2) AS SELECT a, b FROM testtab"; + assertSqlCanBeParsedAndDeparsed(stmt); + } + + public void testCreateView5() throws JSQLParserException { + String statement = "CREATE VIEW myview AS (SELECT * FROM mytab)"; + String statement2 = "CREATE VIEW myview AS (SELECT * FROM mytab)"; + 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(statement2, createView.toString()); + } + + public void testCreateViewUnion() throws JSQLParserException { + String stmt = "CREATE VIEW view1 AS (SELECT a, b FROM testtab) UNION (SELECT b, c FROM testtab2)"; + assertSqlCanBeParsedAndDeparsed(stmt); + } + + public void testCreateMaterializedView() throws JSQLParserException { + String stmt = "CREATE MATERIALIZED VIEW view1 AS SELECT a, b FROM testtab"; + assertSqlCanBeParsedAndDeparsed(stmt); + } } 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 f8da8c93e..0b23a3021 100644 --- a/src/test/java/net/sf/jsqlparser/test/delete/DeleteTest.java +++ b/src/test/java/net/sf/jsqlparser/test/delete/DeleteTest.java @@ -13,62 +13,62 @@ public class DeleteTest { - private final CCJSqlParserManager parserManager = new CCJSqlParserManager(); - - @Test - public void testDelete() throws JSQLParserException { - String statement = "DELETE FROM mytable WHERE mytable.col = 9"; - - Delete delete = (Delete) parserManager.parse(new StringReader(statement)); - assertEquals("mytable", delete.getTable().getName()); - assertEquals(statement, "" + delete); - } - - @Test - public void testDeleteWhereProblem1() throws JSQLParserException { - String stmt = "DELETE FROM tablename WHERE a = 1 AND b = 1"; - assertSqlCanBeParsedAndDeparsed(stmt); - } - - @Test - public void testDeleteWithLimit() throws JSQLParserException { - String stmt = "DELETE FROM tablename WHERE a = 1 AND b = 1 LIMIT 5"; - assertSqlCanBeParsedAndDeparsed(stmt); - } - - @Test(expected = JSQLParserException.class) - public void testDeleteDoesNotAllowLimitOffset() throws JSQLParserException { - String statement = "DELETE FROM table1 WHERE A.cod_table = 'YYY' LIMIT 3,4"; - parserManager.parse(new StringReader(statement)); - } - - @Test - public void testDeleteWithOrderBy() throws JSQLParserException { - String stmt = "DELETE FROM tablename WHERE a = 1 AND b = 1 ORDER BY col"; - assertSqlCanBeParsedAndDeparsed(stmt); - } - - @Test - public void testDeleteWithOrderByAndLimit() throws JSQLParserException { - String stmt = "DELETE FROM tablename WHERE a = 1 AND b = 1 ORDER BY col LIMIT 10"; - assertSqlCanBeParsedAndDeparsed(stmt); - } - - @Test - public void testDeleteFromTableUsingInnerJoinToAnotherTable() throws JSQLParserException { - String stmt = "DELETE Table1 FROM Table1 INNER JOIN Table2 ON Table1.ID = Table2.ID"; - assertSqlCanBeParsedAndDeparsed(stmt); - } - - @Test - public void testDeleteFromTableUsingLeftJoinToAnotherTable() throws JSQLParserException { - String stmt = "DELETE g FROM Table1 AS g LEFT JOIN Table2 ON Table1.ID = Table2.ID"; - assertSqlCanBeParsedAndDeparsed(stmt); - } - - @Test - public void testDeleteFromTableUsingInnerJoinToAnotherTableWithAlias() throws JSQLParserException { - String stmt = "DELETE gc FROM guide_category AS gc LEFT JOIN guide AS g ON g.id_guide = gc.id_guide WHERE g.title IS NULL LIMIT 5"; - assertSqlCanBeParsedAndDeparsed(stmt); - } + private final CCJSqlParserManager parserManager = new CCJSqlParserManager(); + + @Test + public void testDelete() throws JSQLParserException { + String statement = "DELETE FROM mytable WHERE mytable.col = 9"; + + Delete delete = (Delete) parserManager.parse(new StringReader(statement)); + assertEquals("mytable", delete.getTable().getName()); + assertEquals(statement, "" + delete); + } + + @Test + public void testDeleteWhereProblem1() throws JSQLParserException { + String stmt = "DELETE FROM tablename WHERE a = 1 AND b = 1"; + assertSqlCanBeParsedAndDeparsed(stmt); + } + + @Test + public void testDeleteWithLimit() throws JSQLParserException { + String stmt = "DELETE FROM tablename WHERE a = 1 AND b = 1 LIMIT 5"; + assertSqlCanBeParsedAndDeparsed(stmt); + } + + @Test(expected = JSQLParserException.class) + public void testDeleteDoesNotAllowLimitOffset() throws JSQLParserException { + String statement = "DELETE FROM table1 WHERE A.cod_table = 'YYY' LIMIT 3,4"; + parserManager.parse(new StringReader(statement)); + } + + @Test + public void testDeleteWithOrderBy() throws JSQLParserException { + String stmt = "DELETE FROM tablename WHERE a = 1 AND b = 1 ORDER BY col"; + assertSqlCanBeParsedAndDeparsed(stmt); + } + + @Test + public void testDeleteWithOrderByAndLimit() throws JSQLParserException { + String stmt = "DELETE FROM tablename WHERE a = 1 AND b = 1 ORDER BY col LIMIT 10"; + assertSqlCanBeParsedAndDeparsed(stmt); + } + + @Test + public void testDeleteFromTableUsingInnerJoinToAnotherTable() throws JSQLParserException { + String stmt = "DELETE Table1 FROM Table1 INNER JOIN Table2 ON Table1.ID = Table2.ID"; + assertSqlCanBeParsedAndDeparsed(stmt); + } + + @Test + public void testDeleteFromTableUsingLeftJoinToAnotherTable() throws JSQLParserException { + String stmt = "DELETE g FROM Table1 AS g LEFT JOIN Table2 ON Table1.ID = Table2.ID"; + assertSqlCanBeParsedAndDeparsed(stmt); + } + + @Test + public void testDeleteFromTableUsingInnerJoinToAnotherTableWithAlias() throws JSQLParserException { + String stmt = "DELETE gc FROM guide_category AS gc LEFT JOIN guide AS g ON g.id_guide = gc.id_guide WHERE g.title IS NULL LIMIT 5"; + assertSqlCanBeParsedAndDeparsed(stmt); + } } 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 0645b2636..7ad4a6d58 100644 --- a/src/test/java/net/sf/jsqlparser/test/drop/DropTest.java +++ b/src/test/java/net/sf/jsqlparser/test/drop/DropTest.java @@ -10,9 +10,9 @@ import org.junit.Test; public class DropTest { - + private final CCJSqlParserManager parserManager = new CCJSqlParserManager(); - + @Test public void testDrop() throws JSQLParserException { String statement = "DROP TABLE mytab"; @@ -20,7 +20,7 @@ public void testDrop() throws JSQLParserException { assertEquals("TABLE", drop.getType()); assertEquals("mytab", drop.getName().getFullyQualifiedName()); assertEquals(statement, "" + drop); - + statement = "DROP INDEX myindex CASCADE"; drop = (Drop) parserManager.parse(new StringReader(statement)); assertEquals("INDEX", drop.getType()); @@ -28,14 +28,14 @@ public void testDrop() throws JSQLParserException { assertEquals("CASCADE", drop.getParameters().get(0)); assertEquals(statement, "" + drop); } - + @Test public void testDrop2() throws JSQLParserException { Drop drop = (Drop) parserManager.parse(new StringReader("DROP TABLE \"testtable\"")); assertEquals("TABLE", drop.getType()); assertEquals("\"testtable\"", drop.getName().getFullyQualifiedName()); } - + @Test public void testDropIfExists() throws JSQLParserException { assertSqlCanBeParsedAndDeparsed("DROP TABLE IF EXISTS my_table"); 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 89cfa4c49..4413e380c 100644 --- a/src/test/java/net/sf/jsqlparser/test/insert/InsertTest.java +++ b/src/test/java/net/sf/jsqlparser/test/insert/InsertTest.java @@ -19,9 +19,9 @@ import org.junit.Test; public class InsertTest { - + private CCJSqlParserManager parserManager = new CCJSqlParserManager(); - + @Test public void testRegularInsert() throws JSQLParserException { String statement = "INSERT INTO mytable (col1, col2, col3) VALUES (?, 'sadfsd', 234)"; @@ -39,7 +39,7 @@ public void testRegularInsert() throws JSQLParserException { assertEquals(234, ((LongValue) ((ExpressionList) insert.getItemsList()).getExpressions(). get(2)).getValue()); assertEquals(statement, "" + insert); - + statement = "INSERT INTO myschema.mytable VALUES (?, ?, 2.3)"; insert = (Insert) parserManager.parse(new StringReader(statement)); assertEquals("myschema.mytable", insert.getTable().getFullyQualifiedName()); @@ -49,9 +49,9 @@ public void testRegularInsert() throws JSQLParserException { get(2)).getValue(), 0.0); assertEquals(statement, "" + insert); - + } - + @Test public void testInsertWithKeywordValue() throws JSQLParserException { String statement = "INSERT INTO mytable (col1) VALUE ('val1')"; @@ -64,7 +64,7 @@ public void testInsertWithKeywordValue() throws JSQLParserException { getValue()); assertEquals("INSERT INTO mytable (col1) VALUES ('val1')", insert.toString()); } - + @Test public void testInsertFromSelect() throws JSQLParserException { String statement = "INSERT INTO mytable (col1, col2, col3) SELECT * FROM mytable2"; @@ -83,12 +83,12 @@ public void testInsertFromSelect() throws JSQLParserException { String statementToString = "INSERT INTO mytable (col1, col2, col3) SELECT * FROM mytable2"; assertEquals(statementToString, "" + insert); } - + @Test public void testInsertMultiRowValue() throws JSQLParserException { assertSqlCanBeParsedAndDeparsed("INSERT INTO mytable (col1, col2) VALUES (a, b), (d, e)"); } - + @Test public void testInsertMultiRowValueDifferent() throws JSQLParserException { try { @@ -96,97 +96,97 @@ public void testInsertMultiRowValueDifferent() throws JSQLParserException { } catch (Exception e) { return; } - + fail("should not work"); } - + @Test public void testSimpleInsert() throws JSQLParserException { assertSqlCanBeParsedAndDeparsed("INSERT INTO example (num, name, address, tel) VALUES (1, 'name', 'test ', '1234-1234')"); } - + @Test public void testInsertWithReturning() throws JSQLParserException { assertSqlCanBeParsedAndDeparsed("INSERT INTO mytable (mycolumn) VALUES ('1') RETURNING id"); } - + @Test public void testInsertWithReturning2() throws JSQLParserException { assertSqlCanBeParsedAndDeparsed("INSERT INTO mytable (mycolumn) VALUES ('1') RETURNING *"); } - + @Test public void testInsertWithReturning3() throws JSQLParserException { assertSqlCanBeParsedAndDeparsed("INSERT INTO mytable (mycolumn) VALUES ('1') RETURNING id AS a1, id2 AS a2"); } - + @Test public void testInsertSelect() throws JSQLParserException { assertSqlCanBeParsedAndDeparsed("INSERT INTO mytable (mycolumn) SELECT mycolumn FROM mytable"); assertSqlCanBeParsedAndDeparsed("INSERT INTO mytable (mycolumn) (SELECT mycolumn FROM mytable)"); } - + @Test public void testInsertWithSelect() throws JSQLParserException { assertSqlCanBeParsedAndDeparsed("INSERT INTO mytable (mycolumn) WITH a AS (SELECT mycolumn FROM mytable) SELECT mycolumn FROM a"); assertSqlCanBeParsedAndDeparsed("INSERT INTO mytable (mycolumn) (WITH a AS (SELECT mycolumn FROM mytable) SELECT mycolumn FROM a)"); } - + @Test public void testInsertWithKeywords() throws JSQLParserException { assertSqlCanBeParsedAndDeparsed("INSERT INTO kvPair (value, key) VALUES (?, ?)"); } - + @Test public void testHexValues() throws JSQLParserException { assertSqlCanBeParsedAndDeparsed("INSERT INTO TABLE2 VALUES ('1', \"DSDD\", x'EFBFBDC7AB')"); } - + @Test public void testHexValues2() throws JSQLParserException { assertSqlCanBeParsedAndDeparsed("INSERT INTO TABLE2 VALUES ('1', \"DSDD\", 0xEFBFBDC7AB)"); } - + @Test public void testHexValues3() throws JSQLParserException { assertSqlCanBeParsedAndDeparsed("INSERT INTO TABLE2 VALUES ('1', \"DSDD\", 0xabcde)"); } - + @Test public void testDuplicateKey() throws JSQLParserException { assertSqlCanBeParsedAndDeparsed("INSERT INTO Users0 (UserId, Key, Value) VALUES (51311, 'T_211', 18) ON DUPLICATE KEY UPDATE Value = 18"); } - + @Test public void testModifierIgnore() throws JSQLParserException { assertSqlCanBeParsedAndDeparsed("INSERT IGNORE INTO `AoQiSurvey_FlashVersion_Single` VALUES (302215163, 'WIN 16,0,0,235')"); } - + @Test public void testModifierPriority1() throws JSQLParserException { assertSqlCanBeParsedAndDeparsed("INSERT DELAYED INTO kvPair (value, key) VALUES (?, ?)"); } - + @Test public void testModifierPriority2() throws JSQLParserException { assertSqlCanBeParsedAndDeparsed("INSERT LOW_PRIORITY INTO kvPair (value, key) VALUES (?, ?)"); } - + @Test public void testModifierPriority3() throws JSQLParserException { assertSqlCanBeParsedAndDeparsed("INSERT HIGH_PRIORITY INTO kvPair (value, key) VALUES (?, ?)"); } - + @Test 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')"); } - + @Test 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); 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 17245b977..342061c69 100644 --- a/src/test/java/net/sf/jsqlparser/test/replace/ReplaceTest.java +++ b/src/test/java/net/sf/jsqlparser/test/replace/ReplaceTest.java @@ -18,61 +18,64 @@ public class ReplaceTest { - private static final CCJSqlParserManager parserManager = new CCJSqlParserManager(); - + private static final CCJSqlParserManager parserManager = new CCJSqlParserManager(); @Test - public void testReplaceSyntax1() throws JSQLParserException { - String statement = "REPLACE mytable SET col1='as', col2=?, col3=565"; - Replace replace = (Replace) parserManager.parse(new StringReader(statement)); - assertEquals("mytable", replace.getTable().getName()); - assertEquals(3, replace.getColumns().size()); - 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) replace.getExpressions().get(0)).getValue()); - assertTrue(replace.getExpressions().get(1) instanceof JdbcParameter); - assertEquals(565, ((LongValue) replace.getExpressions().get(2)).getValue()); - assertEquals(statement, "" + replace); + public void testReplaceSyntax1() throws JSQLParserException { + String statement = "REPLACE mytable SET col1='as', col2=?, col3=565"; + Replace replace = (Replace) parserManager.parse(new StringReader(statement)); + assertEquals("mytable", replace.getTable().getName()); + assertEquals(3, replace.getColumns().size()); + 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) replace.getExpressions().get(0)).getValue()); + assertTrue(replace.getExpressions().get(1) instanceof JdbcParameter); + assertEquals(565, ((LongValue) replace.getExpressions().get(2)).getValue()); + assertEquals(statement, "" + replace); - } + } @Test - public void testReplaceSyntax2() throws JSQLParserException { - String statement = "REPLACE mytable (col1, col2, col3) VALUES ('as', ?, 565)"; - Replace replace = (Replace) parserManager.parse(new StringReader(statement)); - assertEquals("mytable", replace.getTable().getName()); - assertEquals(3, replace.getColumns().size()); - 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()); - assertTrue(((ExpressionList) replace.getItemsList()).getExpressions().get(1) instanceof JdbcParameter); - assertEquals(565, ((LongValue) ((ExpressionList) replace.getItemsList()).getExpressions().get(2)).getValue()); - assertEquals(statement, "" + replace); - } + public void testReplaceSyntax2() throws JSQLParserException { + String statement = "REPLACE mytable (col1, col2, col3) VALUES ('as', ?, 565)"; + Replace replace = (Replace) parserManager.parse(new StringReader(statement)); + assertEquals("mytable", replace.getTable().getName()); + assertEquals(3, replace.getColumns().size()); + 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()); + assertTrue(((ExpressionList) replace.getItemsList()).getExpressions().get(1) instanceof JdbcParameter); + assertEquals(565, ((LongValue) ((ExpressionList) replace.getItemsList()).getExpressions(). + get(2)).getValue()); + assertEquals(statement, "" + replace); + } @Test - public void testReplaceSyntax3() throws JSQLParserException { - String statement = "REPLACE mytable (col1, col2, col3) SELECT * FROM mytable3"; - Replace replace = (Replace) parserManager.parse(new StringReader(statement)); - assertEquals("mytable", replace.getTable().getName()); - assertEquals(3, replace.getColumns().size()); - assertEquals("col1", ((Column) replace.getColumns().get(0)).getColumnName()); - assertEquals("col2", ((Column) replace.getColumns().get(1)).getColumnName()); - assertEquals("col3", ((Column) replace.getColumns().get(2)).getColumnName()); - assertTrue(replace.getItemsList() instanceof SubSelect); - // TODO: - // assertEquals(statement, ""+replace); - } - + public void testReplaceSyntax3() throws JSQLParserException { + String statement = "REPLACE mytable (col1, col2, col3) SELECT * FROM mytable3"; + Replace replace = (Replace) parserManager.parse(new StringReader(statement)); + assertEquals("mytable", replace.getTable().getName()); + assertEquals(3, replace.getColumns().size()); + assertEquals("col1", ((Column) replace.getColumns().get(0)).getColumnName()); + assertEquals("col2", ((Column) replace.getColumns().get(1)).getColumnName()); + assertEquals("col3", ((Column) replace.getColumns().get(2)).getColumnName()); + assertTrue(replace.getItemsList() instanceof SubSelect); + // TODO: + // assertEquals(statement, ""+replace); + } + @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\")"); } } 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 75b87e848..7ad06843c 100644 --- a/src/test/java/net/sf/jsqlparser/test/select/HiveTest.java +++ b/src/test/java/net/sf/jsqlparser/test/select/HiveTest.java @@ -35,7 +35,8 @@ 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 397eb6088..b35f30ecb 100644 --- a/src/test/java/net/sf/jsqlparser/test/select/MemoryTest.java +++ b/src/test/java/net/sf/jsqlparser/test/select/MemoryTest.java @@ -7,12 +7,12 @@ public class MemoryTest { - public static void main(String[] args) throws Exception { - System.gc(); - System.out.println(Runtime.getRuntime().totalMemory() - Runtime.getRuntime().freeMemory()); - CCJSqlParserManager parserManager = new CCJSqlParserManager(); + public static void main(String[] args) throws Exception { + System.gc(); + System.out.println(Runtime.getRuntime().totalMemory() - Runtime.getRuntime().freeMemory()); + CCJSqlParserManager parserManager = new CCJSqlParserManager(); - /* + /* * String longQuery = new String( * "select * from ( SELECT intermediate.id as id , intermediate.date as " + * "date FROM ( SELECT DISTINCT ( id ) FROM ( SELECT " + @@ -41,35 +41,35 @@ public static void main(String[] args) throws Exception { * "wct_transaction.user_id = 164 and wct_audit_entry.object_id = " + * "wct_workflows.workflow_id UNION SELECT * FROM interm2 , wct_workflow_docs WHERE " + * "interm2.id = wct_workflow_docs.document_id ORDER BY id , date DESC "); - */ - String longQuery = "select * from k where ID > 4"; + */ + String longQuery = "select * from k where ID > 4"; - /* + /* * String longQuery = "select * from ( SELECT intermediate.id as id , intermediate.date as " * + "date FROM ( SELECT DISTINCT ( id ) FROM ( SELECT " + * "wct_workflows.workflow_id as id , wct_transaction.date as date FROM " + * "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 " + * "wct_audit_entry.transaction_id = wct_transaction.transaction_id and " + * "wct_transaction.user_id = 164 and wct_audit_entry.object_id = " + * "wct_workflows.active_version_id "; - */ - StringReader stringReader = new StringReader(longQuery); - Statement statement = parserManager.parse(stringReader); - // stringReader = new StringReader(longQuery); - // Statement statement2 = parserManager.parse(stringReader); - // stringReader = null; - // statement2 = null; - statement = null; - parserManager = null; - longQuery = null; - System.gc(); - System.out.println(Runtime.getRuntime().totalMemory() - Runtime.getRuntime().freeMemory()); + */ + StringReader stringReader = new StringReader(longQuery); + Statement statement = parserManager.parse(stringReader); + // stringReader = new StringReader(longQuery); + // Statement statement2 = parserManager.parse(stringReader); + // stringReader = null; + // statement2 = null; + statement = null; + parserManager = null; + longQuery = null; + System.gc(); + System.out.println(Runtime.getRuntime().totalMemory() - Runtime.getRuntime().freeMemory()); - } + } } 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 5b9601edc..4099a7501 100644 --- a/src/test/java/net/sf/jsqlparser/test/select/SelectASTTest.java +++ b/src/test/java/net/sf/jsqlparser/test/select/SelectASTTest.java @@ -74,7 +74,7 @@ public void testSelectASTNode() throws JSQLParserException { private Token subSelectStart; private Token subSelectEnd; - + @Test public void testSelectASTNodeSubSelect() throws JSQLParserException { String sql = "SELECT * FROM mytable where 0<(select count(*) from mytable2)"; @@ -93,7 +93,7 @@ public Object visit(SimpleNode node, Object data) { } } }, null); - + assertNotNull(subSelectStart); assertNotNull(subSelectEnd); assertEquals(34, subSelectStart.beginColumn); 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 bf1f63648..440d05eb4 100644 --- a/src/test/java/net/sf/jsqlparser/test/select/SelectTest.java +++ b/src/test/java/net/sf/jsqlparser/test/select/SelectTest.java @@ -160,7 +160,8 @@ 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()); @@ -224,7 +225,7 @@ public void testLimit() throws JSQLParserException { Expression offset = ((PlainSelect) select.getSelectBody()).getLimit().getOffset(); Expression rowCount = ((PlainSelect) select.getSelectBody()).getLimit().getRowCount(); - assertEquals(3, ((LongValue)offset).getValue()); + assertEquals(3, ((LongValue) offset).getValue()); assertTrue(rowCount instanceof JdbcParameter); assertFalse(((PlainSelect) select.getSelectBody()).getLimit().isLimitAll()); @@ -247,8 +248,8 @@ public void testLimit() throws JSQLParserException { offset = setList.getLimit().getOffset(); rowCount = setList.getLimit().getRowCount(); - assertEquals(3, ((LongValue)offset).getValue()); - assertEquals(4, ((LongValue)rowCount).getValue()); + assertEquals(3, ((LongValue) offset).getValue()); + assertEquals(4, ((LongValue) rowCount).getValue()); // toString uses standard syntax statement = "(SELECT * FROM mytable WHERE mytable.col = 9 OFFSET ?) UNION " @@ -270,9 +271,9 @@ public void testLimit2() throws JSQLParserException { Expression offset = ((PlainSelect) select.getSelectBody()).getLimit().getOffset(); Expression rowCount = ((PlainSelect) select.getSelectBody()).getLimit().getRowCount(); - assertEquals(3, ((LongValue)offset).getValue()); - assertNotNull(((JdbcParameter)rowCount).getIndex()); - assertFalse(((JdbcParameter)rowCount).isUseFixedIndex()); + assertEquals(3, ((LongValue) offset).getValue()); + assertNotNull(((JdbcParameter) rowCount).getIndex()); + assertFalse(((JdbcParameter) rowCount).isUseFixedIndex()); assertFalse(((PlainSelect) select.getSelectBody()).getLimit().isLimitAll()); assertFalse(((PlainSelect) select.getSelectBody()).getLimit().isLimitNull()); @@ -298,7 +299,7 @@ public void testLimit2() throws JSQLParserException { rowCount = ((PlainSelect) select.getSelectBody()).getLimit().getRowCount(); assertNull(offset); - assertEquals(0, ((LongValue)rowCount).getValue()); + assertEquals(0, ((LongValue) rowCount).getValue()); assertEquals(3, ((PlainSelect) select.getSelectBody()).getOffset().getOffset()); assertFalse(((PlainSelect) select.getSelectBody()).getLimit().isLimitAll()); assertFalse(((PlainSelect) select.getSelectBody()).getLimit().isLimitNull()); @@ -316,8 +317,8 @@ public void testLimit2() throws JSQLParserException { + "(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()); - assertEquals(4, ((LongValue)(setList.getLimit().getRowCount())).getValue()); + assertEquals(3, ((LongValue) (setList.getLimit().getOffset())).getValue()); + assertEquals(4, ((LongValue) (setList.getLimit().getRowCount())).getValue()); // toString uses standard syntax statement = "(SELECT * FROM mytable WHERE mytable.col = 9 OFFSET ?) UNION " @@ -338,43 +339,43 @@ public void testLimit3() throws JSQLParserException { Expression offset = ((PlainSelect) select.getSelectBody()).getLimit().getOffset(); Expression rowCount = ((PlainSelect) select.getSelectBody()).getLimit().getRowCount(); - assertEquals(1, (int)((JdbcParameter)offset).getIndex()); - assertEquals(2, ((LongValue)rowCount).getValue()); + assertEquals(1, (int) ((JdbcParameter) offset).getIndex()); + assertEquals(2, ((LongValue) rowCount).getValue()); assertFalse(((PlainSelect) select.getSelectBody()).getLimit().isLimitAll()); statement = "SELECT * FROM mytable WHERE mytable.col = 9 LIMIT 1, ?2"; select = (Select) parserManager.parse(new StringReader(statement)); offset = ((PlainSelect) select.getSelectBody()).getLimit().getOffset(); rowCount = ((PlainSelect) select.getSelectBody()).getLimit().getRowCount(); - assertEquals(1, ((LongValue)offset).getValue()); - assertEquals(2, (int)((JdbcParameter)rowCount).getIndex()); + assertEquals(1, ((LongValue) offset).getValue()); + assertEquals(2, (int) ((JdbcParameter) rowCount).getIndex()); assertFalse(((PlainSelect) select.getSelectBody()).getLimit().isLimitAll()); statement = "SELECT * FROM mytable WHERE mytable.col = 9 LIMIT ?1, ?2"; select = (Select) parserManager.parse(new StringReader(statement)); offset = ((PlainSelect) select.getSelectBody()).getLimit().getOffset(); rowCount = ((PlainSelect) select.getSelectBody()).getLimit().getRowCount(); - assertEquals(2, (int)(((JdbcParameter)rowCount).getIndex())); - assertEquals(1, (int)((JdbcParameter)offset).getIndex()); + assertEquals(2, (int) (((JdbcParameter) rowCount).getIndex())); + assertEquals(1, (int) ((JdbcParameter) offset).getIndex()); assertFalse(((PlainSelect) select.getSelectBody()).getLimit().isLimitAll()); statement = "SELECT * FROM mytable WHERE mytable.col = 9 LIMIT 1, ?"; select = (Select) parserManager.parse(new StringReader(statement)); offset = ((PlainSelect) select.getSelectBody()).getLimit().getOffset(); rowCount = ((PlainSelect) select.getSelectBody()).getLimit().getRowCount(); - assertEquals(1, ((LongValue)offset).getValue()); - assertNotNull(((JdbcParameter)rowCount).getIndex()); - assertFalse(((JdbcParameter)rowCount).isUseFixedIndex()); + assertEquals(1, ((LongValue) offset).getValue()); + assertNotNull(((JdbcParameter) rowCount).getIndex()); + assertFalse(((JdbcParameter) rowCount).isUseFixedIndex()); assertFalse(((PlainSelect) select.getSelectBody()).getLimit().isLimitAll()); statement = "SELECT * FROM mytable WHERE mytable.col = 9 LIMIT ?, ?"; select = (Select) parserManager.parse(new StringReader(statement)); offset = ((PlainSelect) select.getSelectBody()).getLimit().getOffset(); rowCount = ((PlainSelect) select.getSelectBody()).getLimit().getRowCount(); - assertNotNull(((JdbcParameter)offset).getIndex()); - assertFalse(((JdbcParameter)offset).isUseFixedIndex()); - assertNotNull(((JdbcParameter)rowCount).getIndex()); - assertFalse(((JdbcParameter)rowCount).isUseFixedIndex()); + assertNotNull(((JdbcParameter) offset).getIndex()); + assertFalse(((JdbcParameter) offset).isUseFixedIndex()); + assertNotNull(((JdbcParameter) rowCount).getIndex()); + assertFalse(((JdbcParameter) rowCount).isUseFixedIndex()); assertFalse(((PlainSelect) select.getSelectBody()).getLimit().isLimitAll()); statement = "SELECT * FROM mytable WHERE mytable.col = 9 LIMIT ?1"; @@ -384,7 +385,7 @@ public void testLimit3() throws JSQLParserException { rowCount = ((PlainSelect) select.getSelectBody()).getLimit().getRowCount(); assertNull(offset); - assertEquals(1, ((JdbcParameter)rowCount).getIndex().intValue()); + assertEquals(1, ((JdbcParameter) rowCount).getIndex().intValue()); assertFalse(((PlainSelect) select.getSelectBody()).getLimit().isLimitAll()); } @@ -396,40 +397,40 @@ public void testLimit4() throws JSQLParserException { Expression offset = ((PlainSelect) select.getSelectBody()).getLimit().getOffset(); Expression rowCount = ((PlainSelect) select.getSelectBody()).getLimit().getRowCount(); - assertEquals("some_name", ((JdbcNamedParameter)offset).getName()); - assertEquals(2, ((LongValue)rowCount).getValue()); + assertEquals("some_name", ((JdbcNamedParameter) offset).getName()); + assertEquals(2, ((LongValue) rowCount).getValue()); assertFalse(((PlainSelect) select.getSelectBody()).getLimit().isLimitAll()); statement = "SELECT * FROM mytable WHERE mytable.col = 9 LIMIT 1, :some_name"; select = (Select) parserManager.parse(new StringReader(statement)); offset = ((PlainSelect) select.getSelectBody()).getLimit().getOffset(); rowCount = ((PlainSelect) select.getSelectBody()).getLimit().getRowCount(); - assertEquals(1, ((LongValue)offset).getValue()); - assertEquals("some_name", ((JdbcNamedParameter)rowCount).getName()); + assertEquals(1, ((LongValue) offset).getValue()); + assertEquals("some_name", ((JdbcNamedParameter) rowCount).getName()); assertFalse(((PlainSelect) select.getSelectBody()).getLimit().isLimitAll()); statement = "SELECT * FROM mytable WHERE mytable.col = 9 LIMIT :name1, :name2"; select = (Select) parserManager.parse(new StringReader(statement)); offset = ((PlainSelect) select.getSelectBody()).getLimit().getOffset(); rowCount = ((PlainSelect) select.getSelectBody()).getLimit().getRowCount(); - assertEquals("name2", (((JdbcNamedParameter)rowCount).getName())); - assertEquals("name1", ((JdbcNamedParameter)offset).getName()); + assertEquals("name2", (((JdbcNamedParameter) rowCount).getName())); + assertEquals("name1", ((JdbcNamedParameter) offset).getName()); assertFalse(((PlainSelect) select.getSelectBody()).getLimit().isLimitAll()); statement = "SELECT * FROM mytable WHERE mytable.col = 9 LIMIT ?1, :name1"; select = (Select) parserManager.parse(new StringReader(statement)); offset = ((PlainSelect) select.getSelectBody()).getLimit().getOffset(); rowCount = ((PlainSelect) select.getSelectBody()).getLimit().getRowCount(); - assertEquals(1, (int)(((JdbcParameter)offset).getIndex())); - assertEquals("name1", (((JdbcNamedParameter)rowCount).getName())); + assertEquals(1, (int) (((JdbcParameter) offset).getIndex())); + assertEquals("name1", (((JdbcNamedParameter) rowCount).getName())); assertFalse(((PlainSelect) select.getSelectBody()).getLimit().isLimitAll()); statement = "SELECT * FROM mytable WHERE mytable.col = 9 LIMIT :name1, ?1"; select = (Select) parserManager.parse(new StringReader(statement)); offset = ((PlainSelect) select.getSelectBody()).getLimit().getOffset(); rowCount = ((PlainSelect) select.getSelectBody()).getLimit().getRowCount(); - assertEquals(1, (int)(((JdbcParameter)rowCount).getIndex())); - assertEquals("name1", (((JdbcNamedParameter)offset).getName())); + assertEquals(1, (int) (((JdbcParameter) rowCount).getIndex())); + assertEquals("name1", (((JdbcNamedParameter) offset).getName())); assertFalse(((PlainSelect) select.getSelectBody()).getLimit().isLimitAll()); statement = "SELECT * FROM mytable WHERE mytable.col = 9 LIMIT :param_name"; @@ -437,7 +438,7 @@ public void testLimit4() throws JSQLParserException { offset = ((PlainSelect) select.getSelectBody()).getLimit().getOffset(); rowCount = ((PlainSelect) select.getSelectBody()).getLimit().getRowCount(); assertNull(offset); - assertEquals("param_name", (((JdbcNamedParameter)rowCount).getName())); + assertEquals("param_name", (((JdbcNamedParameter) rowCount).getName())); assertFalse(((PlainSelect) select.getSelectBody()).getLimit().isLimitAll()); } @@ -515,7 +516,7 @@ public void testLimitSqlServerJdbcParameters() throws JSQLParserException { assertTrue(((PlainSelect) select.getSelectBody()).getFetch().isFetchJdbcParameter()); assertStatementCanBeDeparsedAs(select, statement); } - + 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"); @@ -526,12 +527,14 @@ 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 { @@ -560,17 +563,21 @@ 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 { @@ -704,25 +711,32 @@ 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); } @@ -733,10 +747,14 @@ public void testUnion() throws JSQLParserException { 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 @@ -745,7 +763,7 @@ public void testUnion() throws JSQLParserException { + "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"; @@ -753,10 +771,14 @@ public void testUnion2() throws JSQLParserException { 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()); @@ -767,17 +789,18 @@ public void testUnion2() throws JSQLParserException { + "SELECT * FROM mytable2 LIMIT 3 OFFSET 4"; assertStatementCanBeDeparsedAs(select, statementToString); } - public void testDistinct() throws JSQLParserException { String statement = "SELECT DISTINCT ON (myid) myid, mycol FROM mytable WHERE mytable.col = 9"; 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); } @@ -786,10 +809,12 @@ 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); } @@ -822,10 +847,12 @@ 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); @@ -833,7 +860,8 @@ 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); @@ -841,7 +869,8 @@ 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); @@ -858,7 +887,8 @@ 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", @@ -878,43 +908,54 @@ 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()) + 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()) + 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); @@ -924,8 +965,9 @@ 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()); @@ -933,25 +975,29 @@ 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))) + 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))) + 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))) + plainSelect = (PlainSelect) ((Select) parserManager. + parse(new StringReader(statement + whereToString))) .getSelectBody(); whereToString = " NOT (0 = 0)"; - plainSelect = (PlainSelect) ((Select) parserManager.parse(new StringReader(statement + whereToString))) + plainSelect = (PlainSelect) ((Select) parserManager. + parse(new StringReader(statement + whereToString))) .getSelectBody(); assertExpressionCanBeDeparsedAs(plainSelect.getWhere(), whereToString.trim()); @@ -963,7 +1009,8 @@ 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"; @@ -1010,7 +1057,7 @@ public void testOrderBy() throws JSQLParserException { assertEquals(2, plainSelect.getOrderByElements().size()); assertEquals("tab1.a", ((Column) plainSelect.getOrderByElements().get(0).getExpression()) - .getFullyQualifiedName()); + .getFullyQualifiedName()); assertEquals("b", ((Column) plainSelect.getOrderByElements().get(1).getExpression()).getColumnName()); assertTrue(plainSelect.getOrderByElements().get(1).isAsc()); @@ -1039,7 +1086,8 @@ 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); } @@ -1048,7 +1096,8 @@ 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); } @@ -1091,19 +1140,19 @@ public void testCase() throws JSQLParserException { assertSqlCanBeParsedAndDeparsed(statement); } - + public void testIssue371SimplifiedCase() throws JSQLParserException { assertSqlCanBeParsedAndDeparsed("SELECT CASE col + 4 WHEN 2 THEN 1 ELSE 0 END"); } - + public void testIssue371SimplifiedCase2() throws JSQLParserException { assertSqlCanBeParsedAndDeparsed("SELECT CASE col > 4 WHEN true THEN 1 ELSE 0 END"); } - + public void testIssue235SimplifiedCase3() throws JSQLParserException { assertSqlCanBeParsedAndDeparsed("SELECT CASE WHEN (CASE WHEN (CASE WHEN (1) THEN 0 END) THEN 0 END) THEN 0 END FROM a"); } - + public void testIssue235SimplifiedCase4() throws JSQLParserException { assertSqlCanBeParsedAndDeparsed("SELECT CASE WHEN (CASE WHEN (CASE WHEN (CASE WHEN (1) THEN 0 END) THEN 0 END) THEN 0 END) THEN 0 END FROM a"); } @@ -1117,7 +1166,8 @@ 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()); @@ -1129,13 +1179,15 @@ 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()); } @@ -1153,7 +1205,8 @@ 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()) + assertEquals(1e2, ((DoubleValue) ((SelectExpressionItem) ((PlainSelect) select. + getSelectBody()) .getSelectItems().get(0)).getExpression()).getValue(), 0); assertStatementCanBeDeparsedAs(select, statement); @@ -1161,24 +1214,24 @@ public void testDouble() throws JSQLParserException { 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); } @@ -1186,7 +1239,8 @@ 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()) + assertEquals(1e22, ((DoubleValue) ((SelectExpressionItem) ((PlainSelect) select. + getSelectBody()) .getSelectItems().get(0)).getExpression()).getValue(), 0); } @@ -1194,7 +1248,8 @@ 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()) + assertEquals(1.0, ((DoubleValue) ((SelectExpressionItem) ((PlainSelect) select. + getSelectBody()) .getSelectItems().get(0)).getExpression()).getValue(), 0); } @@ -1202,7 +1257,8 @@ 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()) + assertEquals(1.2e22, ((DoubleValue) ((SelectExpressionItem) ((PlainSelect) select. + getSelectBody()) .getSelectItems().get(0)).getExpression()).getValue(), 0); } @@ -1585,7 +1641,7 @@ public void testOracleJoin4() throws JSQLParserException { String stmt = "SELECT * FROM tabelle1, tabelle2 WHERE tabelle1.a(+) = tabelle2.b AND tabelle1.b(+) IN ('A', 'B')"; assertSqlCanBeParsedAndDeparsed(stmt); } - + public void testOracleJoinIssue318() throws JSQLParserException { assertSqlCanBeParsedAndDeparsed("SELECT * FROM TBL_A, TBL_B, TBL_C WHERE TBL_A.ID(+) = TBL_B.ID AND TBL_C.ROOM(+) = TBL_B.ROOM"); } @@ -1729,9 +1785,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 { @@ -2022,15 +2080,14 @@ public void testJsonExpression() throws JSQLParserException { assertSqlCanBeParsedAndDeparsed("SELECT SUM(CAST(sale->'items'->>'quantity' AS integer)) AS total_quantity_sold FROM sales"); assertSqlCanBeParsedAndDeparsed("SELECT sale->>'items' FROM sales"); 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[]{ "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'", "SELECT * FROM sales where sale ->'items' -# 'name'" - }){ + }) { Select select = (Select) parserManager.parse(new StringReader(statement)); assertStatementCanBeDeparsedAs(select, statement, true); } @@ -2382,7 +2439,8 @@ public void testSpeedTestIssue235() throws JSQLParserException { } 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); } @@ -2423,15 +2481,16 @@ 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()); } - + public void testProblemSqlIssue330() throws JSQLParserException { assertSqlCanBeParsedAndDeparsed("SELECT COUNT(*) FROM C_Invoice WHERE IsSOTrx='Y' AND (Processed='N' OR Updated>(current_timestamp - CAST('90 days' AS interval))) AND C_Invoice.AD_Client_ID IN(0,1010016) AND C_Invoice.AD_Org_ID IN(0,1010053,1010095,1010094)", true); } - + public void testProblemSqlIssue330_2() throws JSQLParserException { assertSqlCanBeParsedAndDeparsed("SELECT CAST('90 days' AS interval)"); } @@ -2439,31 +2498,31 @@ public void testProblemSqlIssue330_2() throws JSQLParserException { // 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"); } - + public void testProblemSqlIssue352() throws JSQLParserException { - assertSqlCanBeParsedAndDeparsed( "SELECT @rowNO from (SELECT @rowNO from dual) r", true); + assertSqlCanBeParsedAndDeparsed("SELECT @rowNO from (SELECT @rowNO from dual) r", true); } - + 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); } - + 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); } - + 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); } - + 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); @@ -2472,35 +2531,33 @@ public void testProblemIssue375Simplified2() throws JSQLParserException { // 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)"); } - + public void testProblemLargeNumbersIssue390() throws JSQLParserException { assertSqlCanBeParsedAndDeparsed("SELECT * FROM student WHERE student_no = 20161114000000035001"); } - + public void testKeyWorkInsertIssue393() throws JSQLParserException { assertSqlCanBeParsedAndDeparsed("SELECT insert(\"aaaabbb\", 4, 4, \"****\")"); } - + public void testKeyWorkReplaceIssue393() throws JSQLParserException { assertSqlCanBeParsedAndDeparsed("SELECT replace(\"aaaabbb\", 4, 4, \"****\")"); } - + /** - * Validates that a SELECT with FOR UPDATE WAIT can be parsed and - * deparsed + * Validates that a SELECT with FOR UPDATE WAIT can be parsed and deparsed */ public void testForUpdateWaitParseDeparse() throws JSQLParserException { assertSqlCanBeParsedAndDeparsed("SELECT * FROM mytable FOR UPDATE WAIT 60"); } /** - * Validates that a SELECT with FOR UPDATE WAIT correctly sets a - * {@link Wait} with the correct timeout value. + * Validates that a SELECT with FOR UPDATE WAIT correctly sets a {@link Wait} with the + * correct timeout value. */ public void testForUpdateWaitWithTimeout() throws JSQLParserException { String statement = "SELECT * FROM mytable FOR UPDATE WAIT 60"; @@ -2512,7 +2569,7 @@ public void testForUpdateWaitWithTimeout() throws JSQLParserException { long waitTime = wait.getTimeout(); 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"); // } 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 c70733245..58e519ad2 100644 --- a/src/test/java/net/sf/jsqlparser/test/select/SpecialOracleTest.java +++ b/src/test/java/net/sf/jsqlparser/test/select/SpecialOracleTest.java @@ -34,11 +34,10 @@ import org.junit.Test; /** - * Tries to parse and deparse all statments in - * net.sf.jsqlparser.test.oracle-tests. + * Tries to parse and deparse all statments in net.sf.jsqlparser.test.oracle-tests. * - * As a matter of fact there are a lot of files that can still not processed. - * Here a step by step improvement is the way to go. + * As a matter of fact there are a lot of files that can still not processed. Here a step by step + * improvement is the way to go. * * The test ensures, that the successfull parsed file count does not decrease. * @@ -78,7 +77,8 @@ 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); } @@ -98,61 +98,60 @@ public void testAllSqlsOnlyParse() throws IOException { } } } - + @Test public void testOperatorsWithSpaces() throws Exception { - String sql; - Statement statement; - - // 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"; + String sql; + Statement statement; + + // 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"; statement = CCJSqlParserUtil.parse(sql); - + System.out.println(statement.toString()); - + assertSqlCanBeParsedAndDeparsed(sql, true); - + // 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"; - - // Note, we do not (currently) test the "!=" with spaces in between -- Postgresql deals with this as two operators, "factorial" and "equals". + + " 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); - + System.out.println(statement.toString()); - + assertSqlCanBeParsedAndDeparsed(sql, true); - + // 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); - + System.out.println(statement.toString()); - + assertSqlCanBeParsedAndDeparsed(sql, true); } } 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 5b64b0519..8c1f4b54c 100644 --- a/src/test/java/net/sf/jsqlparser/test/select/SpeedTest.java +++ b/src/test/java/net/sf/jsqlparser/test/select/SpeedTest.java @@ -19,112 +19,116 @@ public class SpeedTest { - private final static int NUM_REPS = 500; - private final CCJSqlParserManager parserManager = new CCJSqlParserManager(); + private final static int NUM_REPS = 500; + private final CCJSqlParserManager parserManager = new CCJSqlParserManager(); @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"))); - CCJSqlParserManagerTest d; - ArrayList statementsList = new ArrayList(); - - while (true) { - String statement = CCJSqlParserManagerTest.getStatement(in); - if (statement == null) { - break; - } - statementsList.add(statement); - } - in.close(); - in = new BufferedReader(new InputStreamReader(SpeedTest.class.getResourceAsStream("/RUBiS-select-requests.txt"))); - - // all the statements in testfiles/RUBiS-select-requests.txt - while (true) { - String line = CCJSqlParserManagerTest.getLine(in); - if (line == null) { - break; - } - if (line.length() == 0) { - continue; - } - - if (!line.equals("#begin")) { - break; - } - line = CCJSqlParserManagerTest.getLine(in); - StringBuilder buf = new StringBuilder(line); - while (true) { - line = CCJSqlParserManagerTest.getLine(in); - if (line.equals("#end")) { - break; - } - buf.append("\n"); - buf.append(line); - } - if (!CCJSqlParserManagerTest.getLine(in).equals("true")) { - continue; - } - - statementsList.add(buf.toString()); - - String cols = CCJSqlParserManagerTest.getLine(in); - String tables = CCJSqlParserManagerTest.getLine(in); - String whereCols = CCJSqlParserManagerTest.getLine(in); - String type = CCJSqlParserManagerTest.getLine(in); - - } - in.close(); - - 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))); - TablesNamesFinder tablesNamesFinder = new TablesNamesFinder(); - ArrayList parsedSelects = new ArrayList(NUM_REPS * statementsList.size()); - long time = System.currentTimeMillis(); - - // measure the time to parse NUM_REPS times all statements in the 2 files - for (int i = 0; i < NUM_REPS; i++) { - try { - int j = 0; - for (Iterator iter = statementsList.iterator(); iter.hasNext(); j++) { - statement = (String) iter.next(); - parsedStm = parserManager.parse(new StringReader(statement)); - numTests++; - if (parsedStm instanceof Select) { - parsedSelects.add(parsedStm); - } - - } - } catch (JSQLParserException e) { - throw new TestException("impossible to parse statement: " + statement, e); - } - } - long elapsedTime = System.currentTimeMillis() - time; - long statementsPerSecond = numTests * 1000 / elapsedTime; - DecimalFormat df = new DecimalFormat(); - df.setMaximumFractionDigits(7); - 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 )"); - - numTests = 0; - time = System.currentTimeMillis(); - // measure the time to get the tables names from all the SELECTs parsed before - for (Iterator iter = parsedSelects.iterator(); iter.hasNext();) { - Select select = (Select) iter.next(); - if (select != null) { - numTests++; - List tableListRetr = tablesNamesFinder.getTableList(select); - } - } - elapsedTime = System.currentTimeMillis() - time; - statementsPerSecond = numTests * 1000 / elapsedTime; - 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)"); - - } + 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"))); + CCJSqlParserManagerTest d; + ArrayList statementsList = new ArrayList(); + + while (true) { + String statement = CCJSqlParserManagerTest.getStatement(in); + if (statement == null) { + break; + } + statementsList.add(statement); + } + in.close(); + in = new BufferedReader(new InputStreamReader(SpeedTest.class. + getResourceAsStream("/RUBiS-select-requests.txt"))); + + // all the statements in testfiles/RUBiS-select-requests.txt + while (true) { + String line = CCJSqlParserManagerTest.getLine(in); + if (line == null) { + break; + } + if (line.length() == 0) { + continue; + } + + if (!line.equals("#begin")) { + break; + } + line = CCJSqlParserManagerTest.getLine(in); + StringBuilder buf = new StringBuilder(line); + while (true) { + line = CCJSqlParserManagerTest.getLine(in); + if (line.equals("#end")) { + break; + } + buf.append("\n"); + buf.append(line); + } + if (!CCJSqlParserManagerTest.getLine(in).equals("true")) { + continue; + } + + statementsList.add(buf.toString()); + + String cols = CCJSqlParserManagerTest.getLine(in); + String tables = CCJSqlParserManagerTest.getLine(in); + String whereCols = CCJSqlParserManagerTest.getLine(in); + String type = CCJSqlParserManagerTest.getLine(in); + + } + in.close(); + + 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))); + TablesNamesFinder tablesNamesFinder = new TablesNamesFinder(); + ArrayList parsedSelects = new ArrayList(NUM_REPS * statementsList.size()); + long time = System.currentTimeMillis(); + + // measure the time to parse NUM_REPS times all statements in the 2 files + for (int i = 0; i < NUM_REPS; i++) { + try { + int j = 0; + for (Iterator iter = statementsList.iterator(); iter.hasNext(); j++) { + statement = (String) iter.next(); + parsedStm = parserManager.parse(new StringReader(statement)); + numTests++; + if (parsedStm instanceof Select) { + parsedSelects.add(parsedStm); + } + + } + } catch (JSQLParserException e) { + throw new TestException("impossible to parse statement: " + statement, e); + } + } + long elapsedTime = System.currentTimeMillis() - time; + long statementsPerSecond = numTests * 1000 / elapsedTime; + DecimalFormat df = new DecimalFormat(); + df.setMaximumFractionDigits(7); + 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 )"); + + numTests = 0; + time = System.currentTimeMillis(); + // measure the time to get the tables names from all the SELECTs parsed before + for (Iterator iter = parsedSelects.iterator(); iter.hasNext();) { + Select select = (Select) iter.next(); + if (select != null) { + numTests++; + List tableListRetr = tablesNamesFinder.getTableList(select); + } + } + elapsedTime = System.currentTimeMillis() - time; + statementsPerSecond = numTests * 1000 / elapsedTime; + 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)"); + + } } 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 2f91b40ef..a0a8f0fd4 100644 --- a/src/test/java/net/sf/jsqlparser/test/simpleparsing/CCJSqlParserManagerTest.java +++ b/src/test/java/net/sf/jsqlparser/test/simpleparsing/CCJSqlParserManagerTest.java @@ -13,61 +13,63 @@ 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"))); + public void testParse() throws Exception { + CCJSqlParserManager parserManager = new CCJSqlParserManager(); + BufferedReader in = new BufferedReader(new InputStreamReader(CreateTableTest.class. + getResourceAsStream("/simple_parsing.txt"))); - String statement = ""; - while (true) { - try { - statement = CCJSqlParserManagerTest.getStatement(in); - if (statement == null) { - break; - } + String statement = ""; + while (true) { + try { + statement = CCJSqlParserManagerTest.getStatement(in); + if (statement == null) { + break; + } - parserManager.parse(new StringReader(statement)); - } catch (JSQLParserException e) { - throw new TestException("impossible to parse statement: " + statement, e); - } - } - } + parserManager.parse(new StringReader(statement)); + } catch (JSQLParserException e) { + throw new TestException("impossible to parse statement: " + statement, e); + } + } + } - public static String getStatement(BufferedReader in) throws Exception { - StringBuilder buf = new StringBuilder(); - String line = null; - while ((line = CCJSqlParserManagerTest.getLine(in)) != null) { + public static String getStatement(BufferedReader in) throws Exception { + StringBuilder buf = new StringBuilder(); + String line = null; + while ((line = CCJSqlParserManagerTest.getLine(in)) != null) { - if (line.length() == 0) { - break; - } + if (line.length() == 0) { + break; + } - buf.append(line); - buf.append("\n"); + buf.append(line); + buf.append("\n"); - } + } - if (buf.length() > 0) { - return buf.toString(); - } else { - return null; - } + if (buf.length() > 0) { + return buf.toString(); + } else { + return null; + } - } + } - public static String getLine(BufferedReader in) throws Exception { - String line = null; - while (true) { - line = in.readLine(); - if (line != null) { - if (((line.length() < 2) || (line.length() >= 2) && !(line.charAt(0) == '/' && line.charAt(1) == '/'))) { - break; - } - } else { - break; - } + public static String getLine(BufferedReader in) throws Exception { + String line = null; + while (true) { + line = in.readLine(); + if (line != null) { + if (((line.length() < 2) || (line.length() >= 2) && !(line.charAt(0) == '/' && line. + charAt(1) == '/'))) { + break; + } + } else { + break; + } - } + } - return line; - } + return line; + } } 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 3d1ff5338..916bdc838 100644 --- a/src/test/java/net/sf/jsqlparser/test/truncate/TruncateTest.java +++ b/src/test/java/net/sf/jsqlparser/test/truncate/TruncateTest.java @@ -7,22 +7,22 @@ import static org.junit.Assert.assertEquals; import org.junit.Test; -public class TruncateTest { +public class TruncateTest { - private CCJSqlParserManager parserManager = new CCJSqlParserManager(); + private CCJSqlParserManager parserManager = new CCJSqlParserManager(); @Test - public void testTruncate() throws Exception { - String statement = "TRUncATE TABLE myschema.mytab"; - Truncate truncate = (Truncate) parserManager.parse(new StringReader(statement)); - assertEquals("myschema", truncate.getTable().getSchemaName()); - assertEquals("myschema.mytab", truncate.getTable().getFullyQualifiedName()); - assertEquals(statement.toUpperCase(), truncate.toString().toUpperCase()); + public void testTruncate() throws Exception { + String statement = "TRUncATE TABLE myschema.mytab"; + Truncate truncate = (Truncate) parserManager.parse(new StringReader(statement)); + assertEquals("myschema", truncate.getTable().getSchemaName()); + assertEquals("myschema.mytab", truncate.getTable().getFullyQualifiedName()); + assertEquals(statement.toUpperCase(), truncate.toString().toUpperCase()); - statement = "TRUncATE TABLE mytab"; - String toStringStatement = "TRUncATE TABLE mytab"; - truncate = (Truncate) parserManager.parse(new StringReader(statement)); - assertEquals("mytab", truncate.getTable().getName()); - assertEquals(toStringStatement.toUpperCase(), truncate.toString().toUpperCase()); - } + statement = "TRUncATE TABLE mytab"; + String toStringStatement = "TRUncATE TABLE mytab"; + truncate = (Truncate) parserManager.parse(new StringReader(statement)); + assertEquals("mytab", truncate.getTable().getName()); + assertEquals(toStringStatement.toUpperCase(), truncate.toString().toUpperCase()); + } } 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 6d6f43250..3bd633356 100644 --- a/src/test/java/net/sf/jsqlparser/test/update/UpdateTest.java +++ b/src/test/java/net/sf/jsqlparser/test/update/UpdateTest.java @@ -17,99 +17,98 @@ public class UpdateTest { - private static CCJSqlParserManager parserManager = new CCJSqlParserManager(); + private static CCJSqlParserManager parserManager = new CCJSqlParserManager(); @Test - public void testUpdate() throws JSQLParserException { - String statement = "UPDATE mytable set col1='as', col2=?, col3=565 Where o >= 3"; - Update update = (Update) parserManager.parse(new StringReader(statement)); - assertEquals("mytable", update.getTables().get(0).getName()); - assertEquals(3, update.getColumns().size()); - assertEquals("col1", ((Column) update.getColumns().get(0)).getColumnName()); - assertEquals("col2", ((Column) update.getColumns().get(1)).getColumnName()); - assertEquals("col3", ((Column) update.getColumns().get(2)).getColumnName()); - assertEquals("as", ((StringValue) update.getExpressions().get(0)).getValue()); - assertTrue(update.getExpressions().get(1) instanceof JdbcParameter); - assertEquals(565, ((LongValue) update.getExpressions().get(2)).getValue()); - - assertTrue(update.getWhere() instanceof GreaterThanEquals); - } + public void testUpdate() throws JSQLParserException { + String statement = "UPDATE mytable set col1='as', col2=?, col3=565 Where o >= 3"; + Update update = (Update) parserManager.parse(new StringReader(statement)); + assertEquals("mytable", update.getTables().get(0).getName()); + assertEquals(3, update.getColumns().size()); + assertEquals("col1", ((Column) update.getColumns().get(0)).getColumnName()); + assertEquals("col2", ((Column) update.getColumns().get(1)).getColumnName()); + assertEquals("col3", ((Column) update.getColumns().get(2)).getColumnName()); + assertEquals("as", ((StringValue) update.getExpressions().get(0)).getValue()); + assertTrue(update.getExpressions().get(1) instanceof JdbcParameter); + assertEquals(565, ((LongValue) update.getExpressions().get(2)).getValue()); + + assertTrue(update.getWhere() instanceof GreaterThanEquals); + } @Test - public void testUpdateWAlias() throws JSQLParserException { - String statement = "UPDATE table1 A SET A.columna = 'XXX' WHERE A.cod_table = 'YYY'"; - Update update = (Update) parserManager.parse(new StringReader(statement)); - } - + public void testUpdateWAlias() throws JSQLParserException { + String statement = "UPDATE table1 A SET A.columna = 'XXX' WHERE A.cod_table = 'YYY'"; + Update update = (Update) parserManager.parse(new StringReader(statement)); + } + @Test - public void testUpdateWithDeparser() throws JSQLParserException { - assertSqlCanBeParsedAndDeparsed("UPDATE table1 AS A SET A.columna = 'XXX' WHERE A.cod_table = 'YYY'"); - } - + public void testUpdateWithDeparser() throws JSQLParserException { + assertSqlCanBeParsedAndDeparsed("UPDATE table1 AS A SET A.columna = 'XXX' WHERE A.cod_table = 'YYY'"); + } + @Test - public void testUpdateWithFrom() throws JSQLParserException { - assertSqlCanBeParsedAndDeparsed("UPDATE table1 SET columna = 5 FROM table1 LEFT JOIN table2 ON col1 = col2"); - } - + public void testUpdateWithFrom() throws JSQLParserException { + assertSqlCanBeParsedAndDeparsed("UPDATE table1 SET columna = 5 FROM table1 LEFT JOIN table2 ON col1 = col2"); + } + @Test public void testUpdateMultiTable() throws JSQLParserException { assertSqlCanBeParsedAndDeparsed("UPDATE T1, T2 SET T1.C2 = T2.C2, T2.C3 = 'UPDATED' WHERE T1.C1 = T2.C1 AND T1.C2 < 10"); } - + @Test public void testUpdateWithSelect() throws JSQLParserException { assertSqlCanBeParsedAndDeparsed("UPDATE NATION SET (N_NATIONKEY) = (SELECT ? FROM SYSIBM.SYSDUMMY1)"); } - + @Test public void testUpdateWithSelect2() throws JSQLParserException { assertSqlCanBeParsedAndDeparsed("UPDATE mytable SET (col1, col2, col3) = (SELECT a, b, c FROM mytable2)"); } - - @Test + + @Test public void testUpdateIssue167_SingleQuotes() throws JSQLParserException { assertSqlCanBeParsedAndDeparsed("UPDATE tablename SET NAME = 'Customer 2', ADDRESS = 'Address \\' ddad2', AUTH_KEY = 'samplekey' WHERE ID = 2"); } - @Test - public void testUpdateWithLimit() throws JSQLParserException { - assertSqlCanBeParsedAndDeparsed("UPDATE tablename SET col = 'thing' WHERE id = 1 LIMIT 10"); - } - - @Test - public void testUpdateWithOrderBy() throws JSQLParserException { - assertSqlCanBeParsedAndDeparsed("UPDATE tablename SET col = 'thing' WHERE id = 1 ORDER BY col"); - } - - @Test - public void testUpdateWithOrderByAndLimit() throws JSQLParserException { - assertSqlCanBeParsedAndDeparsed("UPDATE tablename SET col = 'thing' WHERE id = 1 ORDER BY col LIMIT 10"); - } - - @Test - public void testUpdateWithReturningAll() throws JSQLParserException { - assertSqlCanBeParsedAndDeparsed("UPDATE tablename SET col = 'thing' WHERE id = 1 ORDER BY col LIMIT 10 RETURNING *"); - assertSqlCanBeParsedAndDeparsed("UPDATE tablename SET col = 'thing' WHERE id = 1 RETURNING *"); - } - - @Test - public void testUpdateWithReturningList() throws JSQLParserException { - assertSqlCanBeParsedAndDeparsed("UPDATE tablename SET col = 'thing' WHERE id = 1 ORDER BY col LIMIT 10 RETURNING col_1, col_2, col_3"); - assertSqlCanBeParsedAndDeparsed("UPDATE tablename SET col = 'thing' WHERE id = 1 RETURNING col_1, col_2, col_3"); - assertSqlCanBeParsedAndDeparsed("UPDATE tablename SET col = 'thing' WHERE id = 1 ORDER BY col LIMIT 10 RETURNING col_1 AS Bar, col_2 AS Baz, col_3 AS Foo"); - assertSqlCanBeParsedAndDeparsed("UPDATE tablename SET col = 'thing' WHERE id = 1 RETURNING col_1 AS Bar, col_2 AS Baz, col_3 AS Foo"); - assertSqlCanBeParsedAndDeparsed("UPDATE tablename SET col = 'thing' WHERE id = 1 RETURNING ABS(col_1) AS Bar, ABS(col_2), col_3 AS Foo"); - } - - - @Test(expected = JSQLParserException.class) - public void testUpdateDoesNotAllowLimitOffset() throws JSQLParserException { - String statement = "UPDATE table1 A SET A.columna = 'XXX' WHERE A.cod_table = 'YYY' LIMIT 3,4"; - parserManager.parse(new StringReader(statement)); - } + @Test + public void testUpdateWithLimit() throws JSQLParserException { + assertSqlCanBeParsedAndDeparsed("UPDATE tablename SET col = 'thing' WHERE id = 1 LIMIT 10"); + } @Test - public void testUpdateWithFunctions() throws JSQLParserException { - assertSqlCanBeParsedAndDeparsed("UPDATE tablename SET col = SUBSTRING(col2, 1, 2)"); - } + public void testUpdateWithOrderBy() throws JSQLParserException { + assertSqlCanBeParsedAndDeparsed("UPDATE tablename SET col = 'thing' WHERE id = 1 ORDER BY col"); + } + + @Test + public void testUpdateWithOrderByAndLimit() throws JSQLParserException { + assertSqlCanBeParsedAndDeparsed("UPDATE tablename SET col = 'thing' WHERE id = 1 ORDER BY col LIMIT 10"); + } + + @Test + public void testUpdateWithReturningAll() throws JSQLParserException { + assertSqlCanBeParsedAndDeparsed("UPDATE tablename SET col = 'thing' WHERE id = 1 ORDER BY col LIMIT 10 RETURNING *"); + assertSqlCanBeParsedAndDeparsed("UPDATE tablename SET col = 'thing' WHERE id = 1 RETURNING *"); + } + + @Test + public void testUpdateWithReturningList() throws JSQLParserException { + assertSqlCanBeParsedAndDeparsed("UPDATE tablename SET col = 'thing' WHERE id = 1 ORDER BY col LIMIT 10 RETURNING col_1, col_2, col_3"); + assertSqlCanBeParsedAndDeparsed("UPDATE tablename SET col = 'thing' WHERE id = 1 RETURNING col_1, col_2, col_3"); + assertSqlCanBeParsedAndDeparsed("UPDATE tablename SET col = 'thing' WHERE id = 1 ORDER BY col LIMIT 10 RETURNING col_1 AS Bar, col_2 AS Baz, col_3 AS Foo"); + assertSqlCanBeParsedAndDeparsed("UPDATE tablename SET col = 'thing' WHERE id = 1 RETURNING col_1 AS Bar, col_2 AS Baz, col_3 AS Foo"); + assertSqlCanBeParsedAndDeparsed("UPDATE tablename SET col = 'thing' WHERE id = 1 RETURNING ABS(col_1) AS Bar, ABS(col_2), col_3 AS Foo"); + } + + @Test(expected = JSQLParserException.class) + public void testUpdateDoesNotAllowLimitOffset() throws JSQLParserException { + String statement = "UPDATE table1 A SET A.columna = 'XXX' WHERE A.cod_table = 'YYY' LIMIT 3,4"; + parserManager.parse(new StringReader(statement)); + } + + @Test + public void testUpdateWithFunctions() throws JSQLParserException { + assertSqlCanBeParsedAndDeparsed("UPDATE tablename SET col = SUBSTRING(col2, 1, 2)"); + } } diff --git a/src/test/java/net/sf/jsqlparser/util/AddAliasesVisitorTest.java b/src/test/java/net/sf/jsqlparser/util/AddAliasesVisitorTest.java index e226ec608..ccf141ef5 100644 --- a/src/test/java/net/sf/jsqlparser/util/AddAliasesVisitorTest.java +++ b/src/test/java/net/sf/jsqlparser/util/AddAliasesVisitorTest.java @@ -17,70 +17,71 @@ */ public class AddAliasesVisitorTest { - public AddAliasesVisitorTest() { - } - - @BeforeClass - public static void setUpClass() { - } - - @AfterClass - public static void tearDownClass() { - } - - @Before - public void setUp() { - } - - @After - public void tearDown() { - } - - private CCJSqlParserManager parserManager = new CCJSqlParserManager(); - - /** - * Test of visit method, of class AddAliasesVisitor. - */ - @Test - public void testVisit_PlainSelect() throws JSQLParserException { - String sql = "select a,b,c from test"; - Select select = (Select) parserManager.parse(new StringReader(sql)); - final AddAliasesVisitor instance = new AddAliasesVisitor(); - select.getSelectBody().accept(instance); - - assertEquals("SELECT a AS A1, b AS A2, c AS A3 FROM test", select.toString()); - } - - @Test - public void testVisit_PlainSelect_duplicates() throws JSQLParserException { - String sql = "select a,b as a1,c from test"; - Select select = (Select) parserManager.parse(new StringReader(sql)); - final AddAliasesVisitor instance = new AddAliasesVisitor(); - select.getSelectBody().accept(instance); - - assertEquals("SELECT a AS A2, b AS a1, c AS A3 FROM test", select.toString()); - } - - @Test - public void testVisit_PlainSelect_expression() throws JSQLParserException { - String sql = "select 3+4 from test"; - Select select = (Select) parserManager.parse(new StringReader(sql)); - final AddAliasesVisitor instance = new AddAliasesVisitor(); - select.getSelectBody().accept(instance); - - assertEquals("SELECT 3 + 4 AS A1 FROM test", select.toString()); - } - - /** - * Test of visit method, of class AddAliasesVisitor. - */ - @Test - public void testVisit_SetOperationList() throws JSQLParserException { - String sql = "select 3+4 from test union select 7+8 from test2"; - Select setOpList = (Select) parserManager.parse(new StringReader(sql)); - 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()); - } + public AddAliasesVisitorTest() { + } + + @BeforeClass + public static void setUpClass() { + } + + @AfterClass + public static void tearDownClass() { + } + + @Before + public void setUp() { + } + + @After + public void tearDown() { + } + + private CCJSqlParserManager parserManager = new CCJSqlParserManager(); + + /** + * Test of visit method, of class AddAliasesVisitor. + */ + @Test + public void testVisit_PlainSelect() throws JSQLParserException { + String sql = "select a,b,c from test"; + Select select = (Select) parserManager.parse(new StringReader(sql)); + final AddAliasesVisitor instance = new AddAliasesVisitor(); + select.getSelectBody().accept(instance); + + assertEquals("SELECT a AS A1, b AS A2, c AS A3 FROM test", select.toString()); + } + + @Test + public void testVisit_PlainSelect_duplicates() throws JSQLParserException { + String sql = "select a,b as a1,c from test"; + Select select = (Select) parserManager.parse(new StringReader(sql)); + final AddAliasesVisitor instance = new AddAliasesVisitor(); + select.getSelectBody().accept(instance); + + assertEquals("SELECT a AS A2, b AS a1, c AS A3 FROM test", select.toString()); + } + + @Test + public void testVisit_PlainSelect_expression() throws JSQLParserException { + String sql = "select 3+4 from test"; + Select select = (Select) parserManager.parse(new StringReader(sql)); + final AddAliasesVisitor instance = new AddAliasesVisitor(); + select.getSelectBody().accept(instance); + + assertEquals("SELECT 3 + 4 AS A1 FROM test", select.toString()); + } + + /** + * Test of visit method, of class AddAliasesVisitor. + */ + @Test + public void testVisit_SetOperationList() throws JSQLParserException { + String sql = "select 3+4 from test union select 7+8 from test2"; + Select setOpList = (Select) parserManager.parse(new StringReader(sql)); + 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()); + } } diff --git a/src/test/java/net/sf/jsqlparser/util/ConnectExpressionsVisitorTest.java b/src/test/java/net/sf/jsqlparser/util/ConnectExpressionsVisitorTest.java index e2d9b6c31..2f47a6198 100644 --- a/src/test/java/net/sf/jsqlparser/util/ConnectExpressionsVisitorTest.java +++ b/src/test/java/net/sf/jsqlparser/util/ConnectExpressionsVisitorTest.java @@ -20,54 +20,54 @@ */ public class ConnectExpressionsVisitorTest { - public ConnectExpressionsVisitorTest() { - } + public ConnectExpressionsVisitorTest() { + } - @BeforeClass - public static void setUpClass() { - } + @BeforeClass + public static void setUpClass() { + } - @AfterClass - public static void tearDownClass() { - } + @AfterClass + public static void tearDownClass() { + } - @Before - public void setUp() { - } + @Before + public void setUp() { + } - @After - public void tearDown() { - } - - private CCJSqlParserManager parserManager = new CCJSqlParserManager(); + @After + public void tearDown() { + } - @Test - 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(); - } - }; - select.getSelectBody().accept(instance); + private CCJSqlParserManager parserManager = new CCJSqlParserManager(); - assertEquals("SELECT a || b || c AS expr FROM test", select.toString()); - } + @Test + 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(); + } + }; + select.getSelectBody().accept(instance); - @Test - 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(); - } - }; - select.getSelectBody().accept(instance); + assertEquals("SELECT a || b || c AS expr FROM test", select.toString()); + } - assertEquals("SELECT a + b + c AS testexpr FROM test", select.toString()); - } + @Test + 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(); + } + }; + select.getSelectBody().accept(instance); + + assertEquals("SELECT a + b + c AS testexpr FROM test", select.toString()); + } } diff --git a/src/test/java/net/sf/jsqlparser/util/SelectUtilsTest.java b/src/test/java/net/sf/jsqlparser/util/SelectUtilsTest.java index 544c2030a..1d1176441 100644 --- a/src/test/java/net/sf/jsqlparser/util/SelectUtilsTest.java +++ b/src/test/java/net/sf/jsqlparser/util/SelectUtilsTest.java @@ -28,80 +28,83 @@ */ public class SelectUtilsTest { - public SelectUtilsTest() { - } - - @BeforeClass - public static void setUpClass() { - } - - @AfterClass - public static void tearDownClass() { - } - - @Before - public void setUp() { - } - - @After - public void tearDown() { - } - - /** - * Test of addColumn method, of class SelectUtils. - */ - @Test - public void testAddExpr() throws JSQLParserException { - Select select = (Select) CCJSqlParserUtil.parse("select a from mytable"); - SelectUtils.addExpression(select, new Column("b")); - assertEquals("SELECT a, b FROM mytable", select.toString()); - - Addition add = new Addition(); - add.setLeftExpression(new LongValue(5)); - add.setRightExpression(new LongValue(6)); - SelectUtils.addExpression(select, add); - - assertEquals("SELECT a, b, 5 + 6 FROM mytable", select.toString()); - } - - @Test - public void testAddJoin() throws JSQLParserException { - Select select = (Select)CCJSqlParserUtil.parse("select a from mytable"); - final EqualsTo equalsTo = new EqualsTo(); - equalsTo.setLeftExpression(new Column("a")); - equalsTo.setRightExpression(new Column("b")); - Join addJoin = SelectUtils.addJoin(select, new Table("mytable2"), equalsTo); - addJoin.setLeft(true); - assertEquals("SELECT a FROM mytable LEFT JOIN mytable2 ON a = b", select.toString()); - } - - @Test - public void testBuildSelectFromTableAndExpressions() { - Select select = SelectUtils.buildSelectFromTableAndExpressions(new Table("mytable"), new Column("a"), new Column("b")); - assertEquals("SELECT a, b FROM mytable", select.toString()); - } - - @Test - public void testBuildSelectFromTable() { - Select select = SelectUtils.buildSelectFromTable(new Table("mytable")); - assertEquals("SELECT * FROM mytable", select.toString()); - } - - @Test - public void testBuildSelectFromTableAndParsedExpression() throws JSQLParserException { - 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); - } - + public SelectUtilsTest() { + } + + @BeforeClass + public static void setUpClass() { + } + + @AfterClass + public static void tearDownClass() { + } + + @Before + public void setUp() { + } + + @After + public void tearDown() { + } + + /** + * Test of addColumn method, of class SelectUtils. + */ + @Test + public void testAddExpr() throws JSQLParserException { + Select select = (Select) CCJSqlParserUtil.parse("select a from mytable"); + SelectUtils.addExpression(select, new Column("b")); + assertEquals("SELECT a, b FROM mytable", select.toString()); + + Addition add = new Addition(); + add.setLeftExpression(new LongValue(5)); + add.setRightExpression(new LongValue(6)); + SelectUtils.addExpression(select, add); + + assertEquals("SELECT a, b, 5 + 6 FROM mytable", select.toString()); + } + + @Test + public void testAddJoin() throws JSQLParserException { + Select select = (Select) CCJSqlParserUtil.parse("select a from mytable"); + final EqualsTo equalsTo = new EqualsTo(); + equalsTo.setLeftExpression(new Column("a")); + equalsTo.setRightExpression(new Column("b")); + Join addJoin = SelectUtils.addJoin(select, new Table("mytable2"), equalsTo); + addJoin.setLeft(true); + assertEquals("SELECT a FROM mytable LEFT JOIN mytable2 ON a = b", select.toString()); + } + + @Test + public void testBuildSelectFromTableAndExpressions() { + Select select = SelectUtils. + buildSelectFromTableAndExpressions(new Table("mytable"), new Column("a"), new Column("b")); + assertEquals("SELECT a, b FROM mytable", select.toString()); + } + + @Test + public void testBuildSelectFromTable() { + Select select = SelectUtils.buildSelectFromTable(new Table("mytable")); + assertEquals("SELECT * FROM mytable", select.toString()); + } + + @Test + public void testBuildSelectFromTableAndParsedExpression() throws JSQLParserException { + 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); + } + @Test public void testBuildSelectFromTableWithGroupBy() { Select select = SelectUtils.buildSelectFromTable(new Table("mytable")); SelectUtils.addGroupBy(select, new Column("b")); assertEquals("SELECT * FROM mytable GROUP BY b", select.toString()); } - + @Test public void testTableAliasIssue311() { Table table1 = new Table("mytable1"); @@ -109,9 +112,11 @@ 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")); @@ -120,9 +125,9 @@ 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() { Table table1 = new Table("mytable1"); table1.setAlias(new Alias("tab1")); diff --git a/src/test/java/net/sf/jsqlparser/util/TablesNamesFinderTest.java b/src/test/java/net/sf/jsqlparser/util/TablesNamesFinderTest.java index cc8ca6873..52bc301af 100644 --- a/src/test/java/net/sf/jsqlparser/util/TablesNamesFinderTest.java +++ b/src/test/java/net/sf/jsqlparser/util/TablesNamesFinderTest.java @@ -46,7 +46,8 @@ 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 { @@ -92,7 +93,8 @@ private void runTestOnResource(String resPath) throws Exception { tablesList.add(tokenizer.nextToken()); } - String[] tablesArray = (String[]) tablesList.toArray(new String[tablesList.size()]); + String[] tablesArray = (String[]) tablesList.toArray(new String[tablesList. + size()]); List tableListRetr = tablesNamesFinder.getTableList(statement); assertEquals("stm num:" + numSt, tablesArray.length, tableListRetr.size()); @@ -383,7 +385,8 @@ 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()); @@ -395,8 +398,8 @@ public void testUpdateGetTableListIssue295() throws JSQLParserException { public void testGetTableListForMerge() throws Exception { String sql = "MERGE INTO employees e USING hr_records h ON (e.id = h.emp_id) WHEN MATCHED THEN UPDATE SET e.address = h.address WHEN NOT MATCHED THEN INSERT (id, address) VALUES (h.emp_id, h.address);"; TablesNamesFinder tablesNamesFinder = new TablesNamesFinder(); - - List tableList = tablesNamesFinder.getTableList((Merge)CCJSqlParserUtil.parse(sql)); + + List tableList = tablesNamesFinder.getTableList((Merge) CCJSqlParserUtil.parse(sql)); assertEquals(2, tableList.size()); assertEquals("employees", (String) tableList.get(0)); assertEquals("hr_records", (String) tableList.get(1)); @@ -406,7 +409,7 @@ public void testGetTableListForMerge() throws Exception { public void testGetTableListForMergeUsingQuery() throws Exception { String sql = "MERGE INTO employees e USING (SELECT * FROM hr_records WHERE start_date > ADD_MONTHS(SYSDATE, -1)) h ON (e.id = h.emp_id) WHEN MATCHED THEN UPDATE SET e.address = h.address WHEN NOT MATCHED THEN INSERT (id, address) VALUES (h.emp_id, h.address)"; TablesNamesFinder tablesNamesFinder = new TablesNamesFinder(); - List tableList = tablesNamesFinder.getTableList((Merge)CCJSqlParserUtil.parse(sql)); + List tableList = tablesNamesFinder.getTableList((Merge) CCJSqlParserUtil.parse(sql)); assertEquals(2, tableList.size()); assertEquals("employees", (String) tableList.get(0)); assertEquals("hr_records", (String) tableList.get(1)); 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 52dffdd95..5288e5717 100644 --- a/src/test/java/net/sf/jsqlparser/util/deparser/CreateViewDeParserTest.java +++ b/src/test/java/net/sf/jsqlparser/util/deparser/CreateViewDeParserTest.java @@ -90,13 +90,15 @@ 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 public void testCreateViewASTNode() throws JSQLParserException { String sql = "CREATE VIEW test AS SELECT a, b FROM mytable"; @@ -104,9 +106,10 @@ public void testCreateViewASTNode() throws JSQLParserException { SimpleNode node = (SimpleNode) CCJSqlParserUtil.parseAST(sql); node.dump("*"); assertEquals(CCJSqlParserTreeConstants.JJTSTATEMENT, node.getId()); - + node.jjtAccept(new CCJSqlParserDefaultVisitor() { int idxDelta = 0; + @Override public Object visit(SimpleNode node, Object data) { if (CCJSqlParserTreeConstants.JJTCOLUMN == node.getId()) { @@ -115,10 +118,10 @@ public Object visit(SimpleNode node, Object data) { b.insert(node.jjtGetLastToken().endColumn + idxDelta, '"'); idxDelta++; } - return super.visit(node, data); + return super.visit(node, data); } }, null); - + assertEquals("CREATE VIEW test AS SELECT \"a\", \"b\" FROM mytable", b.toString()); } }