diff --git a/rm-datasource/src/main/java/io/seata/rm/datasource/exec/UpdateExecutor.java b/rm-datasource/src/main/java/io/seata/rm/datasource/exec/UpdateExecutor.java index 33e6474b552..8cb37d24735 100644 --- a/rm-datasource/src/main/java/io/seata/rm/datasource/exec/UpdateExecutor.java +++ b/rm-datasource/src/main/java/io/seata/rm/datasource/exec/UpdateExecutor.java @@ -89,7 +89,7 @@ private String buildBeforeImageSQL(TableMeta tableMeta, ArrayList> } suffix.append(" FOR UPDATE"); StringJoiner selectSQLJoin = new StringJoiner(", ", prefix.toString(), suffix.toString()); - List needUpdateColumns = getNeedUpdateColumns(tableMeta.getTableName(), sqlRecognizer.getTableAlias(), getUpdateColumnsIsSimplified()); + List needUpdateColumns = getNeedUpdateColumns(tableMeta.getTableName(), sqlRecognizer.getTableAlias(), recognizer.getUpdateColumnsIsSimplified()); for (String needUpdateColumn : needUpdateColumns) { selectSQLJoin.add(needUpdateColumn); } @@ -119,7 +119,7 @@ private String buildAfterImageSQL(TableMeta tableMeta, TableRecords beforeImage) String suffix = " FROM " + getFromTableInSQL() + " WHERE " + whereSql; StringJoiner selectSQLJoiner = new StringJoiner(", ", prefix.toString(), suffix); SQLUpdateRecognizer recognizer = (SQLUpdateRecognizer) sqlRecognizer; - List needUpdateColumns = getNeedUpdateColumns(tableMeta.getTableName(), sqlRecognizer.getTableAlias(), recognizer.getUpdateColumns()); + List needUpdateColumns = getNeedUpdateColumns(tableMeta.getTableName(), sqlRecognizer.getTableAlias(), recognizer.getUpdateColumnsIsSimplified()); for (String needUpdateColumn : needUpdateColumns) { selectSQLJoiner.add(needUpdateColumn); } diff --git a/sqlparser/seata-sqlparser-core/src/main/java/io/seata/sqlparser/SQLUpdateRecognizer.java b/sqlparser/seata-sqlparser-core/src/main/java/io/seata/sqlparser/SQLUpdateRecognizer.java index f44e7c53670..fa97f0416ff 100644 --- a/sqlparser/seata-sqlparser-core/src/main/java/io/seata/sqlparser/SQLUpdateRecognizer.java +++ b/sqlparser/seata-sqlparser-core/src/main/java/io/seata/sqlparser/SQLUpdateRecognizer.java @@ -48,6 +48,8 @@ public interface SQLUpdateRecognizer extends WhereRecognizer { default String getTableAlias(String tableName) { return null; } + + /** * Gets update columns is Simplified. * * @return (`a`, `b`, `c`) -> (a, b, c)