Re: [HACKERS] domain feature - details

Поиск
Список
Период
Сортировка
От Mattias Kregert
Тема Re: [HACKERS] domain feature - details
Дата
Msg-id 34FFD2A6.65A76761@algonet.se
обсуждение исходный текст
Ответ на domain feature - details  (al dev <aldevpgsql@yahoo.com>)
Ответы Re: [HACKERS] domain feature - details  (The Hermit Hacker <scrappy@hub.org>)
Список pgsql-hackers
al dev wrote:
>
> Hi all:
> More details on what domains are. Domains are global
> column definitions, upon which column definitions
> can be based. A domain specifies a data type, and a
> set of column attributes and constraints. Subsequent
> table definitions can use the domain to define columns.
>
> Here is the detail for 'ALTER DOMAIN' feature. I
> pulled this off the chapter 42 at
> http://sunsite.unc.edu/LDP/HOWTO/Database-HOWTO.html>
> <alter domain statement> ::=
>          ALTER DOMAIN <domain name> <alter domain action>
>
>      <alter domain action> ::=
>            <set domain default clause>
>          | <drop domain default clause>
>          | <add domain constraint definition>
>          | <drop domain constraint definition>

What happens if I change a DOMAIN after I have created tables with
it? Does CONSTRAINT's and DEFAULTS and TYPES change for those tables,
or should it only affect tables created after the change?

Suppose I do this:
1. I create DOMAIN for "Person", and create lots of tables with
  Person columns.
2. After some weeks, I want to CONSTRAIN Person to disallow NULL
  social security number, so I change the "Person" DOMAIN.

Do I have to re-create all tables, or will the change take effect
immediately? Will some changes take effect, like default and constraint,
but not the data type? Or will changes in data type cause the tables
to be modified? Will the database lock the tables and convert them
when I type the ALTER command?

/* m */

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

Предыдущее
От: Goran Thyni
Дата:
Сообщение: Re: [HACKERS] AUTO_INCREMENT suggestion
Следующее
От: Mattias Kregert
Дата:
Сообщение: Re: [HACKERS] AUTO_INCREMENT suggestion