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(frontend): allow schema change & sink into a CTAS table #20174

Open
wants to merge 4 commits into
base: main
Choose a base branch
from

Conversation

BugenZhao
Copy link
Member

@BugenZhao BugenZhao commented Jan 15, 2025

I hereby agree to the terms of the RisingWave Labs, Inc. Contributor License Agreement.

What's changed and what's your intention?

Allow performing schema changes (ALTER TABLE ... [ADD | DROP] COLUMN) on or create a sink into a table created by CREATE TABLE AS statement.


After #19949, we now have two different methods for retrieving the definition of a table: create_sql and create_sql_purified. Prior to this PR, create_sql always directly return the persisted definition string, while create_sql_purified will re-assemble a definition with all columns qualified based on the TableCatalog.

However, the definitions for CTAS tables are missing, causing create_sql_ast to always return an error. This seems pointless. So this PR makes create_sql_ast also run purification if (and only if) the definition is missing (indicating that it's a CTAS table). This enables replacing functionalities for CTAS table, including schema change and sink-into-table.

Checklist

  • I have written necessary rustdoc comments.
  • I have added necessary unit tests and integration tests.
  • I have added test labels as necessary.
  • I have added fuzzing tests or opened an issue to track them.
  • My PR contains breaking changes.
  • My PR changes performance-critical code, so I will run (micro) benchmarks and present the results.
  • My PR contains critical fixes that are necessary to be merged into the latest release.

Documentation

  • My PR needs documentation updates.
Release note

Copy link
Member Author

Signed-off-by: Bugen Zhao <[email protected]>
Copy link
Contributor

@st1page st1page left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants