Skip to content

Commit fbdb9a7

Browse files
authored
Default to ANSI dialect (#125)
* Default to ANSI dialect * Return flinksql but point it at Ansi rather than mysql * fix casing
1 parent c3709dc commit fbdb9a7

File tree

4 files changed

+7
-16
lines changed

4 files changed

+7
-16
lines changed

hoptimator-k8s/src/main/java/com/linkedin/hoptimator/k8s/K8sEngineTable.java

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -72,12 +72,7 @@ private static SqlDialect dialect(Row row) {
7272
if (row.DIALECT == null) {
7373
return SqlDialect.ANSI;
7474
}
75-
switch (row.DIALECT) {
76-
case "Flink":
77-
return SqlDialect.FLINK;
78-
default:
79-
return SqlDialect.valueOf(row.DIALECT);
80-
}
75+
return SqlDialect.valueOf(row.DIALECT.toUpperCase());
8176
}
8277

8378
@Override

hoptimator-util/src/main/java/com/linkedin/hoptimator/util/planner/RemoteToEnumerableConverter.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@
5959
import org.apache.calcite.runtime.SqlFunctions;
6060
import org.apache.calcite.sql.SqlDialect;
6161
import org.apache.calcite.sql.SqlKind;
62-
import org.apache.calcite.sql.dialect.MysqlSqlDialect;
62+
import org.apache.calcite.sql.dialect.AnsiSqlDialect;
6363
import org.apache.calcite.sql.type.SqlTypeName;
6464
import org.apache.calcite.sql.util.SqlString;
6565
import org.apache.calcite.util.BuiltInMethod;
@@ -94,7 +94,7 @@ private SqlString generateSql(SqlDialect dialect) {
9494
RelRoot root = RelRoot.of(getInput(), SqlKind.SELECT);
9595
try {
9696
PipelineRel.Implementor plan = DeploymentService.plan(root, Collections.emptyList(), new Properties());
97-
return new SqlString(MysqlSqlDialect.DEFAULT, plan.query(connectionProperties)
97+
return new SqlString(AnsiSqlDialect.DEFAULT, plan.query(connectionProperties)
9898
.apply(com.linkedin.hoptimator.SqlDialect.FLINK)); // TODO dialect
9999
} catch (SQLException e) {
100100
throw new RuntimeException(e);
@@ -127,7 +127,7 @@ private SqlString generateSql(SqlDialect dialect) {
127127
final RemoteConvention convention =
128128
(RemoteConvention) requireNonNull(child.getConvention(),
129129
() -> "child.getConvention() is null for " + child);
130-
SqlString sqlString = generateSql(MysqlSqlDialect.DEFAULT); // TODO hard-coded dialect
130+
SqlString sqlString = generateSql(AnsiSqlDialect.DEFAULT); // TODO hard-coded dialect
131131
String sql = sqlString.getSql();
132132
if (CalciteSystemProperty.DEBUG.value()) {
133133
System.out.println("[" + sql + "]");
@@ -141,7 +141,7 @@ private SqlString generateSql(SqlDialect dialect) {
141141
Expressions.parameter(Modifier.FINAL, ResultSet.class,
142142
builder.newName("resultSet"));
143143
final SqlDialect.CalendarPolicy calendarPolicy =
144-
MysqlSqlDialect.DEFAULT.getCalendarPolicy(); // TODO hard-coded dialect
144+
AnsiSqlDialect.DEFAULT.getCalendarPolicy(); // TODO hard-coded dialect
145145
final Expression calendar_;
146146
switch (calendarPolicy) {
147147
case LOCAL:

hoptimator-util/src/main/java/com/linkedin/hoptimator/util/planner/ScriptImplementor.java

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,6 @@
3535
import org.apache.calcite.sql.SqlWriter;
3636
import org.apache.calcite.sql.SqlWriterConfig;
3737
import org.apache.calcite.sql.dialect.AnsiSqlDialect;
38-
import org.apache.calcite.sql.dialect.MysqlSqlDialect;
3938
import org.apache.calcite.sql.fun.SqlRowOperator;
4039
import org.apache.calcite.sql.parser.SqlParserPos;
4140
import org.apache.calcite.sql.pretty.SqlPrettyWriter;
@@ -124,11 +123,8 @@ default Function<com.linkedin.hoptimator.SqlDialect, String> seal() {
124123
final String sql;
125124
switch (x) {
126125
case ANSI:
127-
sql = sql(AnsiSqlDialect.DEFAULT);
128-
break;
129126
case FLINK:
130-
// Flink uses MySQL dialect, more or less
131-
sql = sql(MysqlSqlDialect.DEFAULT);
127+
sql = sql(AnsiSqlDialect.DEFAULT);
132128
break;
133129
default:
134130
throw new IllegalStateException("unreachable");

hoptimator-venice/src/test/resources/venice-ddl-insert-partial.id

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ spec:
1515
- CREATE TABLE IF NOT EXISTS `VENICE`.`test-store` (`KEY_id` INTEGER, `intField` INTEGER, `stringField` VARCHAR) WITH ('connector'='venice', 'key.fields'='KEY_id', 'key.fields-prefix'='KEY_', 'key.type'='RECORD', 'partial-update-mode'='true', 'storeName'='test-store', 'value.fields-include'='EXCEPT_KEY')
1616
- CREATE DATABASE IF NOT EXISTS `VENICE` WITH ()
1717
- CREATE TABLE IF NOT EXISTS `VENICE`.`test-store-1` (`KEY_id` INTEGER, `intField` INTEGER, `stringField` VARCHAR) WITH ('connector'='venice', 'key.fields'='KEY_id', 'key.fields-prefix'='KEY_', 'key.type'='RECORD', 'partial-update-mode'='true', 'storeName'='test-store-1', 'value.fields-include'='EXCEPT_KEY')
18-
- INSERT INTO `VENICE`.`test-store-1` (`KEY_id`, `intField`) SELECT `KEY_id`, CAST(`stringField` AS SIGNED) AS `intField` FROM `VENICE`.`test-store`
18+
- INSERT INTO `VENICE`.`test-store-1` (`KEY_id`, `intField`) SELECT `KEY_id`, CAST(`stringField` AS INTEGER) AS `intField` FROM `VENICE`.`test-store`
1919
jarURI: file:///opt/hoptimator-flink-runner.jar
2020
parallelism: 1
2121
upgradeMode: stateless

0 commit comments

Comments
 (0)