public void rewriteRel(TableModificationRel rel) { TableModificationRel newRel = new TableModificationRel( rel.getCluster(), rel.getTable(), rel.getCatalogReader(), getNewForOldRel(rel.getChild()), rel.getOperation(), rel.getUpdateColumnList(), true); setNewForOldRel(rel, newRel); }
@Override public TableModificationRel copy(RelTraitSet traitSet, List<RelNode> inputs) { assert traitSet.containsIfApplicable(Convention.NONE); return new TableModificationRel( getCluster(), table, catalogReader, sole(inputs), getOperation(), getUpdateColumnList(), isFlattened()); } }
@Override public RelNode convert( RelNode rel ) { final TableModificationRel modificationRel = (TableModificationRel) rel; final RelNode convertedChild = convert( modificationRel.getChild(), modificationRel.getTraitSet().replace( CONVENTION ) ); if( convertedChild == null ) return null; // We can't convert the child, so we can't convert rel. return new CascadingTableModificationRel( modificationRel.getCluster(), modificationRel.getTraitSet() .plus( CONVENTION ), modificationRel.getTable(), modificationRel.getCatalogReader(), convertedChild, modificationRel.getOperation(), modificationRel.getUpdateColumnList(), modificationRel.isFlattened() ); } }
private RelNode convertDelete(SqlDelete call) { RelOptTable targetTable = getTargetTable(call); RelNode sourceRel = convertSelect(call.getSourceSelect()); return new TableModificationRel( cluster, targetTable, catalogReader, sourceRel, TableModificationRel.Operation.DELETE, null, false); }
final RelDataType rowType = modifier.getRowType(); final int fieldCount = rowType.getFieldCount(); RelNode input = modifier.getChild(); if (newInput != input) { newModifier = modifier.copy( modifier.getTraitSet(), Collections.singletonList(newInput));
@Override public RelNode convert(RelNode rel) { final TableModificationRel modify = (TableModificationRel) rel; final ModifiableTable modifiableTable = modify.getTable().unwrap(ModifiableTable.class); if (modifiableTable == null) { return null; } final RelTraitSet traitSet = modify.getTraitSet().replace(EnumerableConvention.INSTANCE); return new EnumerableTableModificationRel( modify.getCluster(), traitSet, modify.getTable(), modify.getCatalogReader(), convert(modify.getChild(), traitSet), modify.getOperation(), modify.getUpdateColumnList(), modify.isFlattened()); } }
private RelNode convertUpdate(SqlUpdate call) { RelOptTable targetTable = getTargetTable(call); // convert update column list from SqlIdentifier to String List<String> targetColumnNameList = new ArrayList<String>(); for (SqlNode node : call.getTargetColumnList()) { SqlIdentifier id = (SqlIdentifier) node; String name = id.getSimple(); targetColumnNameList.add(name); } RelNode sourceRel = convertSelect(call.getSourceSelect()); return new TableModificationRel( cluster, targetTable, catalogReader, sourceRel, TableModificationRel.Operation.UPDATE, targetColumnNameList, false); }
final RelDataType rowType = modifier.getRowType(); final int fieldCount = rowType.getFieldCount(); RelNode input = modifier.getChild(); if (newInput != input) { newModifier = modifier.copy( modifier.getTraitSet(), Collections.singletonList(newInput));
@Override public RelNode convert(RelNode rel) { final TableModificationRel modify = (TableModificationRel) rel; final ModifiableTable modifiableTable = modify.getTable().unwrap(ModifiableTable.class); if (modifiableTable == null /* || modifiableTable.getExpression(tableInSchema) == null */) { return null; } final RelTraitSet traitSet = modify.getTraitSet().replace(out); return new JdbcTableModificationRel( modify.getCluster(), traitSet, modify.getTable(), modify.getCatalogReader(), convert(modify.getChild(), traitSet), modify.getOperation(), modify.getUpdateColumnList(), modify.isFlattened()); } }
public void rewriteRel(TableModificationRel rel) { TableModificationRel newRel = new TableModificationRel( rel.getCluster(), rel.getTable(), rel.getCatalogReader(), getNewForOldRel(rel.getChild()), rel.getOperation(), rel.getUpdateColumnList(), true); setNewForOldRel(rel, newRel); }
@Override public TableModificationRel copy(RelTraitSet traitSet, List<RelNode> inputs) { assert traitSet.containsIfApplicable(Convention.NONE); return new TableModificationRel( getCluster(), table, catalogReader, sole(inputs), getOperation(), getUpdateColumnList(), isFlattened()); } }
RelOptUtil.createProject(joinRel, projects, null, true); return new TableModificationRel( cluster, targetTable,
@Override public RelNode convert(RelNode rel) { final TableModificationRel modify = (TableModificationRel) rel; final ModifiableTable modifiableTable = modify.getTable().unwrap(ModifiableTable.class); if (modifiableTable == null || modifiableTable.getExpression() == null) { return null; } final RelTraitSet traitSet = modify.getTraitSet().replace(out); return new JdbcTableModificationRel( modify.getCluster(), traitSet, modify.getTable(), modify.getCatalogReader(), convert(modify.getChild(), traitSet), modify.getOperation(), modify.getUpdateColumnList(), modify.isFlattened()); } }
false); return new TableModificationRel( cluster, targetTable,
@Override public RelNode convert(RelNode rel) { final TableModificationRel modify = (TableModificationRel) rel; final ModifiableTable modifiableTable = modify.getTable().unwrap(ModifiableTable.class); if (modifiableTable == null || modifiableTable.getExpression() == null) { return null; } final RelTraitSet traitSet = modify.getTraitSet().replace(EnumerableConvention.INSTANCE); return new EnumerableTableModificationRel( modify.getCluster(), traitSet, modify.getTable(), modify.getCatalogReader(), convert(modify.getChild(), traitSet), modify.getOperation(), modify.getUpdateColumnList(), modify.isFlattened()); } }
public TableModificationRelBase toModificationRel( RelOptCluster cluster, RelOptTable table, Prepare.CatalogReader catalogReader, RelNode child, TableModificationRelBase.Operation operation, List<String> updateColumnList, boolean flattened) { return new TableModificationRel( cluster, table, catalogReader, child, operation, updateColumnList, flattened); } }
public TableModificationRelBase toModificationRel( RelOptCluster cluster, RelOptTable table, Prepare.CatalogReader catalogReader, RelNode child, TableModificationRelBase.Operation operation, List<String> updateColumnList, boolean flattened) { return new TableModificationRel( cluster, table, catalogReader, child, operation, updateColumnList, flattened); } }
private RelNode convertDelete(SqlDelete call) { RelOptTable targetTable = getTargetTable(call); RelNode sourceRel = convertSelect(call.getSourceSelect()); return new TableModificationRel( cluster, targetTable, catalogReader, sourceRel, TableModificationRel.Operation.DELETE, null, false); }
private RelNode convertDelete(SqlDelete call) { RelOptTable targetTable = getTargetTable(call); RelNode sourceRel = convertSelect(call.getSourceSelect()); return new TableModificationRel( cluster, targetTable, catalogReader, sourceRel, TableModificationRel.Operation.DELETE, null, false); }
private RelNode convertUpdate(SqlUpdate call) { RelOptTable targetTable = getTargetTable(call); // convert update column list from SqlIdentifier to String List<String> targetColumnNameList = new ArrayList<String>(); for (SqlNode node : call.getTargetColumnList()) { SqlIdentifier id = (SqlIdentifier) node; String name = id.getSimple(); targetColumnNameList.add(name); } RelNode sourceRel = convertSelect(call.getSourceSelect()); return new TableModificationRel( cluster, targetTable, catalogReader, sourceRel, TableModificationRel.Operation.UPDATE, targetColumnNameList, false); }