Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: implement support for the PlanVersion message type #69

Merged
merged 1 commit into from
Feb 6, 2025

Conversation

ingomueller-net
Copy link
Collaborator

@ingomueller-net ingomueller-net commented Jan 23, 2025

This PR depends on and, therefor, currently includes #68.

This PR introduces support for the PlanVersion message type. This is done by introduces the VersionAttr, which corresponds to the Version message type, which, in turn, is the type of the only field of PlanVersion.

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 the substrait-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 new VersionAttr has a slightly different assembly format than the corresponding part of the PlanOp, that change will require to modify all test cases, which would bloat this PR.

This PR introduces support for the `PlanVersion` message type. This is
done by introduces the `VersionAttr`, which corresponds to the `Version`
message type, which, in turn, is the type of the only field of
`PlanVersion`.

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 the `substrait-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 new
`VersionAttr` has a slightly different assembly format than the
corresponding part of the `PlanOp`, that change will require to modify
all test cases, which would bloat this PR.

Signed-off-by: Ingo Müller <[email protected]>
@ingomueller-net ingomueller-net merged commit 131caf5 into substrait-io:main Feb 6, 2025
8 checks passed
@ingomueller-net ingomueller-net deleted the plan-version branch February 6, 2025 08:09
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants