Add framework configuration
Project: http://git-wip-us.apache.org/repos/asf/incubator-gearpump/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-gearpump/commit/83d85783 Tree: http://git-wip-us.apache.org/repos/asf/incubator-gearpump/tree/83d85783 Diff: http://git-wip-us.apache.org/repos/asf/incubator-gearpump/diff/83d85783 Branch: refs/heads/sql Commit: 83d85783d19a15dfa5be40c2af8ada35ea6758f7 Parents: 00430fd Author: Buddhi Ayesha <[email protected]> Authored: Sat Jun 17 14:44:06 2017 +0530 Committer: manuzhang <[email protected]> Committed: Sun Jul 9 07:52:48 2017 +0800 ---------------------------------------------------------------------- .../utils/CalciteFrameworkConfiguration.java | 40 ++++++++++++++++++++ 1 file changed, 40 insertions(+) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-gearpump/blob/83d85783/experiments/sql/src/main/java/org/apache/calcite/utils/CalciteFrameworkConfiguration.java ---------------------------------------------------------------------- diff --git a/experiments/sql/src/main/java/org/apache/calcite/utils/CalciteFrameworkConfiguration.java b/experiments/sql/src/main/java/org/apache/calcite/utils/CalciteFrameworkConfiguration.java new file mode 100644 index 0000000..eb69db6 --- /dev/null +++ b/experiments/sql/src/main/java/org/apache/calcite/utils/CalciteFrameworkConfiguration.java @@ -0,0 +1,40 @@ +package org.apache.calcite.utils; + +import org.apache.calcite.config.Lex; +import org.apache.calcite.plan.Contexts; +import org.apache.calcite.plan.ConventionTraitDef; +import org.apache.calcite.plan.RelTraitDef; +import org.apache.calcite.rel.RelCollationTraitDef; +import org.apache.calcite.rel.type.RelDataTypeSystem; +import org.apache.calcite.schema.SchemaPlus; +import org.apache.calcite.sql.parser.SqlParser; +import org.apache.calcite.tools.FrameworkConfig; +import org.apache.calcite.tools.Frameworks; +import org.apache.calcite.tools.RuleSets; + +import java.util.ArrayList; +import java.util.List; + +public class CalciteFrameworkConfiguration { + + public static FrameworkConfig getDefaultconfig(SchemaPlus schema) { + final List<RelTraitDef> traitDefs = new ArrayList<RelTraitDef>(); + + traitDefs.add(ConventionTraitDef.INSTANCE); + traitDefs.add(RelCollationTraitDef.INSTANCE); + + FrameworkConfig frameworkConfiguration = Frameworks.newConfigBuilder() + .parserConfig(SqlParser.configBuilder() + .setLex(Lex.JAVA) + .build()) + .defaultSchema(schema) + .traitDefs(traitDefs) + .context(Contexts.EMPTY_CONTEXT) + .ruleSets(RuleSets.ofList()) + .costFactory(null) + .typeSystem(RelDataTypeSystem.DEFAULT) + .build(); + + return frameworkConfiguration; + } +}
