sequence not restarting in a for loop (actually semi-random numbers) - Mailing list pgsql-general

From Ivan Sergio Borgonovo
Subject sequence not restarting in a for loop (actually semi-random numbers)
Date
Msg-id 20081112170119.7721a615@dawn.webthatworks.it
Whole thread Raw
Responses Re: sequence not restarting in a for loop (actually semi-random numbers)  (Tom Lane <tgl@sss.pgh.pa.us>)
List 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


pgsql-general by date:

Previous
From: Richard Huxton
Date:
Subject: Re: Very slow queries w/ NOT IN preparation (seems like a bug, test case)
Next
From: paulo matadr
Date:
Subject: MAX_CONNECTIONS ??