-
Notifications
You must be signed in to change notification settings - Fork 598
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
fix(source): REFRESH SCHEMA
shall keep INCLUDE
pk for UPSERT
#19384
Conversation
af3516d
to
38852de
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
thanks for the fix
statement ok | ||
ALTER TABLE t REFRESH SCHEMA; | ||
|
||
statement ok | ||
drop table t; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
no need to check the new schema meets expectation?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is actually a no-op refresh. We refresh immediately after creation without any schema change. But yes it is always good to test more:
- schema meets expectation after refresh
- actual data meets schema after refresh (rather than panic due to mismatch)
- works for protobuf in addition to avro
- works for debezium in addition to plain or upsert
I hereby agree to the terms of the RisingWave Labs, Inc. Contributor License Agreement.
What's changed and what's your intention?
It is required that an
UPSERT
source (actually table) toINCLUDE key
and use it as primary key. However, whenREFRESH SCHEMA
, theINCLUDE
s are always lost, effectively resulting inUPSERT
tables cannot evolve their schemas.Checklist
./risedev check
(or alias,./risedev c
)Documentation
Release note
If this PR includes changes that directly affect users or other significant modifications relevant to the community, kindly draft a release note to provide a concise summary of these changes. Please prioritize highlighting the impact these changes will have on users.