> Thanks for testing! Could you provide a test case to show what exactly is the
> problem?
create table a (a int, b int, c int);
insert into a (select vs, ks, 10 from generate_series(1,5) vs, generate_series(1, 10000) ks);
create index on a (a,b);
analyze a;
set enable_indexskipscan=1; // setting this to 0 yields different results
set random_page_cost=1;
explain SELECT DISTINCT ON (a) a,b FROM a;
BEGIN;
DECLARE c SCROLL CURSOR FOR SELECT DISTINCT ON (a) a,b FROM a;
FETCH FROM c;
FETCH BACKWARD FROM c;
FETCH 6 FROM c;
FETCH BACKWARD 6 FROM c;
FETCH 6 FROM c;
FETCH BACKWARD 6 FROM c;
END;