Details
-
Improvement
-
Status: Closed
-
Major
-
Resolution: Fixed
-
0.11.1
-
None
-
None
Description
currently, almost every operator requires implicit parameter for the classtag context bound of drm rowset key type, even for things like drmA + drmB.
in reality though DAG can already infer that similarly to e.g. it infers product geometry because classtags are already embedded in the logical plan.
for example, classtag(drmA+drmB) == classtag(drmA) == classtag(drmB).
Not only does the DAG already contain this information, but also it opens doors to a loss of inference, since the optimizer doesn't verify that the new context bound is actually valid by retracing the inference. So any operation may introduce an invalid row key type, and as a consequence, invalid optimization information, without any further checks.