Re: BUG #5105: "Select Into Strict" does not throw NO_DATA_FOUND - Mailing list pgsql-bugs

From Kevin Grittner
Subject Re: BUG #5105: "Select Into Strict" does not throw NO_DATA_FOUND
Date
Msg-id 4ACDBEE3020000250002B73F@gw.wicourts.gov
Whole thread Raw
In response to BUG #5105: "Select Into Strict" does not throw NO_DATA_FOUND  ("Walter Mesz" <meszwalter@yahoo.de>)
List pgsql-bugs
"Walter Mesz" <meszwalter@yahoo.de> wrote:

> my problem is that this select into does not throw a NO_DATA_FOUND
> if my select involves a max(). I did not see this behaviour
> documented anywhere and could not find it in a reasonable time at
> google.

>  SELECT max(tanum)
>            INTO STRICT x
>            FROM lo_prod_req
>           WHERE tanum = '1234567';

The documentation says:

$ If the STRICT option is specified, the query must return exactly one
$ row or a run-time error will be reported

http://www.postgresql.org/docs/8.3/interactive/plpgsql-statements.html

In this case the query will always return one row.  The row may have a
NULL if no matching values were found, but the row will be there.

select max(x) from (select generate_series(1,10) as x) y where x > 10;
 max
-----

(1 row)

Not a bug.

-Kevin

pgsql-bugs by date:

Previous
From: Tom Lane
Date:
Subject: Re: BUG #5105: "Select Into Strict" does not throw NO_DATA_FOUND
Next
From: Tom Lane
Date:
Subject: Re: BUG #5102: Silent IN (list of strings) failure to detect syntax error when list is linewrapped