case UPDATE: inputRowType = typeFactory.createJoinType(rowType, getCatalogReader().createTypeFromProjection(rowType, updateColumnList)); case MERGE: inputRowType = typeFactory.createJoinType( typeFactory.createJoinType(rowType, rowType), getCatalogReader().createTypeFromProjection(rowType, updateColumnList));
case UPDATE: inputRowType = typeFactory.createJoinType(rowType, getCatalogReader().createTypeFromProjection(rowType, updateColumnList)); case MERGE: inputRowType = typeFactory.createJoinType( typeFactory.createJoinType(rowType, rowType), getCatalogReader().createTypeFromProjection(rowType, updateColumnList));
/** * Retrieves the fields corresponding to a join between a left and right * tree * * @param left left hand side of the join * @param right right hand side of the join * * @return fields of the join */ public List<RelDataTypeField> getJoinFields( LoptJoinTree left, LoptJoinTree right) { RelDataType rowType = factory.createJoinType( left.getJoinTree().getRowType(), right.getJoinTree().getRowType()); return rowType.getFieldList(); }
/** * Retrieves the fields corresponding to a join between a left and right * tree * * @param left left hand side of the join * @param right right hand side of the join * * @return fields of the join */ public List<RelDataTypeField> getJoinFields( LoptJoinTree left, LoptJoinTree right) { RelDataType rowType = factory.createJoinType( left.getJoinTree().getRowType(), right.getJoinTree().getRowType()); return rowType.getFieldList(); }
protected RelDataType validateImpl(RelDataType targetRowType) { RelDataType leftType = validator.getNamespace(join.getLeft()).getRowType(); RelDataType rightType = validator.getNamespace(join.getRight()).getRowType(); final RelDataTypeFactory typeFactory = validator.getTypeFactory(); switch (join.getJoinType()) { case LEFT: rightType = typeFactory.createTypeWithNullability(rightType, true); break; case RIGHT: leftType = typeFactory.createTypeWithNullability(leftType, true); break; case FULL: leftType = typeFactory.createTypeWithNullability(leftType, true); rightType = typeFactory.createTypeWithNullability(rightType, true); break; } return typeFactory.createJoinType(leftType, rightType); }
protected RelDataType validateImpl(RelDataType targetRowType) { RelDataType leftType = validator.getNamespace(join.getLeft()).getRowType(); RelDataType rightType = validator.getNamespace(join.getRight()).getRowType(); final RelDataTypeFactory typeFactory = validator.getTypeFactory(); switch (join.getJoinType()) { case LEFT: rightType = typeFactory.createTypeWithNullability(rightType, true); break; case RIGHT: leftType = typeFactory.createTypeWithNullability(leftType, true); break; case FULL: leftType = typeFactory.createTypeWithNullability(leftType, true); rightType = typeFactory.createTypeWithNullability(rightType, true); break; } return typeFactory.createJoinType(leftType, rightType); }