This is an automated email from the ASF dual-hosted git repository.

xxyu pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/kylin.git


The following commit(s) were added to refs/heads/master by this push:
     new e725289  KYLIN-5016 avoid npe issue in rdbms pushdown
e725289 is described below

commit e7252898eda260d87639d4d61fc01e1ef828f226
Author: woyumen4597 <woyumen4...@gmail.com>
AuthorDate: Fri Jun 25 10:56:31 2021 +0800

    KYLIN-5016 avoid npe issue in rdbms pushdown
---
 .../kylin/sdk/datasource/framework/conv/DefaultConfigurer.java    | 8 ++++----
 .../apache/kylin/sdk/datasource/framework/conv/SqlConverter.java  | 4 ++--
 2 files changed, 6 insertions(+), 6 deletions(-)

diff --git 
a/datasource-sdk/src/main/java/org/apache/kylin/sdk/datasource/framework/conv/DefaultConfigurer.java
 
b/datasource-sdk/src/main/java/org/apache/kylin/sdk/datasource/framework/conv/DefaultConfigurer.java
index 164f323..d9e36a9 100644
--- 
a/datasource-sdk/src/main/java/org/apache/kylin/sdk/datasource/framework/conv/DefaultConfigurer.java
+++ 
b/datasource-sdk/src/main/java/org/apache/kylin/sdk/datasource/framework/conv/DefaultConfigurer.java
@@ -30,8 +30,8 @@ public class DefaultConfigurer implements 
SqlConverter.IConfigurer{
     private static final Map<String, SqlDialect> sqlDialectMap = 
Maps.newHashMap();
 
     static {
-        sqlDialectMap.put("default", SqlDialect.CALCITE);
-        sqlDialectMap.put("calcite", SqlDialect.CALCITE);
+        sqlDialectMap.put("default", 
SqlDialect.DatabaseProduct.CALCITE.getDialect());
+        sqlDialectMap.put("calcite", 
SqlDialect.DatabaseProduct.CALCITE.getDialect());
         sqlDialectMap.put("greenplum", 
SqlDialect.DatabaseProduct.POSTGRESQL.getDialect());
         sqlDialectMap.put("postgresql", 
SqlDialect.DatabaseProduct.POSTGRESQL.getDialect());
         sqlDialectMap.put("mysql", 
SqlDialect.DatabaseProduct.MYSQL.getDialect());
@@ -41,7 +41,7 @@ public class DefaultConfigurer implements 
SqlConverter.IConfigurer{
         sqlDialectMap.put("redshift", 
SqlDialect.DatabaseProduct.REDSHIFT.getDialect());
         sqlDialectMap.put("hive", 
SqlDialect.DatabaseProduct.HIVE.getDialect());
         sqlDialectMap.put("h2", SqlDialect.DatabaseProduct.H2.getDialect());
-        sqlDialectMap.put("unknown", SqlDialect.DUMMY);
+        sqlDialectMap.put("unknown", 
SqlDialect.DatabaseProduct.UNKNOWN.getDialect());
     }
 
     private AbstractJdbcAdaptor adaptor;
@@ -84,7 +84,7 @@ public class DefaultConfigurer implements 
SqlConverter.IConfigurer{
     public SqlDialect getSqlDialect() {
         String dialectName = dsDef.getDialectName() == null ? dsDef.getId() : 
dsDef.getDialectName();
         SqlDialect sqlDialect = 
sqlDialectMap.get(dialectName.toLowerCase(Locale.ROOT));
-        return sqlDialect == null ? sqlDialectMap.get("unkown") : sqlDialect;
+        return sqlDialect == null ? sqlDialectMap.get("unknown") : sqlDialect;
     }
 
     @Override
diff --git 
a/datasource-sdk/src/main/java/org/apache/kylin/sdk/datasource/framework/conv/SqlConverter.java
 
b/datasource-sdk/src/main/java/org/apache/kylin/sdk/datasource/framework/conv/SqlConverter.java
index cf9fd74..5320aac 100644
--- 
a/datasource-sdk/src/main/java/org/apache/kylin/sdk/datasource/framework/conv/SqlConverter.java
+++ 
b/datasource-sdk/src/main/java/org/apache/kylin/sdk/datasource/framework/conv/SqlConverter.java
@@ -44,7 +44,7 @@ public class SqlConverter {
         String converted = orig;
 
         if (!configurer.skipHandleDefault()) {
-            String escapedDefault = SqlDialect.CALCITE
+            String escapedDefault = 
SqlDialect.DatabaseProduct.CALCITE.getDialect()
                     .quoteIdentifier(configurer.useUppercaseDefault() ? 
"DEFAULT" : "default");
             converted = converted.replaceAll("(?i)default\\.", escapedDefault 
+ "."); // use Calcite dialect to cater to SqlParser
             converted = converted.replaceAll("\"(?i)default\"\\.", 
escapedDefault + ".");
@@ -54,7 +54,7 @@ public class SqlConverter {
             String beforeConvert = converted;
             try {
                 // calcite cannot recognize `, convert ` to " before parse
-                converted = converted.replaceAll("`", "\"");
+                converted = converted.replace("`", "\"");
                 SqlNode sqlNode = SqlParser.create(converted).parseQuery();
                 sqlNode = sqlNode.accept(sqlNodeConverter);
                 converted = sqlWriter.format(sqlNode);

Reply via email to