Thread: Unknown kind of return type specified for function
I am creating a function that does not return anything so I am trying the following: create or replace function splite_delete_configured_selection(int, int, int, int) returns void security definer as ' declare ... begin ... return; end; ' language 'plpgsql'; but as soon as I try to call this function I get the following error: ERROR: Unknown kind of return type specified for function splite_delete_configured_selection How do I declare the fact that the function will return nothing? I am running version 7.3.2. Thanks. Avi
Avi Schwartz <avi@CFFtechnologies.com> writes: > How do I declare the fact that the function will return nothing? "returns void" works fine for me. regression=# create or replace function splite_delete_configured_selection(int, regression(# int, int, int) regression-# returns void regression-# as ' regression'# begin regression'# return; regression'# end; regression'# ' language 'plpgsql'; CREATE FUNCTION regression=# select splite_delete_configured_selection(1,2,3,4); splite_delete_configured_selection ------------------------------------ (1 row) regards, tom lane
Tom, your example showed me what my problem was. I was doing a 'select * from function(1,2,3)' instead for just 'select function(1,2,3)' Some of the error messages returned are so cryptic it is scary... Avi On Sunday, Jun 15, 2003, at 00:05 America/Chicago, Tom Lane wrote: > Avi Schwartz <avi@CFFtechnologies.com> writes: >> How do I declare the fact that the function will return nothing? > > "returns void" works fine for me. > > regression=# create or replace function > splite_delete_configured_selection(int, > regression(# int, int, int) > regression-# returns void > regression-# as ' > regression'# begin > regression'# return; > regression'# end; > regression'# ' language 'plpgsql'; > CREATE FUNCTION > regression=# select splite_delete_configured_selection(1,2,3,4); > splite_delete_configured_selection > ------------------------------------ > > (1 row)
Avi Schwartz <avi@CFFtechnologies.com> writes: > Tom, your example showed me what my problem was. > I was doing a 'select * from function(1,2,3)' instead for just 'select > function(1,2,3)' > Some of the error messages returned are so cryptic it is scary... I agree, this one's pretty unhelpful, although in the original author's defense I don't think he realized that users would actually get to see this case. As of a few seconds ago, CVS tip will say ERROR: function foo() in FROM has unsupported return type which hopefully is a little more useful. regards, tom lane