Commit Graph

47 Commits

Author SHA1 Message Date
cad52c1f6e *: do not lock the non-exists keys in RC isolation (#15803) 2020-03-31 11:11:12 +08:00
5282d089c7 executor: support generated column on point get and batch point get (#15544) 2020-03-23 14:21:35 +08:00
53e5197b02 executor: reuse transaction snapshot if applicable (#15400) 2020-03-16 18:25:54 +08:00
1b7cc5daa3 executor: rename startTS to snapshotTS in executor builder (#15396) 2020-03-16 14:10:24 +08:00
f96884af93 *: fix BatchPointGet return empty value for already locked key. (#15365) 2020-03-14 18:43:31 +08:00
248be5bba5 planner: push down Lock to PointGet and BatchPointGet (#15257) 2020-03-11 13:58:32 +08:00
82ca1f3f44 *: support pessimistic lock return values (#15063) 2020-03-03 15:11:17 +08:00
41142266b2 *: use SetString() for string instead of SetBytes() (#14989) 2020-03-02 15:48:10 +08:00
7fa56616f8 executor: refactor the tso future in RC isolation (#14966) 2020-03-02 15:38:10 +08:00
eb12799152 *: Collation should be set accordingly when setting string datum (#14757) 2020-02-20 23:01:53 +08:00
b6aca51d52 plan, partition: support point get plan on hash partition table (#14318) 2020-01-10 10:23:29 +08:00
0bab73adf5 *: use new row-format in tidb (#12634) 2020-01-02 22:34:39 +08:00
1335ffb6b7 *: support read consistency isolation level in the pessimistic transactions (#14087) 2019-12-24 21:24:39 +08:00
438d39ebcd *: revert #10124 and remove sql mode PadCharToFullLength (#14007) 2019-12-17 15:25:06 +08:00
a94cff903c *: refactor LockKeys API (#14020) 2019-12-11 15:05:59 +08:00
94481e883d session: if txn invalid do not active it and return an error (#13935) 2019-12-09 13:41:09 +08:00
f12403ef08 executor: support select for update no wait (#12775) 2019-11-04 17:01:40 +08:00
e8294ad636 executor: try to cache executor for prepared point select (#12855) 2019-10-30 10:23:18 +08:00
e173c7f5c1 executor: add several sql hint related to session variables (#11809) 2019-09-17 13:39:16 +08:00
2addc25984 planner: use BatchPointGet to improve SELECT ...WHERE IN performance (#11750) 2019-08-20 19:10:35 +08:00
523b93651d Add follower read support to TiDB (#11347) 2019-08-16 13:26:17 +08:00
140718d230 executor: fix auto retry when transaction has select for update (#11714) 2019-08-12 16:32:15 +08:00
d210889a6c *: trace the execution of the insert operation (#11667) 2019-08-09 14:22:03 +08:00
0ba4d0b41b executor: fix bug of point get when meet null values (#11219) 2019-07-12 14:11:14 +08:00
08d821931d executor: fix point get snapshot TS for pessimistic transaction. (#11012) 2019-07-01 19:26:25 +08:00
0d984d8ffc executor: locks key in point get executor for pessimistic transaction (#10972) 2019-06-28 14:06:43 +08:00
d244723a5e executor: remove unused structure RecordBatch (#10891) 2019-06-26 15:26:16 +08:00
f6be085bc6 executor: tiny refactor the Executor interface (#10846)
Introduce a base() method to get the baseExecutor, so we don't need to add
method from baseExecutor to the Executor interface any more

Before:
```
type Executor interface {
	Open(context.Context) error
	Next(ctx context.Context, req *chunk.RecordBatch) error
	Close() error
	Schema() *expression.Schema

	retTypes() []*types.FieldType
	newFirstChunk() *chunk.Chunk
}
```

After:
```
type Executor interface {
        base() *baseExecutor
	Open(context.Context) error
	Next(ctx context.Context, req *chunk.RecordBatch) error
	Close() error
	Schema() *expression.Schema
}
```
2019-06-19 15:55:28 +08:00
b6cf05a4b2 planner, executor: return TableDual when tryFastPlan is promised to be false (#10676) 2019-06-04 14:31:10 +08:00
998a6ebee4 executor: fix point get -1 return max.uInt64 value (#10113) 2019-05-22 19:49:15 +08:00
ba7134d4e9 executor: correct range calculation for CHAR column (#10124) 2019-05-14 16:15:31 +08:00
373748adf7 *: support pessimistic transaction (experimental feature) (#10297) 2019-05-11 09:48:45 +08:00
667124bd91 executor: refine point get failpoint injection logic (#10319) 2019-04-30 17:59:23 +08:00
98dbbffceb executor: fix IsPointGet judgment condition (#10278)
index lookup should not the max ts optimization
2019-04-28 17:47:02 +08:00
e9653675dd *: remove errors.Trace in main handle path (#10033) 2019-04-04 14:27:15 +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
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
a4edb58dd2 executor: fix a bug in point get (#7934) 2018-10-18 12:05:04 +08:00
86416be62f executor: fix point get null values (#7790) 2018-09-27 18:21:15 +08:00
05b37de16e *: use chunk grow for simple executor (#7540) 2018-09-27 09:07:51 +08:00
e79bd946ed *: change package name from plan to planner (#7760) 2018-09-25 11:16:39 +08:00
cb03f2bec1 move from juju/errors to pkg/errors (#7151) 2018-09-12 15:42:20 +08:00
343cb849b8 *: fast path point select (#6937) 2018-07-30 18:13:47 +08:00