Commit Graph

1885 Commits

Author SHA1 Message Date
1771fff928 expression: make field and findInSet support collation (#15100) 2020-03-04 18:12:53 +08:00
55f5cf538d planner/expression: constant propagation and predicate pushdown should be aware of plan cache (#14941) 2020-03-04 16:23:17 +08:00
4a0f1861fa expression: make TestNowAndUTCTimestamp more stable (#15058) 2020-03-04 00:12:39 +08:00
4af313c2f5 planner: add the implementation for SetCollationExpr (#14959)
Set the collation of the child of this expression to the one specified by it.
2020-03-03 17:58:21 +08:00
2c5170875d collation: add some collation tests for HashJoinExec, MergeJoinExec and SelectExec (#15067) 2020-03-03 17:33:18 +08:00
c8496fcc93 expression: add not null flag in PB when constant not null (#14912) 2020-03-03 17:07:09 +08:00
9ae471c0ee *: fix data race for plan cache (#14756) 2020-03-03 16:03:09 +08:00
1a92dc07df collation: fix wrong collation information used in expression calculation (#15006) 2020-03-02 17:30:04 +08:00
41142266b2 *: use SetString() for string instead of SetBytes() (#14989) 2020-03-02 15:48:10 +08:00
8680c8a76b tables: add sequence binlog support (#14954) 2020-02-28 18:46:42 +08:00
30e2bdcc52 *: remove some debug print in test files (#14977) 2020-02-28 12:52:59 +08:00
568cc224f7 expression: add builtin function WEIGHT_STRING() (#14792)
Add builtin-function WEIGHT_STRING(). MySQL manual described most of its behavior except:

If the input str is of numeric types, WEIGHT_STRING() in MySQL returns NULL, so does this implementation.
If the input str is of other types rather than string or numeric, the result of WEIGHT_STRING() in MySQL is not cleared. I simply evaluated the input as string.
2020-02-28 01:52:19 +08:00
e43e4d4fdd *: fix bug of cluster table agg push down. (#14923) 2020-02-27 13:42:54 +08:00
332cef97f5 *: support index encode/decode for new collation (#14876) 2020-02-27 11:33:33 +08:00
902c6ca2b9 planner,expression,table: clean up the old partition pruning code (#14834) 2020-02-27 00:52:03 +08:00
236352e98f *: show build and probe side for join and index lookup related operators in explain result (#14838) 2020-02-26 17:12:09 +08:00
dbcf5fbcc8 planner: show cast type in EXPLAIN (#14942) 2020-02-26 16:36:35 +08:00
b64ad65636 planner: improve projection to keep order or keep index in some cases (#14510) 2020-02-26 14:02:36 +08:00
0daca24dc3 expression: set collation id to negative in tipb if new collations are enabled (#14883) 2020-02-26 10:07:15 +08:00
f2fa5c5fd5 expression: consider collations when comparing strings (#14913) 2020-02-25 15:06:37 +08:00
51a1323869 expression/types: check when insert binary literal (#9829) 2020-02-25 14:55:06 +08:00
cbc2c03c36 expression: derive collation and charset information and support the Collation() builtin-func (#14905) 2020-02-24 19:35:49 +08:00
98f3420362 expression: disable Duration/JSON related function push down to tiflash (#14861) 2020-02-24 16:28:07 +08:00
3399f4be31 planner: distinguish FullScan and the RangeScan in explain/desc info (#14696) 2020-02-24 15:23:06 +08:00
aedea3ec5e expression: separate signature Upper to Upper and UpperUTF8 (#14899) 2020-02-23 12:44:57 +08:00
eb12799152 *: Collation should be set accordingly when setting string datum (#14757) 2020-02-20 23:01:53 +08:00
3a255c5518 *: fix unit tests on the windows platform (#14826) 2020-02-18 15:23:17 +08:00
a22ab8f297 expression: support sequence function (#14731) 2020-02-17 20:11:18 +08:00
ebae5506f1 expression: fix typos (#14797) 2020-02-15 17:18:00 +08:00
9543a0f4a6 *: re-implement partition pruning for better performance (#14679) 2020-02-14 19:18:49 +08:00
8c804f40dd test: fix unit test TestInDecimal (#14763) 2020-02-13 19:45:04 +08:00
fe6ca65414 expression: implement the Coercibility() function (#14739) 2020-02-13 19:15:48 +08:00
4755a9b9ef util: revert util/mathutil (#14744) 2020-02-13 11:33:04 +08:00
6702d95fc0 planner: prune columns again after predicate push down (#14683) 2020-02-12 18:13:18 +08:00
da2ed2b5bc expression: fully open CAST push-down switcher (#14672)
Signed-off-by: Lonng <heng@lonng.org>
2020-02-09 16:27:45 +08:00
31a446d21e expression: implement vectorized evaluation for builtinCastStringAsDurationSig (#13807) 2020-02-07 16:21:22 +08:00
f4d1b5ec9f expression: fix lower()/upper() doesn't work if string contains utf8 char. (#14667) 2020-02-07 16:02:33 +08:00
87bbe7dcbe types: Fix duration parser (#14588)
Signed-off-by: Iosmanthus Teng <myosmanthustree@gmail.com>
2020-02-07 14:30:44 +08:00
22fb77ee11 expression: handle ErrTruncated when dividing decimals in non-data-change stmts (#14438) 2020-02-07 14:02:52 +08:00
465af00b46 *: use new registrable terror (#14606) 2020-02-06 16:40:26 +08:00
ebc6a2d39d *: add builtin aggregate function json_objectagg (#11154) 2020-02-04 21:41:55 +08:00
83ab488481 expression: fix implement of rand (#14565) 2020-02-04 16:38:53 +08:00
e5f350cd32 expression: fix NULL constants' FieldType of multiple arguments function (#14571)
Signed-off-by: Lonng <heng@lonng.org>
2020-02-04 15:27:17 +08:00
00494d6755 expression: implement vectorized builtinFormatSig (#14559) 2020-02-04 14:25:53 +08:00
c46044f026 expression: optimize function IN using hashmap (#13594) 2020-01-31 19:58:53 +08:00
9d38c5467a *: use 8 byte MysqlTime format (#14278) 2020-01-31 14:49:06 +08:00
c88ceca2c4 types: fix parse DATETIME/TIME from string incompatible with MySQL (#14547)
Signed-off-by: Lonng <heng@lonng.org>
2020-01-23 16:53:36 +08:00
664adfe477 expression: fix json_key not compatible with MySQL (#14556) 2020-01-20 21:30:03 +08:00
50e7cab87b expression: implement arithmetic vec int divide int sig (#14464) 2020-01-20 10:27:05 +08:00
2395472804 expression: make EvalXXX method of deferred/normal constant consistent (#14401) 2020-01-19 13:55:32 +08:00