Re: Proper relational database?

Поиск
Список
Период
Сортировка
От Manuel Gómez
Тема Re: Proper relational database?
Дата
Msg-id CAJWnFaMkDskHNfHtXn=LOa5OBrQ983ZwmQQGOHMWQnMNfiUCDA@mail.gmail.com
обсуждение исходный текст
Ответ на Re: Proper relational database?  (Geoff Winkless <pgsqladmin@geoff.dj>)
Список pgsql-general
On Sat, Apr 23, 2016 at 10:39 AM, Geoff Winkless <pgsqladmin@geoff.dj> wrote:
> SELECT with no values is selecting a NULL, and two NULLs do not
> equate, so you would expect two rows.

This is precisely what I mean by wonky semantics: it makes no sense
for a nullary relation to be interpreted as selecting a NULL.  A row
with no columns should have different semantics from a row with one
NULL column.  Indeed it does in other contexts; note its correct
behavior as the neutral for the cross join operator:

postgres=# select * from (values (42)) as t(n) cross join (select) as dee;
 n
----
 42
(1 row)

postgres=# select * from (values (42)) as t(n) cross join (select
NULL) as not_dee;
 n  | ?column?
----+----------
 42 |
(1 row)

The empty tuple should equal itself and its semantics should have
nothing at all to do with NULL, and thence I expect one row.  I've
even been tempted to file a bug report, but I fear it may be brushed
off as pedantry.


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

Предыдущее
От: "Joshua D. Drake"
Дата:
Сообщение: Re: Proper relational database?
Следующее
От: "Tomas J Stehlik"
Дата:
Сообщение: Is it possible to recover the schema from the raw files?