Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Fixed
-
3.1.2, 4.0.RC1, 4.1.M2
-
None
Description
When collection in notInExp() contains more than 1000 items, the ExpressionException is thrown:
org.apache.cayenne.exp.ExpressionException: [v.3.1.2 Nov 13 2017 07:52:36] Or: invalid parent - Negate at org.apache.cayenne.exp.parser.AggregateConditionNode.jjtSetParent(AggregateConditionNode.java:80) at org.apache.cayenne.exp.parser.SimpleNode.connectChildren(SimpleNode.java:324) ...
Code to reproduce the problem
SelectQuery query = new SelectQuery(Artist.class); List<Integer> excluded = new ArrayList<Integer>(); for (int i = 0; i < 1001; ++i) { excluded.add(i); } query.andQualifier(ExpressionFactory.notInExp(Artist.ID_PK_COLUMN, excluded)); getContext().performQuery(query);
Attachments
Attachments
Issue Links
- relates to
-
CAY-1263 Oracle adapter should automatically strip IN clauses with more than 1000 elements
- Closed
Thanks for the report!