From: Mark O'D. <mar...@lu...> - 2001-07-26 00:38:42
|
Hi Ann + others I've had a reasonable look back at news etc, but can't find and posting of sample code for a partial limit, I saw some pseudo code for a stored procedure. I remember seeing something flash by when I didn't have time to look, but may have been mistaken (or perhaps it's hidden by being posted as a reply and the title doesn't spring out at me).. However, if there is one I'd like to see it, since from the code sample below it looks like the discussion is fairly well advanced along these lines. Cheers Mark PS: I've kept up the Ann W. Harrison wrote: > >> >> On Thursday, July 19, 2001, at 01:24 PM, Ann W. Harrison wrote: >> >>> -> case rsb_skip: >>> -> if ((--((IRSB_SKIP) impure)->irsb_number) > 0) >>> -> return FALSE; >>> -> if (!get_record (tdbb, rsb->rsb_next, NULL, mode)) >>> -> return FALSE; >>> -> break; >> > > At 07:01 PM 7/20/2001 -0700, John Bellardo wrote: > >> Forgive my ignorance, > > > I assure you, the ignorance was all mine. For reasons totally obscure > now, I thought that returning false meant that this particular row didn't > make the cut, not that the stream was exhausted. > >> What I was expecting was more along the lines of: >> >> case rsb_skip: >> if (((IRSB_SKIP) impure)->irsb_number > 0) >> { >> temp = ((IRSB_SKIP) impure)->irsb_number; >> ((IRSB_SKIP) impure)->irsb_number = 0; >> for (;temp > 0; temp--) >> { >> if (!get_record (tdbb, rsb->rsb_next, NULL, >> mode)) >> return FALSE; >> } >> } >> if (!get_record (tdbb, rsb->rsb_next, NULL, mode)) >> return FALSE; >> break; >> >> Where have I gone wrong? Thanks. > > > Give or take the way your tabs show up in my mail program, I think > you're right. I might do it this way... > > /* skip over some specified number of rows */ > > case rsb_skip: > while((--((IRSB_SKIP) impure)->irsb_number)) > if (!get_record (tdbb, rsb->rsb_next, NULL, mode)) > return FALSE; > > if (!get_record (tdbb, rsb->rsb_next, NULL, mode)) > return FALSE; > break; > > With the usual caveats about boundary conditions and my lack of > mastery thereof. > > > Regards, > > Ann > www.ibphoenix.com > We have answers. -- Your database needs YOU! http://firebird.sourceforge.net GPL: free software today - and still free tomorrow |