DBZ-6554 Added method to override alter statement field delimiter, setting it to comma for MySQL dialect
This commit is contained in:
parent
bda4676108
commit
89ad5c5a40
@ -96,6 +96,15 @@ public interface DatabaseDialect {
|
||||
*/
|
||||
String getAlterTableStatement(TableDescriptor table, SinkRecordDescriptor record, Set<String> missingFields);
|
||||
|
||||
/**
|
||||
* Gets the field delimeter used when contructing {@code ALTER TABLE} statements.
|
||||
*
|
||||
* @return the field delimeter for alter table SQL statement
|
||||
*/
|
||||
default String getAlterTableStatementFieldDelimiter() {
|
||||
return " ";
|
||||
}
|
||||
|
||||
/**
|
||||
* Construct a {@code INSERT INTO} statement specific for this dialect.
|
||||
*
|
||||
|
@ -292,7 +292,7 @@ public String getAlterTableStatement(TableDescriptor table, SinkRecordDescriptor
|
||||
builder.append("ALTER TABLE ");
|
||||
builder.append(getQualifiedTableName(table.getId()));
|
||||
builder.append(" ");
|
||||
builder.appendList(" ", missingFields, (name) -> {
|
||||
builder.appendList(getAlterTableStatementFieldDelimiter(), missingFields, (name) -> {
|
||||
final FieldDescriptor field = record.getFields().get(name);
|
||||
final StringBuilder addColumnSpec = new StringBuilder();
|
||||
addColumnSpec.append("ADD ");
|
||||
|
@ -111,6 +111,11 @@ protected void registerTypes() {
|
||||
registerType(MapToJsonType.INSTANCE);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getAlterTableStatementFieldDelimiter() {
|
||||
return ",";
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getMaxVarcharLengthInKey() {
|
||||
return 255;
|
||||
|
Loading…
Reference in New Issue
Block a user