提交 6e2e3cf8 authored 作者: Thomas Mueller's avatar Thomas Mueller

The query plan of queries with subqueries that contain nested joins was wrong. Test case.

上级 5a93e230
...@@ -17,7 +17,10 @@ Change Log ...@@ -17,7 +17,10 @@ Change Log
<h1>Change Log</h1> <h1>Change Log</h1>
<h2>Next Version (unreleased)</h2> <h2>Next Version (unreleased)</h2>
<ul><li>DatabaseEventListener.init was called with a null url when using the server mode. <ul><li>The query plan of queries with subqueries that contain nested joins was wrong.
This could result in syntax exceptions for correct queries. Example:
select 1 from (select 2 from ((test t1 inner join test t2 on t1.id=t2.id) inner join test t3 on t3.id=t1.id)) x;
</li><li>DatabaseEventListener.init was called with a null url when using the server mode.
</li><li>Support for the function LN (an alias for LOG). </li><li>Support for the function LN (an alias for LOG).
</li><li>Support for the function CEIL (an alias for CEILING). </li><li>Support for the function CEIL (an alias for CEILING).
</li><li>Issue 315: Access to LOBs could cause a Java level deadlock. </li><li>Issue 315: Access to LOBs could cause a Java level deadlock.
......
...@@ -257,6 +257,12 @@ public class TestNestedJoins extends TestBase { ...@@ -257,6 +257,12 @@ public class TestNestedJoins extends TestBase {
stat.execute("select * from test t right outer join " + stat.execute("select * from test t right outer join " +
"(select t2.id, count(*) c from test t2 group by t2.id) x on x.id = t.id " + "(select t2.id, count(*) c from test t2 group by t2.id) x on x.id = t.id " +
"where t.id = 1"); "where t.id = 1");
// The query plan of queries with subqueries
// that contain nested joins was wrong
stat.execute("select 1 from (select 2 from ((test t1 inner join test t2 " +
"on t1.id=t2.id) inner join test t3 on t3.id=t1.id)) x");
stat.execute("drop table test"); stat.execute("drop table test");
// Issue 288 // Issue 288
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论