Running a PL/pgSQL function
I'm startled that I've never done this before, but... I have a PL/
pgSQL function that takes no arguments, returns VOID, and has a bunch
of side effects on the database. The correct way of invoking this
function is:
SELECT my_func();
... yes? Thanks; it seems to work fine, but using SELECT here is
causing some part of my brain to scream "counter-intuitive."
On Monday 11 August 2008 4:24:17 pm Christophe wrote:
I'm startled that I've never done this before, but... I have a PL/
pgSQL function that takes no arguments, returns VOID, and has a bunch
of side effects on the database. The correct way of invoking this
function is:SELECT my_func();
... yes? Thanks; it seems to work fine, but using SELECT here is
causing some part of my brain to scream "counter-intuitive."
Similar to doing:
test=# SELECT 1+1;
?column?
----------
2
(1 row)
--
Adrian Klaver
aklaver@comcast.net
Christophe <xof@thebuild.com> writes:
I'm startled that I've never done this before, but... I have a PL/
pgSQL function that takes no arguments, returns VOID, and has a bunch
of side effects on the database. The correct way of invoking this
function is:
SELECT my_func();
... yes? Thanks; it seems to work fine, but using SELECT here is
causing some part of my brain to scream "counter-intuitive."
Yeah, it is a little weird but it works fine. We treat VOID as a
more-or-less-real datatype that has only one value, an empty string...
regards, tom lane
On Mon, Aug 11, 2008 at 6:03 PM, Adrian Klaver <aklaver@comcast.net> wrote:
On Monday 11 August 2008 4:24:17 pm Christophe wrote:
I'm startled that I've never done this before, but... I have a PL/
pgSQL function that takes no arguments, returns VOID, and has a bunch
of side effects on the database. The correct way of invoking this
function is:SELECT my_func();
... yes? Thanks; it seems to work fine, but using SELECT here is
causing some part of my brain to scream "counter-intuitive."Similar to doing:
test=# SELECT 1+1;
?column?
----------
2
Hey, it beats select 1+1 from dual!