Commit Graph

74 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
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
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
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
60d05bd759 planner: eliminate ifnull in expression rewriting process (#7996) 2018-11-02 12:50:27 +08:00
e195df2e5d stats: fix selectivity estimation for primary key (#8134) 2018-11-01 20:38:08 +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
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
f33e04f486 expression: make sysdate unfoldable (#7838) 2018-10-08 16:47:45 +08:00
177c155161 plan: exclude IsNull from constant propagation (#7835) 2018-10-08 14:47:13 +08:00
869e20138a plan: refine the handle check to use point get plan for prepare statement (#7732) 2018-09-25 11:32:12 +08:00
7b4686d8c2 expression, plan: aggressive constant fold for null parameter expression to simplify outer join (#7696) 2018-09-23 19:46:52 +08:00
56713821ff plan: fix a problem caused by union's schema (#7680)
Before this commit. Union use the schema of its `Children[0]`.
The `Columns` information is correct.
But the `unique key information` is not, obviously.
2018-09-20 19:36:14 +08:00
b30dbd06ac plan: support limit/group-by/order-by clauses in point get (#7720) 2018-09-17 21:18:44 +08:00
44e05789c3 plan: prune columns for LogicalTableDual (#7725) 2018-09-17 16:13:50 +08:00
9f25032666 plan: fix predicate push down for UnionScan (#7695) 2018-09-17 14:44:53 +08:00