Lists: | pgsql-bugs |
---|
From: | Josh Williams <joshwilliams(at)ij(dot)net> |
---|---|
To: | pgsql-bugs(at)postgresql(dot)org |
Subject: | psql: SELECT INTO with FETCH_COUNT enabled |
Date: | 2010-05-25 04:31:25 |
Message-ID: | 1274761885.4261.233.camel@minidragon |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Lists: | pgsql-bugs |
While tinkering with some psql settings on 9.0beta1...
[local]:5432|postgres=# \set FETCH_COUNT 1
[local]:5432|postgres=# SELECT foo INTO bar FROM baz;
ERROR: DECLARE CURSOR cannot specify INTO
LINE 2: SELECT foo INTO bar FROM baz;
^
[local]:5432|postgres=#!
If I'm reading it right its using src/bin/psql/common.c's
is_select_command() to determine if the query is cursor-able, and that
function is just looking to see that the query starts with 'select' (or
'values'.)
I'm not sure catching a non-alias use of INTO will be all that easy here
without adding undue complexity. So considering no one else has
reported it at least than I've been able to find, +1 for leaving it as
is. Just thought I'd post it in case anyone has any better ideas for
tackling it.
- Josh
From: | Bruce Momjian <bruce(at)momjian(dot)us> |
---|---|
To: | Josh Williams <joshwilliams(at)ij(dot)net> |
Cc: | pgsql-bugs(at)postgresql(dot)org |
Subject: | Re: psql: SELECT INTO with FETCH_COUNT enabled |
Date: | 2010-05-28 22:38:56 |
Message-ID: | 201005282238.o4SMcu208435@momjian.us |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Lists: | pgsql-bugs |
I have added the following TODO:
Fix FETCH_COUNT to handle SELECT ... INTO and WITH queries
* http://archives.postgresql.org/pgsql-hackers/2010-05/msg01565.php
* http://archives.postgresql.org/pgsql-bugs/2010-05/msg00192.php
---------------------------------------------------------------------------
Josh Williams wrote:
> While tinkering with some psql settings on 9.0beta1...
>
> [local]:5432|postgres=# \set FETCH_COUNT 1
> [local]:5432|postgres=# SELECT foo INTO bar FROM baz;
> ERROR: DECLARE CURSOR cannot specify INTO
> LINE 2: SELECT foo INTO bar FROM baz;
> ^
> [local]:5432|postgres=#!
>
> If I'm reading it right its using src/bin/psql/common.c's
> is_select_command() to determine if the query is cursor-able, and that
> function is just looking to see that the query starts with 'select' (or
> 'values'.)
>
> I'm not sure catching a non-alias use of INTO will be all that easy here
> without adding undue complexity. So considering no one else has
> reported it at least than I've been able to find, +1 for leaving it as
> is. Just thought I'd post it in case anyone has any better ideas for
> tackling it.
>
> - Josh
>
>
>
> --
> Sent via pgsql-bugs mailing list (pgsql-bugs(at)postgresql(dot)org)
> To make changes to your subscription:
> http://www.postgresql.org/mailpref/pgsql-bugs
--
Bruce Momjian <bruce(at)momjian(dot)us> http://momjian.us
EnterpriseDB http://enterprisedb.com