Re: Recording foreign key relationships for the system catalogs

Поиск
Список
Период
Сортировка
От Tom Lane
Тема Re: Recording foreign key relationships for the system catalogs
Дата
Msg-id 3716490.1612281648@sss.pgh.pa.us
обсуждение исходный текст
Ответ на Re: Recording foreign key relationships for the system catalogs  ("Joel Jacobson" <joel@compiler.org>)
Ответы Re: Recording foreign key relationships for the system catalogs  ("Joel Jacobson" <joel@compiler.org>)
Список pgsql-hackers
"Joel Jacobson" <joel@compiler.org> writes:
> I could only find one minor error,
> found by running the regression-tests,
> and then using the query below to compare "is_opt"
> with my own "zero_values" in my tool
> that derives its value from pg_catalog content.
> ...
> I therefore think is_opt should be changed to true for this row:
>     fktable    |       fkcols        |   pktable    |      pkcols       | is_array | is_opt
> ---------------+---------------------+--------------+-------------------+----------+--------
> pg_constraint | {confrelid,confkey} | pg_attribute | {attrelid,attnum} | t        | f

No, I think it's correct as-is (and this is one reason that I chose to
have two separate FK entries for cases like this).  confrelid can be
zero in rows that are not FK constraints.  However, such a row must
also have empty confkey.  The above entry states that for each element
of confkey, the pair (confrelid,confkey[i]) must be nonzero and have
a match in pg_attribute.  It creates no constraint if confkey is empty.

> If this is fixed, I also agree this is ready to be committed.

Appreciate the review!  Please confirm if you agree with above
analysis.

            regards, tom lane



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

Предыдущее
От: Bruce Momjian
Дата:
Сообщение: Re: Key management with tests
Следующее
От: Fujii Masao
Дата:
Сообщение: Re: adding wait_start column to pg_locks