Details
-
Wish
-
Status: Closed
-
Major
-
Resolution: Fixed
-
None
-
None
Description
A case:
final String sql1 = "" + "select empno, sum(sal) as all_sal\n" + "from emp\n" + "group by empno";
When i try to get the `all_sal` origin column field,it will return null and it is derived. we always get the origin column although it is derived. We should overload this method and determine whether the column is derived by setting parameters.
org.apache.calcite.rel.metadata.RelMetadataQuery#getColumnOrigin
// code placeholder public RelColumnOrigin getColumnOrigin(RelNode rel, int column) { final Set<RelColumnOrigin> origins = getColumnOrigins(rel, column); if (origins == null || origins.size() != 1) { return null; } final RelColumnOrigin origin = Iterables.getOnlyElement(origins); return origin.isDerived() ? null : origin; }
Attachments
Issue Links
- links to