I've got an obscure bug in our app that is caused by a stack
overflow with Derby.

The problem is that 'OR' is implemented recursively inside Derby, so
when using ExpressionFactoyr.inExp() w/a *long* list, the stack overflows.


Can this be worked around in the Cayenne Derby adapter?

Should it?

Ideally I'd like to see it worked around in the Cayenne Derby adapter and
fixed in Derby I guess.


# Caused by: java.lang.StackOverflowError
# org.apache.derby.impl.sql.compile.OrNode.bindExpression(Unknown Source)
# org.apache.derby.impl.sql.compile.BinaryOperatorNode.bindExpression(Unknown
Source)
# 
org.apache.derby.impl.sql.compile.BinaryLogicalOperatorNode.bindExpression(Unknown
Source)
# org.apache.derby.impl.sql.compile.OrNode.bindExpression(Unknown Source)
# org.apache.derby.impl.sql.compile.BinaryOperatorNode.bindExpression(Unknown
Source)
# 
org.apache.derby.impl.sql.compile.BinaryLogicalOperatorNode.bindExpression(Unknown
Source)
# org.apache.derby.impl.sql.compile.OrNode.bindExpression(Unknown Source)
# org.apache.derby.impl.sql.compile.BinaryOperatorNode.bindExpression(Unknown
Source)
# 
org.apache.derby.impl.sql.compile.BinaryLogicalOperatorNode.bindExpression(Unknown
Source)


-- 
Øyvind Harboe
http://www.zylin.com/zy1000.html
ARM7 ARM9 XScale Cortex
JTAG debugger and flash programmer

Reply via email to