Maryann Xue created CALCITE-1278: ------------------------------------ Summary: CalciteSignature's ColumnMetaData info is wrong for DELETE Key: CALCITE-1278 URL: https://issues.apache.org/jira/browse/CALCITE-1278 Project: Calcite Issue Type: Bug Components: core Affects Versions: 1.7.0 Reporter: Maryann Xue Assignee: Maryann Xue
DELETE, as one type of TableModify operation, has the same RelDataType as INSERT, which is RelRecordType(ROWCOUNT INTEGER). But during "prepare" stage, the corresponding ColumnMetaData info becomes inconsistent, due to: {code} preparedResult = preparingStmt.prepareSql( sqlNode, Object.class, validator, true); switch (sqlNode.getKind()) { case INSERT: case EXPLAIN: // FIXME: getValidatedNodeType is wrong for DML x = RelOptUtil.createDmlRowType(sqlNode.getKind(), typeFactory); break; default: x = validator.getValidatedNodeType(sqlNode); } {code} I've noticed that there is a "FIXME: getValidatedNodeType is wrong for DML". Guess that's the root cause, and RelOptUtil.createDmlRowType() is probably a workaround? For now, we can simply include DELETE in the first switch case. -- This message was sent by Atlassian JIRA (v6.3.4#6332)