Thread: sequence last_value not accurate if sequence has never been used
IMHO, it would be good for the last_value to come back null if is_called is false. Don't know if that's possible or even a good idea -- but figured it was worth a note since the following psql log raised my eye brow a bit. Wayne ------------------------------------- policy=> create sequence a start 1; CREATE SEQUENCE policy=> select last_value from a; last_value ------------ 1 (1 row) policy=> select nextval('a'); nextval --------- 1 (1 row) policy=> select last_value from a; last_value ------------ 1 (1 row) policy=> select nextval('a'); nextval --------- 2 (1 row) policy=> --------------------------------
Wayne Schroeder <raz@chewies.net> writes: > IMHO, it would be good for the last_value to come back null if is_called > is false. Don't know if that's possible or even a good idea -- It's not really very practical; among other things you'd lose the ability to specify a START value different from MIN. Of course, if we wanted to break backwards compatibility wholesale, we could doubtless add a separate column for START, do away with is_called altogether in favor of representing not-iscalled by last_value = null, etc. But I doubt it's worth the pain of breaking clients that know the existing definitions of these fields. regards, tom lane