Re: A problem with sequences... - Mailing list pgsql-general

From Dmitry Tkach
Subject Re: A problem with sequences...
Date
Msg-id 3E569057.6070907@openratings.com
Whole thread Raw
In response to Re: A problem with sequences...  (Doug McNaught <doug@mcnaught.org>)
Responses Re: A problem with sequences...  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-general
Doug McNaught wrote:

>Dmitry Tkach <dmitry@openratings.com> writes:
>
>
>
>>select setval('answer_id_seq', id) from answer order by id desc limit 1;
>>
>>Now, for some reason this reports a correct value, but what actually
>>gets set is wrong!
>>
>>
>
>I'm guessing that 'setval' is getting called more than once here.
>Your 'LIMIT 1' controls how many rows are returned to the client, but
>the server is probably generating more rows internally.  So this is
>just wrong, and
>
>
You are right ! That's it! It does get called twice.
There is even a nice comment in ExecLimit():

       * NOTE: when scanning forwards, we must fetch one tuple beyond the
       * COUNT limit before we can return NULL, else the subplan won't
       * be properly positioned to start going backwards.  Hence test
       * here is for position > netlimit not position >= netlimit.

Whatever that means, that's what was causing my problems...

Thanks!

Dima





pgsql-general by date:

Previous
From: Diogo de Oliveira Biazus
Date:
Subject: Problem with functional indexes
Next
From: Stephan Szabo
Date:
Subject: Re: A problem with sequences...