feat: implement support for the PlanVersion
message type
#69
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR depends on and, therefor, currently includes #68.This PR introduces support for the
PlanVersion
message type. This is done by introduces theVersionAttr
, which corresponds to theVersion
message type, which, in turn, is the type of the only field ofPlanVersion
.Since
PlanVersion
is a top-level message, this PR extends the import mechanism: when reading a protobuf message, we need to know which type it is, so when we translate a protobuf message into MLIR, we need to specify which message type the input is. The PR, thus, adds a new flag to thesubstrait-translate
tool, together with a corresponding top-level translation function. This also slightly changed some existing error messages and the corresponding tests.This PR does not yet factor out the handling of the version of the
Plan
message type. That should follow up soon but, since the newVersionAttr
has a slightly different assembly format than the corresponding part of thePlanOp
, that change will require to modify all test cases, which would bloat this PR.