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

[错误报告]: 描述DataChangeRecorderInnerInterceptor的私有方法prepareParameterMapping4Select缺陷 #6421

Closed
3 tasks done
MiloMJW opened this issue Aug 21, 2024 · 1 comment

Comments

@MiloMJW
Copy link

MiloMJW commented Aug 21, 2024

确认

  • 我的版本是最新版本, 我的版本号与 version 相同, 并且项目里无依赖冲突
  • 我已经在 issue 中搜索过, 确认问题没有被提出过
  • 我已经修改标题, 将标题中的 描述 替换为遇到的问题

当前程序版本

3.5.3

问题描述

while(var8.hasNext()) {
Expression expression = (Expression)var8.next();
if (expression instanceof JdbcParameter) {
++removeParamCount;
}
}
中有缺陷var8.next() 如果是 BinaryExpression 比如 update语句中带有 set column=column+?会有exception
if (expression instanceof BinaryExpression) {
BinaryExpression subtraction = (BinaryExpression)expression;
boolean hasJdbcParameter = false;
if (subtraction.getLeftExpression() instanceof JdbcParameter || subtraction.getRightExpression() instanceof JdbcParameter) {
++removeParamCount;
}
} else if (expression instanceof JdbcParameter) {
++removeParamCount;
}
类似这样的修复,当然可能还有其他负责的expression 我没有去测试

详细堆栈日志

No response

@nieqiurong
Copy link
Contributor

#6430

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

No branches or pull requests

2 participants