From: | Zeugswetter Andreas <andreas(dot)zeugswetter(at)telecom(dot)at> |
---|---|
To: | "pgsql-hackers(at)postgreSQL(dot)org" <pgsql-hackers(at)postgreSQL(dot)org> |
Subject: | AW: [HACKERS] Re: [PATCHES] Changes to sequence.c |
Date: | 1998-03-06 13:06:25 |
Message-ID: | 01BD4909.10C7BA20@pc9358.sd.spardat.at |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
Billy G. Allie wrote:
>
> Vadim B. Mikheev wrote:
> >Billy G. Allie wrote:
> >>
> >> I encountered a problem (bug? feature?) where "select currval('sequence')"
> >> will generate an error if "select nextval('sequence')" is not executed
> first.
> >
> >This is feature :)
> >1. This is what Oracle does.
> >2. currval () is described as returning value returned by
> > last nextval() in _session_.
> >
> >Vadim
> >
> Does this mean we should not modify this behavior because "this is what Oracle
> does"? I can envision where using currval() before nextval() can be useful.
Actually, what you are proposing was initial behaviour of currval().
This was changed to be more consistent with 1. & 2. (note - not only 1.,
but 2. also).
But personally I haven't objection against changing this again.
Men, vote pls!
Vadim
No, I would not change this again, my question is iff instead of elog(ERROR
the old code could be reinserted. This would mean, that when a session did a
previous nextval it gets it's session currval, but if it did not, it gets a global
currval as in previous implementation. The problem is somebody who
calls currval often without ever calling nextval (like a monitor) will totally kill
performance. (same as a select max(field))
Andreas
From | Date | Subject | |
---|---|---|---|
Next Message | The Hermit Hacker | 1998-03-06 13:31:17 | Re: [HACKERS] AUTO_INCREMENT suggestion |
Previous Message | Vadim B. Mikheev | 1998-03-06 12:39:58 | Re: [HACKERS] Re: [PATCHES] Changes to sequence.c |