fix(api): 修复latest_op_ts无法记录
mysql的greatest函数,null永远是最大值
This commit is contained in:
@@ -69,10 +69,23 @@ public class SqlBuilderTests {
|
||||
|
||||
public static void main(String[] args) {
|
||||
System.out.println(SqlUtil.formatSql(
|
||||
SqlBuilder.update(TbAppHudiSyncState._origin_)
|
||||
.set(TbAppHudiSyncState.PULSAR_BACK_LOG_O, "?")
|
||||
.whereEq(TbAppHudiSyncState.ID_O, Column.as("?"))
|
||||
.build()
|
||||
SqlBuilder
|
||||
.insertInto(
|
||||
TbAppHudiSyncState._origin_,
|
||||
TbAppHudiSyncState.ID_O,
|
||||
TbAppHudiSyncState.COMPACTION_LATEST_OP_TS_O
|
||||
)
|
||||
.values()
|
||||
.addValue(null, null)
|
||||
.onDuplicateKeyUpdateSetter(
|
||||
StrUtil.format(
|
||||
"{} = if({} is null, ?, greatest({}, ?))",
|
||||
TbAppHudiSyncState.COMPACTION_LATEST_OP_TS_O,
|
||||
TbAppHudiSyncState.COMPACTION_LATEST_OP_TS_O,
|
||||
TbAppHudiSyncState.COMPACTION_LATEST_OP_TS_O
|
||||
)
|
||||
)
|
||||
.precompileSql()
|
||||
));
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user