Re: RETURNS TABLE function returns nothingness

From: Alexander Farber <alexander(dot)farber(at)gmail(dot)com>
To:
Cc: pgsql-general <pgsql-general(at)postgresql(dot)org>
Subject: Re: RETURNS TABLE function returns nothingness
Date: 2016-09-02 17:35:24
Message-ID: CAADeyWg2qkLtSWE_JC0mz3OLUY53mTmN2hkQyRMaey4PE48GhQ@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

If I'd like to always return exactly 1 row -
why wouldn't just RETURN work?
(That's what I kept trying)

On Fri, Sep 2, 2016 at 7:27 PM, Pavel Stehule <pavel(dot)stehule(at)gmail(dot)com>
wrote:

>
>
> 2016-09-02 19:21 GMT+02:00 Alexander Farber <alexander(dot)farber(at)gmail(dot)com>:
>
>> why doesn't this simple test function return a row with 42, NULL values:
>>
>> CREATE OR REPLACE FUNCTION words_merge_users_2(
>> IN in_users jsonb,
>> IN in_ip inet
>> ) RETURNS TABLE (
>> out_uid integer,
>> out_banned varchar
>> ) AS
>> $func$
>> DECLARE
>> _user jsonb;
>> _uids integer[];
>> _created timestamptz;
>> _vip timestamptz;
>> _grand timestamptz;
>> _banned_until timestamptz;
>> _banned_reason varchar;
>> BEGIN
>> out_uid := 42;
>> END
>> $func$ LANGUAGE plpgsql;
>>
>>
>> Here I call it at PostgreSQL 9.5.4 prompt in MacOS:
>>
>> # select * from words_merge_users_2('[{"given"
>> :"Abcde","social":1,"auth":"07f0254f5e55413dec7f32c8ef4ee5d3
>> ","stamp":1470237061,"female":0,"sid":"11111"}]
>> '::jsonb, '1.1.1.1'::inet);
>> out_uid | out_banned
>> ---------+------------
>> (0 rows)
>>
>>
>> Thank you (I am probably missing something very obvious)
>>
>
> There is not RETURN NEXT statement - so output is zero rows.
>
>

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Adrian Klaver 2016-09-02 17:40:46 Re: RETURNS TABLE function returns nothingness
Previous Message Andres Freund 2016-09-02 17:32:46 Re: What limits Postgres performance when the whole database lives in cache?