Re: Wrong behaviour of array comparison when arrays contain nulls

Поиск
Список
Период
Сортировка
От Lukas Eder
Тема Re: Wrong behaviour of array comparison when arrays contain nulls
Дата
Msg-id CAB4ELO7FZq7NoSSQ8On7pG6Q_a7bCr1_Z3rUAOGxjNaYNwdfLQ@mail.gmail.com
обсуждение исходный текст
Ответ на Wrong behaviour of array comparison when arrays contain nulls  (Lukas Eder <lukas.eder@gmail.com>)
Список pgsql-bugs
For the record, while deviations from the standard related to ROW expressions are documented here:

This particular deviation isn't documented on that page. Might be worth adding?

On Wed, Apr 6, 2022 at 2:22 PM Lukas Eder <lukas.eder@gmail.com> wrote:
Hello,

A discussion has been brought to my attention about the behaviour of H2 vs PostgreSQL when it comes to comparing arrays that contain NULL values, see: https://github.com/h2database/h2database/issues/3476

For the following query:

SELECT array[1, NULL] = array[1, NULL]

H2 returns NULL whereas PostgreSQL returns TRUE. In my opinion and intuition, as well as according to ISO/IEC 9075-2:2016(E) 8.2 <comparison predicate> GR 1) b) ii), H2 is right and PostgreSQL is wrong.

On the above H2 github issue, a slack discussion was linked, to which I have no access, but the gist of the slack discussion was that NULL is *identical* to NULL according to the SQL standard, but identical doesn't mean equal, and the aboe 8.2 GR 1) b) ii) clearly requires all array elements Xi and Yi to be equal for the arrays to be equal.

Best Regards,
Lukas

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

Предыдущее
От: Lukas Eder
Дата:
Сообщение: Wrong behaviour of array comparison when arrays contain nulls
Следующее
От: Tom Lane
Дата:
Сообщение: Re: Wrong behaviour of array comparison when arrays contain nulls