db-derby-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Kathey Marsden (JIRA)" <j...@apache.org>
Subject [jira] Updated: (DERBY-766) Improve code generation to handle 5000 unions in a select the union test in largeCodeGen
Date Tue, 30 Oct 2007 23:46:51 GMT

     [ https://issues.apache.org/jira/browse/DERBY-766?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Kathey Marsden updated DERBY-766:
---------------------------------

    Attachment: 372692_10_1_diff.txt

I attempted to merge change 372692 to 10.1. Attached is the patch (which is NOT for commit).
 I am hitting an error which should be quite obvious but as many times as I check the parameters
 for getNestedLoopJoinResultSet, it seems to me to match the method that it says it can't
find. Anyway, hoping another pair of eyes might take a look.  

Kathey


ij(CONNECTION1)> create table t (i int);
0 rows inserted/updated/deleted
ij(CONNECTION1)> insert into t values(1);
1 row inserted/updated/deleted
ij(CONNECTION1)> insert into t values(2);
1 row inserted/updated/deleted
ij(CONNECTION1)> create table t1 (i int);
0 rows inserted/updated/deleted
ij(CONNECTION1)> insert into t1 values(1);
1 row inserted/updated/deleted
ij(CONNECTION1)> delete from t1 where exists (select * from t1);
java.lang.NoSuchMethodException: org.apache.derby.iapi.sql.execute.ResultSetFactory.getNestedLoopJoinResultSet(org.apach
e.derby.iapi.sql.execute.ResultSetFactory, org.apache.derby.iapi.sql.execute.NoPutResultSet,
int, org.apache.derby.iapi.
sql.execute.NoPutResultSet, int, org.apache.derby.iapi.services.loader.GeneratedMethod, int,
boolean, boolean, double, d
ouble, org.apache.derby.iapi.services.loader.GeneratedMethod)
        at java.lang.Class.getDeclaredMethod(Class.java:1264)
        at org.apache.derby.impl.services.bytecode.d_BCValidate.checkMethod(d_BCValidate.java:132)
        at org.apache.derby.impl.services.bytecode.BCMethod.callMethod(BCMethod.java:613)
        at org.apache.derby.impl.sql.compile.JoinNode.generateCore(JoinNode.java:1560)
        at org.apache.derby.impl.sql.compile.JoinNode.generate(JoinNode.java:1481)
        at org.apache.derby.impl.sql.compile.ProjectRestrictNode.generateMinion(ProjectRestrictNode.java:1389)
        at org.apache.derby.impl.sql.compile.ProjectRestrictNode.generate(ProjectRestrictNode.java:1249)
        at org.apache.derby.impl.sql.compile.DeleteNode.generate(DeleteNode.java:519)
        at org.apache.derby.impl.sql.compile.StatementNode.generate(StatementNode.java:232)
        at org.apache.derby.impl.sql.GenericStatement.prepMinion(GenericStatement.java:468)
        at org.apache.derby.impl.sql.GenericStatement.prepare(GenericStatement.java:107)
        at org.apache.derby.impl.sql.conn.GenericLanguageConnectionContext.prepareInternalStatement(GenericLanguageConne
ctionContext.java:704)
        at org.apache.derby.impl.jdbc.EmbedStatement.execute(EmbedStatement.java:513)
        at org.apache.derby.impl.jdbc.EmbedStatement.execute(EmbedStatement.java:487)
        at org.apache.derby.impl.tools.ij.ij.executeImmediate(ij.java:313)
        at org.apache.derby.impl.tools.ij.utilMain.doCatch(utilMain.java:433)
        at org.apache.derby.impl.tools.ij.utilMain.go(utilMain.java:310)
        at org.apache.derby.impl.tools.ij.Main.go(Main.java:203)
        at org.apache.derby.impl.tools.ij.Main.mainCore(Main.java:169)
        at org.apache.derby.impl.tools.ij.Main14.main(Main14.java:55)
        at org.apache.derby.tools.ij.main(ij.java:60)
Invalid method org.apache.derby.iapi.sql.execute.ResultSetFactory >> org.apache.derby.iapi.sql.execute.NoPutResultSet
ge
tNestedLoopJoinResultSet(org.apache.derby.iapi.sql.execute.ResultSetFactory, org.apache.derby.iapi.sql.execute.NoPutResu
ltSet, int, org.apache.derby.iapi.sql.execute.NoPutResultSet, int, org.apache.derby.iapi.services.loader.GeneratedMethod
, int, boolean, boolean, double, double, org.apache.derby.iapi.services.loader.GeneratedMethod)
because java.lang.NoSuch
MethodException: org.apache.derby.iapi.sql.execute.ResultSetFactory.getNestedLoopJoinResultSet(org.apache.derby.iapi.sql
.execute.ResultSetFactory, org.apache.derby.iapi.sql.execute.NoPutResultSet, int, org.apache.derby.iapi.sql.execute.NoPu
tResultSet, int, org.apache.derby.iapi.services.loader.GeneratedMethod, int, boolean, boolean,
double, double, org.apach
e.derby.iapi.services.loader.GeneratedMethod)
ERROR XJ001: Java exception: 'ASSERT FAILED Invalid method org.apache.derby.iapi.sql.execute.ResultSetFactory
>> org.apa
che.derby.iapi.sql.execute.NoPutResultSet getNestedLoopJoinResultSet(org.apache.derby.iapi.sql.execute.ResultSetFactory,
 org.apache.derby.iapi.sql.execute.NoPutResultSet, int, org.apache.derby.iapi.sql.execute.NoPutResultSet,
int, org.apach
e.derby.iapi.services.loader.GeneratedMethod, int, boolean, boolean, double, double, org.apache.derby.iapi.services.load
er.GeneratedMethod) because java.lang.NoSuchMethodException: org.apache.derby.iapi.sql.execute.ResultSetFactory.getNeste
dLoopJoinResultSet(org.apache.derby.iapi.sql.execute.ResultSetFactory, org.apache.derby.iapi.sql.execute.NoPutResultSet,
 int, org.apache.derby.iapi.sql.execute.NoPutResultSet, int, org.apache.derby.iapi.services.loader.GeneratedMethod,
int,
 boolean, boolean, double, double, org.apache.derby.iapi.services.loader.GeneratedMethod):
org.apache.derby.iapi.service
s.sanity.AssertFailure'.
org.apache.derby.iapi.services.sanity.AssertFailure: ASSERT FAILED Invalid method org.apache.derby.iapi.sql.execute.Resu
ltSetFactory >> org.apache.derby.iapi.sql.execute.NoPutResultSet getNestedLoopJoinResultSet(org.apache.derby.iapi.sql.ex
ecute.ResultSetFactory, org.apache.derby.iapi.sql.execute.NoPutResultSet, int, org.apache.derby.iapi.sql.execute.NoPutRe
sultSet, int, org.apache.derby.iapi.services.loader.GeneratedMethod, int, boolean, boolean,
double, double, org.apache.d
erby.iapi.services.loader.GeneratedMethod) because java.lang.NoSuchMethodException: org.apache.derby.iapi.sql.execute.Re
sultSetFactory.getNestedLoopJoinResultSet(org.apache.derby.iapi.sql.execute.ResultSetFactory,
org.apache.derby.iapi.sql.
execute.NoPutResultSet, int, org.apache.derby.iapi.sql.execute.NoPutResultSet, int, org.apache.derby.iapi.services.loade
r.GeneratedMethod, int, boolean, boolean, double, double, org.apache.derby.iapi.services.loader.GeneratedMethod)
        at org.apache.derby.iapi.services.sanity.SanityManager.THROWASSERT(SanityManager.java:150)
        at org.apache.derby.impl.services.bytecode.d_BCValidate.checkMethod(d_BCValidate.java:191)
        at org.apache.derby.impl.services.bytecode.BCMethod.callMethod(BCMethod.java:613)
        at org.apache.derby.impl.sql.compile.JoinNode.generateCore(JoinNode.java:1560)
        at org.apache.derby.impl.sql.compile.JoinNode.generate(JoinNode.java:1481)
        at org.apache.derby.impl.sql.compile.ProjectRestrictNode.generateMinion(ProjectRestrictNode.java:1389)
        at org.apache.derby.impl.sql.compile.ProjectRestrictNode.generate(ProjectRestrictNode.java:1249)
        at org.apache.derby.impl.sql.compile.DeleteNode.generate(DeleteNode.java:519)
        at org.apache.derby.impl.sql.compile.StatementNode.generate(StatementNode.java:232)
        at org.apache.derby.impl.sql.GenericStatement.prepMinion(GenericStatement.java:468)
        at org.apache.derby.impl.sql.GenericStatement.prepare(GenericStatement.java:107)
        at org.apache.derby.impl.sql.conn.GenericLanguageConnectionContext.prepareInternalStatement(GenericLanguageConne
ctionContext.java:704)
        at org.apache.derby.impl.jdbc.EmbedStatement.execute(EmbedStatement.java:513)
        at org.apache.derby.impl.jdbc.EmbedStatement.execute(EmbedStatement.java:487)
        at org.apache.derby.impl.tools.ij.ij.executeImmediate(ij.java:313)
        at org.apache.derby.impl.tools.ij.utilMain.doCatch(utilMain.java:433)
        at org.apache.derby.impl.tools.ij.utilMain.go(utilMain.java:310)
        at org.apache.derby.impl.tools.ij.Main.go(Main.java:203)
        at org.apache.derby.impl.tools.ij.Main.mainCore(Main.java:169)
        at org.apache.derby.impl.tools.ij.Main14.main(Main14.java:55)
        at org.apache.derby.tools.ij.main(ij.java:60)
ij(CONNECTION1)>




> Improve code generation to handle 5000 unions in a select the  union test  in largeCodeGen
> ------------------------------------------------------------------------------------------
>
>                 Key: DERBY-766
>                 URL: https://issues.apache.org/jira/browse/DERBY-766
>             Project: Derby
>          Issue Type: Sub-task
>          Components: Services
>    Affects Versions: 10.2.1.6
>            Reporter: Kathey Marsden
>            Assignee: Daniel John Debrunner
>             Fix For: 10.2.1.6, 10.3.1.4
>
>         Attachments: 372692_10_1_diff.txt
>
>
> A good incremental improvement for code generation for 10.2 would be to handle 5000 unions
in the  largeCodeGen test.
> eg.   largeUnionSelect(con, viewName, 5000);
> should pass.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


Mime
View raw message