pg.ddx.io  pgsql-sql@postgresql.org mailing list archive  
help / color / mirror / Atom feed
From: Kristo Kaiv <kristo.kaiv@skype.net>
To: Kristo Kaiv <kristo.kaiv@skype.net>
Cc: Postgresql General List <pgsql-general@postgresql.org>
Subject: Re: table column vs. out param [1:0]
Date: Thu, 23 Aug 2007 11:11:57 +0300
Message-ID: <48E7152F-8921-431A-86CF-D03032EAC940@skype.net> (raw)
In-Reply-To: <5177DE35-7DAD-4DAF-B314-242DAA2B15D1@skype.net>
References: <5177DE35-7DAD-4DAF-B314-242DAA2B15D1@skype.net>


On 23.08.2007, at 8:51, Kristo Kaiv wrote:

> I am trying to implement the new out parameters in functions and  
> stumbled upon a problem.
> There is an internal requirement for our databases that every  
> function call always returns 2 params status & status_text.
> The problem now is that plpgsql selects the out params themselves  
> into out params instead of function call results that i need there.
> If this is the expected behavior of out params it makes using out  
> params a bit complicated if some table attributes
> happen to have the same name as out params. How can i overcome this  
> situation? I can understand function variables having precedence
> over column names as you can freely rename them but out params is a  
> different situation.
>
> snippet from code
> -[cut]--
>
>     out status int,                             -- 200
>     out status_text text                        -- OK
> ) AS $$
> BEGIN
>
> -[cut]--
>             SELECT status, status_text
>               FROM service._simple_add(
>                     i_key_user
>                    ,i_key_service
>                    ,i_action
>                    ,i_subscr_len)
>               INTO status, status_text;
> -[cut]-

using a table (function) alias seems to solve the problem.

Kristo Kaiv
http://kaiv.wordpress.com (PostgreSQL blog)

view thread (6+ messages)  latest in thread

Message-ID: <48E7152F-8921-431A-86CF-D03032EAC940@skype.net>
Permalink:  ../48E7152F-8921-431A-86CF-D03032EAC940@skype.net/
Also on:    postgresql.org/message-id/48E7152F-8921-431A-86CF-D03032EAC940@skype.net

 · 

reply

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Reply to all the recipients using the --to and --cc options:
  reply via email

  To: pgsql-sql@postgresql.org
  Cc: kristo.kaiv@skype.net, pgsql-general@postgresql.org
  Subject: Re: table column vs. out param [1:0]
  In-Reply-To: <48E7152F-8921-431A-86CF-D03032EAC940@skype.net>

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox