1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 package org.apache.shardingsphere.sqlfederation.optimizer.context.parser.dialect.impl;
19
20 import org.apache.calcite.config.CalciteConnectionProperty;
21 import org.apache.calcite.config.Lex;
22 import org.apache.calcite.sql.fun.SqlLibrary;
23 import org.apache.calcite.sql.validate.SqlConformanceEnum;
24 import org.apache.shardingsphere.sqlfederation.optimizer.context.parser.dialect.OptimizerSQLDialectBuilder;
25
26 import java.util.Properties;
27
28
29
30
31 public final class OpenGaussOptimizerBuilder implements OptimizerSQLDialectBuilder {
32
33 @Override
34 public Properties build() {
35 Properties result = new Properties();
36 result.setProperty(CalciteConnectionProperty.LEX.camelName(), Lex.JAVA.name());
37 result.setProperty(CalciteConnectionProperty.CONFORMANCE.camelName(), SqlConformanceEnum.BABEL.name());
38 result.setProperty(CalciteConnectionProperty.FUN.camelName(), SqlLibrary.POSTGRESQL.fun);
39 result.setProperty(CalciteConnectionProperty.CASE_SENSITIVE.camelName(), String.valueOf(false));
40 return result;
41 }
42
43 @Override
44 public String getDatabaseType() {
45 return "openGauss";
46 }
47 }