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