On 09/04/2014 02:40 PM, Pavel Stehule wrote: > > > > 2014-09-04 14:37 GMT+02:00 Joel Jacobson <j...@trustly.com > <mailto:j...@trustly.com>>: > > > > On 4 sep 2014, at 11:42, Pavel Stehule <pavel.steh...@gmail.com > <mailto:pavel.steh...@gmail.com>> wrote: >> 2014-09-04 11:22 GMT+02:00 Joel Jacobson <j...@trustly.com >> <mailto:j...@trustly.com>>: >> >> The point was, RETURNS returns 1 while RETURNS SETOF returns >> 0 .. n. >> >> >> no RETURNS return "VALUE" (it is not a row) .. and in combination >> with SELECT - value will be a row. RETURNS SETOF returns rows > > I intentionally excluded the data type of what is returned. > 1 "VALUE" vs 0...n "VALUES" > Do you still fail to see the point 1 "VALUE" is special in the > context of what a function returns? > > > sorry, I don't understand .. for me SRF functions are absolutly > different monsters than scalar, array or composite function - so its > impossible to compare it. When looking from the other end of the problem, we are using SELECT/INSERT/UPDATE/DELETE *SET statements* in pl/pgsql when we really want scalars.
My understanding is that one main drivers of starting this thread was wanting also guaranteed SCALAR versions of these. And wanting them in a way that is easy to use. Cheers -- Hannu Krosing PostgreSQL Consultant Performance, Scalability and High Availability 2ndQuadrant Nordic OÜ