PL/PgSQL INTO (used to be BUG #8870)

Lists: pgsql-docs
From: Marko Tiikkaja <marko(at)joh(dot)to>
To: PG Docs <pgsql-docs(at)postgresql(dot)org>
Subject: PL/PgSQL INTO (used to be BUG #8870)
Date: 2014-07-31 21:34:35
Message-ID: 53DAB66B.6080405@joh.to
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-docs

Hi,

As discussed in #8870, the docs make unfounded claims on INTO. Here's a
patch removing the incorrect part.

.marko

Attachment Content-Type Size
plpgsql_bull.patch text/plain 758 bytes

From: Marti Raudsepp <marti(at)juffo(dot)org>
To: Marko Tiikkaja <marko(at)joh(dot)to>
Cc: PG Docs <pgsql-docs(at)postgresql(dot)org>
Subject: Re: PL/PgSQL INTO (used to be BUG #8870)
Date: 2014-08-01 11:33:28
Message-ID: CABRT9RBLCyy0eHBpOneaAke_A3hVvnNwMyvhKiJRB=3C5x83DQ@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-docs

On Fri, Aug 1, 2014 at 12:34 AM, Marko Tiikkaja <marko(at)joh(dot)to> wrote:
> Here's a patch removing the incorrect part.

I can see how this doc statement can be misunderstood, but I think the
claims are actually about data types, not the number of columns in the
INTO list.

I think clarifying the number of columns quirk would be better than
removing this text.

Regards,
Marti


From: Marko Tiikkaja <marko(at)joh(dot)to>
To: Marti Raudsepp <marti(at)juffo(dot)org>
Cc: PG Docs <pgsql-docs(at)postgresql(dot)org>
Subject: Re: PL/PgSQL INTO (used to be BUG #8870)
Date: 2014-08-01 11:43:44
Message-ID: 53DB7D70.4040701@joh.to
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-docs

On 8/1/14 1:33 PM, Marti Raudsepp wrote:
> On Fri, Aug 1, 2014 at 12:34 AM, Marko Tiikkaja <marko(at)joh(dot)to> wrote:
>> Here's a patch removing the incorrect part.
>
> I can see how this doc statement can be misunderstood, but I think the
> claims are actually about data types, not the number of columns in the
> INTO list.

I don't really speak English, but I can't see what else the "as to
number" part could mean.

But the claim about "exactly matching" data types is completely bogus, too:

local:marko=#* do $$ declare _f1 timestamp;
local:marko$#* begin select current_date into _f1;
local:marko$#* end $$ ;
DO

local:marko=# do $$ declare _f1 timestamp;
local:marko$# begin select text '2004-01-01' into _f1;
local:marko$# end $$ ;
DO

.marko


From: Marti Raudsepp <marti(at)juffo(dot)org>
To: Marko Tiikkaja <marko(at)joh(dot)to>
Cc: PG Docs <pgsql-docs(at)postgresql(dot)org>
Subject: Re: PL/PgSQL INTO (used to be BUG #8870)
Date: 2014-08-01 12:57:10
Message-ID: CABRT9RDPtCD8fqy_pCeD2siafsJF=Z3+C_Y86h-WvJQV02iehg@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-docs

On Fri, Aug 1, 2014 at 2:43 PM, Marko Tiikkaja <marko(at)joh(dot)to> wrote:
> But the claim about "exactly matching" data types is completely bogus, too

My bad. I remember having a hard time with matching data types in
PL/pgSQL in one instance, but turns out that was with RETURN QUERY,
not INTO.

Anyway, I'd prefer adding an explicit warning about the non-strict
behavior. How about:

"The number of columns returned by the query is not checked to match
target variables. Superfluous target variables are assigned the value
NULL.
When a record variable is the target, it automatically
configures itself to the row type of the query result columns."

Regards,
Marti