diff --git a/src/main/java/com/alibaba/druid/sql/dialect/mysql/visitor/transform/NameResolveVisitor.java b/src/main/java/com/alibaba/druid/sql/dialect/mysql/visitor/transform/NameResolveVisitor.java index 260a90dcb0..2b8a2cb2ee 100644 --- a/src/main/java/com/alibaba/druid/sql/dialect/mysql/visitor/transform/NameResolveVisitor.java +++ b/src/main/java/com/alibaba/druid/sql/dialect/mysql/visitor/transform/NameResolveVisitor.java @@ -22,6 +22,7 @@ import com.alibaba.druid.sql.ast.SQLStatement; import com.alibaba.druid.sql.ast.expr.*; import com.alibaba.druid.sql.ast.statement.*; import com.alibaba.druid.sql.dialect.oracle.visitor.OracleASTVisitorAdapter; +import com.alibaba.druid.util.FnvHash; /** * Created by wenshao on 26/07/2017. @@ -46,6 +47,14 @@ public class NameResolveVisitor extends OracleASTVisitorAdapter { return false; } + long hash = x.nameHashCode64(); + SQLTableSource tableSource = null; + + if (hash == FnvHash.Constants.LEVEL + || hash == FnvHash.Constants.CONNECT_BY_ISCYCLE) { + return false; + } + if (parent instanceof SQLPropertyExpr) { return false; } diff --git a/src/main/java/com/alibaba/druid/sql/repository/SchemaResolveVisitorFactory.java b/src/main/java/com/alibaba/druid/sql/repository/SchemaResolveVisitorFactory.java index 22c3d5c779..3fd69790d3 100644 --- a/src/main/java/com/alibaba/druid/sql/repository/SchemaResolveVisitorFactory.java +++ b/src/main/java/com/alibaba/druid/sql/repository/SchemaResolveVisitorFactory.java @@ -503,6 +503,10 @@ class SchemaResolveVisitorFactory { } public boolean visit(SQLIdentifierExpr x) { + if (x.nameHashCode64() == FnvHash.Constants.ROWNUM) { + return false; + } + resolve(this, x); return true; } diff --git a/src/main/resources/META-INF/druid/parser/postgresql/keywords b/src/main/resources/META-INF/druid/parser/postgresql/keywords index b20e8794be..1a30dddf0a 100644 --- a/src/main/resources/META-INF/druid/parser/postgresql/keywords +++ b/src/main/resources/META-INF/druid/parser/postgresql/keywords @@ -143,7 +143,6 @@ merge min mod modifies -module multiset natural nclob