public RelNode get() { final RelOptCluster cluster = prepare.createCluster(planner, rexBuilder); return new LixToRelTranslator(cluster, CalcitePreparingStmt.this) .translate(queryable); } }, resultType);
public PreparedResult prepareQueryable( final Queryable queryable, RelDataType resultType) { return prepare_(() -> { final RelOptCluster cluster = prepare.createCluster(planner, rexBuilder); return new LixToRelTranslator(cluster, CalcitePreparingStmt.this) .translate(queryable); }, resultType); }
public PreparedResult prepareQueryable( final Queryable queryable, RelDataType resultType) { return prepare_(() -> { final RelOptCluster cluster = prepare.createCluster(planner, rexBuilder); return new LixToRelTranslator(cluster, CalcitePreparingStmt.this) .translate(queryable); }, resultType); }
switch (method) { case SELECT: input = translate(call.targetExpression); return LogicalProject.create(input, toRex(input, (FunctionExpression) call.expressions.get(0)), input = translate(call.targetExpression); return LogicalFilter.create(input, toRex((FunctionExpression) call.expressions.get(0), input));
switch (method) { case SELECT: input = translate(call.targetExpression); return LogicalProject.create(input, toRex(input, (FunctionExpression) call.expressions.get(0)), input = translate(call.targetExpression); return LogicalFilter.create(input, toRex((FunctionExpression) call.expressions.get(0), input));
RelNode toRel(Queryable<T> queryable) { if (queryable instanceof QueryableDefaults.Replayable) { //noinspection unchecked ((QueryableDefaults.Replayable) queryable).replay(this); return rel; } if (queryable instanceof AbstractTableQueryable) { final AbstractTableQueryable tableQueryable = (AbstractTableQueryable) queryable; final QueryableTable table = tableQueryable.table; final CalciteSchema.TableEntry tableEntry = CalciteSchema.from(tableQueryable.schema) .add(tableQueryable.tableName, tableQueryable.table); final RelOptTableImpl relOptTable = RelOptTableImpl.create(null, table.getRowType(translator.typeFactory), tableEntry, null); if (table instanceof TranslatableTable) { return ((TranslatableTable) table).toRel(translator, relOptTable); } else { return LogicalTableScan.create(translator.cluster, relOptTable); } } return translator.translate(queryable.getExpression()); }
RelNode toRel(Queryable<T> queryable) { if (queryable instanceof QueryableDefaults.Replayable) { //noinspection unchecked ((QueryableDefaults.Replayable) queryable).replay(this); return rel; } if (queryable instanceof AbstractTableQueryable) { final AbstractTableQueryable tableQueryable = (AbstractTableQueryable) queryable; final QueryableTable table = tableQueryable.table; final CalciteSchema.TableEntry tableEntry = CalciteSchema.from(tableQueryable.schema) .add(tableQueryable.tableName, tableQueryable.table); final RelOptTableImpl relOptTable = RelOptTableImpl.create(null, table.getRowType(translator.typeFactory), tableEntry, null); if (table instanceof TranslatableTable) { return ((TranslatableTable) table).toRel(translator.toRelContext(), relOptTable); } else { return LogicalTableScan.create(translator.cluster, relOptTable); } } return translator.translate(queryable.getExpression()); }