Inherit row type of partial views from existing sink #94
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.
Summary
When creating a partial view, inherit the row type from the sink table, if one already exists.
Details
"Partial views" represent pipelines that materialize part of a table. Typically, this table already exists. In that case, we should validate that the pipeline's row type is compatible with the existing sink table's row type.
At the same time, our
CREATE TABLE <sink>
DDL should fully-specify the sink schema -- not the schema of the partial view. Otherwise, Flink connectors are likely to complain that theCREATE TABLE
DDL does not match what the connector expects.Testing
Verified that creating a partial view that is incompatible with an existing sink table will fail to validate:
A correct partial view works: