提交 39db262a authored 作者: Thomas Mueller's avatar Thomas Mueller

Issue 288: Some queries with right outer joins or nested joins could throw a NullPointerException.

上级 d4362134
...@@ -18,7 +18,8 @@ Change Log ...@@ -18,7 +18,8 @@ Change Log
<h1>Change Log</h1> <h1>Change Log</h1>
<h2>Next Version (unreleased)</h2> <h2>Next Version (unreleased)</h2>
<ul><li>The database can now be compiled with Java 7. <ul><li>Issue 288: Some queries with right outer joins or nested joins could throw a NullPointerException.
</li><li>The database can now be compiled with Java 7.
Stub methods for the new JDBC 4.1 methods have been implemented, Stub methods for the new JDBC 4.1 methods have been implemented,
but the new features can't be used yet. but the new features can't be used yet.
</li><li>Issue 289: Railroads (BNF) for "Column Definition" was incorrect. </li><li>Issue 289: Railroads (BNF) for "Column Definition" was incorrect.
......
...@@ -779,7 +779,8 @@ public class TableFilter implements ColumnResolver { ...@@ -779,7 +779,8 @@ public class TableFilter implements ColumnResolver {
/** /**
* Update the filter and join conditions of this and all joined tables with * Update the filter and join conditions of this and all joined tables with
* the information that the given table filter can now return rows or not. * the information that the given table filter and all nested filter can now
* return rows or not.
* *
* @param filter the table filter * @param filter the table filter
* @param b the new flag * @param b the new flag
...@@ -793,7 +794,7 @@ public class TableFilter implements ColumnResolver { ...@@ -793,7 +794,7 @@ public class TableFilter implements ColumnResolver {
joinCondition.setEvaluatable(filter, b); joinCondition.setEvaluatable(filter, b);
} }
if (nestedJoin != null) { if (nestedJoin != null) {
nestedJoin.setEvaluatable(filter, b); nestedJoin.setEvaluatable(nestedJoin, b);
} }
if (join != null) { if (join != null) {
join.setEvaluatable(filter, b); join.setEvaluatable(filter, b);
......
...@@ -240,6 +240,16 @@ public class TestNestedJoins extends TestBase { ...@@ -240,6 +240,16 @@ public class TestNestedJoins extends TestBase {
ResultSet rs; ResultSet rs;
String sql; String sql;
// Issue 288
/*
create table test(id int);
select 1 from test a right outer join test b on a.id = 1, test c;
drop table test;
*/
stat.execute("create table test(id int)");
stat.execute("select 1 from test a right outer join test b on a.id = 1, test c");
stat.execute("drop table test");
/* /*
create table a(id int); create table a(id int);
create table b(id int); create table b(id int);
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论