Commit Graph

27 Commits

Author SHA1 Message Date
fc3f04b7b6 parser: support keep_order and no_keep_order hint (#39965)
ref pingcap/tidb#39964
2022-12-21 22:16:55 +08:00
a8f56ee851 planner: support the view hint (#38653)
close pingcap/tidb#37887
2022-11-14 12:01:54 +08:00
431a9d8b66 planner: remove two useless hints mpp_tidb_agg and mpp_scalar_agg (#38574) 2022-10-20 17:31:55 +08:00
7a9ed6f8c4 planner: introduce some new hints for MPP plans (#38516) 2022-10-19 15:49:54 +08:00
df8226339f parser, planner: add query block level no_decorrelate hint (#37633)
close pingcap/tidb#37789
2022-09-20 14:57:04 +08:00
1ffbfcc346 parser: support hash_join_build and hash_join_probe (#37308) 2022-08-29 12:00:22 +08:00
42ee03f654 parser: support the hash_build and hash_probe hints (#36615)
ref pingcap/tidb#35439
2022-08-08 12:40:46 +08:00
a57dd37640 planner: add a hint for CTE (#34574)
close pingcap/tidb#17472
2022-07-19 14:31:07 +08:00
b4cd14d713 planner: use SEMI_JOIN_REWRITE hint to rewrite the semi join (#35325)
close pingcap/tidb#35323
2022-07-14 15:49:05 +08:00
255dc8cae3 parser: support the ordered_hash_join hint (#35440)
ref pingcap/tidb#35439
2022-06-17 03:32:35 +08:00
3e13ef364b parser: support join order hint (#34337)
ref pingcap/tidb#29932
2022-05-05 19:22:55 +08:00
469bc71b0c parser, planner, executor: remove non-mpp broadcast Join (#31459)
close pingcap/tidb#31465
2022-03-11 00:41:50 +08:00
7647c2b9b0 parser: parse gbk encoding SQL token by token instead of the whole SQL (#31039)
close pingcap/tidb#30765
2021-12-28 22:07:49 +08:00
xhe
94e30df8e2 parser: fix compiling, add unit tests (#28700) 2021-10-11 23:15:25 +08:00
f09db3e3ce [parser] feat: force_index hint (#1205) 2021-10-09 14:53:23 +08:00
c7f93089c6 [parser] goyacc: record the original text position in AST (#984) 2021-10-09 14:53:23 +08:00
ce43a3960b [parser] parser: introduce a new hint set_var (#1039)
* support hint SET_VAR

* add set_var test

* add test case

Co-authored-by: kennytm <kennytm@gmail.com>
2021-10-09 14:53:23 +08:00
00712da525 [parser] parser: rename topn_to_cop hint to limit_to_cop hint. (#1028)
Co-authored-by: Yuanjia Zhang <zhangyuanjia@pingcap.com>
2021-10-09 14:53:23 +08:00
b77fec8b53 [parser] parser: add topn_to_cop hint (#981) 2021-10-09 14:53:23 +08:00
14a88e41ec [parser] Add hint for broadcast join. (#818)
* add hint for bc join

* refine

* add hint for bc join

* refine

* refine

* refine

* refine again

* pass test

* fix compile error

* add prefer local

* use bcj_local

* change bc_join to broadcast_join

Co-authored-by: xufei <xufeixw@mail.ustc.edu.cn>
Co-authored-by: ichn-hu <zfhu16@fudan.edu.cn>
2021-10-09 14:53:23 +08:00
cb9c1833c9 [parser] add hint nth_plan for plan test. (#893) 2021-10-09 14:53:23 +08:00
ecb9e410a4 [parser] parser: support partition in table hint (#880) 2021-10-09 14:53:23 +08:00
3b3575a14e [parser] Change hint "enable_plan_cache(bool)" to "ignore_plan_cache()" (#785) 2021-10-09 14:53:23 +08:00
ea8d816ea7 [parser] rename sm_join to merge_join, letter case correction (#775)
Co-authored-by: kennytm <kennytm@gmail.com>
2021-10-09 14:53:23 +08:00
1471d3cc89 [parser] parser: add USE_CASCADES hint syntax (#769)
Signed-off-by: gauss <gauss1314@gmail.com>
2021-10-09 14:53:23 +08:00
cfc2e0273f [parser] refine table optimizer hint and make it more generic (#747)
* refine table optimizer hint and make it more generic

Signed-off-by: Lonng <heng@lonng.org>

* implement the restore

Signed-off-by: Lonng <heng@lonng.org>

* address comment

Signed-off-by: Lonng <heng@lonng.org>

* address comment

Signed-off-by: Lonng <heng@lonng.org>

* fix typo

Signed-off-by: Lonng <heng@lonng.org>
2021-10-09 14:53:23 +08:00
5cfb690491 [parser] Rewrite special comment parser (#711)
* lexer: added a function to scan version digits

* lexer: removed special comment scanner

Instead, simply strip off '/*!' and the pairing '*/'.

Temporarily disabled handling of /*+ ... */

* lexer: support collecting the entire /*+ ... */ as a single token

This new token has type `hintComment`. The actual hint will be parsed
lazily.

* lexer,yy_parser: move lastErrorAsWarn() from Parser into Scanner

* goyacc: do not allow conflict, support changing parser type name

change the "DO NOT EDIT" line to fit the Go standard

* parser,hintparser: created a new parser just for parsing optimizer hints

deleted all optimizer hint rules from parser.go

refactor the Makefile to support building both parsers (also deleted some
outdated fixup of *parser.go)

* lexer: fix comment parser

* codecov: don't wait for integration test before showing the coverage

* lexer: fix comment parsing again

* hintparser: TiDB still expects `HASH_JOIN(@qb1 foo@qb2)` to be valid :(

* parser,hintparser: provide the true line/column offset in the warnings

cache the hintparser in the main parser to avoid repeated allocation

* lexer: delete unused sqlOffsetInComment()
2021-10-09 14:53:23 +08:00