Обсуждение: Error for row-level triggers with transition tables on partitioned tables

Поиск
Список
Период
Сортировка

Error for row-level triggers with transition tables on partitioned tables

От
Etsuro Fujita
Дата:
While working on something else, I noticed $SUBJECT: we do not
currently allow row-level triggers on partitioned tables to have
transition tables like this:

create table parted_trig (a int) partition by list (a);
CREATE TABLE
create function trigger_nothing() returns trigger language plpgsql as
$$ begin end; $$;
CREATE FUNCTION
create trigger failed after update on parted_trig referencing old
table as old_table for each row execute procedure trigger_nothing();
ERROR:  "parted_trig" is a partitioned table
DETAIL:  Triggers on partitioned tables cannot have transition tables.

but the DETAIL message is confusing, because statement-level triggers
on partitioned tables *can* have transition tables.

We do not currently allow row-level triggers on partitions to have
transition tables either, and the error message for that is “ROW
triggers with transition tables are not supported on partitions.”.
How about changing the DETAIL message to something similar to this
like “ROW triggers with transition tables are not supported on
partitioned tables.”, to avoid confusion?  Patch attached.  Will add
this to the upcoming CF.

Best regards,
Etsuro Fujita

Вложения

Re: Error for row-level triggers with transition tables on partitioned tables

От
Tom Lane
Дата:
Etsuro Fujita <etsuro.fujita@gmail.com> writes:
> We do not currently allow row-level triggers on partitions to have
> transition tables either, and the error message for that is “ROW
> triggers with transition tables are not supported on partitions.”.
> How about changing the DETAIL message to something similar to this
> like “ROW triggers with transition tables are not supported on
> partitioned tables.”, to avoid confusion?  Patch attached.  Will add
> this to the upcoming CF.

+1, this wording is better.  I marked it RFC.

            regards, tom lane



Re: Error for row-level triggers with transition tables on partitioned tables

От
Etsuro Fujita
Дата:
On Thu, Nov 3, 2022 at 2:20 AM Tom Lane <tgl@sss.pgh.pa.us> wrote:
> Etsuro Fujita <etsuro.fujita@gmail.com> writes:
> > We do not currently allow row-level triggers on partitions to have
> > transition tables either, and the error message for that is “ROW
> > triggers with transition tables are not supported on partitions.”.
> > How about changing the DETAIL message to something similar to this
> > like “ROW triggers with transition tables are not supported on
> > partitioned tables.”, to avoid confusion?  Patch attached.  Will add
> > this to the upcoming CF.
>
> +1, this wording is better.  I marked it RFC.

Cool!  I have committed the patch.

Thanks for reviewing!

Best regards,
Etsuro Fujita