RE: Raw constraint & pg_relcheck.rcsrc

Поиск
Список
Период
Сортировка
От Hiroshi Inoue
Тема RE: Raw constraint & pg_relcheck.rcsrc
Дата
Msg-id 000201bffda7$4a427ba0$2801007e@tpf.co.jp
обсуждение исходный текст
Ответ на Raw constraint & pg_relcheck.rcsrc  ("Hiroshi Inoue" <Inoue@tpf.co.jp>)
Ответы Re: Raw constraint & pg_relcheck.rcsrc  (Tom Lane <tgl@sss.pgh.pa.us>)
Список pgsql-hackers
> -----Original Message-----
> From: Hiroshi Inoue [mailto:Inoue@tpf.co.jp]
> 
> > -----Original Message-----
> > From: Tom Lane [mailto:tgl@sss.pgh.pa.us]
> > 
> > "Hiroshi Inoue" <Inoue@tpf.co.jp> writes:
> > > Is pg_relcheck.rcsrc equivalent to the original raw constraint ?
> > 
> > To the best of deparse_expression()'s ability, it should be.
> > I'm not real sure why we bother to store it, rather than deparsing
> > rcbin on-the-fly on demand...
> >
> 
> I'm looking at DefineRelation() in commands/creartinh.c.
> In case of inheritance,constraints of super classes are
> stored using their pg_relcheck.rcbin-s. It seems bad 
> in case of multiple inheritance.  rcsrc-s may be available
> instead.
>

Oops,I've been completely off the point.
The raw expression of constraints seems to be really needed.

Is there any way to convert rcbin(cooked text format) to the
raw(pre-cooked) Node expression ? Or is there a way to
convert rcsrc to the pre-cooked Node expression ?
Or is there a way to convert rcsrc to the cooked expression ?

Here's a simple bug case.

=# create table p1 (id int4);
CREATE
=# create table p2 (dt text check (dt = 'a'));
CREATE
=# create table inh () inherits (p1,p2);
CREATE
=# \d inh         Table "inh"Attribute |  Type   | Modifier
-----------+---------+----------id        | integer |dt        | text    |
Constraint: (id = 'a'::text)

Regards.

Hiroshi Inoue
Inoue@tpf.co.jp


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

Предыдущее
От: Bruce Momjian
Дата:
Сообщение: Re: Anyone particularly wedded to func_tlist mechanism?
Следующее
От: Chris Bitmead
Дата:
Сообщение: Re: Anyone particularly wedded to func_tlist mechanism?