Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Bug] UserPasswordHistoryMapper.xml 中的sql 語法不兼容postgre #120

Open
6 tasks done
sunscorch opened this issue Dec 30, 2024 · 5 comments
Open
6 tasks done
Labels
bug Something isn't working

Comments

@sunscorch
Copy link

请您确认

  • 尝试最新 dev 分支代码,仍有相同问题
  • 阅读使用指南
  • 查找常见问题
  • 根据报错信息(自行翻译英文)百度或 Google 一下
  • 搜索是否有其他人提交过类似的 Issue,如果对应 Issue 尚未解决,您可以先订阅关注该 Issue(为了方便后来者查找问题解决方法,请尽量避免创建重复的 Issue)
  • 阅读源码并在 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

@sunscorch sunscorch added the bug Something isn't working label Dec 30, 2024
@Charles7c
Copy link
Member

大佬,你测试过此 SQL 吗?我看着它和我以前写的一样呢,如果是一样的,那 SQL 有缺陷。
image

@sunscorch
Copy link
Author

大佬,你测试过此 SQL 吗?我看着它和我以前写的一样呢,如果是一样的,那 SQL 有缺陷。 image

大佬感谢回复 看起来是一样的 不确定 这个sql 有什么问题, 我先使用他workaround表

@Charles7c
Copy link
Member

我对 pgsql 不那么熟,最近也没需求,你研究下吧,有结论欢迎 PR 下。

@sunscorch
Copy link
Author

大佬不太确定 你为什么要改原来的sql 可否给个有问题的例子

@Charles7c
Copy link
Member

Charles7c commented Dec 31, 2024

没印象了,不是 SQL 报错就是删数据有遗漏,忘记哪一点了。你可以准备点测试数据,还原原来的 SQL 代码,测试一下 SQL,pgsql 没问题就先用着去了。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

2 participants