Closed dynamobi-build closed 12 years ago
[author="jvs", created="Sun, 12 Mar 2006 12:22:12 -0500 (GMT-05:00)"] Fixed by eigenchange 5806.
[author="jvs", created="Tue, 14 Mar 2006 11:08:35 -0500 (GMT-05:00)"]
Reopening because of a codegen problem when Zelaine tried to actually execute the query.
----
create schema sj;
set schema 'sj';
create table t(
a int, b char(20), c varchar(20) not null,
n varchar(128) not null primary key);
create index it_n on t(n);
create index it_bn on t(b, n);
insert into t values(1, 'vk_public', 'no match', 'SYS_BOOT');
insert into t values(2, 'vk_public', 'LocalSchema', 'SQLJ');
insert into t values(3, 'vk_public', 'LocalSchema', 'JDBC_METADATA');
insert into t values(4, null, 'LocalSchema', 'INFORMATION_SCHEMA');
insert into t values(5, null, 'LocalSchema', 'no match');
select t.*, s."name", s."visibility", s."mofClassName"
from t inner join sys_cwm."Relational"."Schema" s
on t.b and t.c = s."mofClassName";
and the stack:
Error: org.codehaus.janino.util.TunnelException: org.codehaus.janino.util.TunnelException: File /home/zfong/open/farrago/./classes/net/sf/farrago/dynamic/stmt19555/ExecutableStmt.java, Line 247, Column 46: No applicable constructor/method found for actual parameters "boolean, net.sf.farrago.dynamic.stmt19555.ExecutableStmt$Oj_inner_2, boolean, boolean"; candidates are: "void net.sf.farrago.type.runtime.NullablePrimitive$NullableBoolean.assignFromAnd3VL(boolean, boolean, boolean, boolean)" (state=,code=0)
net.sf.farrago.util.FarragoUtil$FarragoSqlException: org.codehaus.janino.util.TunnelException: org.codehaus.janino.util.TunnelException: File /home/zfong/open/farrago/./classes/net/sf/farrago/dynamic/stmt19555/ExecutableStmt.java, Line 247, Column 46: No applicable constructor/method found for actual parameters "boolean, net.sf.farrago.dynamic.stmt19555.ExecutableStmt$Oj_inner_2, boolean, boolean"; candidates are: "void net.sf.farrago.type.runtime.NullablePrimitive$NullableBoolean.assignFromAnd3VL(boolean, boolean, boolean, boolean)"
at org.codehaus.janino.JavaSourceClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
at org.eigenbase.javac.JaninoCompiler.compile(JaninoCompiler.java:79)
at org.eigenbase.oj.stmt.OJPreparingStmt.compileClass(OJPreparingStmt.java:612)
at org.eigenbase.oj.stmt.OJPreparingStmt.compile(OJPreparingStmt.java:534)
at org.eigenbase.oj.stmt.OJPreparingStmt.compile(OJPreparingStmt.java:522)
at org.eigenbase.oj.stmt.OJPreparingStmt.compileAndBind(OJPreparingStmt.java:118)
at net.sf.farrago.query.FarragoPreparingStmt.compileAndBind(FarragoPreparingStmt.java:425)
at org.eigenbase.oj.stmt.OJPreparingStmt.implement(OJPreparingStmt.java:304)
at org.eigenbase.oj.stmt.OJPreparingStmt.prepareSql(OJPreparingStmt.java:256)
at net.sf.farrago.query.FarragoPreparingStmt.prepare(FarragoPreparingStmt.java:238)
at net.sf.farrago.db.FarragoDatabase$2.initializeEntry(FarragoDatabase.java:664)
at net.sf.farrago.util.FarragoObjectCache.pin(FarragoObjectCache.java:157)
at net.sf.farrago.db.FarragoDatabase.prepareStmtImpl(FarragoDatabase.java:674)
at net.sf.farrago.db.FarragoDatabase.prepareStmt(FarragoDatabase.java:554)
at net.sf.farrago.db.FarragoDbSession.prepareImpl(FarragoDbSession.java:810)
at net.sf.farrago.db.FarragoDbSession.prepare(FarragoDbSession.java:761)
at net.sf.farrago.db.FarragoDbStmtContext.prepare(FarragoDbStmtContext.java:156)
at net.sf.farrago.jdbc.engine.FarragoJdbcEngineStatement.execute(FarragoJdbcEngineStatement.java:104)
at sqlline.SqlLine$Commands.execute(Unknown Source)
at sqlline.SqlLine$Commands.sql(Unknown Source)
at sqlline.SqlLine.dispatch(Unknown Source)
at sqlline.SqlLine.begin(Unknown Source)
at sqlline.SqlLine.mainWithInputRedirection(Unknown Source)
at sqlline.SqlLine.main(Unknown Source)
[author="jvs", created="Tue, 14 Mar 2006 11:16:54 -0500 (GMT-05:00)"]
Reclosing after realizing it's a separate problem: FRG-71.
[reporter="jvs", created="Sun, 12 Mar 2006 11:53:04 -0500 (GMT-05:00)"] From Zelaine's email:
create schema s;
set schema 's';
create table t(a int primary key, b char(20) not null, c char(20) not null, n varchar(128) not null);
explain plan for select t.*, s."name", s."visibility", s."mofClassName"
from t inner join sys_cwm."Relational"."Schema" s
on t.c = s."mofClassName";
It asserts in MedMdrJoinRule.onMatch() with an index out of bounds exception, trying to access element 4 in an array with only 3 members.