Open dynamobi-build opened 12 years ago
[author="jvs", created="Mon, 21 Aug 2006 00:08:56 -0500 (GMT-05:00)"] Rushan, I think this will be resolved by your subquery validator fixes. Once Angel's changes get integrated, you can verify.
[author="rchen", created="Fri, 13 Oct 2006 11:04:18 -0500 (GMT-05:00)"] Scalar subqueries are now supported.
[author="jhyde", created="Sun, 23 Dec 2007 11:21:34 -0500 (GMT-05:00)"]
Reopening. The problem still exists. I tried to remove Bug.Frg189Fixed and when I ran SqlOperatorTests.testSelect I got an exception:
Caused by: org.eigenbase.sql.validate.SqlValidatorException: Cannot apply '$SCALAR_QUERY' to arguments of type '$SCALAR_QUERY(<RECORDTYPE(INTEGER EXPR$0, INTEGER EXPR$1)>)'. Supported form(s): '$SCALAR_QUERY(<RECORDTYPE(SINGLE FIELD)>)'
at org.eigenbase.resource.EigenbaseResource$_Def15.ex(EigenbaseResource.java:975)
[reporter="angel", created="Sat, 19 Aug 2006 20:21:50 -0500 (GMT-05:00)"] Please fix so SqlOperatorTests.testSelect (this test didn't use to do anything since the operator was not registered explictly as being supported by the fennel or java calc) runs under FarragoAutoVmOperatorTest.
Sample error:
java.lang.RuntimeException: net.sf.farrago.jdbc.FarragoJdbcUtil$FarragoSqlException: java.lang.AssertionError: Internal error: Conversion to relational algebra failed to preserve datatypes:
validated type:
RecordType(RecordType(INTEGER NOT NULL EXPR$0, INTEGER EXPR$1) NOT NULL EXPR$0) NOT NULL
converted type:
RecordType(INTEGER NOT NULL EXPR$0) NOT NULL
rel:
ProjectRel(EXPR$0=[$0])
ProjectRel(EXPR$0=[$1])
ProjectRel(EXPR$0=[$0], EXPR$1=[$1])
JoinRel(condition=[true], joinType=[inner])
ProjectRel(EXPR$0=[$0])
ProjectRel(EXPR$0=[2])
OneRowRel
ProjectRel(EXPR$0=[$0])
ProjectRel(EXPR$0=[$0])
ProjectRel(EXPR$0=[1])
OneRowRel
at org.eigenbase.util.Util.newInternal(Util.java:785)
at org.eigenbase.sql2rel.SqlToRelConverter.convertQuery(SqlToRelConverter.java:233)
at org.eigenbase.oj.stmt.OJPreparingStmt.prepareSql(OJPreparingStmt.java:257)
at net.sf.farrago.query.FarragoPreparingStmt.prepare(FarragoPreparingStmt.java:270)
at net.sf.farrago.db.FarragoDatabase$2.initializeEntry(FarragoDatabase.java:824)
at net.sf.farrago.util.FarragoObjectCache.pin(FarragoObjectCache.java:153)
at net.sf.farrago.db.FarragoDatabase.prepareStmtImpl(FarragoDatabase.java:836)
at net.sf.farrago.db.FarragoDatabase.prepareStmt(FarragoDatabase.java:707)
at net.sf.farrago.db.FarragoDbSession.prepareImpl(FarragoDbSession.java:935)
at net.sf.farrago.db.FarragoDbSession.prepare(FarragoDbSession.java:862)
at net.sf.farrago.db.FarragoDbStmtContext.prepare(FarragoDbStmtContext.java:105)
at net.sf.farrago.jdbc.engine.FarragoJdbcEngineStatement.executeQuery(FarragoJdbcEngineStatement.java:167)
at net.sf.farrago.test.FarragoSqlOperatorsSuite$FarragoSqlTester.checkType(FarragoSqlOperatorsSuite.java:331)
at net.sf.farrago.test.FarragoSqlOperatorsSuite$FarragoSqlTester.checkType(FarragoSqlOperatorsSuite.java:156)
at org.eigenbase.sql.test.SqlOperatorTests.testSelect(SqlOperatorTests.java:1131)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at com.intellij.rt.execution.junit2.JUnitStarter.main(JUnitStarter.java:31)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at com.intellij.rt.execution.application.AppMain.main(AppMain.java:78)
Caused by: net.sf.farrago.jdbc.FarragoJdbcUtil$FarragoSqlException: java.lang.AssertionError: Internal error: Conversion to relational algebra failed to preserve datatypes:
validated type:
RecordType(RecordType(INTEGER NOT NULL EXPR$0, INTEGER EXPR$1) NOT NULL EXPR$0) NOT NULL
converted type:
RecordType(INTEGER NOT NULL EXPR$0) NOT NULL
rel:
ProjectRel(EXPR$0=[$0])
ProjectRel(EXPR$0=[$1])
ProjectRel(EXPR$0=[$0], EXPR$1=[$1])
JoinRel(condition=[true], joinType=[inner])
ProjectRel(EXPR$0=[$0])
ProjectRel(EXPR$0=[2])
OneRowRel
ProjectRel(EXPR$0=[$0])
ProjectRel(EXPR$0=[$0])
ProjectRel(EXPR$0=[1])
OneRowRel
... 38 more