未验证 提交 83b03eaa 编写于 作者: L Liang Zhang 提交者: GitHub

revise #4525, cannot use rule in lexer (#4729)

* revise #4704, cannot use rule in lexer

* revise #4525, cannot use rule in lexer
上级 8e325380
......@@ -94,6 +94,7 @@ unreservedWord
| RECURSIVE | INSTANCE | DEFINER | PRESERVE | SQL | LOCAL | CASCADED
| CLOSE | OPEN | NEXT | NAME | NAMES | INTEGER | REAL | DECIMAL | TYPE
| BOOLEAN | CHAR | TIME | TIMESTAMP | INTERVAL
| INT2 | INT4 | INT8 | FLOAT4 | FLOAT8 | MACADDR8 | INT4RANGE | INT8RANGE
;
schemaName
......@@ -303,10 +304,10 @@ dataType
;
dataTypeName
: INT | SMALLINT | INTEGER | BIGINT | DECIMAL | NUMERIC | REAL | FLOAT | DOUBLE_PRECISION | SMALLSERIAL | SERIAL | BIGSERIAL
: INT | INT2 | INT4 | INT8 | SMALLINT | INTEGER | BIGINT | DECIMAL | NUMERIC | REAL | FLOAT | FLOAT4 | FLOAT8 | DOUBLE PRECISION | SMALLSERIAL | SERIAL | BIGSERIAL
| MONEY | VARCHAR | CHARACTER | CHAR | TEXT | NAME | BYTEA | TIMESTAMP | DATE | TIME | INTERVAL | BOOLEAN | ENUM | POINT
| LINE | LSEG | BOX | PATH | POLYGON | CIRCLE | CIDR | INET | MACADDR | BIT | VARBIT | TSVECTOR | TSQUERY | UUID | XML
| JSON | INTRANGE | NUMRANGE | TSRANGE | TSTZRANGE | DATERANGE | ARRAY | identifier
| LINE | LSEG | BOX | PATH | POLYGON | CIRCLE | CIDR | INET | MACADDR | MACADDR8 | BIT | VARBIT | TSVECTOR | TSQUERY | UUID | XML
| JSON | INT4RANGE | INT8RANGE | NUMRANGE | TSRANGE | TSTZRANGE | DATERANGE | ARRAY | identifier
;
dataTypeLength
......
......@@ -472,11 +472,31 @@ RECURSIVE
;
INT
: I N T [248]?
: I N T
;
INT2
: I N T [2]
;
INT4
: I N T [4]
;
INT8
: I N T [8]
;
FLOAT
: F L O A T [48]?
: F L O A T
;
FLOAT4
: F L O A T [4]
;
FLOAT8
: F L O A T [8]
;
SMALLSERIAL
......@@ -544,7 +564,11 @@ INET
;
MACADDR
: M A C A D D R [8]?
: M A C A D D R
;
MACADDR8
: M A C A D D R [8]
;
BIT
......@@ -575,8 +599,12 @@ JSON
: J S O N
;
INTRANGE
: I N T [48] R A N G E
INT4RANGE
: I N T [4] R A N G E
;
INT8RANGE
: I N T [8] R A N G E
;
NUMRANGE
......@@ -594,7 +622,3 @@ TSTZRANGE
DATERANGE
: D A T E R A N G E
;
DOUBLE_PRECISION
: D O U B L E [ ]+ P R E C I S I O N
;
......@@ -17,6 +17,7 @@
package org.apache.shardingsphere.sql.parser.postgresql.visitor;
import com.google.common.base.Joiner;
import lombok.AccessLevel;
import lombok.Getter;
import org.antlr.v4.runtime.ParserRuleContext;
......@@ -484,7 +485,11 @@ public abstract class PostgreSQLVisitor extends PostgreSQLStatementBaseVisitor<A
if (null != identifierContext) {
return new KeywordValue(identifierContext.getText());
}
return new KeywordValue(ctx.getText());
Collection<String> dataTypeNames = new LinkedList<>();
for (int i = 0; i < ctx.getChildCount(); i++) {
dataTypeNames.add(ctx.getChild(i).getText());
}
return new KeywordValue(Joiner.on(" ").join(dataTypeNames));
}
// TODO :FIXME, sql case id: insert_with_str_to_date
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册