LucidDB / luciddb

DEFUNCT: See README
https://github.com/LucidDB/luciddb
Apache License 2.0
52 stars 24 forks source link

[FRG-189] FarragoAutoVmOperatorTest.testSelect fails #683

Open dynamobi-build opened 12 years ago

dynamobi-build commented 12 years ago

[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

dynamobi-build commented 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.

dynamobi-build commented 12 years ago

[author="rchen", created="Fri, 13 Oct 2006 11:04:18 -0500 (GMT-05:00)"] Scalar subqueries are now supported.

dynamobi-build commented 12 years ago

[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)