[
https://issues.apache.org/jira/browse/DERBY-3880?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12640574#action_12640574
]
Mamta A. Satoor commented on DERBY-3880:
----------------------------------------
Kathey, thanks for providing the working version of the query (ie the one
without the explicit inner join clause). It gives something to compare the
failing query against.
While trying to trace through the 2 queries, I found following discripency.
Both successful query and the NPE query fo through the following code path
Thread [main] (Suspended)
ProjectRestrictResultSet.doProjection(ExecRow) line: 514
ProjectRestrictResultSet.getNextRowCore() line: 291
GroupedAggregateResultSet.getRowFromResultSet() line: 580
GroupedAggregateResultSet.getNextRowFromRS() line: 566
GroupedAggregateResultSet.loadSorter() line: 306
GroupedAggregateResultSet.openCore() line: 180
ProjectRestrictResultSet.openCore() line: 168
ProjectRestrictResultSet(BasicNoPutResultSetImpl).open() line: 245
GenericPreparedStatement.execute(Activation, boolean, long) line: 384
EmbedStatement40(EmbedStatement).executeStatement(Activation, boolean,
boolean) line: 1235
EmbedStatement40(EmbedStatement).execute(String, boolean, boolean, int,
int[], String[]) line: 625
EmbedStatement40(EmbedStatement).execute(String) line: 555
ij.executeImmediate(String) line: 329
Main.go(LocalizedInput, LocalizedOutput, Properties) line: 215
utilMain.runScriptGuts() line: 350
Main.main(String[]) line: 73
utilMain.go(LocalizedInput[], LocalizedOutput, Properties) line: 248
Main.mainCore(String[], Main) line: 181
Main.main(String[]) line: 73
ij.main(String[]) line: 59
But if you examin row that results after the projection in
ProjectRestrictResultSet, you will notice that the successful query has
following row
result ValueRow (id=212)
{ 1, NULL, 10, NULL, NULL, 10, NULL }
whereas NPE query has following row
result ValueRow (id=251)
{ 1, NULL, null, NULL, NULL, 10, NULL }
As you can see, the 3rd column has value of null in NPE query whereas the
successful query has value 10. Will debug more to see what causes this but
thought will post this piece of information.
> NPE on a query with having clause involving a join
> --------------------------------------------------
>
> Key: DERBY-3880
> URL: https://issues.apache.org/jira/browse/DERBY-3880
> Project: Derby
> Issue Type: Bug
> Components: SQL
> Affects Versions: 10.4.2.0
> Environment: Windows 2003 Server
> Reporter: Venkateswaran Iyer
> Priority: Minor
> Attachments: querytree_fail.txt, querytree_works.txt
>
>
> A simple query involving a join and having clause causes a NPE. Any
> subsequent executions cause severe errors. It almost looks like the
> underlying connection was closed out.
> ====
> C:\apps\derby\db-derby-10.4.2.0-bin\db-derby-10.4.2.0-bin\bin>ij
> ij version 10.4
> ij> connect 'jdbc:derby://speed:1527/ClassicModels;user=sa;password=sa
> ';
> ij> create table t1(i int, c varchar(20));
> 0 rows inserted/updated/deleted
> ij> create table t2(i int, c2 varchar(20), i2 int);
> 0 rows inserted/updated/deleted
> ij> insert into t1 values(1, 'abc');
> 1 row inserted/updated/deleted
> ij> insert into t1 values(2, 'abc');
> 1 row inserted/updated/deleted
> ij> insert into t2 values(1, 'xyz', 10);
> 1 row inserted/updated/deleted
> ij> insert into t2 values(1, 'aaa', 20);
> 1 row inserted/updated/deleted
> ij> insert into t2 values(2, 'xxx', 30);
> 1 row inserted/updated/deleted
> ij> select t1.i, avg(t2.i2) from t1 inner join t2 on (t1.i = t2.i) group by
> t1.i
> having avg(t2.i2) > 0;
> ERROR XJ001: DERBY SQL error: SQLCODE: -1, SQLSTATE: XJ001, SQLERRMC:
> java.lang.
> NullPointerException¶¶XJ001.U
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.