<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML xmlns="http://www.w3.org/TR/REC-html40" xmlns:v = 
"urn:schemas-microsoft-com:vml" xmlns:o = 
"urn:schemas-microsoft-com:office:office" xmlns:w = 
"urn:schemas-microsoft-com:office:word" xmlns:m = 
"http://schemas.microsoft.com/office/2004/12/omml"><HEAD>
<META content="text/html; charset=us-ascii" http-equiv=Content-Type>
<META name=GENERATOR content="MSHTML 8.00.6001.18865"><!--[if !mso]>
<STYLE>v\:* {
        BEHAVIOR: url(#default#VML)
}
o\:* {
        BEHAVIOR: url(#default#VML)
}
w\:* {
        BEHAVIOR: url(#default#VML)
}
.shape {
        BEHAVIOR: url(#default#VML)
}
</STYLE>
<![endif]-->
<STYLE>@font-face {
        font-family: Calibri;
}
@font-face {
        font-family: Tahoma;
}
@font-face {
        font-family: Lucida Sans;
}
@page Section1 {size: 8.5in 11.0in; margin: 1.0in 1.0in 1.0in 1.0in; }
P.MsoNormal {
        MARGIN: 0in 0in 0pt; FONT-FAMILY: "Times New Roman","serif"; FONT-SIZE: 12pt
}
LI.MsoNormal {
        MARGIN: 0in 0in 0pt; FONT-FAMILY: "Times New Roman","serif"; FONT-SIZE: 12pt
}
DIV.MsoNormal {
        MARGIN: 0in 0in 0pt; FONT-FAMILY: "Times New Roman","serif"; FONT-SIZE: 12pt
}
A:link {
        COLOR: blue; TEXT-DECORATION: underline; mso-style-priority: 99
}
SPAN.MsoHyperlink {
        COLOR: blue; TEXT-DECORATION: underline; mso-style-priority: 99
}
A:visited {
        COLOR: purple; TEXT-DECORATION: underline; mso-style-priority: 99
}
SPAN.MsoHyperlinkFollowed {
        COLOR: purple; TEXT-DECORATION: underline; mso-style-priority: 99
}
P {
        FONT-FAMILY: "Times New Roman","serif"; MARGIN-LEFT: 0in; FONT-SIZE: 12pt; MARGIN-RIGHT: 0in; mso-style-priority: 99; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto
}
SPAN.EmailStyle18 {
        FONT-FAMILY: "Calibri","sans-serif"; COLOR: #1f497d; mso-style-type: personal
}
SPAN.EmailStyle19 {
        FONT-FAMILY: "Calibri","sans-serif"; COLOR: #1f497d; mso-style-type: personal-reply
}
.MsoChpDefault {
        FONT-SIZE: 10pt; mso-style-type: export-only
}
DIV.Section1 {
        page: Section1
}
</STYLE>
<!--[if gte mso 9]><xml>
 <o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
 <o:shapelayout v:ext="edit">
  <o:idmap v:ext="edit" data="1" />
 </o:shapelayout></xml><![endif]--></HEAD>
<BODY lang=EN-US link=blue vLink=purple>
<DIV><FONT color=#000080 size=2 face="Lucida Sans"><SPAN 
class=331094522-06012010>All SQL generation code must be deterministic. It's not 
practical to regression test mondrian if the SQL changes for reasons as spurious 
as a different JDK. As I said, look for code that depends on iterator order over 
hashmaps and hashsets.</SPAN></FONT></DIV><FONT color=#000080 size=2 
face="Lucida Sans"></FONT><FONT color=#000080 size=2 
face="Lucida Sans"></FONT><FONT color=#000080 size=2 
face="Lucida Sans"></FONT><FONT color=#000080 size=2 
face="Lucida Sans"></FONT><BR>
<BLOCKQUOTE 
style="BORDER-LEFT: #000080 2px solid; PADDING-LEFT: 5px; MARGIN-LEFT: 5px; MARGIN-RIGHT: 0px" 
dir=ltr>
  <DIV dir=ltr lang=en-us class=OutlookMessageHeader align=left>
  <HR tabIndex=-1>
  <FONT size=2 face=Tahoma><B>From:</B> Kurtis.Walker@thomsonreuters.com 
  [mailto:Kurtis.Walker@thomsonreuters.com] <BR><B>Sent:</B> Wednesday, January 
  06, 2010 7:49 AM<BR><B>To:</B> jhyde@pentaho.com; mondrian@pentaho.org; 
  mkambol@gmail.com<BR><B>Subject:</B> RE: [Mondrian] 
  NonEmptyTest.testConstrainedMeasureGetsOptimized<BR></FONT><BR></DIV>
  <DIV></DIV>
  <DIV class=Section1>
  <P class=MsoNormal><SPAN 
  style="FONT-FAMILY: 'Calibri','sans-serif'; COLOR: #1f497d; FONT-SIZE: 11pt">I 
  checked in changelist 13287 for Oracle on jdk 1.6.<o:p></o:p></SPAN></P>
  <P class=MsoNormal><SPAN 
  style="FONT-FAMILY: 'Calibri','sans-serif'; COLOR: #1f497d; FONT-SIZE: 11pt"><o:p>&nbsp;</o:p></SPAN></P>
  <P class=MsoNormal><SPAN 
  style="FONT-FAMILY: 'Calibri','sans-serif'; COLOR: #1f497d; FONT-SIZE: 11pt">For 
  the failure on 1.5, the order of the &#8220;and&#8221; conditions are different from 1.6, 
  the sql would still produce the correct results though.&nbsp; Any hints on how 
  I can make the test work with both?<o:p></o:p></SPAN></P>
  <P class=MsoNormal><SPAN 
  style="FONT-FAMILY: 'Calibri','sans-serif'; COLOR: #1f497d; FONT-SIZE: 11pt"><o:p>&nbsp;</o:p></SPAN></P>
  <P class=MsoNormal><SPAN 
  style="FONT-FAMILY: 'Calibri','sans-serif'; COLOR: #1f497d; FONT-SIZE: 11pt">Kurt<o:p></o:p></SPAN></P>
  <P class=MsoNormal><SPAN 
  style="FONT-FAMILY: 'Calibri','sans-serif'; COLOR: #1f497d; FONT-SIZE: 11pt"><o:p>&nbsp;</o:p></SPAN></P>
  <DIV>
  <DIV 
  style="BORDER-BOTTOM: medium none; BORDER-LEFT: medium none; PADDING-BOTTOM: 0in; PADDING-LEFT: 0in; PADDING-RIGHT: 0in; BORDER-TOP: #b5c4df 1pt solid; BORDER-RIGHT: medium none; PADDING-TOP: 3pt">
  <P class=MsoNormal><B><SPAN 
  style="FONT-FAMILY: 'Tahoma','sans-serif'; FONT-SIZE: 10pt">From:</SPAN></B><SPAN 
  style="FONT-FAMILY: 'Tahoma','sans-serif'; FONT-SIZE: 10pt"> Julian Hyde 
  [mailto:jhyde@pentaho.com] <BR><B>Sent:</B> Tuesday, January 05, 2010 1:35 
  PM<BR><B>To:</B> Walker, Kurtis (Healthcare USA); mondrian@pentaho.org; 
  mkambol@gmail.com<BR><B>Subject:</B> RE: [Mondrian] 
  NonEmptyTest.testConstrainedMeasureGetsOptimized<o:p></o:p></SPAN></P></DIV></DIV>
  <P class=MsoNormal><o:p>&nbsp;</o:p></P>
  <DIV>
  <P class=MsoNormal><SPAN 
  style="FONT-FAMILY: 'Lucida Sans','sans-serif'; COLOR: navy; FONT-SIZE: 10pt">Hudson 
  runs against MySQL, not Oracle.</SPAN><o:p></o:p></P></DIV>
  <DIV>
  <P class=MsoNormal>&nbsp;<o:p></o:p></P></DIV>
  <DIV>
  <P class=MsoNormal><SPAN 
  style="FONT-FAMILY: 'Lucida Sans','sans-serif'; COLOR: navy; FONT-SIZE: 10pt">Nothing 
  special about the environment. It's JDK 1.6 linux, oracle-xe 10.2. When I run 
  it on JDK 1.5 I get 4 different failures in 
  NonEmptyTest:</SPAN><o:p></o:p></P></DIV>
  <DIV>
  <P class=MsoNormal>&nbsp;<o:p></o:p></P></DIV>
  <DIV>
  <P><SPAN lang=EN>[java] There were 4 failures:<o:p></o:p></SPAN></P>
  <P><SPAN lang=EN>[java] 1) 
  testNativeCrossjoinWillConstrainUsingArgsFromAllAxes(mondrian.rolap.NonEmptyTest)junit.framework.AssertionFailedError: 
  expected query [select "time_by_day"."the_year" as "c0", 
  "promotion"."promotion_name" as "c1" from "time_by_day" "time_by_day", 
  "sales_fact_1997" "sales_fact_1997", "promotion" "promotion", "customer" 
  "customer" where "sales_fact_1997"."time_id" = "time_by_day"."time_id" and 
  "sales_fact_1997"."promotion_id" = "promotion"."promotion_id" and 
  ("promotion"."promotion_name" in ('Bag Stuffers', 'Best Savings')) and 
  "sales_fact_1997"."customer_id" = "customer"."customer_id" and 
  ("customer"."gender" = 'F') and ("time_by_day"."the_year" = 1997) group by 
  "time_by_day"."the_year", "promotion"."promotion_name" order by 1 ASC, 2 ASC] 
  did not occur<o:p></o:p></SPAN></P>
  <P><SPAN lang=EN>[java] at 
  mondrian.rolap.BatchTestCase.assertQuerySqlOrNot(BatchTestCase.java:427)<o:p></o:p></SPAN></P>
  <P><SPAN lang=EN>[java] at 
  mondrian.rolap.BatchTestCase.assertQuerySql(BatchTestCase.java:294)<o:p></o:p></SPAN></P>
  <P><SPAN lang=EN>[java] at 
  mondrian.rolap.NonEmptyTest.testNativeCrossjoinWillConstrainUsingArgsFromAllAxes(NonEmptyTest.java:3678)<o:p></o:p></SPAN></P>
  <P><SPAN lang=EN>[java] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native 
  Method)<o:p></o:p></SPAN></P>
  <P><SPAN lang=EN>[java] at 
  sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)<o:p></o:p></SPAN></P>
  <P><SPAN lang=EN>[java] at 
  sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)<o:p></o:p></SPAN></P>
  <P><SPAN lang=EN>[java] at 
  mondrian.test.MondrianTestRunner$2.run(MondrianTestRunner.java:139)<o:p></o:p></SPAN></P>
  <P><SPAN lang=EN>[java] at 
  java.lang.Thread.run(Thread.java:595)<o:p></o:p></SPAN></P>
  <P><SPAN lang=EN>[java] 2) 
  testNativeCrossjoinWillExpandFirstLastChild(mondrian.rolap.NonEmptyTest)junit.framework.AssertionFailedError: 
  expected query [select "time_by_day"."the_year" as "c0", 
  "promotion"."promotion_name" as "c1" from "time_by_day" "time_by_day", 
  "sales_fact_1997" "sales_fact_1997", "promotion" "promotion", "customer" 
  "customer" where "sales_fact_1997"."time_id" = "time_by_day"."time_id" and 
  "sales_fact_1997"."promotion_id" = "promotion"."promotion_id" and 
  "sales_fact_1997"."customer_id" = "customer"."customer_id" and 
  ("customer"."gender" in ('F', 'M')) and ("promotion"."promotion_name" in ('Bag 
  Stuffers', 'Best Savings')) and ("time_by_day"."the_year" = 1997) group by 
  "time_by_day"."the_year", "promotion"."promotion_name" order by 1 ASC, 2 ASC] 
  did not occur<o:p></o:p></SPAN></P>
  <P><SPAN lang=EN>[java] at 
  mondrian.rolap.BatchTestCase.assertQuerySqlOrNot(BatchTestCase.java:427)<o:p></o:p></SPAN></P>
  <P><SPAN lang=EN>[java] at 
  mondrian.rolap.BatchTestCase.assertQuerySql(BatchTestCase.java:294)<o:p></o:p></SPAN></P>
  <P><SPAN lang=EN>[java] at 
  mondrian.rolap.NonEmptyTest.testNativeCrossjoinWillExpandFirstLastChild(NonEmptyTest.java:3732)<o:p></o:p></SPAN></P>
  <P><SPAN lang=EN>[java] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native 
  Method)<o:p></o:p></SPAN></P>
  <P><SPAN lang=EN>[java] at 
  sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)<o:p></o:p></SPAN></P>
  <P><SPAN lang=EN>[java] at 
  sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)<o:p></o:p></SPAN></P>
  <P><SPAN lang=EN>[java] at 
  mondrian.test.MondrianTestRunner$2.run(MondrianTestRunner.java:139)<o:p></o:p></SPAN></P>
  <P><SPAN lang=EN>[java] at 
  java.lang.Thread.run(Thread.java:595)<o:p></o:p></SPAN></P>
  <P><SPAN lang=EN>[java] 3) 
  testNativeCrossjoinWillExpandLagInNamedSet(mondrian.rolap.NonEmptyTest)junit.framework.AssertionFailedError: 
  expected query [select "time_by_day"."the_year" as "c0", 
  "promotion"."promotion_name" as "c1" from "time_by_day" "time_by_day", 
  "sales_fact_1997" "sales_fact_1997", "promotion" "promotion", "customer" 
  "customer" where "sales_fact_1997"."time_id" = "time_by_day"."time_id" and 
  "sales_fact_1997"."promotion_id" = "promotion"."promotion_id" and 
  "sales_fact_1997"."customer_id" = "customer"."customer_id" and 
  ("customer"."gender" in ('F', 'M')) and ("promotion"."promotion_name" in ('Bag 
  Stuffers', 'Best Savings')) and ("time_by_day"."the_year" = 1997) group by 
  "time_by_day"."the_year", "promotion"."promotion_name" order by 1 ASC, 2 ASC] 
  did not occur<o:p></o:p></SPAN></P>
  <P><SPAN lang=EN>[java] at 
  mondrian.rolap.BatchTestCase.assertQuerySqlOrNot(BatchTestCase.java:427)<o:p></o:p></SPAN></P>
  <P><SPAN lang=EN>[java] at 
  mondrian.rolap.BatchTestCase.assertQuerySql(BatchTestCase.java:294)<o:p></o:p></SPAN></P>
  <P><SPAN lang=EN>[java] at 
  mondrian.rolap.NonEmptyTest.testNativeCrossjoinWillExpandLagInNamedSet(NonEmptyTest.java:3756)<o:p></o:p></SPAN></P>
  <P><SPAN lang=EN>[java] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native 
  Method)<o:p></o:p></SPAN></P>
  <P><SPAN lang=EN>[java] at 
  sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)<o:p></o:p></SPAN></P>
  <P><SPAN lang=EN>[java] at 
  sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)<o:p></o:p></SPAN></P>
  <P><SPAN lang=EN>[java] at 
  mondrian.test.MondrianTestRunner$2.run(MondrianTestRunner.java:139)<o:p></o:p></SPAN></P>
  <P><SPAN lang=EN>[java] at 
  java.lang.Thread.run(Thread.java:595)<o:p></o:p></SPAN></P>
  <P><SPAN lang=EN>[java] 4) 
  testConstrainedMeasureGetsOptimized(mondrian.rolap.NonEmptyTest)junit.framework.AssertionFailedError: 
  expected query [select "customer"."country" as "c0", 
  "customer"."state_province" as "c1", "customer"."city" as "c2", 
  "customer"."customer_id" as "c3", "fname" || ' ' || "lname" as "c4", "fname" 
  || ' ' || "lname" as "c5", "customer"."gender" as "c6", 
  "customer"."marital_status" as "c7", "customer"."education" as "c8", 
  "customer"."yearly_income" as "c9" from "customer" "customer", 
  "sales_fact_1997" "sales_fact_1997" where "sales_fact_1997"."customer_id" = 
  "customer"."customer_id" and ("customer"."gender" in ('M', 'F')) group by 
  "customer"."country", "customer"."state_province", "customer"."city", 
  "customer"."customer_id", "fname" || ' ' || "lname", "customer"."gender", 
  "customer"."marital_status", "customer"."education", 
  "customer"."yearly_income" order by "customer"."country" ASC, 
  "customer"."state_province" ASC, "customer"."city" ASC, "fname" || ' ' || 
  "lname" ASC] did not occur<o:p></o:p></SPAN></P>
  <P><SPAN lang=EN>[java] at 
  mondrian.rolap.BatchTestCase.assertQuerySqlOrNot(BatchTestCase.java:427)<o:p></o:p></SPAN></P>
  <P><SPAN lang=EN>[java] at 
  mondrian.rolap.BatchTestCase.assertQuerySql(BatchTestCase.java:294)<o:p></o:p></SPAN></P>
  <P><SPAN lang=EN>[java] at 
  mondrian.rolap.NonEmptyTest.testConstrainedMeasureGetsOptimized(NonEmptyTest.java:3795)<o:p></o:p></SPAN></P>
  <P><SPAN lang=EN>[java] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native 
  Method)<o:p></o:p></SPAN></P>
  <P><SPAN lang=EN>[java] at 
  sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)<o:p></o:p></SPAN></P>
  <P><SPAN lang=EN>[java] at 
  sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)<o:p></o:p></SPAN></P>
  <P><SPAN lang=EN>[java] at 
  mondrian.test.MondrianTestRunner$2.run(MondrianTestRunner.java:139)<o:p></o:p></SPAN></P>
  <P><SPAN lang=EN>[java] at 
  java.lang.Thread.run(Thread.java:595)<o:p></o:p></SPAN></P>
  <P>&nbsp;<o:p></o:p></P>
  <P><SPAN 
  style="FONT-FAMILY: 'Lucida Sans','sans-serif'; COLOR: navy; FONT-SIZE: 10pt">Can 
  you look into those failures also.</SPAN><o:p></o:p></P></DIV>
  <DIV>
  <P class=MsoNormal><SPAN 
  style="FONT-FAMILY: 'Lucida Sans','sans-serif'; COLOR: navy; FONT-SIZE: 10pt">I 
  notice that ('F', 'M') occurs in some queries, ('M', 'F') in others. This is a 
  hint that there is non-determinism in your code. Make sure you are not relying 
  on iterator order of hashmaps or hashsets.</SPAN><o:p></o:p></P></DIV>
  <DIV>
  <P class=MsoNormal>&nbsp;<o:p></o:p></P></DIV>
  <DIV>
  <P class=MsoNormal><SPAN 
  style="FONT-FAMILY: 'Lucida Sans','sans-serif'; COLOR: navy; FONT-SIZE: 10pt">Julian</SPAN><o:p></o:p></P></DIV>
  <DIV>
  <P class=MsoNormal><BR>&nbsp;<o:p></o:p></P></DIV>
  <BLOCKQUOTE 
  style="BORDER-BOTTOM: medium none; BORDER-LEFT: navy 1.5pt solid; PADDING-BOTTOM: 0in; MARGIN: 5pt 0in 5pt 3.75pt; PADDING-LEFT: 4pt; PADDING-RIGHT: 0in; BORDER-TOP: medium none; BORDER-RIGHT: medium none; PADDING-TOP: 0in">
    <DIV style="TEXT-ALIGN: center" class=MsoNormal align=center>
    <HR align=center SIZE=2 width="100%">
    </DIV>
    <P style="MARGIN-BOTTOM: 12pt" class=MsoNormal><B><SPAN 
    style="FONT-FAMILY: 'Tahoma','sans-serif'; FONT-SIZE: 10pt">From:</SPAN></B><SPAN 
    style="FONT-FAMILY: 'Tahoma','sans-serif'; FONT-SIZE: 10pt"> 
    Kurtis.Walker@thomsonreuters.com [mailto:Kurtis.Walker@thomsonreuters.com] 
    <BR><B>Sent:</B> Tuesday, January 05, 2010 9:59 AM<BR><B>To:</B> 
    jhyde@pentaho.com; mondrian@pentaho.org; 
    mkambol@gmail.com<BR><B>Subject:</B> RE: [Mondrian] 
    NonEmptyTest.testConstrainedMeasureGetsOptimized</SPAN><o:p></o:p></P>
    <P class=MsoNormal><SPAN 
    style="FONT-FAMILY: 'Calibri','sans-serif'; COLOR: #1f497d; FONT-SIZE: 11pt">Julian,<o:p></o:p></SPAN></P>
    <P class=MsoNormal><SPAN 
    style="FONT-FAMILY: 'Calibri','sans-serif'; COLOR: #1f497d; FONT-SIZE: 11pt"><o:p>&nbsp;</o:p></SPAN></P>
    <P class=MsoNormal><SPAN 
    style="FONT-FAMILY: 'Calibri','sans-serif'; COLOR: #1f497d; FONT-SIZE: 11pt">Our 
    environment is Oracle and the test is passing.&nbsp; Is there anything else 
    different about the environment where it fails?&nbsp; Also, we thought that 
    the Hudson build ran against Oracle.&nbsp; The Hudson build is green right 
    now, so are we incorrect that it runs against Oracle?<o:p></o:p></SPAN></P>
    <P class=MsoNormal><SPAN 
    style="FONT-FAMILY: 'Calibri','sans-serif'; COLOR: #1f497d; FONT-SIZE: 11pt"><o:p>&nbsp;</o:p></SPAN></P>
    <P class=MsoNormal><SPAN 
    style="FONT-FAMILY: 'Calibri','sans-serif'; COLOR: #1f497d; FONT-SIZE: 11pt">Kurt<o:p></o:p></SPAN></P>
    <P class=MsoNormal><SPAN 
    style="FONT-FAMILY: 'Calibri','sans-serif'; COLOR: #1f497d; FONT-SIZE: 11pt"><o:p>&nbsp;</o:p></SPAN></P>
    <DIV>
    <DIV 
    style="BORDER-BOTTOM: medium none; BORDER-LEFT: medium none; PADDING-BOTTOM: 0in; PADDING-LEFT: 0in; PADDING-RIGHT: 0in; BORDER-TOP: #b5c4df 1pt solid; BORDER-RIGHT: medium none; PADDING-TOP: 3pt">
    <P class=MsoNormal><B><SPAN 
    style="FONT-FAMILY: 'Tahoma','sans-serif'; FONT-SIZE: 10pt">From:</SPAN></B><SPAN 
    style="FONT-FAMILY: 'Tahoma','sans-serif'; FONT-SIZE: 10pt"> 
    mondrian-bounces@pentaho.org [mailto:mondrian-bounces@pentaho.org] <B>On 
    Behalf Of </B>Julian Hyde<BR><B>Sent:</B> Tuesday, January 05, 2010 12:41 
    PM<BR><B>To:</B> 'Matt Campbell'<BR><B>Cc:</B> 'Mondrian developer mailing 
    list'<BR><B>Subject:</B> [Mondrian] 
    NonEmptyTest.testConstrainedMeasureGetsOptimized<o:p></o:p></SPAN></P></DIV></DIV>
    <P class=MsoNormal><o:p>&nbsp;</o:p></P>
    <DIV>
    <P class=MsoNormal><SPAN 
    style="FONT-FAMILY: 'Lucida Sans','sans-serif'; COLOR: navy; FONT-SIZE: 10pt">Matt,</SPAN><o:p></o:p></P></DIV>
    <DIV>
    <P class=MsoNormal>&nbsp;<o:p></o:p></P></DIV>
    <DIV>
    <P class=MsoNormal><SPAN 
    style="FONT-FAMILY: 'Lucida Sans','sans-serif'; COLOR: navy; FONT-SIZE: 10pt">NonEmptyTest.testConstrainedMeasureGetsOptimized 
    is failing on Oracle:</SPAN><o:p></o:p></P></DIV>
    <DIV>
    <P><SPAN 
    style="FONT-FAMILY: 'Lucida Sans','sans-serif'; COLOR: navy; FONT-SIZE: 10pt" 
    lang=EN>[java] There was 1 failure:</SPAN><SPAN 
    lang=EN><o:p></o:p></SPAN></P>
    <P><SPAN 
    style="FONT-FAMILY: 'Lucida Sans','sans-serif'; COLOR: navy; FONT-SIZE: 10pt" 
    lang=EN>[java] 1) 
    testConstrainedMeasureGetsOptimized(mondrian.rolap.NonEmptyTest)junit.framework.AssertionFailedError: 
    expected query [select "customer"."country" as "c0", 
    "customer"."state_province" as "c1", "customer"."city" as "c2", 
    "customer"."customer_id" as "c3", "fname" || ' ' || "lname" as "c4", "fname" 
    || ' ' || "lname" as "c5", "customer"."gender" as "c6", 
    "customer"."marital_status" as "c7", "customer"."education" as "c8", 
    "customer"."yearly_income" as "c9" from "customer" "customer", 
    "sales_fact_1997" "sales_fact_1997" where "sales_fact_1997"."customer_id" = 
    "customer"."customer_id" and ("customer"."gender" in ('M', 'F')) group by 
    "customer"."country", "customer"."state_province", "customer"."city", 
    "customer"."customer_id", "fname" || ' ' || "lname", "customer"."gender", 
    "customer"."marital_status", "customer"."education", 
    "customer"."yearly_income" order by "customer"."country" ASC, 
    "customer"."state_province" ASC, "customer"."city" ASC, "fname" || ' ' || 
    "lname" ASC] did not occur</SPAN><SPAN lang=EN><o:p></o:p></SPAN></P>
    <P><SPAN 
    style="FONT-FAMILY: 'Lucida Sans','sans-serif'; COLOR: navy; FONT-SIZE: 10pt" 
    lang=EN>[java] at 
    mondrian.rolap.BatchTestCase.assertQuerySqlOrNot(BatchTestCase.java:427)</SPAN><SPAN 
    lang=EN><o:p></o:p></SPAN></P>
    <P><SPAN 
    style="FONT-FAMILY: 'Lucida Sans','sans-serif'; COLOR: navy; FONT-SIZE: 10pt" 
    lang=EN>[java] at 
    mondrian.rolap.BatchTestCase.assertQuerySql(BatchTestCase.java:294)</SPAN><SPAN 
    lang=EN><o:p></o:p></SPAN></P>
    <P><SPAN 
    style="FONT-FAMILY: 'Lucida Sans','sans-serif'; COLOR: navy; FONT-SIZE: 10pt" 
    lang=EN>[java] at 
    mondrian.rolap.NonEmptyTest.testConstrainedMeasureGetsOptimized(NonEmptyTest.java:3795)</SPAN><SPAN 
    lang=EN><o:p></o:p></SPAN></P>
    <P><SPAN 
    style="FONT-FAMILY: 'Lucida Sans','sans-serif'; COLOR: navy; FONT-SIZE: 10pt" 
    lang=EN>[java] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native 
    Method)</SPAN><SPAN lang=EN><o:p></o:p></SPAN></P>
    <P><SPAN 
    style="FONT-FAMILY: 'Lucida Sans','sans-serif'; COLOR: navy; FONT-SIZE: 10pt" 
    lang=EN>[java] at 
    sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)</SPAN><SPAN 
    lang=EN><o:p></o:p></SPAN></P>
    <P><SPAN 
    style="FONT-FAMILY: 'Lucida Sans','sans-serif'; COLOR: navy; FONT-SIZE: 10pt" 
    lang=EN>[java] at 
    sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)</SPAN><SPAN 
    lang=EN><o:p></o:p></SPAN></P>
    <P><SPAN 
    style="FONT-FAMILY: 'Lucida Sans','sans-serif'; COLOR: navy; FONT-SIZE: 10pt" 
    lang=EN>[java] at 
    mondrian.test.MondrianTestRunner$2.run(MondrianTestRunner.java:139)</SPAN><SPAN 
    lang=EN><o:p></o:p></SPAN></P>
    <P><SPAN 
    style="FONT-FAMILY: 'Lucida Sans','sans-serif'; COLOR: navy; FONT-SIZE: 10pt" 
    lang=EN>[java] at java.lang.Thread.run(Thread.java:619)</SPAN><SPAN 
    lang=EN><o:p></o:p></SPAN></P>
    <P><SPAN lang=EN>&nbsp;<o:p></o:p></SPAN></P>
    <P><SPAN 
    style="FONT-FAMILY: 'Lucida Sans','sans-serif'; COLOR: navy; FONT-SIZE: 10pt" 
    lang=EN>Julian</SPAN><SPAN 
  lang=EN><o:p></o:p></SPAN></P></DIV></BLOCKQUOTE></DIV></BLOCKQUOTE></BODY></HTML>