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

2.2.0分支nacos-datasource-plugin个别分页查询无starRow、pageSize参数 #9645

Closed
zhangdp opened this issue Nov 30, 2022 · 4 comments
Closed

Comments

@zhangdp
Copy link

zhangdp commented Nov 30, 2022

没有传入starRow、pageSize参数,而是使用了预编译占位符,在mysql中的分页"limit startRow, pageSize"改成postgresql后语法为"limit ? offset ?",按照预编译占位符的顺序最终结果将变成"limit startRow offset pageSize",实际上应"limit pageSize offset startRow"才对。比如ConfigInfoMapper.getTenantIdList()方法。

@li-xiao-shuang
Copy link
Collaborator

欢迎提交pr处理

@wuchubuzai2018
Copy link
Contributor

没有传入starRow、pageSize参数,而是使用了预编译占位符,在mysql中的分页"limit startRow, pageSize"改成postgresql后语法为"limit ? offset ?",按照预编译占位符的顺序最终结果将变成"limit startRow offset pageSize",实际上应"limit pageSize offset startRow"才对。比如ConfigInfoMapper.getTenantIdList()方法。

个人觉得问题不大,这种情况应该修改postgresql的SQL实现为 offset startRow limit pageSize,我之前自己开发的Postgresql的实现中,就是在方言中用这种方式去控制的。postgresql支持这种写法。
例如在我的postgresql是这么设计的:
@OverRide
public String getLimitPageSql(String sql) {
return sql + " OFFSET ? LIMIT ? ";
}

@985492783
Copy link
Contributor

欢迎提交pr处理

这如果要改,得在plugin/datasource里面单独对postgresql做一个适配吧

@KomachiSion
Copy link
Collaborator

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

5 participants