On 01/19/2012 09:17 AM, Samuel Gendler wrote:


On Thu, Jan 19, 2012 at 8:20 AM, Adrian Klaver <adrian.kla...@gmail.com
<mailto:adrian.kla...@gmail.com>> wrote:

    On Thursday, January 19, 2012 7:59:27 am Gary Stainburn wrote:
     > The following code works in 8.4 but not 8.3.
     > Anyone know why, or what I need to do to change it?
     >
     > SELECT aid, asid,
     >        date_range (asdate, afdate)::date AS asdate,
     >        acomments
     > FROM availability
     >
     > In 8.4 it returns the expanded dataset as required. In 8.3 I get:
     >
     > ERROR:  set-valued function called in context that cannot accept
    a set
     > CONTEXT:  PL/pgSQL function "date_range" line 4 at RETURN NEXT

    As to why it works in 8.4 vs 8.3

    http://www.postgresql.org/docs/8.4/interactive/release-8-4.html

    "Support set-returning functions in SELECT result lists even for
    functions that
    return their result via a tuplestore (Tom)

    In particular, this means that functions written in PL/pgSQL and
    other PL
    languages can now be called this way.'

    In 8.3- I believe you could only call it as

    SELECT * from date_range (asdate, afdate)::date AS asdate;


I don't think you can have that cast there when it is in the
from-clause.

That was a cut and paste error on my part, I just copied that line from the original query.




--
Adrian Klaver
adrian.kla...@gmail.com

--
Sent via pgsql-sql mailing list (pgsql-sql@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-sql

Reply via email to