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: drop connector for table with connector #20023

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

Conversation

tabVersion
Copy link
Contributor

@tabVersion tabVersion commented Jan 4, 2025

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

What's changed and what's your intention?

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

new syntax for dropping connector part of a table

only allow for table with associate source, not works for plain table and CDC table.

ALTER TABLE <table name> DROP CONNECTOR;

tabversion added 2 commits January 4, 2025 16:04
@tabVersion
Copy link
Contributor Author

replacement for #19871

@tabVersion tabVersion marked this pull request as ready for review January 15, 2025 12:36
Copy link
Member

@BugenZhao BugenZhao left a comment

Choose a reason for hiding this comment

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

Can you also test the behavior on tables with external-resolved schema (i.e., schema registry)? I believe #20131 will be a pre-requisite.

{"ID": 8}^{"ID": 8, "firstName": "Ava", "lastName": "Garcia", "age": 21, "height": 5.2, "weight": 115}
EOF

# the streaming job does not intake new data
Copy link
Member

Choose a reason for hiding this comment

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

Better to sleep a while before this check

// additional column name may have prefix _rw
// When converting dropping the connector from table, the additional columns are converted to normal columns and keep the original name.
// Under this case, we loosen the check for _rw prefix.
if column_name.starts_with(RW_RESERVED_COLUMN_NAME_PREFIX) && !is_for_replace_plan {
Copy link
Member

Choose a reason for hiding this comment

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

I think there is no need to enter this function (check_valid_column_name()) at all when is_for_replace_plan == true.

For exaample, is_row_id_column_name may also need to be bypassed when you work on alter source alter connector

WITH (
${RISEDEV_KAFKA_WITH_OPTIONS_COMMON},
topic = 'test_alter_table_drop_connector')
FORMAT PLAIN ENCODE JSON;
Copy link
Member

Choose a reason for hiding this comment

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

Is this shared source? Can you also add a test case for some non-shared source?

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