Re: move 0 behaviour

Bruce Momjian <pgman@candle.pha.pa.us>

From: Bruce Momjian <pgman@candle.pha.pa.us>
To: Tom Lane <tgl@sss.pgh.pa.us>
Cc: Peter Eisentraut <peter_e@gmx.net>, Dave Cramer <dave@fastcrypt.com>, "pgsql-hackers@postgresql.org" <pgsql-hackers@postgresql.org>
Date: 2002-11-02T05:41:28Z
Lists: pgsql-hackers, pgsql-general
Tom Lane wrote:
> Bruce Momjian <pgman@candle.pha.pa.us> writes:
> > Tom Lane wrote:
> >> Do not hack up PerformPortalFetch; put the special case for INT_MAX in
> >> utility.c's FetchStmt code, instead.  As-is, you probably broke other
> >> callers of PerformPortalFetch.
> 
> > I thought about that, but I need to fail if the cursor name is invalid. 
> 
> What has that got to do with it?

If I put the 'return' for 0 MOVE/FETCH in utility.c's FetchStmt code, I
will not get the checks for invalid cursor names, and I will not get the
proper return tag.   I don't see how to do anything in utility.c.  I
assume this is the code you want to move to utility.c:
	
	+       /* If zero count, we are done */
	+       if (count == 0)
	+               return;
	+ 
	+       /* Internally, zero count processes all portal rows */
	+       if (count == INT_MAX)
	+               count = 0;
	+               

-- 
  Bruce Momjian                        |  http://candle.pha.pa.us
  pgman@candle.pha.pa.us               |  (610) 359-1001
  +  If your life is a hard drive,     |  13 Roberts Road
  +  Christ can be your backup.        |  Newtown Square, Pennsylvania 19073