Skip to content

Commit be39a92

Browse files
authored
test: add regression for ALTER TABLE MODIFY COLUMN CHARACTER SET (#2415)
1 parent 5788ca0 commit be39a92

File tree

1 file changed

+24
-0
lines changed

1 file changed

+24
-0
lines changed

src/test/java/net/sf/jsqlparser/statement/alter/AlterTest.java

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1188,6 +1188,30 @@ public void testIssue2090LockExclusive() throws JSQLParserException {
11881188
assertEquals("EXCLUSIVE", lockExp.getLockOption());
11891189
}
11901190

1191+
@Test
1192+
public void testIssue2091ModifyColumnCharacterSet() throws JSQLParserException {
1193+
String sql = "ALTER TABLE `jobs`.`runs` MODIFY COLUMN triggerInfo text "
1194+
+ "CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL";
1195+
1196+
Statement stmt = CCJSqlParserUtil.parse(sql);
1197+
assertTrue(stmt instanceof Alter);
1198+
1199+
Alter alter = (Alter) stmt;
1200+
assertEquals("`jobs`.`runs`", alter.getTable().getFullyQualifiedName());
1201+
1202+
List<AlterExpression> alterExpressions = alter.getAlterExpressions();
1203+
assertNotNull(alterExpressions);
1204+
assertEquals(1, alterExpressions.size());
1205+
1206+
ColumnDataType column = alterExpressions.get(0).getColDataTypeList().get(0);
1207+
assertEquals("triggerInfo", column.getColumnName());
1208+
assertEquals("text CHARACTER SET utf8mb4", column.getColDataType().toString());
1209+
assertEquals(Arrays.asList("COLLATE", "utf8mb4_unicode_ci", "NOT", "NULL"),
1210+
column.getColumnSpecs());
1211+
1212+
assertSqlCanBeParsedAndDeparsed(sql);
1213+
}
1214+
11911215
@ParameterizedTest
11921216
@MethodSource("provideMySQLConvertTestCases")
11931217
public void testIssue2089(String sql, String expectedCharacterSet, String expectedCollation)

0 commit comments

Comments
 (0)