Commit Graph

341 Commits

Author SHA1 Message Date
9fb295fcc8 [parser] parser.y: populate the Fields field for TABLE and VALUES statements (#1118) 2021-10-09 14:53:23 +08:00
0529fa31aa [parser] parser: add grammar show stats_topn (#1109) 2021-10-09 14:53:23 +08:00
7a252afa7b [parser] parser, ast: track if order is implicit ASC/DESC (#1101)
* Add nillable type of byitem

* parser, ast: track if order is implicit ASC/DESC

Co-authored-by: ti-srebot <66930949+ti-srebot@users.noreply.github.com>
2021-10-09 14:53:23 +08:00
42ac1b81d6 [parser] parser: add RESUME and BRIEOptionLevel for IMPORT (#1100) 2021-10-09 14:53:23 +08:00
8a2041474b [parser] parser: add PURGE IMPORT (#1102) 2021-10-09 14:53:23 +08:00
67c73b4af9 [parser] restore: make restore sql contains charset information even default charset (#1012) 2021-10-09 14:53:23 +08:00
3b263d21cc [parser] Fix high not precedence (#938) 2021-10-09 14:53:23 +08:00
ed62659e39 [parser] *: add alter table read only/write support (#1095) 2021-10-09 14:53:23 +08:00
7f9281d8d6 [parser] parser: support SQL Bind for Insert / Replace (#1092) 2021-10-09 14:53:23 +08:00
6f7f14c421 [parser] ddl: let create table field type double(N) raise sql syntax error (#1078)
* ddl: let `double(10)` raise sql syntax error

* ddl: add more test

* parser: add switch, let user can enable or disable strict double syntax check

* parser: add SetParserConfig API for simple update parser configuration

* parser: rename field
2021-10-09 14:53:23 +08:00
93dcd6aed4 [parser] ddl: some partition expression should return syntax error (#1087)
* fix partition bug

* update parser

* update parser

* add test

* fix test

Co-authored-by: Arenatlx <ailinsilence4@gmail.com>
2021-10-09 14:53:23 +08:00
b76254849a [parser] support SELECT FROM TABLESAMPLE syntax (#1071)
* support SELECT FROM TABLESAMPLE syntax

* refine naming

* make table sample clause as a part of TableFactor

* address comment
2021-10-09 14:53:23 +08:00
cb5af255be [parser] support call statement (#1077)
* support call statement

* support call statement (review fixes)

* support call statement (review fixes)

Co-authored-by: tiancaiamao <tiancaiamao@gmail.com>
2021-10-09 14:53:23 +08:00
02e1f6b198 [parser] parser.y: distinguish between empty string index and anonymous index (#1059) 2021-10-09 14:53:23 +08:00
512a9eb8a8 [parser] parser: support SQL bind syntax for update / delete (#1067) 2021-10-09 14:53:23 +08:00
eb188bac29 [parser] ddl: support multiple table rename (#1021) 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
74eb1b9729 [parser] *: fix not and ! restored (#1064)
* done

Signed-off-by: wjhuang2016 <huangwenjun1997@gmail.com>

* address comment

Signed-off-by: wjhuang2016 <huangwenjun1997@gmail.com>

Co-authored-by: ti-srebot <66930949+ti-srebot@users.noreply.github.com>
2021-10-09 14:53:23 +08:00
caa3a88377 [parser] parser: support alter sequence (#1046) 2021-10-09 14:53:23 +08:00
5c19e29b5c [parser] parser : support table statement and value statement (#1026)
* implement Table stmt

* fmt

* add TableStmt into Statement rule, fix OFFSET rule

* support TableStmt in InsertStmt

* remove TableStmtLimit, use SelectStmtLimit instead

* support basic setoptr, need to fix a lot things

* support INTO OUTFILE

* support CREATE TABLE and CREATE VIEW

* support basic VALUES stmt

* fmt

* implement set operation for table

* add some comment

* fix the wrong implements of TABLE stmt

* fix the wrong implements of VALUES stmt

* fix SetOprNode interface

* rename the fields refer to SetOpr statement, fix some comments

* finish

* remove unused comment

* resolve conflicts

* refactor

* resolve conflicts

* fix small problems

* remove wrong use of RowStmtField
2021-10-09 14:53:23 +08:00
79398e55da [parser] parser: SQL BINDING support UNION ALL/INTERSECT/EXCEPT (#1030) 2021-10-09 14:53:23 +08:00
0a026a0b5e [parser] parser.y: allow subquery without table alias syntax-checked (#968)
* parser.y: allow subquery without table alias to be parsed

* resolve conflict
2021-10-09 14:53:23 +08:00
1ffb873bba [parser] executor: add builtin aggregate function json_arrayagg (#1020) 2021-10-09 14:53:23 +08:00
fbe75839dc [parser] parser: fix select field for set operator query (#1035) 2021-10-09 14:53:23 +08:00
8e140e87df [parser] parser: fix select field for set operator (#1034) 2021-10-09 14:53:23 +08:00
1b0af1dc96 [parser] parser: support except all, intersect all, parentheses for set operator (#960) 2021-10-09 14:53:23 +08:00
7f3ab46241 [parser] Add support GRANT CREATE TABLESPACE syntax (#1029)
* Add support GRANT CREATE TABLESPACE syntax

* recompilation parser.go

* adjust CreateTablespacePriv constant
2021-10-09 14:53:23 +08:00
8b4d3d968d [parser] fix: add "UNDERSCORE_CHARSET hexLit/bitLit" in Literal (#926)
Signed-off-by: wangggong <793160615@qq.com>

Co-authored-by: Wang Ruichao <wangruichao2014@xiaochuankeji.cn>
2021-10-09 14:53:23 +08:00
4a04e063a6 [parser] support select for update wait seconds grammar (#997) 2021-10-09 14:53:23 +08:00
d215bbeaf1 [parser] Support APPROX_PERCENTILE function (#1002)
* support approx_percentile function

* update

Co-authored-by: kennytm <kennytm@gmail.com>
2021-10-09 14:53:23 +08:00
c0d8c870f1 [parser] parser: trim trailing spaces in enum and set (#1006)
* trim space in enum and set

* add test

* add test

Co-authored-by: ti-srebot <66930949+ti-srebot@users.noreply.github.com>
2021-10-09 14:53:23 +08:00
f42586fcd3 [parser] feat: add "HISTOGRAM" option in "ALTER TABLE... UPDATE/DROP..." (#925) 2021-10-09 14:53:23 +08:00
a329df515d [parser] fix tiny bug about cast function (#995) 2021-10-09 14:53:23 +08:00
57acffbb54 [parser] parser: add FETCH FIRST syntax support (#985) 2021-10-09 14:53:23 +08:00
7ad133a444 [parser] fix: use OptCharsetWithOptBinary for ENUM & SET (#976)
See also: https://github.com/mysql/mysql-server/blob/8.0/sql/sql_yacc.yy#L6617

Signed-off-by: Wang Ruichao <wangruichao2014@xiaochuankeji.cn>

Co-authored-by: tangenta <tangenta@126.com>
2021-10-09 14:53:23 +08:00
9c327e0427 [parser] fix: add hex & bit for text_string (#975)
See also: https://github.com/mysql/mysql-server/blob/8.0/sql/sql_yacc.yy#L13936

Signed-off-by: Wang Ruichao <wangruichao2014@xiaochuankeji.cn>

Co-authored-by: Arenatlx <ailinsilence4@gmail.com>
Co-authored-by: kennytm <kennytm@gmail.com>
2021-10-09 14:53:23 +08:00
65f09c723c [parser] parser: return parser warning of ErrWarnDeprecatedIntegerDisplayWidth directly (#980)
* ???

Signed-off-by: AilinKid <314806019@qq.com>

* Update parser.y

Co-authored-by: Lynn <zimu_xia@126.com>

* .

Signed-off-by: AilinKid <314806019@qq.com>

Co-authored-by: Lynn <zimu_xia@126.com>
Co-authored-by: kennytm <kennytm@gmail.com>
2021-10-09 14:53:23 +08:00
01de34b128 [parser] Add std and stddev function (#972) 2021-10-09 14:53:23 +08:00
xhe
192317874d [parser] *: DROP PLACEMENT require an role option (#971)
This option can not be optional.
2021-10-09 14:53:23 +08:00
xhe
8d3acc2988 [parser] *: forbid REPLICAS = 0 (#967) 2021-10-09 14:53:23 +08:00
xhe
25ef3fa701 [parser] *: remove redundant checks (#965) 2021-10-09 14:53:23 +08:00
xhe
691be56704 [parser] parser: support placement rules for ALTER TABLE (#964)
It's a part of project "Placement rules in SQL". It also includes a fix
for multiple subclause restore(did not add ',' before) and two tests for
this case.
2021-10-09 14:53:23 +08:00
xhe
38c62f0075 [parser] *: fix placement naming (#962) 2021-10-09 14:53:23 +08:00
xhe
3829a68c83 [parser] parser: support DROP PLACEMENT clause (#961)
It's a part of project "Placement rules in SQL".
2021-10-09 14:53:23 +08:00
xhe
cb1c19623a [parser] parser: support ALTER PLACEMENT clause (#937)
It's a part of project "Placement rules in SQL".
2021-10-09 14:53:23 +08:00
8dc1467a7f [parser] correct calculation of field lengths for Enum and Set types (#954)
* fix invalid enum flen

* fix invalid set flen

* address comments
2021-10-09 14:53:23 +08:00
49b6c5e4b4 [parser] parser: support CREATE STATISTICS / DROP STATISTICS / ADMIN RELOAD STATISTICS (#913) 2021-10-09 14:53:23 +08:00
a1997e6b2a [parser] add config variable to control max display length (#949) 2021-10-09 14:53:23 +08:00
3110c880b1 [parser] parser: create integer type field with specified length should have warings (#939)
* .

Signed-off-by: AilinKid <314806019@qq.com>

* .

Signed-off-by: AilinKid <314806019@qq.com>

* .

Signed-off-by: AilinKid <314806019@qq.com>

* .

Signed-off-by: AilinKid <314806019@qq.com>

* .

Signed-off-by: AilinKid <314806019@qq.com>
2021-10-09 14:53:23 +08:00
xhe
88e2440084 [parser] parser: more meaningful words for placement rules (#931)
follow
https://github.com/pingcap/tidb/issues/18030#issuecomment-654943694.
However, "constraints" is used for "label". Because it is not
necessarily related to region/locality.
2021-10-09 14:53:23 +08:00