diff --git a/src/main/java/com/alibaba/druid/sql/dialect/hive/parser/HiveLexer.java b/src/main/java/com/alibaba/druid/sql/dialect/hive/parser/HiveLexer.java index 78c8b99809..73fddd3ecf 100644 --- a/src/main/java/com/alibaba/druid/sql/dialect/hive/parser/HiveLexer.java +++ b/src/main/java/com/alibaba/druid/sql/dialect/hive/parser/HiveLexer.java @@ -25,7 +25,6 @@ public class HiveLexer extends Lexer { map.put("FOR", Token.FOR); map.put("SCHEMA", Token.SCHEMA); map.put("FOREIGN", Token.FOREIGN); - map.put("REFERENCE", Token.REFERENCE); map.put("REFERENCES", Token.REFERENCES); map.put("CHECK", Token.CHECK); map.put("PRIMARY", Token.PRIMARY); diff --git a/src/main/java/com/alibaba/druid/sql/dialect/mysql/parser/MySqlLexer.java b/src/main/java/com/alibaba/druid/sql/dialect/mysql/parser/MySqlLexer.java index ffc7ed152b..07359146ac 100644 --- a/src/main/java/com/alibaba/druid/sql/dialect/mysql/parser/MySqlLexer.java +++ b/src/main/java/com/alibaba/druid/sql/dialect/mysql/parser/MySqlLexer.java @@ -46,7 +46,6 @@ public class MySqlLexer extends Lexer { map.put("FOR", Token.FOR); map.put("SCHEMA", Token.SCHEMA); map.put("FOREIGN", Token.FOREIGN); - map.put("REFERENCE", Token.REFERENCE); map.put("REFERENCES", Token.REFERENCES); map.put("CHECK", Token.CHECK); map.put("PRIMARY", Token.PRIMARY); diff --git a/src/main/java/com/alibaba/druid/sql/dialect/oracle/parser/OracleLexer.java b/src/main/java/com/alibaba/druid/sql/dialect/oracle/parser/OracleLexer.java index b1ed3af863..632866eace 100644 --- a/src/main/java/com/alibaba/druid/sql/dialect/oracle/parser/OracleLexer.java +++ b/src/main/java/com/alibaba/druid/sql/dialect/oracle/parser/OracleLexer.java @@ -31,7 +31,6 @@ public class OracleLexer extends Lexer { map.put("FOR", Token.FOR); map.put("SCHEMA", Token.SCHEMA); map.put("FOREIGN", Token.FOREIGN); - map.put("REFERENCE", Token.REFERENCE); map.put("REFERENCES", Token.REFERENCES); map.put("CHECK", Token.CHECK); map.put("PRIMARY", Token.PRIMARY); diff --git a/src/main/java/com/alibaba/druid/sql/dialect/oracle/parser/OracleSelectParser.java b/src/main/java/com/alibaba/druid/sql/dialect/oracle/parser/OracleSelectParser.java index 1f899a33ba..55a6bda4c7 100644 --- a/src/main/java/com/alibaba/druid/sql/dialect/oracle/parser/OracleSelectParser.java +++ b/src/main/java/com/alibaba/druid/sql/dialect/oracle/parser/OracleSelectParser.java @@ -350,7 +350,8 @@ public class OracleSelectParser extends SQLSelectParser { model.setReturnRowsClause(returnRowsClause); } - while (lexer.token() == Token.REFERENCE) { + + while (identifierEquals("REFERENCE")) { ReferenceModelClause referenceModelClause = new ReferenceModelClause(); lexer.nextToken(); @@ -546,7 +547,7 @@ public class OracleSelectParser extends SQLSelectParser { options.add(CellReferenceOption.UniqueDimension); } else { acceptIdentifier("SINGLE"); - accept(Token.REFERENCE); + acceptIdentifier("REFERENCE"); options.add(CellReferenceOption.UniqueDimension); } } diff --git a/src/main/java/com/alibaba/druid/sql/dialect/postgresql/parser/PGLexer.java b/src/main/java/com/alibaba/druid/sql/dialect/postgresql/parser/PGLexer.java index 4f39916cc1..480a8aa2fd 100644 --- a/src/main/java/com/alibaba/druid/sql/dialect/postgresql/parser/PGLexer.java +++ b/src/main/java/com/alibaba/druid/sql/dialect/postgresql/parser/PGLexer.java @@ -25,7 +25,6 @@ public class PGLexer extends Lexer { map.put("FOR", Token.FOR); map.put("SCHEMA", Token.SCHEMA); map.put("FOREIGN", Token.FOREIGN); - map.put("REFERENCE", Token.REFERENCE); map.put("REFERENCES", Token.REFERENCES); map.put("CHECK", Token.CHECK); map.put("PRIMARY", Token.PRIMARY); diff --git a/src/main/java/com/alibaba/druid/sql/dialect/sqlserver/parser/SQLServerLexer.java b/src/main/java/com/alibaba/druid/sql/dialect/sqlserver/parser/SQLServerLexer.java index b7cf9167e6..f5bd0817c5 100644 --- a/src/main/java/com/alibaba/druid/sql/dialect/sqlserver/parser/SQLServerLexer.java +++ b/src/main/java/com/alibaba/druid/sql/dialect/sqlserver/parser/SQLServerLexer.java @@ -25,7 +25,6 @@ public class SQLServerLexer extends Lexer { map.put("FOR", Token.FOR); map.put("SCHEMA", Token.SCHEMA); map.put("FOREIGN", Token.FOREIGN); - map.put("REFERENCE", Token.REFERENCE); map.put("REFERENCES", Token.REFERENCES); map.put("CHECK", Token.CHECK); map.put("PRIMARY", Token.PRIMARY); diff --git a/src/main/java/com/alibaba/druid/sql/parser/Keywords.java b/src/main/java/com/alibaba/druid/sql/parser/Keywords.java index eaaed8df25..916235722f 100644 --- a/src/main/java/com/alibaba/druid/sql/parser/Keywords.java +++ b/src/main/java/com/alibaba/druid/sql/parser/Keywords.java @@ -41,7 +41,6 @@ public class Keywords { map.put("FOR", Token.FOR); map.put("SCHEMA", Token.SCHEMA); map.put("FOREIGN", Token.FOREIGN); - map.put("REFERENCE", Token.REFERENCE); map.put("REFERENCES", Token.REFERENCES); map.put("CHECK", Token.CHECK); map.put("PRIMARY", Token.PRIMARY); diff --git a/src/main/java/com/alibaba/druid/sql/parser/SQLExprParser.java b/src/main/java/com/alibaba/druid/sql/parser/SQLExprParser.java index 3a3136aed1..6a7f8678bb 100644 --- a/src/main/java/com/alibaba/druid/sql/parser/SQLExprParser.java +++ b/src/main/java/com/alibaba/druid/sql/parser/SQLExprParser.java @@ -214,7 +214,6 @@ public class SQLExprParser extends SQLParser { case USER: case PASSWORD: case DUAL: - case REFERENCE: case KEY: case DISTINCT: case LIMIT: @@ -615,9 +614,6 @@ public class SQLExprParser extends SQLParser { } else if (lexer.token() == Token.IDENTIFIER) { identName = lexer.stringVal(); - lexer.nextToken(); - } else if (lexer.token() == Token.REFERENCE) { - identName = lexer.stringVal(); lexer.nextToken(); } else { throw new ParserException("error " + lexer.token()); diff --git a/src/main/java/com/alibaba/druid/sql/parser/Token.java b/src/main/java/com/alibaba/druid/sql/parser/Token.java index f9d715ebda..b46f204cd8 100644 --- a/src/main/java/com/alibaba/druid/sql/parser/Token.java +++ b/src/main/java/com/alibaba/druid/sql/parser/Token.java @@ -53,7 +53,6 @@ public enum Token { DISTINCT("DISTINCT"), UNIQUE("UNIQUE"), FOREIGN("FOREIGN"), - REFERENCE("REFERENCE"), REFERENCES("REFERENCES"), ALL("ALL"), UNION("UNION"),