continew-admin
continew-admin copied to clipboard
[Bug] UserPasswordHistoryMapper.xml 中的sql 語法不兼容postgre
请您确认
- [X] 尝试最新 dev 分支代码,仍有相同问题
- [X] 阅读使用指南
- [X] 查找常见问题
- [X] 根据报错信息(自行翻译英文)百度或 Google 一下
- [X] 搜索是否有其他人提交过类似的 Issue,如果对应 Issue 尚未解决,您可以先订阅关注该 Issue(为了方便后来者查找问题解决方法,请尽量避免创建重复的 Issue)
- [X] 阅读源码并在 IDE 中进行断点调试
Bug 描述
UserPasswordHistoryMapper.xml 中的sql 語法不兼容postgre. 應當考慮使用通用的sql語句:
<delete id="deleteExpired">
DELETE FROM sys_user_password_history t1
WHERE t1.id NOT IN (
SELECT id
FROM (
SELECT id
FROM sys_user_password_history
WHERE user_id = #{userId}
ORDER BY create_time DESC
LIMIT #{count}
) AS recent
);
</delete>
复现步骤
嘗試創建一個新用戶 然後修改密碼
预期结果
no error
环境信息
ContiNew Admin version(s):dev
额外补充
No response
大佬,你测试过此 SQL 吗?我看着它和我以前写的一样呢,如果是一样的,那 SQL 有缺陷。
大佬,你测试过此 SQL 吗?我看着它和我以前写的一样呢,如果是一样的,那 SQL 有缺陷。
大佬感谢回复 看起来是一样的 不确定 这个sql 有什么问题, 我先使用他workaround表
我对 pgsql 不那么熟,最近也没需求,你研究下吧,有结论欢迎 PR 下。
大佬不太确定 你为什么要改原来的sql 可否给个有问题的例子
没印象了,不是 SQL 报错就是删数据有遗漏,忘记哪一点了。你可以准备点测试数据,还原原来的 SQL 代码,测试一下 SQL,pgsql 没问题就先用着去了。
