未验证 提交 7f481753 编写于 作者: S Serge Rider 提交者: GitHub

Merge pull request #12174 from dbeaver/mysqlDefColumn#10797

#10797 do not add "DEFAULT_GENERATED" to the alter column statement
......@@ -220,4 +220,5 @@ public class MySQLConstants {
public static final String FLAG_VERSION = "-V";
public static final String EXTRA_INFO_VIRTUAL_GENERATED = "VIRTUAL GENERATED";
public static final String EXTRA_INFO_DEFAULT_GENERATED = "DEFAULT_GENERATED";
}
......@@ -82,15 +82,18 @@ public class MySQLTableColumnManager extends SQLTableColumnManager<MySQLTableCol
};
private final ColumnModifier<MySQLTableColumn> ExtraInfoModifier = (monitor, column, sql, command) -> {
if (!CommonUtils.isEmpty(column.getExtraInfo())) {
if (MySQLConstants.EXTRA_INFO_VIRTUAL_GENERATED.equalsIgnoreCase(column.getExtraInfo())) {
String extraInfo = column.getExtraInfo();
if (!CommonUtils.isEmpty(extraInfo)) {
if (MySQLConstants.EXTRA_INFO_VIRTUAL_GENERATED.equalsIgnoreCase(extraInfo)) {
if (!CommonUtils.isEmpty(column.getGenExpression())) {
sql.append(" GENERATED ALWAYS AS (").append(column.getGenExpression()).append(") VIRTUAL"); //$NON-NLS-1$ //$NON-NLS-2$
} else {
log.debug("No virtual column generate expression found for " + column.getName());
}
} else if (MySQLConstants.EXTRA_INFO_DEFAULT_GENERATED.equals(extraInfo)) {
// Do not add "DEFAULT_GENERATED" to the statement. It caused MySQLSyntaxErrorException. See #10797
} else {
sql.append(" ").append(column.getExtraInfo()); //$NON-NLS-1$
sql.append(" ").append(extraInfo); //$NON-NLS-1$
}
}
};
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册