DBZ-4261 Support all charsets in MySQL parser
This commit is contained in:
parent
248c378753
commit
80e97964f1
@ -297,15 +297,17 @@ public void shouldProcessDimensionalBlob() {
|
||||
}
|
||||
|
||||
@Test
|
||||
@FixFor({ "DBZ-2604", "DBZ-4246" })
|
||||
@FixFor({ "DBZ-2604", "DBZ-4246", "DBZ-4261" })
|
||||
public void shouldUseDatabaseCharacterSet() {
|
||||
String ddl = "CREATE DATABASE `mydb` character set UTF8mb4 collate utf8mb4_unicode_ci;"
|
||||
+ "create database `ymsun_test1` charset gb18030 collate gb18030_bi;"
|
||||
+ "create database `test` charset binary collate binary;"
|
||||
+ "CREATE TABLE mydb.mytable (id INT PRIMARY KEY, val1 CHAR(16) CHARSET latin2, val2 CHAR(5));"
|
||||
+ "CREATE TABLE ymsun_test1.mytable (id INT PRIMARY KEY, val1 CHAR(16) CHARSET latin2, val2 CHAR(5));";
|
||||
+ "CREATE TABLE ymsun_test1.mytable (id INT PRIMARY KEY, val1 CHAR(16) CHARSET latin2, val2 CHAR(5));"
|
||||
+ "CREATE TABLE `test`.`tb1` (`id` int NOT NULL AUTO_INCREMENT,`v1` varchar(255), PRIMARY KEY (`id`));";
|
||||
parser.parse(ddl, tables);
|
||||
assertThat(((MySqlAntlrDdlParser) parser).getParsingExceptionsFromWalker().size()).isEqualTo(0);
|
||||
assertThat(tables.size()).isEqualTo(2);
|
||||
assertThat(tables.size()).isEqualTo(3);
|
||||
|
||||
Table table = tables.forTable(null, null, "mydb.mytable");
|
||||
assertThat(table.columns()).hasSize(3);
|
||||
@ -317,6 +319,9 @@ public void shouldUseDatabaseCharacterSet() {
|
||||
|
||||
table = tables.forTable(null, null, "ymsun_test1.mytable");
|
||||
assertThat(table.columnWithName("val2").charsetName()).isEqualTo("gb18030");
|
||||
|
||||
table = tables.forTable(null, null, "test.tb1");
|
||||
assertThat(table.columnWithName("v1").charsetName()).isEqualTo("binary");
|
||||
}
|
||||
|
||||
@Test
|
||||
|
@ -2532,7 +2532,7 @@ jsonOperator
|
||||
// (that keyword, which can be id)
|
||||
|
||||
charsetNameBase
|
||||
: ARMSCII8 | ASCII | BIG5 | CP1250 | CP1251 | CP1256 | CP1257
|
||||
: ARMSCII8 | ASCII | BIG5 | BINARY | CP1250 | CP1251 | CP1256 | CP1257
|
||||
| CP850 | CP852 | CP866 | CP932 | DEC8 | EUCJPMS | EUCKR
|
||||
| GB18030 | GB2312 | GBK | GEOSTD8 | GREEK | HEBREW | HP8 | KEYBCS2
|
||||
| KOI8R | KOI8U | LATIN1 | LATIN2 | LATIN5 | LATIN7 | MACCE
|
||||
|
Loading…
Reference in New Issue
Block a user