DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUGĀ· RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT <http://issues.apache.org/bugzilla/show_bug.cgi?id=44413>. ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED ANDĀ· INSERTED IN THE BUG DATABASE.
http://issues.apache.org/bugzilla/show_bug.cgi?id=44413 [EMAIL PROTECTED] changed: What |Removed |Added ---------------------------------------------------------------------------- Summary|INDEX() formula cannot |[patch] INDEX() formula |contain its own location in |cannot contain its own |the data array range |location in the data array | |range ------- Additional Comments From [EMAIL PROTECTED] 2008-02-13 14:34 ------- Bugfix patch submitted. The root problem is that the scratchpad evaluator does(/did) not handle circular references (it crashes with SOE). Some functions like INDEX, OFFSET, VLOOKUP are distinguished by the characteristic that not every cell in the range arguments has to be evaluated. This is in contrast to more basic functions like SUM and COUNTIF where every input cell must be evaluated. Functions like INDEX can be set up to potentially cause cyclic references, but nonetheless behave OK due to careful choice of other parameters (like in this example). POI's evaluation strategy is to fully evaluate all operator arguments prior to calling the operator. So the situation described here causes SOE due to a cyclic reference on cell A4 even though cell A4 should eventually get ignored by this call to INDEX. The patch supplied here allows HSSFFormulaEvaluator to handle cyclic references (and *potential* cyclic references) gracefully. No change was made to the INDEX function. A junit test case was added to show this bug (exactly as described), and also some simpler cyclic errors involving plain cell references. -- Configure bugmail: http://issues.apache.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]