Обсуждение: Syntax check for functions?
Hi,
is there any chance to make a syntax check of a function/trigger before
creating it.
I just wrote my first function and trigger in Postgres an dit won't work :-(
I get the error: "fmgr_info: function 541860: cache lookup failed"
May be somebody may have a look on the function and see the error(s).
Is the use of "length(new.extid) = 0" right or do I have to ask "is null"?
Greetings,
Andreas
CREATE FUNCTION trigger_insert_custno_ext()
RETURNS opaque
AS 'BEGIN
IF length(new.extid) = 0
THEN new.extid = new.custno; -- put custno into extid column
END IF;
RETURN new;
END;'
LANGUAGE 'plpgsql';
CREATE TRIGGER trigger_custno_ext
BEFORE INSERT OR UPDATE
ON tCustomer
FOR EACH ROW
EXECUTE PROCEDURE trigger_insert_custno_ext();
On Thu, Jul 11, 2002 at 07:23:23PM +0200, Andreas Schlegel <schlegel@software.b.uunet.de> wrote a message of 37 lines which said: > I just wrote my first function and trigger in Postgres an dit won't work :-( > > I get the error: "fmgr_info: function 541860: cache lookup failed" It is not a syntax error. It is simply because the binding between the trigger and the function is done once and stays in the cache after (you probably changed the function after the trigger). You have to drop the trigger and recreate it.