You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
For physical operators, __repr__ persists all constructor args, so we can round-trip between repr() and eval() for physical plans. For logical plans, this doesn't work because the implementation of __repr__ for logical operators only persists the name of the class in the constructor call, with no args.
raco.myrial.myrial_test.MyrialTestCase.get_plan() always round-trips the generated plan through repr() and eval() to exercise this codepath, but that always fails for logical plans as described above. For now, I've disabled the round-tripping for logical plans (it still happens for physical plans).
The proper fix is to override __repr__ on all logical operators just as we do for physical operators.
The text was updated successfully, but these errors were encountered:
For physical operators,
__repr__
persists all constructor args, so we can round-trip betweenrepr()
andeval()
for physical plans. For logical plans, this doesn't work because the implementation of__repr__
for logical operators only persists the name of the class in the constructor call, with no args.raco.myrial.myrial_test.MyrialTestCase.get_plan()
always round-trips the generated plan throughrepr()
andeval()
to exercise this codepath, but that always fails for logical plans as described above. For now, I've disabled the round-tripping for logical plans (it still happens for physical plans).The proper fix is to override
__repr__
on all logical operators just as we do for physical operators.The text was updated successfully, but these errors were encountered: