Apache OpenOffice (AOO) Bugzilla – Full Text Issue Listing
|Summary:||ODFF: reference operators ~ and ! have wrong precedence|
|Product:||Calc||Reporter:||Regina Henschel <rb.henschel>|
|Status:||CLOSED FIXED||QA Contact:||issues@sc <issues>|
|Issue Type:||DEFECT||Latest Confirmation in:||---|
|Issue Depends on:|
Description Regina Henschel 2009-09-17 23:08:40 UTC
According to spec ODF1.2 chapter 5.5 the intersection has a higher precedence than union. Therefore an expression like a~b!c should be calculated as a~(b!c) but it is calculated as (a~b)!c. According to chapter 6.3.12 the latter equals (a!c)~(b!c). The attached spreadsheet uses the INDEX function in array context to show which ranges are contained in the final multiple range result. _a, _b, _c are named ranges.
Comment 1 Regina Henschel 2009-09-17 23:11:03 UTC
Created attachment 64821 [details] precedence testcase with intersection and union reference operators
Comment 2 ooo 2009-09-24 13:28:30 UTC
oops.. how embarrassing, it was even documented wrong in the testcase document http://www.openoffice.org/nonav/issues/showattachment.cgi/51411/i32341_ocunion_2.ods of feature issue 32341, see cells B15 and B18. The online help has it correct. Nominating as 3.2 stopper.
Comment 3 ooo 2009-10-05 15:27:29 UTC
In cws calc32stopper3: revision 276686 formula/source/core/api/FormulaCompiler.cxx
Comment 4 ooo 2009-10-05 15:32:51 UTC
Created attachment 65143 [details] Adapted test cases from issue 32341; if exported to .xls Excel shows identical values for the cases it can handle, others are #VALUE! errors.
Comment 5 ooo 2009-10-13 17:10:40 UTC
Reassigning to QA for verification.
Comment 6 oc 2009-10-16 12:37:54 UTC
verified in internal build cws_calc32stopper3