Commit Graph

86 Commits

Author SHA1 Message Date
0bec639074 planner: correct ExpectedCnt for children plans of join (#9497) 2019-03-11 15:08:02 +08:00
85c4553c4e planner: chose outer table based on cost when both tables are specified in TIDB_INLJ (#9579) 2019-03-08 13:25:44 +08:00
2b646cb58b planner, executor: handle default frame for window functions (#9544) 2019-03-06 19:37:30 +08:00
0267a7fbdf ddl: validate fsp for datetime/timestamp if they are used as defaultvalue of datetime/timestamp columns (#9327) 2019-03-04 11:19:11 +08:00
5a283a98dd plan/executor: make semi joins null and empty aware (#9051) 2019-02-25 15:42:38 +08:00
f105b710ca planner: remove correlated column sort items (#9435) 2019-02-25 14:48:44 +08:00
38a453d29c expression: should not pass nil pointer to HashCode() function (#9324) 2019-02-21 21:18:03 +08:00
231ce8f75a planner: change the cost formula for join reorder (#9303) 2019-02-19 18:46:06 +08:00
bc0e70dc5c planner/core: implement skyline pruning (#9337) 2019-02-19 11:19:30 +08:00
7c0a9a7c57 add integration tests for access path selection (#9212) 2019-02-18 19:08:24 +08:00
c468f02bb0 planner: remove constant sort items after substitution (#9333) 2019-02-18 10:57:35 +08:00
6136ab14cf *: start replacing logger with zap logger (#9279) 2019-02-15 16:43:47 +08:00
18ff4f953e planner/core: refine explain for window function (#9270) 2019-02-13 15:23:00 +08:00
9bdba3a5d1 plan: handle DNF expressions in Selectivity (#9282) 2019-02-13 10:53:12 +08:00
e1667966ac planner: fix assertion failure on LogicalJoin.EqualConditions (#9066) 2019-02-11 11:45:15 +08:00
09a5c8028e plan: derive col is not null from col op col conditions (#8603)
Check whether the `op` condition is null rejected, if yes, derive
`col is not null` for both sides of inner join, and for inner side
of outer join.

Also, remove duplicate conditions before pushing them down. Check
if the condition is mutable before removing duplicates.

For AntiSemiJoin, AntiLeftOuterSemiJoin and LeftOuterSemiJoin, do
not generate new `is not null` conditions.
2019-01-30 10:53:46 +08:00
776c90fa79 planner: check null and empty for != any(subq) and = all(subq) (#9106) 2019-01-21 16:17:48 +08:00
b339c02831 planner,expression: use constraint propagation in partition pruning (#8885) 2019-01-17 11:09:41 +08:00
dca815c1c5 expression: return error when doing ResolveIndices (#8929) 2019-01-15 14:34:06 +08:00
3c98f69266 *: support select partition for partition table (#8990) 2019-01-14 20:55:52 +08:00
243120c473 planner, executor: add post-process after physical plan optimization and move buildProjBelowAgg from executor to planner (#8828) 2019-01-03 16:26:59 +08:00
b74d0283a2 statistics: fix pseudo estimation for correlated column (#8734) 2018-12-25 22:40:38 +08:00
44f2c2c381 Makefile: make 'make check' faster (#8755)
* remove vet check
* make lint check on $(FILES)
2018-12-21 11:12:18 +08:00
29c17a1eb9 planner/core: correct column name with unary plus sign (#8702) 2018-12-19 23:35:43 +08:00
431c884721 cmd/explaintest: tiny change to make it stable (#8740) 2018-12-19 10:40:15 +08:00
0738f5f288 planner: specify order for every property column (#8715) 2018-12-18 15:50:26 +08:00
7af338c338 ranger: some code clean up (#8663) 2018-12-13 14:01:43 +08:00
6bd8bddb12 planner/core: simple greedy join reorder based on CBO (#8394) 2018-12-07 16:34:19 +08:00
fde9c72af5 expression, executor: castStringAsTime returns null when sql_mode is not strict (#8516) 2018-12-06 23:12:55 +08:00
3b68ee59a6 planner: for UNION statements, ORDER BY cannot use column references including a table name (#8389) 2018-11-29 12:40:08 +08:00
6a99fa25d7 executor: fix union dual table order by but not sort (#8251) 2018-11-13 15:27:18 +08:00
19c01f40e0 planner: fix error caused by different length between inner and outer OrderByItems (#8273) 2018-11-13 11:17:32 +08:00
b4be2f48e3 cmd/explaintest: clean up tidb-server process (#8261) 2018-11-12 11:29:15 +08:00
cd5ffb3b32 planner: support join elimination rule (#8021) 2018-11-09 21:31:29 +08:00
deec48d629 planner: fix union statements order (#8214) 2018-11-07 17:50:34 +08:00
8e5f4b1244 *: update logrus and parser package, tiny clean up (#8158) 2018-11-05 15:39:51 +08:00
fffb49bce6 *: modify tests to work with only-full-group-by on (#8163) 2018-11-05 10:41:48 +08:00
60d05bd759 planner: eliminate ifnull in expression rewriting process (#7996) 2018-11-02 12:50:27 +08:00
b7f431e5c3 *: migrate dependency management to Go1.11 module (#8054) 2018-11-01 20:54:22 +08:00
e195df2e5d stats: fix selectivity estimation for primary key (#8134) 2018-11-01 20:38:08 +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
696ef7bae2 plan: convert in subquery to agg and inner join (#7531) 2018-10-30 19:19:32 +08:00
a4cff40a18 support _tidb_rowid for table scan range (#8047) 2018-10-25 20:35:45 +08:00
89dda9d9a8 *: move parser to a separate repository (#8036) 2018-10-25 11:12:10 +08:00
d65ce8655c stats: fix estimation for out of range point queries (#8015) 2018-10-24 16:20:22 +08:00
19f56480d5 explaintest: add explain test for partition pruning (#7505) 2018-10-18 18:55:22 +08:00
6e525f9e62 planner: eliminate if null on non null column (#7924) 2018-10-17 22:20:32 +08:00
c520132962 plan: move projEliminate behind aggEliminate (#7909) 2018-10-16 17:25:17 +08:00
d60a1a227b plan: build anti semi join for NOT EXISTS (#7842) 2018-10-09 16:57:15 +08:00
78303cbb4d planner/core: separate aggPrune from aggPushDown (#7676) 2018-10-08 19:51:09 +08:00