DBZ-6978 [MariaDB] Add support for spaces in username spec
This commit is contained in:
parent
c7caa6726f
commit
0390a17e44
@ -273,6 +273,7 @@ Kanha Gupta
|
||||
Kanthi Subramanian
|
||||
Katerina Galieva
|
||||
Kaushik Iyer
|
||||
Kaustuv Chakrabarti
|
||||
Kazuki MATSUDA / 松田一樹
|
||||
Keith Barber
|
||||
Keri Harris
|
||||
|
@ -1338,35 +1338,15 @@ DOT_ID: '.' ID_LITERAL;
|
||||
ID: ID_LITERAL;
|
||||
// DOUBLE_QUOTE_ID: '"' ~'"'+ '"';
|
||||
REVERSE_QUOTE_ID: BQUOTA_STRING;
|
||||
STRING_USER_NAME: (
|
||||
SQUOTA_STRING | DQUOTA_STRING
|
||||
| BQUOTA_STRING | ID_LITERAL
|
||||
) '@'
|
||||
HOST_IP_ADDRESS: (AT_SIGN IP_ADDRESS);
|
||||
LOCAL_ID: AT_SIGN
|
||||
(
|
||||
SQUOTA_STRING | DQUOTA_STRING
|
||||
| BQUOTA_STRING | ID_LITERAL
|
||||
| IP_ADDRESS
|
||||
STRING_LITERAL | [A-Z0-9._$\u0080-\uFFFF]+
|
||||
);
|
||||
IP_ADDRESS: (
|
||||
[0-9]+ '.' [0-9.]+
|
||||
| [0-9A-F]* ':' [0-9A-F]* ':' [0-9A-F:]+
|
||||
);
|
||||
STRING_USER_NAME_MARIADB: (
|
||||
SQUOTA_STRING | DQUOTA_STRING
|
||||
| BQUOTA_STRING | ID_LITERAL
|
||||
) '@';
|
||||
LOCAL_ID: '@'
|
||||
GLOBAL_ID: AT_SIGN AT_SIGN
|
||||
(
|
||||
[A-Z0-9._$\u0080-\uFFFF]+
|
||||
| SQUOTA_STRING
|
||||
| DQUOTA_STRING
|
||||
| BQUOTA_STRING
|
||||
);
|
||||
GLOBAL_ID: '@' '@'
|
||||
(
|
||||
[A-Z0-9._$\u0080-\uFFFF]+
|
||||
| BQUOTA_STRING
|
||||
);
|
||||
[A-Z0-9._$\u0080-\uFFFF]+ | BQUOTA_STRING
|
||||
);
|
||||
|
||||
|
||||
// Fragments for Literal primitives
|
||||
@ -1389,6 +1369,7 @@ fragment BQUOTA_STRING: '`' ( ~'`' | '``' )* '`';
|
||||
fragment HEX_DIGIT: [0-9A-F];
|
||||
fragment DEC_DIGIT: [0-9];
|
||||
fragment BIT_STRING_L: 'B' '\'' [01]+ '\'';
|
||||
fragment IP_ADDRESS: [0-9]+ '.' [0-9.]+ | [0-9A-F]* ':' [0-9A-F]* ':' [0-9A-F:]+;
|
||||
|
||||
|
||||
|
||||
|
@ -313,8 +313,12 @@ charSet
|
||||
| CHAR SET
|
||||
;
|
||||
|
||||
currentUserExpression
|
||||
: CURRENT_USER ( '(' ')')?
|
||||
;
|
||||
|
||||
ownerStatement
|
||||
: DEFINER '=' (userName | CURRENT_USER ( '(' ')')? | CURRENT_ROLE) // CURRENT_ROLE is MariaDB-specific only
|
||||
: DEFINER '=' (userName | currentUserExpression | CURRENT_ROLE) // CURRENT_ROLE is MariaDB-specific only
|
||||
;
|
||||
|
||||
scheduleExpression
|
||||
@ -968,7 +972,7 @@ withStatement
|
||||
tableStatement
|
||||
: TABLE tableName orderByClause? limitClause?
|
||||
;
|
||||
|
||||
|
||||
|
||||
updateStatement
|
||||
: singleUpdateStatement | multipleUpdateStatement
|
||||
@ -2161,8 +2165,16 @@ indexColumnName
|
||||
: ((uid | STRING_LITERAL) ('(' decimalLiteral ')')? | expression) sortType=(ASC | DESC)?
|
||||
;
|
||||
|
||||
simpleUserName
|
||||
: STRING_LITERAL
|
||||
| ID
|
||||
| ADMIN
|
||||
| keywordsCanBeId;
|
||||
hostName: (LOCAL_ID | HOST_IP_ADDRESS | '@' );
|
||||
userName
|
||||
: STRING_USER_NAME | STRING_USER_NAME_MARIADB | ID | STRING_LITERAL | ADMIN | keywordsCanBeId;
|
||||
: simpleUserName
|
||||
| simpleUserName hostName
|
||||
| currentUserExpression;
|
||||
|
||||
mysqlVariable
|
||||
: LOCAL_ID
|
||||
@ -2474,8 +2486,9 @@ specificFunction
|
||||
: (
|
||||
CURRENT_DATE | CURRENT_TIME | CURRENT_TIMESTAMP
|
||||
| CURDATE | CURTIME // MariaDB-specific only
|
||||
| CURRENT_USER | LOCALTIME | UTC_TIMESTAMP | SCHEMA
|
||||
| LOCALTIME | UTC_TIMESTAMP | SCHEMA
|
||||
) ('(' ')')? #simpleFunctionCall
|
||||
| currentUserExpression #currentUser
|
||||
| CONVERT '(' expression separator=',' convertedDataType ')' #dataTypeFunctionCall
|
||||
| CONVERT '(' expression USING charsetName ')' #dataTypeFunctionCall
|
||||
| CAST '(' expression AS convertedDataType ')' #dataTypeFunctionCall
|
||||
|
@ -0,0 +1,7 @@
|
||||
-- https://dev.mysql.com/doc/refman/8.0/en/set-statement.html
|
||||
SET GLOBAL v1=1;
|
||||
SET @@global.v2=2;
|
||||
SET LOCAL v1=1;
|
||||
SET @@local.v2=2;
|
||||
SET SESSION v1=1;
|
||||
SET @@session.v2=2;
|
@ -13,6 +13,7 @@ GET CURRENT DIAGNOSTICS errcount = NUMBER;
|
||||
-- Create User
|
||||
CREATE USER 'test_crm_debezium'@'%' IDENTIFIED WITH 'mysql_native_password' AS '*6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9' PASSWORD EXPIRE NEVER COMMENT '-';
|
||||
CREATE USER 'jim'@'localhost' ATTRIBUTE '{"fname": "James", "lname": "Scott", "phone": "123-456-7890"}';
|
||||
CREATE USER 'jim' @'localhost' ATTRIBUTE '{"fname": "James", "lname": "Scott", "phone": "123-456-7890"}';
|
||||
-- Create Table
|
||||
create table new_t (like t1);
|
||||
create table log_table(row varchar(512));
|
||||
|
@ -3,6 +3,8 @@ GRANT ALL ON tbl TO admin;
|
||||
GRANT ALL ON tbl TO audit_admin;
|
||||
GRANT ALL PRIVILEGES ON tbl TO admin;
|
||||
GRANT ALL ON *.* TO admin;
|
||||
GRANT ALL ON *.* TO `foo2` @`%`;
|
||||
GRANT ALL ON *.* TO `foo2` @test;
|
||||
GRANT USAGE ON *.* TO foo2@test IDENTIFIED BY 'mariadb';
|
||||
GRANT USAGE ON *.* TO foo2@test IDENTIFIED BY PASSWORD '*54958E764CE10E50764C2EECBB71D01F08549980';
|
||||
GRANT USAGE ON *.* TO `admin`@`%` IDENTIFIED VIA pam;
|
||||
|
@ -232,4 +232,5 @@ vsantona,Vincenzo Santoynastaso
|
||||
rolevinks,Stein Rolevink
|
||||
matan-cohen,Matan Cohen
|
||||
BigGillyStyle,Andy Pickler
|
||||
rkudryashov,Roman Kudryashov
|
||||
rkudryashov,Roman Kudryashov
|
||||
pricelessjunk,Kaustuv Chakrabarti
|
Loading…
Reference in New Issue
Block a user