Re: Partitionning + Trigger and Execute not working as expected

From: Josh Kupershmidt <schmiddy(at)gmail(dot)com>
To: Sylvain Mougenot <smougenot(at)sqli(dot)com>
Cc: pgsql-sql(at)postgresql(dot)org
Subject: Re: Partitionning + Trigger and Execute not working as expected
Date: 2011-11-09 19:25:05
Message-ID: CAK3UJREa0Dku2PnJACaLM6=_7OaQEqyPAs-_ZR=zwaDo2mwmAw@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-sql

On Wed, Nov 9, 2011 at 6:57 AM, Sylvain Mougenot <smougenot(at)sqli(dot)com> wrote:

> Even if the query below is fine (the exact content I try to build as a
> String to use with EXECUTE)
> INSERT INTO job_2011_11 values (NEW.*)
> Is there a way to solve this?
> Isn't it a bug (in how EXECUTE works)?

I doubt this is a bug in EXECUTE; if you think it is, try to post a
self-contained test case. For example, this similar example works
fine:

CREATE TABLE foo (a int, b int);
CREATE TABLE job_2011_11 (c int, d int);

CREATE OR REPLACE FUNCTION job_insert_trigger()
RETURNS TRIGGER AS
$BODY$
DECLARE
currentTableName character varying := 'job_' || '2011_11';
BEGIN
EXECUTE 'INSERT INTO '|| currentTableName || ' values ' || (NEW.*);
RETURN NULL;
END;
$BODY$
LANGUAGE plpgsql VOLATILE
COST 100;

CREATE TRIGGER job_insert_trg BEFORE INSERT ON foo
FOR EACH ROW EXECUTE PROCEDURE job_insert_trigger();
INSERT INTO foo (a, b) VALUES (1, 2);

Josh

In response to

Responses

Browse pgsql-sql by date

  From Date Subject
Next Message Sylvain Mougenot 2011-11-09 21:39:58 Re: Partitionning + Trigger and Execute not working as expected
Previous Message Sylvain Mougenot 2011-11-09 11:57:34 Re: Partitionning + Trigger and Execute not working as expected