Making a function call from within a transaction block. - Mailing list pgsql-general

From Joshua Moore-Oliva
Subject Making a function call from within a transaction block.
Date
Msg-id 200303121821.47496.josh@chatgris.com
Whole thread Raw
Responses Re: Making a function call from within a transaction block. -- ignore  (Joshua Moore-Oliva <josh@chatgris.com>)
List pgsql-general
I am attempting to make this test work..  I have three tables

CREATE TABLE test1 (
    my_id int
);

CREATE TABLE test2 (
    my_id int
);

CREATE TABLE test3 (
    my_id int
);

And the function

CREATE FUNCTION addTest2Value( int ) RETURNS integer AS '
DECLARE
  value ALIAS FOR $1;
BEGIN
    INSERT INTO test2 VALUES( value );

  RETURN 1;
END;
' LANGUAGE 'plpgsql';


What I am attempting to do is this

BEGIN;

INSERT INTO test1 VALUES ( 1 );

addTest2Value( 2 );

INSERT INTO test3 VALUES ( 3 );

COMMIT;

However I get a syntax error at the addTest2Value.

If I use SELECT addTest2Value( 2 ); from what I've read in the docs I believe
that that will cause this routine to stop at the select and return to the
libpq-fe C interface...

I've also tried PERFORM addTest2Value but that is apparently only available
within a plpgsql function...

Any hints?

Thanks, Josh.

pgsql-general by date:

Previous
From: Stephen Robert Norris
Date:
Subject: Re: Performance Problem
Next
From: Taral
Date:
Subject: No merge sort?