-
Notifications
You must be signed in to change notification settings - Fork 3.7k
[Fix](RowStore) fix partial columns as row store #49542
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
Conversation
1. fix the row store columns comparison logic in SchemaChangeHandler. The tests verify the correct behavior when comparing row store columns during ALTER TABLE operations 2. fix partial columns when meet delete sign These tests ensure that the system correctly determines when schema changes are needed when users modify row store column properties through ALTER TABLE statements.
|
Thank you for your contribution to Apache Doris. Please clearly describe your PR:
|
|
run buildall |
TPC-H: Total hot run time: 34636 ms |
TPC-DS: Total hot run time: 186198 ms |
ClickBench: Total hot run time: 30.84 s |
|
run buildall |
TPC-H: Total hot run time: 34224 ms |
TPC-DS: Total hot run time: 183389 ms |
ClickBench: Total hot run time: 31.11 s |
BE UT Coverage ReportIncrement line coverage Increment coverage report
|
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.
Pull Request Overview
This PR fixes the row store columns comparison logic during schema changes and ensures that partial column modifications are properly handled during ALTER TABLE operations.
- Updated the logic in SchemaChangeHandler to better compare row store columns.
- Modified the behavior in TableProperty to clear row store columns when an empty list is provided.
Reviewed Changes
Copilot reviewed 2 out of 6 changed files in this pull request and generated 1 comment.
| File | Description |
|---|---|
| fe/fe-core/src/main/java/org/apache/doris/alter/SchemaChangeHandler.java | Updates the condition and comparison logic for row store columns during schema change detection. |
| fe/fe-core/src/main/java/org/apache/doris/catalog/TableProperty.java | Adjusts setRowStoreColumns to clear row store columns when an empty list is passed. |
Files not reviewed (4)
- be/src/service/point_query_executor.cpp: Language not supported
- regression-test/data/point_query_p0/load.out: Language not supported
- regression-test/suites/point_query_p0/load.groovy: Language not supported
- regression-test/suites/point_query_p0/load_ck.groovy: Language not supported
Comments suppressed due to low confidence (1)
fe/fe-core/src/main/java/org/apache/doris/alter/SchemaChangeHandler.java:1386
- [nitpick] Using a null check on rsColumns may trigger schema change detection even when the list is empty. Consider reinstating an emptiness check if an empty list should be treated as no change.
if (storeRowColumn || rsColumns != null) {
| buildRowStoreColumns(); | ||
| } else { | ||
| // clear row store columns | ||
| this.rowStoreColumns = null; |
Copilot
AI
Mar 27, 2025
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.
[nitpick] Clearing rowStoreColumns in setRowStoreColumns without updating the underlying properties map may lead to inconsistencies in later reads. Consider also clearing or updating the property key value for full consistency.
| this.rowStoreColumns = null; | |
| this.rowStoreColumns = null; | |
| properties.remove(PropertyAnalyzer.PROPERTIES_ROW_STORE_COLUMNS); |
Hastyshell
left a comment
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.
LGTM
|
PR approved by anyone and no changes requested. |
qidaye
left a comment
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.
LGTM
|
PR approved by at least one committer and no changes requested. |
1. fix the row store columns comparison logic in SchemaChangeHandler. The tests verify the correct behavior when comparing row store columns during ALTER TABLE operations 2. fix partial columns when meet delete sign These tests ensure that the system correctly determines when schema changes are needed when users modify row store column properties through ALTER TABLE statements.
1. fix the row store columns comparison logic in SchemaChangeHandler. The tests verify the correct behavior when comparing row store columns during ALTER TABLE operations 2. fix partial columns when meet delete sign These tests ensure that the system correctly determines when schema changes are needed when users modify row store column properties through ALTER TABLE statements.
1. fix the row store columns comparison logic in SchemaChangeHandler. The tests verify the correct behavior when comparing row store columns during ALTER TABLE operations 2. fix partial columns when meet delete sign These tests ensure that the system correctly determines when schema changes are needed when users modify row store column properties through ALTER TABLE statements.
These tests ensure that the system correctly determines when schema changes are needed when users modify row store column properties through ALTER TABLE statements.
What problem does this PR solve?
Issue Number: close #xxx
Related PR: #xxx
Problem Summary:
Release note
None
Check List (For Author)
Test
Behavior changed:
Does this need documentation?
Check List (For Reviewer who merge this PR)