Re: Huh? Mysterious Function Error

From: Josh Berkus <josh(at)agliodbs(dot)com>
To: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: sqllist <pgsql-sql(at)postgresql(dot)org>, Jan Wieck <JanWieck(at)Yahoo(dot)com>
Subject: Re: Huh? Mysterious Function Error
Date: 2001-02-20 17:58:09
Message-ID: 3A92B031.B2B6119B@agliodbs.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-sql

Tom, Stephan,

> Josh Berkus <josh(at)agliodbs(dot)com> writes:
> > ERROR: unexpected SELECT query in exec_stmt_execsql()
>
> plpgsql doesn't think you should execute bare SELECTs, only SELECT INTO.

That would explain it. I have a nested function call in the form:

SELECT fn_remove_lock(record_id, user_id);

Because I didn't care what the function returned and SELECT is the
simplest form. Easily fixed.

>
> On reflection this seems an overly anal-retentive restriction, since
> there are cases where one might execute a SELECT for its side effects
> alone ("SELECT setval()" comes to mind).

> Jan, do you think there's a good case for refusing plain SELECTs?

I can think of one, myself. In some systems (MS SQL Server), all plain
selects are returned by stored procedures as query results; thus a
stored procedure is able to return multiple rowsets. In other systems,
the single returned rowset is given by the last palin SELECT in the
procedure.

Thus, until PGSQL *does* support stored procedures, refusing plain
SELECTs may be a good way to remind procedure-writers that we do not
have the ability to return rowsets.

For stuff like my procedure, or Tom's example, one can always designate
a dummy variable with:

dummy_variable := setval('some_sq',321);

Which should have the same effect.

-Josh Berkus

--
______AGLIO DATABASE SOLUTIONS___________________________
Josh Berkus
Complete information technology josh(at)agliodbs(dot)com
and data management solutions (415) 565-7293
for law firms, small businesses fax 621-2533
and non-profit organizations. San Francisco

In response to

Browse pgsql-sql by date

  From Date Subject
Next Message Rini Dutta 2001-02-20 19:11:34 RE: [SQL] handling of database size exceeding physical disk space
Previous Message Stephan Szabo 2001-02-20 17:48:42 Re: Huh? Mysterious Function Error