Skip to content

[FLINK-39373][pipeline][starrocks] Fix the error when modifying the default value of a column#4363

Open
linguoxuan wants to merge 1 commit intoapache:masterfrom
linguoxuan:0407_lgx
Open

[FLINK-39373][pipeline][starrocks] Fix the error when modifying the default value of a column#4363
linguoxuan wants to merge 1 commit intoapache:masterfrom
linguoxuan:0407_lgx

Conversation

@linguoxuan
Copy link
Copy Markdown
Contributor

Purpose

Fix a bug in the StarRocks pipeline sink where executing AlterColumnTypeEvent would cause the existing default value of a column to be lost.

Bug

When AlterColumnTypeEvent is applied to modify a column's data type in StarRocks, the event does not carry the column's original default value. As a result, the generated ALTER TABLE ... MODIFY COLUMN SQL statement omits the DEFAULT clause, causing StarRocks to throw an error.

Changes

Added getColumnDefaultValue() method in StarRocksEnrichedCatalog to query the current default value of a column from information_schema.COLUMNS.
Added getConnection() helper method to obtain a JDBC connection from the parent StarRocksCatalog via reflection.
Modified alterColumnType() to check and preserve the existing default value when the new column definition does not specify one.
Added integration test testAlterColumnTypePreservesDefaultValue to verify that the default value is retained after altering the column type.

@linguoxuan
Copy link
Copy Markdown
Contributor Author

@lvyanquan @rmetzger PTAL

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.

1 participant