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 <[email protected]>
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);