Commit Graph

184 Commits

Author SHA1 Message Date
f891c5a7cb planner: Fix runtime error occurs when illegal mix collate in subquery (#24887) 2021-05-26 21:29:35 +08:00
e9488ce2ee *: implement tidb_bounded_staleness built-in function (#24328) 2021-05-18 14:15:40 +08:00
f97496d0fc expression: Implementation of Vitess hashing algorithm. (#23493) 2021-04-06 23:00:32 +08:00
7f9c716854 expression, ddl: check the argument count for the generated column (#22154)
Signed-off-by: wjhuang2016 <huangwenjun1997@gmail.com>
2021-01-05 13:45:45 +08:00
c3c3063b66 expression: set IsBooleanFlag for boolean scalar functions (#20706) 2020-12-07 17:22:48 +08:00
de75e604ff *: differentiate types for user variables (#18973)
Co-authored-by: lzmhhh123 <lzmhhh123@gmail.com>
2020-11-17 17:03:41 +08:00
0c36203f1d expression: add new scalar function IsTruthWithNull (#19621) 2020-09-09 16:03:10 +08:00
9c2d7c2663 expression: allow function coercibility derive to DERIVATIO ... (#19462) 2020-09-01 21:46:41 +08:00
d355b82f1c expression: unicode_ci support when infer collation and charset information (#19142)
* add mix unicode_ci collation support

* comments change

* bug fix

* add test

* refactor illegal mix collation message

* fmt

* fix check

* fmt

* refactor infer collation

* refactor infer collation

* add charset info

* address comments

* return bin if something wrong

Co-authored-by: ti-srebot <66930949+ti-srebot@users.noreply.github.com>
2020-08-26 11:08:21 +08:00
d1b728b278 expression: fix wrong result when select with collation (#18665) 2020-07-23 12:54:22 +08:00
6a49bb4a84 *: fix a bug which causes function return truncated result (#17101) 2020-05-12 12:54:35 +08:00
9d391949cd expression: refactor logic about checking illegal mix collations (#16866) 2020-04-29 16:40:56 +08:00
5f0585415b expression: forbidden illegal mix collate (#16277) 2020-04-15 14:41:27 +08:00
fde73403fd expression: Add format_bytes and format_nano_time performance schema functions (#14975) 2020-03-06 11:50:46 +08:00
1771fff928 expression: make field and findInSet support collation (#15100) 2020-03-04 18:12:53 +08:00
1a92dc07df collation: fix wrong collation information used in expression calculation (#15006) 2020-03-02 17:30:04 +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
cbc2c03c36 expression: derive collation and charset information and support the Collation() builtin-func (#14905) 2020-02-24 19:35:49 +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
c36f83e1b4 expression,table: fix insert partitioned table bug when the time zone change (#14370) 2020-01-14 17:41:21 +08:00
11b9beb969 *: resort fields for reducing the memory allocated (#14270) 2020-01-07 19:10:09 +08:00
d006443194 type: encapsulate Time API (#14288) 2019-12-31 12:41:09 +08:00
d7206fb43b expression: use new metadata instead of implicit_args (#13962) 2019-12-09 13:51:40 +08:00
0a22034420 executor: add SHOW BUILTINS command (#12941) 2019-12-06 14:13:00 +08:00
7de620055d expression: support expression reverse evaluation framework (#13738) 2019-12-05 11:50:09 +08:00
05298ed6a5 expression: implement vectorized evaluation for builtin field(Real/Int/String) (#13171) 2019-11-12 18:57:36 +08:00
a28fc711d7 expression: implement vectorized evaluation for builtinIn*Sig (#13090) 2019-11-05 20:55:47 -06:00
875873b7ca expression: implement vectorized evaluation using go generate for builtin compare (LT/LE/GT/GE/EQ/NE/NullEQ)(Real/Decimal/String/Datetime/Duration/Json) (#12875) 2019-10-29 19:27:17 +08:00
b8cd65714f *: record and print the plan in slow log. (#12179) 2019-10-17 22:13:19 +08:00
542ba1299d expression: fix incorrect result of logical operators (#12173) 2019-10-14 21:31:33 +08:00
2354fad905 ddl: implement SQL functions allowed / blocked rules in genera… (#12251) 2019-10-10 12:37:25 +08:00
35e308f561 expression: go generate vectorized addtime functions (#12224) 2019-09-26 16:30:01 +08:00
10519498a9 expression: add builtin function tidb_decode_key() (#12193) 2019-09-24 10:02:29 +08:00
98b3aeb274 executor: go generate builtin_control_vec.go (#12140) 2019-09-12 15:21:46 +08:00
ba8461d83f expression: implement vectorized evaluation for builtinRepeatSig (#12014) 2019-09-04 17:35:01 +08:00
c07fcc4a34 executor: make the projection executor support vectorized expression evaluation (#11917) 2019-08-30 13:41:05 +08:00
06342ddbe2 expression: make builtinCastIntAsInt support vectorized evaluation (#11826) 2019-08-28 12:00:35 +08:00
62f1a54680 expression: remove row-vec convertor and introduce Vectorized() to check if an expression supports vectorized evaluation explicitly (#11884) 2019-08-27 20:16:35 +08:00
6f76bbe1f7 Introduce individual vectorized evaluation methods for each type. (#11815) 2019-08-22 10:51:25 +08:00
096deba00b executor: introduce the column buffer allocator for vectorized evaluation (#11743) 2019-08-16 15:46:16 +08:00
5e54680ca3 expression: make baseBuiltinFunc support converting from row-based evaluation to vectorized evaluation 2019-08-14 15:02:44 +08:00
adb3071c90 *: refine the attribute definition of types.Time and types.Dur… (#11672) 2019-08-14 11:30:40 +08:00
d54f0a2bd4 expression: add vectorized evaluation methods to Expression (#11530) 2019-08-01 13:28:23 +08:00
ff0132ff34 expression, parser: add function octet_length support (#11451) 2019-07-26 14:21:15 +08:00
1e403873d9 expression: reuse tipb.Expr 'val' to push down expression implicit parameters (#10790) 2019-06-21 12:55:14 +08:00
778c3f4a5a privilege, executor: add SET ROLE and CURRENT_ROLE support (#9581) 2019-03-21 13:11:27 +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
2f6639d12b expression: add builtin function tidb_parse_tso (#8385) 2018-11-28 22:37:44 +08:00
29f14d4178 *: change default charset and collation from 'utf8 utf8_bin' to 'utf8mb4 utf8mb4_bin' (#7965) 2018-11-09 16:32:21 +08:00