tidb
tidb copied to clipboard
Push down json_contains to tikv
What problem does this PR solve?
Issue Number: close #37839
Problem Summary: Implement json_contains function push down to tikv
What is changed and how it works?
Check List
Tests
- [x] Unit test
- [x] Integration test
- [ ] Manual test (add detailed scripts or steps below)
- [ ] No code
Side effects
- [ ] Performance regression: Consumes more CPU
- [ ] Performance regression: Consumes more Memory
- [ ] Breaking backward compatibility
Documentation
- [ ] Affects user behaviors
- [ ] Contains syntax changes
- [ ] Contains variable changes
- [ ] Contains experimental features
- [ ] Changes MySQL compatibility
Release note
Please refer to Release Notes Language Style Guide to write a quality release note.
None
[REVIEW NOTIFICATION]
This pull request has been approved by:
- xhebox
- xiongjiwei
To complete the pull request process, please ask the reviewers in the list to review by filling /cc @reviewer in the comment.
After your PR has acquired the required number of LGTMs, you can assign this pull request to the committer in the list by filling /assign @committer in the comment to help you merge this pull request.
The full list of commands accepted by this bot can be found here.
Reviewer can indicate their review by submitting an approval review. Reviewer can cancel approval by submitting a request changes review.
/run-mysql-test
/run-mysql-test
/run-mysql-test
/run-all-tests
The MySQL test failed, because the following SQL has different behavior after pushdown:
create table t1 (f1 json);
insert into t1 values ('{"a":"b"}')
SELECT 1 FROM t1 WHERE f1 LIKE json_contains('key2' ,'key4' );
Before this PR, it returns ERROR 3141 (json format error). With this PR, it returns ERROR 1105 (unknown error). I guess there are some problems in the unistore, but not sure. PTAL
/run-all-tests
The MySQL test failed, because the following SQL has different behavior after pushdown:
create table t1 (f1 json); SELECT 1 FROM t1 WHERE f1 LIKE json_contains('key2' ,'key4' );Before this PR, it returns ERROR 3141 (json format error). With this PR, it returns ERROR 1105 (unknown error). I guess there are some problems in the unistore, but not sure. PTAL
https://github.com/pingcap/tidb/pull/38257 could fix this problem.
/run-all-tests
/run-all-tests
/run-mysql-test tidb-test=pr/1991
/run-mysql-test tidb-test=pr/1991
/run-mysql-test tidb-test=pr/1991
/run-mysql-test tidb-test=pr/1991
@YangKeao: Thanks for your review. The bot only counts approvals from reviewers and higher roles in list, but you're still welcome to leave your comments.
In response to this:
LGTM
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the ti-community-infra/tichi repository.
/cc @xiongjiwei @xhebox
/merge
@xiongjiwei: /merge in this pull request requires 2 approval(s).
In response to this:
/merge
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the ti-community-infra/tichi repository.
/merge
This pull request has been accepted and is ready to merge.
/run-mysql-test tidb-test=pr/1991
/tests
/run-mysql-test tidb-test=pr/1991
TiDB MergeCI notify
🔴 Bad News! New failing [3] after this pr merged. These new failed integration tests seem to be caused by the current PR, please try to fix these new failed integration tests, thanks!
| CI Name | Result | Duration | Compare with Parent commit |
|---|---|---|---|
| idc-jenkins-ci-tidb/integration-common-test | 🟥 failed 3, success 14, total 17 | 12 min | New failing |
| idc-jenkins-ci-tidb/tics-test | 🟥 failed 1, success 0, total 1 | 9 min 9 sec | New failing |
| idc-jenkins-ci-tidb/common-test | 🟥 failed 1, success 10, total 11 | 8 min 46 sec | New failing |
| idc-jenkins-ci/integration-cdc-test | 🟢 all 37 tests passed | 27 min | Existing passed |
| idc-jenkins-ci-tidb/integration-ddl-test | 🟢 all 6 tests passed | 25 min | Existing passed |
| idc-jenkins-ci-tidb/sqllogic-test-2 | 🟢 all 28 tests passed | 5 min 27 sec | Existing passed |
| idc-jenkins-ci-tidb/sqllogic-test-1 | 🟢 all 26 tests passed | 4 min 36 sec | Existing passed |
| idc-jenkins-ci-tidb/mybatis-test | 🟢 all 1 tests passed | 3 min 6 sec | Existing passed |
| idc-jenkins-ci-tidb/integration-compatibility-test | 🟢 all 1 tests passed | 2 min 36 sec | Existing passed |
| idc-jenkins-ci-tidb/plugin-test | 🟢 build success, plugin test success | 4min | Existing passed |