Commit Graph

70 Commits

Author SHA1 Message Date
2580240dde *: pass sql, plan digest down to KV request (#24854) 2021-05-25 15:47:33 +08:00
d2bdfd51b7 store/tikv: move transaction options out to /kv (#24619) 2021-05-13 17:49:39 +08:00
efe172b0e0 store/tikv:move option from kv to tikv, and make define as a normal int (#23171) 2021-03-22 20:13:36 +08:00
24c9df147d *: refactor table.Table interface, clean up unnecessay methods (#22430) 2021-03-02 19:48:54 +08:00
c7165bc518 executor, planner: ON DUPLICATE UPDATE can refer to un-project col (#14412)
Co-authored-by: Kenan Yao <cauchy1992@gmail.com>
Co-authored-by: ti-srebot <66930949+ti-srebot@users.noreply.github.com>
2021-01-06 19:03:51 +08:00
0735a0c924 executor: fix insert ignore into not exists partition (#21904)
Signed-off-by: lysu <sulifx@gmail.com>
2020-12-23 17:19:29 +08:00
2f067c0542 *: redact arguments for Error (#20436) 2020-10-21 14:44:08 +08:00
0017a1717e *: fix the bug about the insertRuntimeStat.String() (#20190)
Signed-off-by: jyz0309 <45495947@qq.com>
2020-09-27 18:48:43 +08:00
bb354b0c30 *:Record the time consuming of memory operation of Insert Executor in Runtime Information (#19574) 2020-09-23 20:57:40 +08:00
968d0d76ae executor: cleanup useless code in batch checker (#19511)
Signed-off-by: Shuaipeng Yu <jackysp@gmail.com>
2020-09-01 12:41:52 +08:00
e356136b72 *: annotate execution info in runtime/trace (#19407)
Co-authored-by: ti-srebot <66930949+ti-srebot@users.noreply.github.com>
2020-08-27 11:23:36 +08:00
650be7c438 execute: add rpc runtime stats information for insert/update/replace statement (#19334) 2020-08-24 16:10:33 +08:00
4eb9d83eae *: allow different shard_row_id prefixes in one transaction (#18181)
* *: allow different shard_row_id prefixes in one transaction

* Apply suggestions from code review

Co-authored-by: tangenta <tangenta@126.com>

* Update sessionctx/variable/session.go

Co-authored-by: tangenta <tangenta@126.com>

* add comments

* add unit test

* add var validation

* update builtinGlobalVariable

Co-authored-by: tangenta <tangenta@126.com>
2020-06-29 14:38:06 +08:00
6fa2badf38 util: move codec logic into tablecodec package (#18173)
* move codec logic into tablecodec package

* add key generation using physical table id

* remove using prefix

* change comment

* fix conclict

Co-authored-by: ti-srebot <66930949+ti-srebot@users.noreply.github.com>
2020-06-24 17:43:10 +08:00
9135d1d0d8 executor: subtract the old txn size when track the mem usage (#18000) 2020-06-17 11:29:47 +08:00
73c4673f30 *: support update/delete/insert ignore/duplicate update in single cluster index table (#17721) 2020-06-08 20:55:31 +08:00
d66d5028da *: support plain insert on cluster index table (#17674) 2020-06-05 13:23:43 +08:00
3176b00c02 executor: fix the issue that UNIQUE constraint on boolean column results in an incorrect result in a comparison (#17245) 2020-05-20 13:55:18 +08:00
1417ba2288 *: fix a bug that don't handle truncate properly for virtual generated column (#17217) 2020-05-14 20:57:55 +08:00
6814f8c94b *: refactor Handle in table package (#16807) 2020-04-27 10:04:50 +08:00
af376db3dc *: refactor Handle in tablecodec and rowcodec (#16705)
Co-authored-by: pingcap-github-bot <sre-bot@pingcap.com>
2020-04-23 18:55:59 +08:00
c81e903804 *: use the revertable sandbox to buffer mutations (#15931) 2020-04-03 14:54:27 +08:00
88dd552a6d *: fix autoid allocation to avoid quickly exhaustion (#15261) 2020-03-13 10:50:03 +08:00
e00887e3b9 executor: add memTracker for UpdateExec (#14299) 2019-12-31 21:59:31 +08:00
c1bc9ffe5b *: add memory tracker for InsertExec and ReplaceExec (#14179) 2019-12-30 11:43:01 +08:00
73213999ce executor: reuse chunk row for insert on duplicate update (#12847) 2019-10-23 21:57:07 +08:00
41ac571d7b *: remove the LightningMode from TiDB (#12466) 2019-09-29 15:12:01 +08:00
20dc99995a executor: clean up the batch checker code (#12338) 2019-09-24 19:02:45 +08:00
213b783dc6 executor: do not use batchChecker in 'insert ignore into ...' (#12122) 2019-09-10 19:42:00 +08:00
64298f0278 *: refactoring the code of batchChecker (#12108)
batchChecker is difficult to maintain, we should get rid of it.
In this commit, I catch the BatchGet result into the snapshot, in this way we can
achieve the same goal as the batchChecker
2019-09-10 16:36:49 +08:00
4cd5d15d97 *: improve plan cache param eval and insert const (#10746) 2019-08-27 11:11:01 +08:00
d210889a6c *: trace the execution of the insert operation (#11667) 2019-08-09 14:22:03 +08:00
036e7e207d *: support new 'log' format for trace (#11681) 2019-08-09 12:43:33 +08:00
28c0b1d226 executor: tiny refactor the insertRows function (#11643) 2019-08-07 21:28:44 +08:00
9385c6eca0 executor: fix a bug of 'insert on duplicate update' statement on partitioned table (#11204)
In this statement: insert into t1 set a=1,b=1 on duplicate key update a=1,b=1
Batch checker find a=1,b=1 is duplicated, then in the "on duplicate update" step,
it uses the non-partitioned table to get the old row, which is a bug.
getOldRow returns this error: (1105, u'can not be duplicated row, due to old row not found. handle 1 not found')
2019-07-11 15:24:27 +08:00
d244723a5e executor: remove unused structure RecordBatch (#10891) 2019-06-26 15:26:16 +08:00
c8d1ff7ca6 *: replace 'logutil.Logger(context.Background())' with 'logutil.BgLogger()' (#10866) 2019-06-21 19:13:31 +08:00
8183f35563 executor: tiny clean up (#10875)
code refactor for the tracing related code
2019-06-20 16:35:59 +08:00
1c4ebee8de executor: should handle virtual columns when fetching duplicate rows in batchChecker (#10370) 2019-05-08 10:18:52 +08:00
e9653675dd *: remove errors.Trace in main handle path (#10033) 2019-04-04 14:27:15 +08:00
f738ba24ad executor: replace logger with zap logger (#9521) 2019-03-14 15:14:38 +08:00
00c4ff4fa9 *: refactor Executor.Next() to receive RecordBatch (#8994) 2019-01-14 15:04:36 +08:00
a7907ede7a *: remove fail field from TxnState (#8712)
Originally, `fail` is added to simplify error handling, avoiding large changes on
the Txn() interface API. But it turns out that `fail` becomes the root of many bugs.
So this commit remove the `fail` and make an API refactory.
2018-12-20 16:36:12 +08:00
7528a059cf executor/server/session: add extra info message sent to mysql client (#8285) 2018-12-19 15:32:49 +08:00
ef0ad26da8 executor,table: remove redundant if condition and fix comment typos (#8627) 2018-12-10 23:48:53 +08:00
93acd10f53 *: add context.Context to NewTxn(), tiny refactor (#8530) 2018-12-06 17:45:16 +08:00
c137cada68 *: change golang.org/x/net/context to standard context (#8579) 2018-12-05 13:54:00 +08:00
3742a0d602 *: Txn() function signature refactor and remove ActivePendingTxn() (#8327)
* change Txn() function signature to Txn(active bool)
* ActivePendingTxn() is not used any more because Txn() does the work
* change executor builder getStartTS() uint64 to getStartTS() (uint64, error)
2018-11-16 11:10:39 +08:00
32b1dbd8d5 *: rename "github.com/pkg/errors" to "github.com/pingcap/errors" (#8136)
We import "github.com/pkg/errors" in the code, and actually put
the "github.com/pingcap/errors" there in the vendor path.
That's a dirty hack, and prevent the introduce of Go module.
2018-11-01 16:09:07 +08:00
89dda9d9a8 *: move parser to a separate repository (#8036) 2018-10-25 11:12:10 +08:00