Details
-
Bug
-
Status: Closed
-
Minor
-
Resolution: Fixed
-
None
Description
when I read the RelMdRowCount.java, I found that union's getRowCount has not consider 'union all', while in Union.estimateRowCount has. I am not sure whether this is a bug, if it is, I can help fix it.
RelMdRowCount.java public Double getRowCount(Union rel, RelMetadataQuery mq) { double rowCount = 0.0; for (RelNode input : rel.getInputs()) { Double partialRowCount = mq.getRowCount(input); if (partialRowCount == null) { return null; } rowCount += partialRowCount; } return rowCount; } Union.java @Override public double estimateRowCount(RelMetadataQuery mq) { double dRows = RelMdUtil.getUnionAllRowCount(mq, this); if (!all) { dRows *= 0.5; } return dRows; }
Attachments
Issue Links
- links to