> t...@sss.pgh.pa.us wrote:
> 
>> b...@yugabyte.com <mailto:b...@yugabyte.com> wrote:
>> 
>> But why does "fetch last" fail here:
>> 
>> -- Test Two
>> start transaction;
>>  declare cur no scroll cursor without hold for
>>  select g.val as k, g.val*100 as v
>>  from generate_series(1, 10) as g(val)
>>  order by g.val;
>> 
>>  fetch first from cur;
>>  fetch last  from cur;
>> rollback;
> 
> FETCH LAST is implemented as "run forward to the end, then back up one". You 
> could imagine adding more infrastructure to allow doing it without backup, 
> but it'd be complicated (not least because the cursor's ending position would 
> be subtly wrong).
> 
>> Finally, I tried the same tests in PG 11.19. There, in Test One, the second 
>> "fetch first" succeeds (and gets the right result). But it has to scroll 
>> backwards to do this. I'm guessing that the Version 11 behavior was regarded 
>> as a bug—and was fixed. When did the behavior change here?
> 
> Probably here:
> 
> git.postgresql.org/gitweb/?p=postgresql.git&a=commitdiff&h=c1b7a6c27

Thanks for the quick response, Tom. "Could be done—but not cost-effective 
effort" works for me.

Reply via email to