From 285db7e7b5a9a76d48b95142ce02238f0ff83908 Mon Sep 17 00:00:00 2001 From: RyzeUserName <36020735+RyzeUserName@users.noreply.github.com> Date: Mon, 17 Aug 2020 18:21:48 +0800 Subject: [PATCH] =?UTF-8?q?sql=20=E5=BC=95=E6=93=8E=E8=A7=A3=E6=9E=90?= =?UTF-8?q?=E5=A2=9E=E5=8A=A0=20presto=20try=5Fcast=20=E5=85=B3=E9=94=AE?= =?UTF-8?q?=E5=AD=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/com/alibaba/druid/sql/parser/Keywords.java | 1 + src/main/java/com/alibaba/druid/sql/parser/SQLExprParser.java | 1 + src/main/java/com/alibaba/druid/sql/parser/Token.java | 1 + 3 files changed, 3 insertions(+) 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 d354bad190..5306329e49 100644 --- a/src/main/java/com/alibaba/druid/sql/parser/Keywords.java +++ b/src/main/java/com/alibaba/druid/sql/parser/Keywords.java @@ -52,6 +52,7 @@ public class Keywords { map.put("BY", Token.BY); map.put("CASE", Token.CASE); map.put("CAST", Token.CAST); + map.put("TRY_CAST", Token.TRY_CAST); map.put("CHECK", Token.CHECK); map.put("CONSTRAINT", Token.CONSTRAINT); 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 ca6a2556d7..1d54fed74f 100644 --- a/src/main/java/com/alibaba/druid/sql/parser/SQLExprParser.java +++ b/src/main/java/com/alibaba/druid/sql/parser/SQLExprParser.java @@ -672,6 +672,7 @@ public class SQLExprParser extends SQLParser { sqlExpr = queryExpr; break; case CAST: + case TRY_CAST: lexer.nextToken(); accept(Token.LPAREN); SQLCastExpr cast = new SQLCastExpr(); 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 a3a28bee92..da6ac3ce01 100644 --- a/src/main/java/com/alibaba/druid/sql/parser/Token.java +++ b/src/main/java/com/alibaba/druid/sql/parser/Token.java @@ -84,6 +84,7 @@ public enum Token { ON("ON"), SCHEMA("SCHEMA"), CAST("CAST"), + TRY_CAST("TRY_CAST"), COLUMN("COLUMN"), USE("USE"), DATABASE("DATABASE"),