Closed time-and-fate closed 5 months ago
Skipping CI for Draft Pull Request.
If you want CI signal for your change, please convert it to an actual PR.
You can still manually trigger a test run with /test all
Skipping CI for Draft Pull Request.
If you want CI signal for your change, please convert it to an actual PR.
You can still manually trigger a test run with /test all
/test all
/retest
/retest
Merging #48522 (06ee151) into master (ca9f4d3) will increase coverage by
1.1230%
. Report is 4 commits behind head on master. The diff coverage is77.2455%
.
/test all
/retest
/retest
/retest
/retest
/retest
/retest
/retest
/retest
/test unit-test
@time-and-fate: The specified target(s) for /test
were not found.
The following commands are available to trigger required jobs:
/test tiprow_fast_test
Use /test all
to run all jobs.
/test unit-test
@time-and-fate: The specified target(s) for /test
were not found.
The following commands are available to trigger required jobs:
/test tiprow_fast_test
Use /test all
to run all jobs.
/retest
/test mysql-test
@time-and-fate: The specified target(s) for /test
were not found.
The following commands are available to trigger required jobs:
/test tiprow_fast_test
Use /test all
to run all jobs.
/retest
/retest
/test mysql-test
@time-and-fate: The specified target(s) for /test
were not found.
The following commands are available to trigger required jobs:
/test tiprow_fast_test
Use /test all
to run all jobs.
/retest
/test mysql-test
@time-and-fate: The specified target(s) for /test
were not found.
The following commands are available to trigger required jobs:
/test tiprow_fast_test
Use /test all
to run all jobs.
/retest
/retest
/test check-dev2
@time-and-fate: The specified target(s) for /test
were not found.
The following commands are available to trigger required jobs:
/test tiprow_fast_test
Use /test all
to run all jobs.
/retest
/retest
/retest
/retest
/retest
/test mysql-test
/test mysql-test
@time-and-fate: The specified target(s) for /test
were not found.
The following commands are available to trigger required jobs:
/test tiprow_fast_test
Use /test all
to run all jobs.
/retest
/retest
/test unit-test
@time-and-fate: The specified target(s) for /test
were not found.
The following commands are available to trigger required jobs:
/test tiprow_fast_test
Use /test all
to run all jobs.
/retest
/retest
/retest
/retest
/retest
What problem does this PR solve?
Issue Number: close #48181 close #49138
What is changed and how it works?
builder
inpkg/util/ranger/points.go
, we provide a new parameterconvertToSortKey bool
. If it'strue
, we can build ranges for new collation columns innewBuildFromPatternLike
. The user ofbuilder
should specify if it should convert the string values to the sort key or keep the original value.KeyWithoutTrimRightSpace()
and then +1 to calculate the end key. TheKeyWithoutTrimRightSpace
prevents regression compared to the existing behavior for binary collations. For other details, please see the comments.pointsConvertToSortKey
, andpointConvertToSortKey
to do the conversion work.convertPoint
happens before converting to the sort key. Specifically, it's called inpoints2Ranges
,appendPoints2Ranges
, andpoints2TableRanges
, which are right afterbuild()
. Now we try to keep this logic unchanged. So we do aconvertPoint
inside these two functions before the conversion to the sort key.newTp
into thebuilder
. Therefore I merged it with the previousCollator
parameter for thebuild()
.convertPoint
is not removed because it's needed to handle non-string cases. In such a case, we need to make the existingconvertPoint
able to correctly handle the new sort key cases. Specifically, we need to use the binary collation instead of the collation of the column for theFieldType
passed intoconvertPoint
.convertStringFTToBinaryCollate()
to reduce some repeated code.pkg/util/ranger/checker.go
, remove the limitation that we can't useLIKE
function on new collation column to build ranges.Check List
Tests
Side effects
Documentation
Release note
Please refer to Release Notes Language Style Guide to write a quality release note.