@Override protected SqlToRelConverter getSqlToRelConverter( SqlValidator validator, CatalogReader catalogReader, SqlToRelConverter.Config config) { final RelOptCluster cluster = prepare.createCluster(planner, rexBuilder); return new SqlToRelConverter(this, validator, catalogReader, cluster, convertletTable, config); }
@Override protected SqlToRelConverter getSqlToRelConverter( SqlValidator validator, CatalogReader catalogReader, SqlToRelConverter.Config config) { final RelOptCluster cluster = prepare.createCluster(planner, rexBuilder); return new SqlToRelConverter(this, validator, catalogReader, cluster, convertletTable, config); }
@Override protected SqlToRelConverter getSqlToRelConverter( SqlValidator validator, CatalogReader catalogReader, SqlToRelConverter.Config config) { final RelOptCluster cluster = prepare.createCluster(planner, rexBuilder); SqlToRelConverter sqlToRelConverter = new SqlToRelConverter(this, validator, catalogReader, cluster, convertletTable, config); return sqlToRelConverter; }
protected SqlToRelConverter createSqlToRelConverter( final SqlValidator validator, final Prepare.CatalogReader catalogReader, final RelDataTypeFactory typeFactory, final SqlToRelConverter.Config config) { final RexBuilder rexBuilder = new RexBuilder(typeFactory); RelOptCluster cluster = RelOptCluster.create(getPlanner(), rexBuilder); if (clusterFactory != null) { cluster = clusterFactory.apply(cluster); } return new SqlToRelConverter(null, validator, catalogReader, cluster, StandardConvertletTable.INSTANCE, config); }
protected SqlToRelConverter createSqlToRelConverter( final SqlValidator validator, final Prepare.CatalogReader catalogReader, final RelDataTypeFactory typeFactory, final SqlToRelConverter.Config config) { final RexBuilder rexBuilder = new RexBuilder(typeFactory); RelOptCluster cluster = RelOptCluster.create(getPlanner(), rexBuilder); if (clusterFactory != null) { cluster = clusterFactory.apply(cluster); } return new SqlToRelConverter(null, validator, catalogReader, cluster, StandardConvertletTable.INSTANCE, config); }
RelOptCluster cluster = RelOptCluster.create(planner, rexBuilder); SqlToRelConverter sqlToRelConverter = new SqlToRelConverter( new ViewExpanderImpl(), validator, catalogReader, cluster, convertletTable, SqlToRelConverter.Config.DEFAULT);
public RelRoot sqlToRel(SqlNode sqlNode) { assert sqlNode != null; RexBuilder rexBuilder = this.createRexBuilder(); RelOptCluster cluster = RelOptCluster.create(this.planner, rexBuilder); SqlToRelConverter sqlToRelConverter = new SqlToRelConverter( new ViewExpanderImpl(), this.validator, this.createCatalogReader(), cluster, this.convertletTable, SqlToRelConverter.Config.DEFAULT); RelRoot tempRoot = sqlToRelConverter.convertQuery(sqlNode, false, true); tempRoot = tempRoot.withRel(sqlToRelConverter.flattenTypes(tempRoot.project(), true)); tempRoot = tempRoot.withRel(RelDecorrelator.decorrelateQuery(tempRoot.project())); return tempRoot; }
.build(); final SqlToRelConverter sqlToRelConverter = new SqlToRelConverter(new ViewExpanderImpl(), validator, catalogReader, cluster, convertletTable, config);
public RelRoot toRel(final SqlNode validatedNode) { if (planner == null) { planner = new VolcanoPlanner(costFactory, settings); planner.setExecutor(new DrillConstExecutor(functions, util, settings)); planner.clearRelTraitDefs(); planner.addRelTraitDef(ConventionTraitDef.INSTANCE); planner.addRelTraitDef(DrillDistributionTraitDef.INSTANCE); planner.addRelTraitDef(RelCollationTraitDef.INSTANCE); } if (cluster == null) { initCluster(); } final SqlToRelConverter sqlToRelConverter = new SqlToRelConverter(new Expander(), validator, catalog, cluster, DrillConvertletTable.INSTANCE, sqlToRelConverterConfig); /* * Sets value to false to avoid simplifying project expressions * during creating new projects since it may cause changing data mode * which causes to assertion errors during type validation */ Hook.REL_BUILDER_SIMPLIFY.add(Hook.propertyJ(false)); //To avoid unexpected column errors set a value of top to false final RelRoot rel = sqlToRelConverter.convertQuery(validatedNode, false, false); return rel.withRel(sqlToRelConverter.flattenTypes(rel.rel, true)); }
public RelRoot rel(SqlNode sql) throws RelConversionException { ensure(State.STATE_4_VALIDATED); assert validatedSqlNode != null; final RexBuilder rexBuilder = createRexBuilder(); final RelOptCluster cluster = RelOptCluster.create(planner, rexBuilder); final SqlToRelConverter.Config config = SqlToRelConverter.configBuilder() .withConfig(sqlToRelConverterConfig) .withTrimUnusedFields(false) .withConvertTableAccess(false) .build(); final SqlToRelConverter sqlToRelConverter = new SqlToRelConverter(this, validator, createCatalogReader(), cluster, convertletTable, config); root = sqlToRelConverter.convertQuery(validatedSqlNode, false, true); root = root.withRel(sqlToRelConverter.flattenTypes(root.rel, true)); final RelBuilder relBuilder = config.getRelBuilderFactory().create(cluster, null); root = root.withRel( RelDecorrelator.decorrelateQuery(root.rel, relBuilder)); state = State.STATE_5_CONVERTED; return root; }
.build(); final SqlToRelConverter sqlToRelConverter = new SqlToRelConverter(this, validator, catalogReader, cluster, convertletTable, config);
public RelRoot rel(SqlNode sql) throws RelConversionException { ensure(State.STATE_4_VALIDATED); assert validatedSqlNode != null; final RexBuilder rexBuilder = createRexBuilder(); final RelOptCluster cluster = RelOptCluster.create(planner, rexBuilder); final SqlToRelConverter.Config config = SqlToRelConverter.configBuilder() .withConfig(sqlToRelConverterConfig) .withTrimUnusedFields(false) .withConvertTableAccess(false) .build(); final SqlToRelConverter sqlToRelConverter = new SqlToRelConverter(new ViewExpanderImpl(), validator, createCatalogReader(), cluster, convertletTable, config); root = sqlToRelConverter.convertQuery(validatedSqlNode, false, true); root = root.withRel(sqlToRelConverter.flattenTypes(root.rel, true)); final RelBuilder relBuilder = config.getRelBuilderFactory().create(cluster, null); root = root.withRel( RelDecorrelator.decorrelateQuery(root.rel, relBuilder)); state = State.STATE_5_CONVERTED; return root; }