Re: BUG #14431: ERROR: XX000: relation 5022917 has no triggers ("should not happen")

Поиск
Список
Период
Сортировка
От Vik Fearing
Тема Re: BUG #14431: ERROR: XX000: relation 5022917 has no triggers ("should not happen")
Дата
Msg-id 680a86c6-b9f1-09f6-02de-ed6b15fff6e8@2ndquadrant.fr
обсуждение исходный текст
Ответ на BUG #14431: ERROR: XX000: relation 5022917 has no triggers ("should not happen")  (benjie@jemjie.com)
Ответы Re: BUG #14431: ERROR: XX000: relation 5022917 has no triggers ("should not happen")  (Tom Lane <tgl@sss.pgh.pa.us>)
Список pgsql-bugs
On 11/24/2016 12:49 PM, benjie@jemjie.com wrote:
> The following bug has been logged on the website:
>
> Bug reference:      14431
> Logged by:          Benjie Gillam
> Email address:      benjie@jemjie.com
> PostgreSQL version: 9.5.2
> Operating system:   OS X 10.11.5
> Description:
>
> I've triggered an error that "should not happen", took me a while to figure
> out what I'd done.
>
> I've managed to build a small test case that reproduces the issue (it
> relates to `deferrable initially deferred`):
>
> https://gist.github.com/benjie/9d4f8df41ebf7a0fb78788c00c75561a

For the archives, the test case at that link is:

<>
begin;
  create table a(foo varchar not null primary key);
  create table b(foo varchar not null primary key, constraint qux
foreign key (foo) references a deferrable initially deferred);
  create function bar() returns trigger as $$
  begin
    if TG_OP = 'INSERT' then
      insert into b(foo) values(new.foo);
    elsif TG_OP = 'DELETE' then
      delete from b where foo = old.foo;
    end if;
    return new;
  end;
  $$ language plpgsql;

  create trigger bar after insert or delete on a for each row execute
procedure bar();
commit;

insert into a values('baz');

begin;
  delete from a where foo = 'baz';
  drop trigger bar on a;
  drop function bar();
  alter table b drop constraint qux;
commit;
</>

I can reproduce it.

> I don't think it's a particularly important issue. Here's the relevant line
> of code:
>
>
https://github.com/postgres/postgres/blob/6fa391be4e83139cd134d5ccfc1499809bb8c98c/src/backend/commands/trigger.c#L4027-L4029


--
Vik Fearing                                          +33 6 46 75 15 36
http://2ndQuadrant.fr     PostgreSQL : Expertise, Formation et Support

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

Предыдущее
От: benjie@jemjie.com
Дата:
Сообщение: BUG #14431: ERROR: XX000: relation 5022917 has no triggers ("should not happen")
Следующее
От: Tom Lane
Дата:
Сообщение: Re: BUG #14431: ERROR: XX000: relation 5022917 has no triggers ("should not happen")