History | Log In     View a printable version of the current page.  
Issue Details (XML | Word | Printable)

Key: FRG-189
Type: Bug Bug
Status: Reopened Reopened
Priority: Minor Minor
Assignee: Rushan Chen
Reporter: Angel Chang
Votes: 0
Watchers: 1
Operations

If you were logged in you would be able to see more operations.
Farrago

FarragoAutoVmOperatorTest.testSelect fails

Created: 19/Aug/06 08:21 PM   Updated: 23/Dec/07 11:21 AM
Component/s: None
Affects Version/s: None
Fix Version/s: None


 Description  « Hide
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



 All   Comments   Change History      Sort Order: Ascending order - Click to sort in descending order
John V. Sichi - 21/Aug/06 12:08 AM
Rushan, I think this will be resolved by your subquery validator fixes. Once Angel's changes get integrated, you can verify.

Rushan Chen - 13/Oct/06 11:04 AM
Scalar subqueries are now supported.

Julian Hyde - 23/Dec/07 11:21 AM
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)