BUG #6154: wrong result with nested left-joins

Поиск
Список
Период
Сортировка
От listar
Тема BUG #6154: wrong result with nested left-joins
Дата
Msg-id 201108081313.p78DDX6W021751@wwwmaster.postgresql.org
обсуждение исходный текст
Ответы Re: BUG #6154: wrong result with nested left-joins  ("Kevin Grittner" <Kevin.Grittner@wicourts.gov>)
Список pgsql-bugs
The following bug has been logged online:

Bug reference:      6154
Logged by:          listar
Email address:      listar@mail.ru
PostgreSQL version: 8.4.5
Operating system:   Linux 2.6.36-gentoo-r5
Description:        wrong result with nested left-joins
Details:

It's hard to explain, but easy to show =)
here we are:

SELECT * FROM
(
                SELECT 1 as key1
) sub1
LEFT JOIN
(
                SELECT sub3.key3, value2 FROM
                (
                               SELECT 1 as key3
                ) sub3
                LEFT JOIN
                (
                               SELECT sub5.key5, COALESCE(sub6.value1, 1) as
value2
                               FROM
                               (
                                               SELECT 1 as key5
                               ) sub5
                               LEFT JOIN
                               (
                                               SELECT 1 as key6, value1
                                               FROM
                                               (
                                                               SELECT
NULL::integer as value1
                                               ) sub7
                                               WHERE false
                               ) sub6 ON false

                )
                sub4 ON sub4.key5=sub3.key3
)
sub2 ON sub1.key1 = sub2.key3

The result of this query:
key1;key3;value2
1;1;NULL

And this is the problem - value2 can't be NULL because of COALESCE in sub4
(at least I think that it can't be =))
Anyway if we'll change
SELECT sub3.key3, sub4.value2 FROM
with
SELECT sub3.key3, value2 FROM
we will got correct result:
key1;key3;value2
1;1;1

В списке pgsql-bugs по дате отправления:

Предыдущее
От: Jaime Casanova
Дата:
Сообщение: Re: Help-PGRES_FATAL_ERROR
Следующее
От: "Kevin Grittner"
Дата:
Сообщение: Re: BUG #6154: wrong result with nested left-joins