Re: Any reason not to return row_count in cursor of plpgsql?

From: Andrew Gierth <andrew(at)tao11(dot)riddles(dot)org(dot)uk>
To: bruce(at)momjian(dot)us (Bruce Momjian), pgsql-hackers(at)postgresql(dot)org
Subject: Re: Any reason not to return row_count in cursor of plpgsql?
Date: 2009-03-27 10:45:27
Message-ID: 877i2bi6rc.fsf@news-spur.riddles.org.uk
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

>>>>> "Bruce" == Bruce Momjian <bruce(at)momjian(dot)us> writes:

>> hi all,
>>
>> I read the code that it seems easy for the cursor in plpgsql to
>> return ROW_COUNT after MOVE LAST etc. The SPI_processed variable
>> already there, but didn't put it into estate structure, any reason
>> for that?
>>
>> thanks and best regards

Bruce> Sorry, we have decided against this change because it might
Bruce> break existing applications.

As they say on wikipedia, [citation needed]

GET DIAGNOSTICS ROW_COUNT is documented as working for all commands;
if it doesn't work for MOVE (and FETCH), that's a bug. It might be one
that's not appropriate to backpatch, but that's no excuse for not
fixing it in a new release.

It's especially egregious in that MOVE _does_ set FOUND.

diff -c -r1.235 pl_exec.c
*** pl_exec.c 23 Feb 2009 10:03:22 -0000 1.235
--- pl_exec.c 27 Mar 2009 10:44:08 -0000
***************
*** 3368,3373 ****
--- 3368,3375 ----
exec_set_found(estate, n != 0);
}

+ estate->eval_processed = n;
+
return PLPGSQL_RC_OK;
}

--
Andrew (irc:RhodiumToad)

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Andrew Gierth 2009-03-27 10:48:41 Re: 8.4 release notes proof reading 1/2
Previous Message Guillaume Smet 2009-03-27 10:21:04 Re: 8.4 open items list