Re: [INTERFACES] copy command & null datetime

Поиск
Список
Период
Сортировка
От Tom Lane
Тема Re: [INTERFACES] copy command & null datetime
Дата
Msg-id 6304.920905096@sss.pgh.pa.us
обсуждение исходный текст
Ответ на Re: [INTERFACES] copy command & null datetime  ("Ken J. Wright" <ken@ori-ind.com>)
Список pgsql-interfaces
"Ken J. Wright" <ken@ori-ind.com> writes:
> But in the specific case of a datetime column, wouldn't you think a null
> would be reasonable rather than a failed load? After all, a date can't be
> empty, only null.

Well ... if you go down that path, you find yourself trying to remember
which datatypes accept an empty string as meaning NULL and which don't.
I don't much like that idea; NULL is a type-independent concept and
ought to have a type-independent representation.

An example where the behavior would be far from obvious is char(n)
(not varchar, but the fixed-length string type).  A zero-length input
wouldn't be a valid value for n>0, so it could be taken to mean NULL.
On the other hand, char(n) has historically accepted inputs of length
< n and blank-padded them, so converting empty input to n spaces would
also be expected behavior.

Of course \N has its own problems in this respect: unless you know about
backslash-escaping rules, it's not obvious that \N is not a legal data
value for a string.  But we need an escaping mechanism anyway, in order
to deal with newlines and tabs in text strings, so there has to be some
ugliness of this kind.

            regards, tom lane

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

Предыдущее
От: Byron Nikolaidis
Дата:
Сообщение: Re: [INTERFACES] row count
Следующее
От: Tom Lane
Дата:
Сообщение: Re: [INTERFACES] Counting updates with libpq