Re: [HACKERS] Re: NULL & NOT NULL

Поиск
Список
Период
Сортировка
От Jose' Soares
Тема Re: [HACKERS] Re: NULL & NOT NULL
Дата
Msg-id 3688EA81.15DF76BD@sferacarta.com
обсуждение исходный текст
Ответ на Re: [HACKERS] Re: NULL & NOT NULL  (Bruce Momjian <maillist@candle.pha.pa.us>)
Список pgsql-hackers
Bruce Momjian wrote:
> 
> > "Thomas G. Lockhart" <lockhart@alumni.caltech.edu> writes:
> > >>>>>> create table authors (
> > >>>>>> zip             char(5)         null
> > >>>>>> );
> >
> > > Sheesh. After that long song and dance about why we can't implement
> > > this, it turns out that it works fine. We had been trying to implement a
> > > slightly different syntax, "WITH NULL", which conflicted with the
> > > SQL92-defined data type declaration "TIMESTAMP WITH TIME ZONE".
> >
> > > The "Practical SQL Handbook"-compatible form will be available in the
> > > next full release of Postgres. Thanks.
> >
> > Now that we have the syntax problem straightened out: I'm still confused
> > about the semantics.  Does a "NULL" constraint say that the field
> > *must* be null, or only that it *can* be null (in which case NULL is
> > just a noise word, since that's the default condition)?  I had assumed
> > the former, but Bruce seemed to think the latter...
> 
> Can be null.  Noise word.  At least that is what I rememeber Thomas
> saying, and because it was noise, we removed it.  In fact, it doesn't
> look like the standard accepts it, but there is no reason we can't.


This NULL clause is not part of constraints it is a default option and
we already support it,
there's nothing like: 
CREATE TABLE table1 (field1 type NULL) in SQL92.

but the following is SQL92 and it works on PostgreSQL:
prova=> CREATE TABLE table1 (field1 INTEGER DEFAULT NULL);
CREATE


SQL92 syntax:
        11.5  <default clause>
        Function
        Specify the default for a column or domain.
        Format
        <default clause> ::=               DEFAULT <default option>
        <default option> ::=               <literal>             | <datetime value function>             | USER
   | CURRENT_USER             | SESSION_USER             | SYSTEM_USER             | NULL
 

-Jose'-


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

Предыдущее
От: root@blik.samara.su (Samara CIT)
Дата:
Сообщение: ...
Следующее
От: Peter T Mount
Дата:
Сообщение: Problem with create user in latest CVS