Commit Graph

28 Commits

Author SHA1 Message Date
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