DBZ-7230 MySQL BIT Type should have a default length 1
This commit is contained in:
parent
5b3102e14a
commit
d740bf52dd
@ -180,7 +180,8 @@ protected DataTypeResolver initializeDataTypeResolver() {
|
||||
new DataTypeEntry(Types.NUMERIC, MySqlParser.NUMERIC)
|
||||
.setSuffixTokens(MySqlParser.SIGNED, MySqlParser.UNSIGNED, MySqlParser.ZEROFILL)
|
||||
.setDefaultLengthScaleDimension(10, 0),
|
||||
new DataTypeEntry(Types.BIT, MySqlParser.BIT),
|
||||
new DataTypeEntry(Types.BIT, MySqlParser.BIT)
|
||||
.setDefaultLengthDimension(1),
|
||||
new DataTypeEntry(Types.TIME, MySqlParser.TIME),
|
||||
new DataTypeEntry(Types.TIMESTAMP_WITH_TIMEZONE, MySqlParser.TIMESTAMP),
|
||||
new DataTypeEntry(Types.TIMESTAMP, MySqlParser.DATETIME),
|
||||
|
@ -3476,6 +3476,19 @@ public void shouldSupportNationalChar() {
|
||||
assertColumn(table, "c", "NATIONAL CHAR", Types.NCHAR, 1, "utf8", true);
|
||||
}
|
||||
|
||||
@FixFor("DBZ-7230")
|
||||
@Test
|
||||
public void shouldParseCreateTableWithBitDefaultLength() {
|
||||
String ddl = "CREATE TABLE t ( c1 BIT NULL );";
|
||||
parser.parse(ddl, tables);
|
||||
assertThat(tables.size()).isEqualTo(1);
|
||||
Table t = tables.forTable(new TableId(null, null, "t"));
|
||||
assertThat(t).isNotNull();
|
||||
assertThat(t.retrieveColumnNames()).containsExactly("c1");
|
||||
assertThat(t.primaryKeyColumnNames()).isEmpty();
|
||||
assertColumn(t, "c1", "BIT", Types.BIT, 1, -1, true, false, false);
|
||||
}
|
||||
|
||||
private String toIsoString(String timestamp) {
|
||||
return ZonedTimestamp.toIsoString(Timestamp.valueOf(timestamp).toInstant().atZone(ZoneId.systemDefault()), null, null);
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user