@Override protected SqlToRelConverter getSqlToRelConverter( SqlValidator validator, CatalogReader catalogReader) { SqlToRelConverter sqlToRelConverter = new SqlToRelConverter( this, validator, catalogReader, planner, rexBuilder, StandardConvertletTable.INSTANCE); sqlToRelConverter.setTrimUnusedFields(true); return sqlToRelConverter; }
@Override protected SqlToRelConverter getSqlToRelConverter( SqlValidator validator, CatalogReader catalogReader) { SqlToRelConverter sqlToRelConverter = new SqlToRelConverter( this, validator, catalogReader, planner, rexBuilder); sqlToRelConverter.setTrimUnusedFields(false); return sqlToRelConverter; }
public RelNode expandView(RelDataType rowType, String queryString, List<String> schemaPath) { SqlParser parser = SqlParser.create(parserFactory, queryString, lex.quoting, lex.unquotedCasing, lex.quotedCasing); SqlNode sqlNode; try { sqlNode = parser.parseQuery(); } catch (SqlParseException e) { throw new RuntimeException("parse failed", e); } final OptiqCatalogReader catalogReader = createCatalogReader().withSchemaPath(schemaPath); SqlValidator validator = new OptiqSqlValidator( operatorTable, catalogReader, typeFactory); SqlNode validatedSqlNode = validator.validate(sqlNode); SqlToRelConverter sqlToRelConverter = new SqlToRelConverter( null, validator, catalogReader, planner, createRexBuilder(), convertletTable); sqlToRelConverter.setTrimUnusedFields(false); return sqlToRelConverter.convertQuery(validatedSqlNode, true, false); } }
protected SqlToRelConverter createSqlToRelConverter( final SqlValidator validator, final Prepare.CatalogReader catalogReader, final RelDataTypeFactory typeFactory) { return new SqlToRelConverter( null, validator, catalogReader, getPlanner(), new RexBuilder(typeFactory)); }
protected SqlToRelConverter createSqlToRelConverter( final SqlValidator validator, final Prepare.CatalogReader catalogReader, final RelDataTypeFactory typeFactory) { return new SqlToRelConverter( null, validator, catalogReader, getPlanner(), new RexBuilder(typeFactory), StandardConvertletTable.INSTANCE); }
public RelNode convert(SqlNode sql) throws RelConversionException { ensure(State.STATE_4_VALIDATED); assert validatedSqlNode != null; this.sqlToRelConverter = new SqlToRelConverter( new ViewExpanderImpl(), validator, createCatalogReader(), planner, createRexBuilder(), convertletTable); sqlToRelConverter.setTrimUnusedFields(false); sqlToRelConverter.enableTableAccessConversion(false); rel = sqlToRelConverter.convertQuery(validatedSqlNode, false, true); rel = sqlToRelConverter.flattenTypes(rel, true); rel = sqlToRelConverter.decorrelate(validatedSqlNode, rel); state = State.STATE_5_CONVERTED; return rel; }