mirror of
https://github.com/alibaba/druid.git
synced 2023-03-04 19:17:16 +00:00
enhance mysql sql parser support
This commit is contained in:
@@ -17,6 +17,7 @@ package com.alibaba.druid.sql.ast.expr;
|
||||
|
||||
import java.util.BitSet;
|
||||
|
||||
import com.alibaba.druid.sql.ast.SQLExprImpl;
|
||||
import com.alibaba.druid.sql.visitor.SQLASTVisitor;
|
||||
|
||||
/**
|
||||
@@ -28,7 +29,7 @@ import com.alibaba.druid.sql.visitor.SQLASTVisitor;
|
||||
*
|
||||
* @author WENSHAO
|
||||
*/
|
||||
public class SQLBitStringLiteralExpr extends SQLLiteralExpr {
|
||||
public class SQLBitStringLiteralExpr extends SQLExprImpl implements SQLLiteralExpr {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
|
||||
@@ -15,9 +15,10 @@
|
||||
*/
|
||||
package com.alibaba.druid.sql.ast.expr;
|
||||
|
||||
import com.alibaba.druid.sql.ast.SQLExprImpl;
|
||||
import com.alibaba.druid.sql.visitor.SQLASTVisitor;
|
||||
|
||||
public class SQLDateLiteralExpr extends SQLLiteralExpr {
|
||||
public class SQLDateLiteralExpr extends SQLExprImpl implements SQLLiteralExpr {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
|
||||
@@ -1,8 +1,9 @@
|
||||
package com.alibaba.druid.sql.ast.expr;
|
||||
|
||||
import com.alibaba.druid.sql.ast.SQLExprImpl;
|
||||
import com.alibaba.druid.sql.visitor.SQLASTVisitor;
|
||||
|
||||
public class SQLDefaultExpr extends SQLLiteralExpr {
|
||||
public class SQLDefaultExpr extends SQLExprImpl implements SQLLiteralExpr {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
|
||||
@@ -15,9 +15,11 @@
|
||||
*/
|
||||
package com.alibaba.druid.sql.ast.expr;
|
||||
|
||||
import com.alibaba.druid.sql.ast.SQLExprImpl;
|
||||
import com.alibaba.druid.sql.visitor.SQLASTVisitor;
|
||||
import com.alibaba.druid.util.HexBin;
|
||||
|
||||
public class SQLHexExpr extends SQLLiteralExpr {
|
||||
public class SQLHexExpr extends SQLExprImpl implements SQLLiteralExpr {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@@ -76,4 +78,8 @@ public class SQLHexExpr extends SQLLiteralExpr {
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
public byte[] toBytes() {
|
||||
return HexBin.decode(this.hex);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -15,9 +15,10 @@
|
||||
*/
|
||||
package com.alibaba.druid.sql.ast.expr;
|
||||
|
||||
import com.alibaba.druid.sql.ast.SQLExprImpl;
|
||||
import com.alibaba.druid.sql.visitor.SQLASTVisitor;
|
||||
|
||||
public class SQLHexStringLiteralExpr extends SQLLiteralExpr {
|
||||
public class SQLHexStringLiteralExpr extends SQLExprImpl implements SQLLiteralExpr {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
|
||||
@@ -15,6 +15,7 @@
|
||||
*/
|
||||
package com.alibaba.druid.sql.ast.expr;
|
||||
|
||||
import com.alibaba.druid.sql.ast.SQLExprImpl;
|
||||
import com.alibaba.druid.sql.visitor.SQLASTVisitor;
|
||||
|
||||
/**
|
||||
@@ -22,7 +23,7 @@ import com.alibaba.druid.sql.visitor.SQLASTVisitor;
|
||||
*
|
||||
* @author WENSHAO
|
||||
*/
|
||||
public class SQLIntervalLiteralExpr extends SQLLiteralExpr {
|
||||
public class SQLIntervalLiteralExpr extends SQLExprImpl implements SQLLiteralExpr {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
|
||||
@@ -15,14 +15,9 @@
|
||||
*/
|
||||
package com.alibaba.druid.sql.ast.expr;
|
||||
|
||||
import com.alibaba.druid.sql.ast.SQLExprImpl;
|
||||
import com.alibaba.druid.sql.ast.SQLExpr;
|
||||
|
||||
public abstract class SQLLiteralExpr extends SQLExprImpl {
|
||||
public interface SQLLiteralExpr extends SQLExpr {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
public SQLLiteralExpr(){
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -15,9 +15,10 @@
|
||||
*/
|
||||
package com.alibaba.druid.sql.ast.expr;
|
||||
|
||||
import com.alibaba.druid.sql.ast.SQLExprImpl;
|
||||
import com.alibaba.druid.sql.visitor.SQLASTVisitor;
|
||||
|
||||
public class SQLNullExpr extends SQLLiteralExpr {
|
||||
public class SQLNullExpr extends SQLExprImpl implements SQLLiteralExpr {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
|
||||
@@ -15,7 +15,9 @@
|
||||
*/
|
||||
package com.alibaba.druid.sql.ast.expr;
|
||||
|
||||
public abstract class SQLNumericLiteralExpr extends SQLLiteralExpr {
|
||||
import com.alibaba.druid.sql.ast.SQLExprImpl;
|
||||
|
||||
public abstract class SQLNumericLiteralExpr extends SQLExprImpl implements SQLLiteralExpr {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
|
||||
@@ -15,7 +15,9 @@
|
||||
*/
|
||||
package com.alibaba.druid.sql.ast.expr;
|
||||
|
||||
public abstract class SQLTextLiteralExpr extends SQLLiteralExpr {
|
||||
import com.alibaba.druid.sql.ast.SQLExprImpl;
|
||||
|
||||
public abstract class SQLTextLiteralExpr extends SQLExprImpl implements SQLLiteralExpr {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
|
||||
@@ -24,10 +24,16 @@ public class SQLVariantRefExpr extends SQLExprImpl {
|
||||
|
||||
private String name;
|
||||
|
||||
public SQLVariantRefExpr(String name){
|
||||
private boolean global = false;
|
||||
|
||||
public SQLVariantRefExpr(String name){
|
||||
this.name = name;
|
||||
}
|
||||
|
||||
public SQLVariantRefExpr(String name, boolean global){
|
||||
this.name = name;
|
||||
this.global = global;
|
||||
}
|
||||
|
||||
public SQLVariantRefExpr(){
|
||||
|
||||
@@ -82,4 +88,12 @@ public class SQLVariantRefExpr extends SQLExprImpl {
|
||||
return true;
|
||||
}
|
||||
|
||||
public boolean isGlobal() {
|
||||
return global;
|
||||
}
|
||||
|
||||
public void setGlobal(boolean global) {
|
||||
this.global = global;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user