DBZ-4661 parse MariaDB encrypted keyword

Co-authored-by: Anisha Mohanty <anishamohanty23@gmail.com>
This commit is contained in:
Ismail Simsek 2022-02-02 17:00:16 +01:00 committed by Anisha Mohanty
parent a9bf4d6bd5
commit a59b5a203e
3 changed files with 41 additions and 0 deletions

View File

@ -612,6 +612,35 @@ public void shouldSupportCreateIndexBothAlgoAndLock() {
assertThat(((MySqlAntlrDdlParser) parser).getParsingExceptionsFromWalker().size()).isEqualTo(0);
}
@Test
@FixFor("DBZ-4661")
public void shouldSupportCreateTableWithEcrytion() {
parser.parse(
"CREATE TABLE `t_test_encrypted_test1` " +
"(`id` int(11) NOT NULL AUTO_INCREMENT) " +
"ENGINE=InnoDB DEFAULT CHARSET=utf8 `ENCRYPTED`=YES COMMENT 'MariaDb encrypted table'",
tables);
parser.parse(
"CREATE TABLE `t_test_encrypted_test2` " +
"(`id` int(11) NOT NULL AUTO_INCREMENT) " +
"ENGINE=InnoDB DEFAULT CHARSET=utf8 `encrypted`=yes COMMENT 'MariaDb encrypted table'",
tables);
parser.parse(
"CREATE TABLE `t_test_encrypted_test3` " +
"(`id` int(11) NOT NULL AUTO_INCREMENT) " +
"ENGINE=InnoDB DEFAULT CHARSET=utf8 ENCRYPTED=yes COMMENT 'MariaDb encrypted table'",
tables);
parser.parse(
"CREATE TABLE `t_test_encrypted_test` " +
"(`id` int(11) NOT NULL AUTO_INCREMENT) " +
"ENGINE=InnoDB DEFAULT CHARSET=utf8 `encrypted`=YES COMMENT 'MariaDb encrypted table'",
tables);
parser.parse("CREATE TABLE `t_test_encryption` " +
"(`id` int(11) NOT NULL AUTO_INCREMENT) " +
"ENGINE=InnoDB DEFAULT CHARSET=utf8 ENCRYPTION='Y' COMMENT 'Mysql encrypted table';", tables);
assertThat(((MySqlAntlrDdlParser) parser).getParsingExceptionsFromWalker().size()).isEqualTo(0);
}
@Test
@FixFor("DBZ-1349")
public void shouldSupportUtfMb3Charset() {

View File

@ -449,6 +449,8 @@ DUPLICATE: 'DUPLICATE';
DYNAMIC: 'DYNAMIC';
ENABLE: 'ENABLE';
ENCRYPTION: 'ENCRYPTION';
ENCRYPTED: 'ENCRYPTED';
ENCRYPTION_KEY_ID: 'ENCRYPTION_KEY_ID';
END: 'END';
ENDS: 'ENDS';
ENGINE: 'ENGINE';
@ -563,6 +565,7 @@ NCHAR: 'NCHAR';
NEVER: 'NEVER';
NEXT: 'NEXT';
NO: 'NO';
YES: 'YES';
NODEGROUP: 'NODEGROUP';
NONE: 'NONE';
ODBC: 'ODBC';

View File

@ -428,6 +428,8 @@ tableOption
| DATA DIRECTORY '='? STRING_LITERAL #tableOptionDataDirectory
| DELAY_KEY_WRITE '='? boolValue=('0' | '1') #tableOptionDelay
| ENCRYPTION '='? STRING_LITERAL #tableOptionEncryption
| encryptedLiteral '='? (YES | NO) #tableOptionEncrypted
| ENCRYPTION_KEY_ID '='? decimalLiteral #tableOptionEncryptionKeyId
| INDEX DIRECTORY '='? STRING_LITERAL #tableOptionIndexDirectory
| INSERT_METHOD '='? insertMethod=(NO | FIRST | LAST) #tableOptionInsertMethod
| KEY_BLOCK_SIZE '='? fileSizeLiteral #tableOptionKeyBlockSize
@ -2010,6 +2012,12 @@ engineName
| CONNECT
;
// MariaDB
encryptedLiteral
: ENCRYPTED
| STRING_LITERAL
;
uuidSet
: decimalLiteral '-' decimalLiteral '-' decimalLiteral
'-' decimalLiteral '-' decimalLiteral
@ -2632,6 +2640,7 @@ keywordsCanBeId
| WORK | WRAPPER | X509 | XA | XA_RECOVER_ADMIN | XML
// MariaDB
| VIA | LASTVAL | NEXTVAL | SETVAL | PREVIOUS | PERSISTENT | REPLICATION_MASTER_ADMIN | REPLICA | READ_ONLY_ADMIN | FEDERATED_ADMIN | BINLOG_MONITOR | BINLOG_REPLAY
| ENCRYPTED | ENCRYPTION_KEY_ID
;
functionNameBase