seata 不支持insert into select操作

1u4esq0p  于 2022-10-21  发布在  其他
关注(0)|答案(2)|浏览(346)

经定位问题发生在BaseInsertExecutor.parsePkValuesFromStatement()
if (statementProxy instanceof PreparedStatementProxy) {
PreparedStatementProxy preparedStatementProxy = (PreparedStatementProxy) statementProxy;

List<List<Object>> insertRows = recognizer.getInsertRows(pkIndexMap.values());
        if (insertRows != null && !insertRows.isEmpty()) {

问题发生在上述代码最后一个if处,!insertRows.isEmpty()为false,导致无法为pkValuesMap赋值,以致
if (pkValuesMap.isEmpty()) {
throw new ShouldNeverHappenException();
}
seata服务端版本1.3.0,客户端1.3.0、1.4.2
数据库:MySQL 5.7.12,驱动8.0.22

41ik7eoe

41ik7eoe1#

目前暂不支持,欢迎认领该feature

quhf5bfb

quhf5bfb2#

问下大家,是否可以通过仿照这个连接进行解决:
5f2a144#diff-497d2a229a93b0d6343cfef8a6c62f3573a9b270ac0ed0f5a9cf51c9055b6570

相关问题