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]

Reply via email to