FW: [Mondrian] FW: DialectTest [Eigenbase perforce change
9288forreview]
Julian Hyde
julianhyde at speakeasy.net
Sun May 20 16:00:15 EDT 2007
Sherman,
Thanks for the postgres fixes. I have checked in as change 9290.
Richard,
Sherman's test log (attached) shows non-determinacy in CrossJoinTest
against Postgres. Can you take a look at that test please.
Julian
-----Original Message-----
From: mondrian-bounces at pentaho.org [mailto:mondrian-bounces at pentaho.org]
On Behalf Of Sherman Wood
Sent: Sunday, May 20, 2007 8:47 AM
To: Mondrian developer mailing list
Subject: RE: [Mondrian] FW: DialectTest [Eigenbase perforce change
9288forreview]
Failure in Postgres 8.2.3.
[java] 1)
testAllowsFromQuery(mondrian.test.DialectTest)mondrian.olap.MondrianExce
pt
ion: Mondrian Error:Internal error: query [select * from (select * from
"sales_fact_1997")] failed
[java] at
mondrian.resource.MondrianResource$_Def0.ex(MondrianResource.java:755)
[java] at mondrian.olap.Util.newInternal(Util.java:1103)
[java] at
mondrian.test.DialectTest.assertQuerySucceeds(DialectTest.java:357)
[java] at
mondrian.test.DialectTest.testAllowsFromQuery(DialectTest.java:202)
[java] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native
Method)
<snip>
[java] Caused by: org.postgresql.util.PSQLException: ERROR:
subquery
in FROM must have an alias
[java] at
org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecu
to
rImpl.java:1548)
I notice that:
SqlQuery.requiresAliasForFromItems() {
return isPostgres();
}
is now never called.
Sherman
-----Original Message-----
From: mondrian-bounces at pentaho.org [mailto:mondrian-bounces at pentaho.org]
On Behalf Of Julian Hyde
Sent: Saturday, May 19, 2007 3:13 PM
To: mondrian at pentaho.org
Subject: [Mondrian] FW: DialectTest [Eigenbase perforce change 9288
forreview]
I just added a unit test for the SqlQuery.Dialect class. The goal is to
make sure that Dialect is not under-stating any database's
capabilitities - so if a database cannot do something (say sort by
aliases defined in the select clause) then the test will require that
the database gives an error. This will help us detect when new versions
of databases fix old versions' failings, and thus fully exploit each
database.
I have run the test on Access, Oracle, MySQL and Derby. Can I have
volunteers to run the test on other databases; especially Postgres,
Microsoft SQL Server, DB2, Teradata, and LucidDB.
Julian
-----Original Message-----
From: Julian Hyde [mailto:jhyde at users.sourceforge.net]
Sent: Saturday, May 19, 2007 2:50 PM
To: Andreas Voss; Bart Pappyn; Julian Hyde; John V. Sichi; Matt
Campbell; Sam Birney; Zelaine Fong
Subject: Eigenbase perforce change 9288 for review
http://p4web.eigenbase.org/@md=d&c=6PU@//9288?ac=10
Change 9288 by jhyde at jhyde.marmalade2 on 2007/05/19 14:48:09
MONDRIAN: Add DialectTest.
Affected files ...
... //open/mondrian/src/main/mondrian/rolap/sql/SqlQuery.java#78 edit
... //open/mondrian/testsrc/main/mondrian/test/DialectTest.java#1 add
... //open/mondrian/testsrc/main/mondrian/test/Main.java#68 edit
... //open/mondrian/testsrc/main/mondrian/test/TestContext.java#41 edit
_______________________________________________
Mondrian mailing list
Mondrian at pentaho.org
http://lists.pentaho.org/mailman/listinfo/mondrian
-------------- next part --------------
Buildfile: build.xml
Overriding previous definition of reference to jdk
prepare:
parser:
[javacup] Files are up to date.
generate.resources:
[resgen] C:\Documents and Settings\swood\My Documents\pf\open\mondrian\src\main\mondrian\resource\MondrianResource.java is up to date
[resgen] C:\Documents and Settings\swood\My Documents\pf\open\mondrian\classes\mondrian\resource\MondrianResource.properties is up to date
[resgen] C:\Documents and Settings\swood\My Documents\pf\open\mondrian\src\main\mondrian\resource\MondrianResource_en_US.java is up to date
[resgen] C:\Documents and Settings\swood\My Documents\pf\open\mondrian\classes\mondrian\resource\MondrianResource_en_US.properties is up to date
[resgen] C:\Documents and Settings\swood\My Documents\pf\open\mondrian\src\main\mondrian\resource\MondrianResource_de_DE.java is up to date
[resgen] C:\Documents and Settings\swood\My Documents\pf\open\mondrian\classes\mondrian\resource\MondrianResource_de_DE.properties is up to date
[resgen] C:\Documents and Settings\swood\My Documents\pf\open\mondrian\src\main\mondrian\resource\MondrianResource_de.java is up to date
[resgen] C:\Documents and Settings\swood\My Documents\pf\open\mondrian\classes\mondrian\resource\MondrianResource_de.properties is up to date
[resgen] C:\Documents and Settings\swood\My Documents\pf\open\mondrian\src\main\mondrian\resource\MondrianResource_es_ES.java is up to date
[resgen] C:\Documents and Settings\swood\My Documents\pf\open\mondrian\classes\mondrian\resource\MondrianResource_es_ES.properties is up to date
def:
compile.java:
compile:
info:
[echo] ==============================================================
[echo] | Mondrian configuration info |
[echo] ==============================================================
[echo] project.location = C:\Documents and Settings\swood\My Documents\pf\open\mondrian
[echo] jdk.home = C:\Program Files\Java\jdk1.5.0_09
[echo] catalina.home = ${env.CATALINA_HOME}
[echo] junit.home = ${env.JUNIT_HOME}
[echo] mondrian.foodmart.catalogURL = file:C:\Documents and Settings\swood\My Documents\pf\open\mondrian/demo/FoodMart.xml
[echo] mondrian.foodmart.jdbcURL = jdbc:postgresql://localhost/foodmart
[echo] mondrian.jdbcDrivers = org.postgresql.Driver
[echo] ==============================================================
compile.tests:
set.connectString:
test:
Overriding previous definition of reference to jdk
set.connectString:
test-nobuild:
[echo] Connecting to jdbc:postgresql://localhost/foodmart
<snip>
[java] There were 2 errors:
[java] 1) testAllowsFromQuery(mondrian.test.DialectTest)mondrian.olap.MondrianException: Mondrian Error:Internal error: query [select * from (select * from "sales_fact_1997")] failed
[java] at mondrian.resource.MondrianResource$_Def0.ex(MondrianResource.java:755)
[java] at mondrian.olap.Util.newInternal(Util.java:1103)
[java] at mondrian.test.DialectTest.assertQuerySucceeds(DialectTest.java:357)
[java] at mondrian.test.DialectTest.testAllowsFromQuery(DialectTest.java:202)
[java] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
[java] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
[java] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
[java] at mondrian.test.MondrianTestRunner$2.run(MondrianTestRunner.java:130)
[java] at java.lang.Thread.run(Thread.java:595)
[java] Caused by: org.postgresql.util.PSQLException: ERROR: subquery in FROM must have an alias
[java] at org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:1548)
[java] at org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:1316)
[java] at org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:191)
[java] at org.postgresql.jdbc2.AbstractJdbc2Statement.execute(AbstractJdbc2Statement.java:452)
[java] at org.postgresql.jdbc2.AbstractJdbc2Statement.executeWithFlags(AbstractJdbc2Statement.java:337)
[java] at org.postgresql.jdbc2.AbstractJdbc2Statement.executeQuery(AbstractJdbc2Statement.java:236)
[java] at org.apache.commons.dbcp.DelegatingStatement.executeQuery(DelegatingStatement.java:188)
[java] at mondrian.test.DialectTest.assertQuerySucceeds(DialectTest.java:352)
[java] ... 17 more
[java] 2) testImmutableListMemberArrayListMemberListCalc(mondrian.olap.fun.CrossJoinTest)java.util.NoSuchElementException
[java] at mondrian.util.UnsupportedList$Itr.next(UnsupportedList.java:139)
[java] at mondrian.olap.fun.CrossJoinTest.toString(CrossJoinTest.java:1009)
[java] at mondrian.olap.fun.CrossJoinTest.doMemberArrayMemberListTest(CrossJoinTest.java:599)
[java] at mondrian.olap.fun.CrossJoinTest.testImmutableListMemberArrayListMemberListCalc(CrossJoinTest.java:551)
[java] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
[java] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
[java] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
[java] at mondrian.test.MondrianTestRunner$2.run(MondrianTestRunner.java:130)
[java] at java.lang.Thread.run(Thread.java:595)
[java] There were 4 failures:
[java] 1) testAllowsCompoundCountDistinct(mondrian.test.DialectTest)junit.framework.AssertionFailedError: error [ERROR: function count(integer, integer) does not exist] did not match any of the supplied patterns
[java] at mondrian.test.DialectTest.assertQueryFails(DialectTest.java:389)
[java] at mondrian.test.DialectTest.testAllowsCompoundCountDistinct(DialectTest.java:104)
[java] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
[java] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
[java] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
[java] at mondrian.test.MondrianTestRunner$2.run(MondrianTestRunner.java:130)
[java] at java.lang.Thread.run(Thread.java:595)
[java] 2) testImmutableListMemberListMemberListCalc(mondrian.olap.fun.CrossJoinTest)junit.framework.ComparisonFailure: expected:<...c,B],[c,C],[c...> but was:<...b,B],[b,C],[b...>
[java] at mondrian.olap.fun.CrossJoinTest.doMemberMemberListTest(CrossJoinTest.java:433)
[java] at mondrian.olap.fun.CrossJoinTest.testImmutableListMemberListMemberListCalc(CrossJoinTest.java:370)
[java] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
[java] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
[java] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
[java] at mondrian.test.MondrianTestRunner$2.run(MondrianTestRunner.java:130)
[java] at java.lang.Thread.run(Thread.java:595)
[java] 3) testImmutableListMemberListMemberArrayListCalc(mondrian.olap.fun.CrossJoinTest)junit.framework.ComparisonFailure: expected:<...m,n],[c,k,l...> but was:<...k,l],[b,m,n...>
[java] at mondrian.olap.fun.CrossJoinTest.doMemberMemberArrayListTest(CrossJoinTest.java:523)
[java] at mondrian.olap.fun.CrossJoinTest.testImmutableListMemberListMemberArrayListCalc(CrossJoinTest.java:471)
[java] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
[java] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
[java] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
[java] at mondrian.test.MondrianTestRunner$2.run(MondrianTestRunner.java:130)
[java] at java.lang.Thread.run(Thread.java:595)
[java] 4) testImmutableListMemberArrayListMemberArrayListCalc(mondrian.olap.fun.CrossJoinTest)junit.framework.ComparisonFailure: expected:<...Y,Z,k,l],[Y,Z,m,n...> but was:<...W,X,m,n],[Y,Z,k,l...>
[java] at mondrian.olap.fun.CrossJoinTest.doMemberArrayMemberArrayListTest(CrossJoinTest.java:717)
[java] at mondrian.olap.fun.CrossJoinTest.testImmutableListMemberArrayListMemberArrayListCalc(CrossJoinTest.java:665)
[java] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
[java] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
[java] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
[java] at mondrian.test.MondrianTestRunner$2.run(MondrianTestRunner.java:130)
[java] at java.lang.Thread.run(Thread.java:595)
[java] FAILURES!!!
[java] Tests run: 1375, Failures: 4, Errors: 2
[java] Time: 302.219
[java] Test stopped due to errors.
BUILD SUCCESSFUL
Total time: 5 minutes 6 seconds
-------------- next part --------------
_______________________________________________
Mondrian mailing list
Mondrian at pentaho.org
http://lists.pentaho.org/mailman/listinfo/mondrian
More information about the Mondrian
mailing list