TiFlash accept lossless data type change for mydatetime (#7815) #7818
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This is an automated cherry-pick of #7815
What problem does this PR solve?
Issue Number: close #7809
Problem Summary:
The root cause is that TiFlash does not detect the datatype change from
mydatetime(0)
tomydatetime(3)
ortimestamp(0)
totimestamp(3)
ortime(0)
totime(3)
.tiflash/dbms/src/TiDB/Schema/SchemaBuilder.cpp
Lines 124 to 144 in 338634a
Enlarging the
fsp
ofmydatetime
/timestamp
/time
is a lossless change, TiFlash should detect and change the data type in place. Narrowing down thefsp
ofmydatetime
/timestamp
/time
is a lossy change, TiDB will add a temporary column and reorganize the column data as other lossy type change.What is changed and how it works?
fsp
enlarging ofDATETIME
/TIMESTAMP
/TIME
column typeCheck List
Tests
Side effects
Documentation
Release note