This comes from a commit in Drill's forked Calcite. (https://github.com/dremio/calcite/commit/84bae715310d8684ac545f0a4f17c86d19e502a4)
PlannerImpl.validate() only returns SqlNode after the input SqlNode goes through SqlValidator check, and it does not return the validated rowtype. This is different from the regular code path in CalcitePrepareImpl, where validate rowtype is passed into ParseResult/ConvertResult.
We should provide a way in PlannerImpl such that the validated rowType is accessible.