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