I use for sequences for row versioning not just numbering.  I'm glad you
pointed this out.  I'll need to revisit that code.

Is there a correct way to "initialize" currval without incrementing the
sequence?

--rob


----- Original Message -----
From: "Tom Lane" <[EMAIL PROTECTED]>
To: "rob" <[EMAIL PROTECTED]>
Cc: "Florent Guillaume" <[EMAIL PROTECTED]>; "Oliver Elphick"
<[EMAIL PROTECTED]>; <[EMAIL PROTECTED]>
Sent: Saturday, January 20, 2001 11:22 AM
Subject: Re: [GENERAL] Re: Re: is PG able to handle a >500 GB Database?


> "rob" <[EMAIL PROTECTED]> writes:
> > currval returns error unless nextval has been called at least once in
the
> > session.
>
> > I use <seq>.last_value
>
> > Perhaps I'm fooling myself
>
> Yes, you are, unless you never have more than one client attached to
> your database.  last_value will return whatever value was last assigned
> by any backend, therefore you might not get the value that was inserted
> into your tuple, but someone else's.
>
> The point about currval being initially undefined seems moot if what
> you're using it for is to recover the serial number that was assigned to
> a tuple you just inserted ...
>
> regards, tom lane
>

Reply via email to