Yikf commented on code in PR #4098:
URL: https://github.com/apache/kyuubi/pull/4098#discussion_r1063167440
##########
kyuubi-server/src/main/scala/org/apache/kyuubi/sql/parser/trino/KyuubiTrinoFeAstBuilder.scala:
##########
@@ -112,6 +112,6 @@ class KyuubiTrinoFeAstBuilder extends
KyuubiTrinoFeBaseParserBaseVisitor[AnyRef]
}
override def visitTypesFilter(ctx: TypesFilterContext): List[String] = {
- ctx.stirngInValue().asScala.map(v => unescapeSQLString(v.getText)).toList
+ ctx.STRING().asScala.map(v => unescapeSQLString(v.getText)).toList
Review Comment:
maybe `stirngInValue ` is better, `STRING` is more like a singular string
than a list, But I'ok for now change
##########
kyuubi-server/src/main/antlr4/org/apache/kyuubi/sql/KyuubiTrinoFeBaseParser.g4:
##########
@@ -17,50 +17,46 @@
parser grammar KyuubiTrinoFeBaseParser;
-options { tokenVocab = KyuubiSqlBaseLexer; }
+options { tokenVocab = KyuubiTrinoFeBaseLexer; }
singleStatement
: statement SEMICOLON* EOF
;
statement
: SELECT TABLE_SCHEM COMMA TABLE_CATALOG FROM SYSTEM_JDBC_SCHEMAS
- (WHERE (TABLE_CATALOG EQ catalog=STRING+)? AND? (TABLE_SCHEM LIKE
schema=STRING+)?)?
- ORDER BY TABLE_CATALOG COMMA TABLE_SCHEM
#getSchemas
- | SELECT TABLE_CAT FROM SYSTEM_JDBC_CATALOGS ORDER BY TABLE_CAT
#getCatalogs
- | SELECT TABLE_TYPE FROM SYSTEM_JDBC_TABLE_TYPES ORDER BY TABLE_TYPE
#getTableTypes
+ (WHERE (TABLE_CATALOG EQ catalog=STRING)? AND? (TABLE_SCHEM LIKE
schema=STRING)?)?
+ ORDER BY TABLE_CATALOG COMMA TABLE_SCHEM
#getSchemas
+ | SELECT TABLE_CAT FROM SYSTEM_JDBC_CATALOGS ORDER BY TABLE_CAT
#getCatalogs
+ | SELECT TABLE_TYPE FROM SYSTEM_JDBC_TABLE_TYPES ORDER BY TABLE_TYPE
#getTableTypes
| SELECT TYPE_NAME COMMA DATA_TYPE COMMA PRECISION COMMA LITERAL_PREFIX
COMMA
LITERAL_SUFFIX COMMA CREATE_PARAMS COMMA NULLABLE COMMA CASE_SENSITIVE
COMMA
SEARCHABLE COMMA UNSIGNED_ATTRIBUTE COMMA FIXED_PREC_SCALE COMMA
AUTO_INCREMENT
COMMA LOCAL_TYPE_NAME COMMA MINIMUM_SCALE COMMA MAXIMUM_SCALE COMMA
SQL_DATA_TYPE
- COMMA SQL_DATETIME_SUB COMMA NUM_PREC_RADIX FROM SYSTEM_JDBC_TYPES ORDER
BY DATA_TYPE #getTypeInfo
+ COMMA SQL_DATETIME_SUB COMMA NUM_PREC_RADIX FROM SYSTEM_JDBC_TYPES ORDER
BY DATA_TYPE #getTypeInfo
| SELECT TABLE_CAT COMMA TABLE_SCHEM COMMA TABLE_NAME COMMA TABLE_TYPE
COMMA REMARKS COMMA
TYPE_CAT COMMA TYPE_SCHEM COMMA TYPE_NAME COMMA
SELF_REFERENCING_COL_NAME COMMA REF_GENERATION
FROM SYSTEM_JDBC_TABLES
(WHERE tableCatalogFilter? AND? tableSchemaFilter? AND? tableNameFilter?
AND? tableTypeFilter?)?
- ORDER BY TABLE_TYPE COMMA TABLE_CAT COMMA TABLE_SCHEM COMMA TABLE_NAME
#getTables
- | .*?
#passThrough
+ ORDER BY TABLE_TYPE COMMA TABLE_CAT COMMA TABLE_SCHEM COMMA TABLE_NAME
#getTables
+ | .*?
#passThrough
;
tableCatalogFilter
- : TABLE_CAT IS NULL
#nullCatalog
- | TABLE_CAT EQ catalog=STRING+
#catalogFilter
+ : TABLE_CAT IS NULL
#nullCatalog
+ | TABLE_CAT EQ catalog=STRING
#catalogFilter
;
tableSchemaFilter
- : TABLE_SCHEM IS NULL
#nulTableSchema
- | TABLE_SCHEM LIKE schemaPattern=STRING+ ESCAPE SEARCH_STRING_ESCAPE
#schemaFilter
+ : TABLE_SCHEM IS NULL
#nulTableSchema
+ | TABLE_SCHEM LIKE schemaPattern=STRING ESCAPE STRING
#schemaFilter
Review Comment:
emm, It should be `ESCAPE '\'` instead of `ESCAPE STRING`, `ESCAPE '\'` is
fixed.
Like `... ESCAPE '\'` can be parsed to `GetSchemas`, but `... ESCAPE 'aaa'`
can not.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]