sequence not restarting in a for loop (actually semi-random numbers)

From: Ivan Sergio Borgonovo <mail(at)webthatworks(dot)it>
To: pgsql-general(at)postgresql(dot)org
Subject: sequence not restarting in a for loop (actually semi-random numbers)
Date: 2008-11-12 16:01:19
Message-ID: 20081112170119.7721a615@dawn.webthatworks.it
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

I've a function that does something like:

create temp sequence tmp_seq;
for _row in (select id from mylist where Weight<_Weight)
loop
alter sequence tmp_seq restart with 1;
-- perform setval('tmp_seq',1,false);
insert into mytop (id,n) select id, nextval('tmp_seq')
from biglist join mylist on biglist.id=mylist
order by biglist.something limit 3;
end loop;
drop sequence tmp_seq;

I'd expect something like

1,1
1,2
1,3
127,1
127,2
127,3

but I get something like

1,5
1,6
1,7
127,55
127,56
127,57
152,6
152,7
152,8

what should I do to obtain the result I was expecting?

--
Ivan Sergio Borgonovo
http://www.webthatworks.it

Responses

Browse pgsql-general by date

  From Date Subject
Next Message paulo matadr 2008-11-12 16:05:19 MAX_CONNECTIONS ??
Previous Message Richard Huxton 2008-11-12 15:52:03 Re: Very slow queries w/ NOT IN preparation (seems like a bug, test case)