mistyzyq
mistyzyq
问题版本:1.10.9 开启分页查询优化的情况下,当 join 的表出现在查询条件中时,条件中 join 表的字段只能出现在左边。 如下面的复现代码,where条件是筛选出两张表 join 之后 checksum 字段值不相等的记录, ` where(CashBook::getChecksum).ne(FlowStatement::getChecksum); ` 但当cashbook表在where条件左边时,FlowStatement表会在分页查询优化时被移除掉,导致sql执行报错。 复现代码段如下: ``` QueryWrapper query = QueryWrapper.create().select() .from(CashBook.class).as("b") .leftJoin(FlowStatement.class).as("s") .on(CashBook::getEbrId, FlowStatement::getEbrId) //.where(CashBook::getChecksum).ne(FlowStatement::getChecksum); .where(FlowStatement::getChecksum).ne(CashBook::getChecksum); // 可以正确执行 var...
问题版本:5.4.3 测试代码(Java 17): ``` String content = "a + b;\n" + "x = a+b;\n" + // 报错行 "return x;\n" ; Expression expression = AviatorEvaluator.getInstance().compile(content, false); expression.execute(Map.of( "a", 1, "b", 2...