提交 fbc62b7a 编写于 作者: L LonwoLonwo

#11309 modifiers added for varchar and varbinary columns

上级 8e80ea45
......@@ -213,6 +213,7 @@ public class MySQLConstants {
public static final String TYPE_YEAR = "year";
public static final String TYPE_ENUM = "enum";
public static final String TYPE_SET = "set";
public static final String TYPE_VARBINARY = "VARBINARY";
public static final String BIN_FOLDER = "bin";
public static final String ENV_VAR_MYSQL_PWD = "MYSQL_PWD";
......
......@@ -54,8 +54,20 @@ public class MySQLTableColumnManager extends SQLTableColumnManager<MySQLTableCol
implements DBEObjectRenamer<MySQLTableColumn>, DBEObjectReorderer<MySQLTableColumn>
{
private final ColumnModifier<MySQLTableColumn> MySQLDataTypeModifier = (monitor, column, sql, command) ->
sql.append(' ').append(column.getFullTypeName());
private final ColumnModifier<MySQLTableColumn> MySQLDataTypeModifier = (monitor, column, sql, command) -> {
sql.append(' ');
String fullTypeName = column.getFullTypeName();
String typeName = column.getTypeName();
if (!fullTypeName.contains("(") && (typeName.equalsIgnoreCase(MySQLConstants.TYPE_VARCHAR) || typeName.equalsIgnoreCase(MySQLConstants.TYPE_VARBINARY))) {
sql.append(typeName);
String modifiers = SQLUtils.getColumnTypeModifiers(column.getDataSource(), column, typeName, column.getDataKind());
if (modifiers != null) {
sql.append(modifiers);
}
} else {
sql.append(fullTypeName);
}
};
private final ColumnModifier<MySQLTableColumn> CharsetModifier = (monitor, column, sql, command) -> {
if (column.getDataKind() == DBPDataKind.STRING && column.getCharset() != null) {
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册