Commit Graph

108 Commits

Author SHA1 Message Date
5f340b88c9 parser: format error message during parsing when meet a big value. (#28791) 2021-11-18 00:51:47 +08:00
ec7a638e33 executor: Fix authplugin handling with alter/create (#28468) 2021-11-02 01:10:51 +08:00
8d9647dee5 privileges: fix create temporary tables privilege (#29279) 2021-11-01 16:46:51 +08:00
11b61738f3 parser: migrate test-infra to testify (#29191) 2021-10-28 12:30:49 +08:00
c1ec51e049 privilege: add Event and Routine privilege on db level (#28690) 2021-10-13 14:07:27 +08:00
6553404bb2 *: fix regression from FLUSH PRIVILEGES fix (#28736) 2021-10-13 11:19:26 +08:00
xhe
94e30df8e2 parser: fix compiling, add unit tests (#28700) 2021-10-11 23:15:25 +08:00
77e63887f2 [parser] mysql: add references priv in AllColumnPrivs (#1358) 2021-10-09 14:53:23 +08:00
a1ff6f89c9 [parser] Create TMP Tables issue fix (#1359) 2021-10-09 14:53:23 +08:00
a68e007548 [parser] mysql: fix MaxDurationWidthWithFsp (#1345)
Signed-off-by: wjhuang2016 <huangwenjun1997@gmail.com>
2021-10-09 14:53:23 +08:00
726409a242 [parser] Add 'auth_socket' (#1323) 2021-10-09 14:53:23 +08:00
d1694fad47 [parser] Grant lock tables issue fix (#1316) 2021-10-09 14:53:23 +08:00
70855c9d0e [parser] Added ReferencesPriv to DB and Table level, see tidb issue 26703 (#1304) 2021-10-09 14:53:23 +08:00
6790f201fc [parser] add drop column with index flag (#1286)
Signed-off-by: ailinkid <314806019@qq.com>
2021-10-09 14:53:23 +08:00
8d23ad21c9 [parser] auth: add the caching sha2 algorithm for authentication (#1232)
This allows validating passwords against the `authentication_string`
data that MySQL stores for caching_sha2 passwords.

Related:
- https://github.com/pingcap/tidb/issues/9411
2021-10-09 14:53:23 +08:00
397683047e [parser] parser: Fix tidb issue 24439 Inconsistent error with MySQL for GRANT CREATE USER ON <specific db>.* (#1224)
* add StaticGlobalOnlyPrivs

* fix
2021-10-09 14:53:23 +08:00
67b2a63ac9 [parser] Add EnumSetAsIntFlag flag to control enum behavior. (#1165)
* add enumset as int flag

* update evaltype

* add has function

* Update mysql/type.go

Co-authored-by: tangenta <tangenta@126.com>

Co-authored-by: tangenta <tangenta@126.com>
2021-10-09 14:53:23 +08:00
xhe
bc860cdd5e [parser] *: fix static check report (#1195)
* ast: base.go

Signed-off-by: xhe <xw897002528@gmail.com>

* ast: expressions.go

Signed-off-by: xhe <xw897002528@gmail.com>

* ast: misc_test.go

Signed-off-by: xhe <xw897002528@gmail.com>

* *: digester.go

Signed-off-by: xhe <xw897002528@gmail.com>

* goyacc: format_yacc.go

Signed-off-by: xhe <xw897002528@gmail.com>

* *: lexer_test.go

Signed-off-by: xhe <xw897002528@gmail.com>

* *: misc.go

Signed-off-by: xhe <xw897002528@gmail.com>

* model: model.go

Signed-off-by: xhe <xw897002528@gmail.com>

* model: model_test.go

Signed-off-by: xhe <xw897002528@gmail.com>

* *: parser_test.go

Signed-off-by: xhe <xw897002528@gmail.com>

* test_driver: test_driver_datum.go

Signed-off-by: xhe <xw897002528@gmail.com>

* test_driver: test_driver_mydecimal.go

Signed-off-by: xhe <xw897002528@gmail.com>

* ast: ddl.go, bugfix

Signed-off-by: xhe <xw897002528@gmail.com>

* mysql: errcode.go

charset/charset.go is passing errcode to NewStd, which requires int. But
here codes are uint16. To get rid of the error, uint16 is removed.

Signed-off-by: xhe <xw897002528@gmail.com>

* model: better test

Signed-off-by: xhe <xw897002528@gmail.com>

* *: fix timezone

Signed-off-by: xhe <xw897002528@gmail.com>

Co-authored-by: ti-srebot <66930949+ti-srebot@users.noreply.github.com>
2021-10-09 14:53:23 +08:00
5f6739c14e [parser] mysql: modify TypeNewDecimal length in defaultLengthAndDecimalForCast (#1202) 2021-10-09 14:53:23 +08:00
xhe
0b7ab92e3a [parser] mysql: small privileges refactor (#1198)
* mysql: extract privs out

Signed-off-by: xhe <xw897002528@gmail.com>

* mysql: add priv.String()

Signed-off-by: xhe <xw897002528@gmail.com>

* mysql: add privs.Has()

Signed-off-by: xhe <xw897002528@gmail.com>

* mysql: add p.SetString() and p.ColumnString()

Signed-off-by: xhe <xw897002528@gmail.com>

* mysql: add NewPrivFromSetEnum/Column

Signed-off-by: xhe <xw897002528@gmail.com>

* *: add license

Co-authored-by: kennytm <kennytm@gmail.com>

* *: complete the license

Signed-off-by: xhe <xw897002528@gmail.com>

Co-authored-by: kennytm <kennytm@gmail.com>
Co-authored-by: ti-srebot <66930949+ti-srebot@users.noreply.github.com>
2021-10-09 14:53:23 +08:00
xhe
8112420b91 [parser] mysql: add create_view to tables_priv (#1201)
Signed-off-by: xhe <xw897002528@gmail.com>

Co-authored-by: ti-srebot <66930949+ti-srebot@users.noreply.github.com>
2021-10-09 14:53:23 +08:00
4bc38d9c99 [parser] privileges: show create view privilege should in AllTablePrivs (#1182)
Co-authored-by: jwxiong <xiongjiwei1996@outlook.com>
2021-10-09 14:53:23 +08:00
8950ad0f44 [parser] *: support dynamic privileges and more extended privileges (#1144)
* *: support dynamic privileges and more extended privileges

* address comment

* address comment
2021-10-09 14:53:23 +08:00
207955cf69 [parser] *: change privilege type to uint64 and support REPLICATION CLIENT, etc (#1121) 2021-10-09 14:53:23 +08:00
79fbb96097 [parser] mysql: add consts for auth switch request (#1088) 2021-10-09 14:53:23 +08:00
4a064e9c23 [parser] mysql: fix wrong default decimal length (#1093)
Signed-off-by: wjhuang2016 <huangwenjun1997@gmail.com>
2021-10-09 14:53:23 +08:00
e3daabacc0 [parser] *: redact arguments for Error (#1051) 2021-10-09 14:53:23 +08:00
6789b2118a [parser] fix CreateTablespacePriv order in const (#1032)
* Add support GRANT CREATE TABLESPACE syntax

* recompilation parser.go

* adjust CreateTablespacePriv constant

* fix CreateTablespacePriv order in const

* add comment
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
305020c36d [parser] const: fix wrong SQL mode const (#1008)
* const: fix wrong SQL mode const

* add test

* remove some change

* trigger CI
2021-10-09 14:53:23 +08:00
63da8aaba0 [parser] fix: remove TypeDecimal (#944)
Signed-off-by: Wang Ruichao <wangruichao2014@xiaochuankeji.cn>
2021-10-09 14:53:23 +08:00
3a347a826b [parser] parser: introduce a new privilege for the set config statement (#835) 2021-10-09 14:53:23 +08:00
b01eedeba1 [parser] mysql: clean up unused TiDB errcode (#764) 2021-10-09 14:53:23 +08:00
36dbd526d0 [parser] mysql/errname.go: update error message of ErrCantGetValidID (#741) 2021-10-09 14:53:23 +08:00
bb8631cca6 [parser] add errcode and errname of unsupported sequence default value for column type (#739) 2021-10-09 14:53:23 +08:00
1e9165920b [parser] mysql: sort the error code (#737) 2021-10-09 14:53:23 +08:00
6eb2909901 [parser] change all dot import, according to staticcheck (#730)
* change all dot import, according to staticcheck

* make staticcheck happy
2021-10-09 14:53:23 +08:00
6b1494c6a0 [parser] add json_objetagg's unsupported second argument type errorcode (#727) 2021-10-09 14:53:23 +08:00
e0c2eeb2c1 [parser] add json_objectagg's null key errcode (#726) 2021-10-09 14:53:23 +08:00
f41adcde4c [parser] parser: add Reload and File privileges (#708) 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
1c949fd936 [parser] parser : add invalid auto increment and offset error (#707) 2021-10-09 14:53:23 +08:00
9de1af2c4e [parser] add GlobalDBVisible to represent global privilege which can see all database (#697)
* add const GlobalDBVisible

* allowed grant priv to see all database
2021-10-09 14:53:23 +08:00
e59bd5b94f [parser] add auto_random error definitions (#696) 2021-10-09 14:53:23 +08:00
b5701d9165 [parser] parser : Add model & errcode & errname for supporting sequence. (#691) 2021-10-09 14:53:23 +08:00
135e72a2d9 [parser] add error code (#678) 2021-10-09 14:53:23 +08:00
df9e3a99f5 [parser] mysql: add foreign key error (#675)
* mysql: add foreign key error

* address comment
2021-10-09 14:53:23 +08:00
c6a316f63f [parser] support require clauses in grant stmt (#666) 2021-10-09 14:53:23 +08:00
385d05ce3e [parser] parser: support syntax for AUTO_RANDOM (#571) 2021-10-09 14:53:23 +08:00
5264503d28 [parser] mysql: update some TiDB customized error code (#671) 2021-10-09 14:53:23 +08:00