Обсуждение: Re: BUG #5629: ALTER SEQUENCE foo START execute a RESTART
Alexsander Rosa wrote:
> Well, if it's not going to be fixed, then at least the docs should be
> revised to warn all 8.4+ users to avoid this command and, if it's really
> needed, always check the server version before using the ALTER SEQUENCE ...
> START command, once it has a potentially hazardous bug that interprets it as
> a RESTART in 8.3 version and below.
The proper place for such notification is the 8.4 release notes, which
states:
Sequences now contain an additional 'start_value'
column (Zoltan Boszormenyi)
This supports <command>ALTER SEQUENCE ... RESTART.
Which means basically 8.3 didn't have a start field at all.
This is the first complaint I have heard about it. Do you have new
wording to suggest? Perhaps:
In previous releases, START behaved as RESTART.
---------------------------------------------------------------------------
>
> 2010/9/7 Bruce Momjian <bruce@momjian.us>
>
> > Alexsander Rosa wrote:
> > > What about the risk of using ALTER SEQUENCE ... START N in a mixed
> > > environment? In the 8.4.x servers it will work as designed but in the
> > 8.3.x
> > > (and below) servers, instead of issuing an error it will CORRUPT the
> > > sequence value without notice. I understand the point of keeping a
> > > (mis)feature when it's harmless or at least not amibiguous, but this is
> > not
> > > the case here. While the 8.4 behavior -- the correct one -- is a mere
> > > configuration of little consequence, the 8.3 (and below) behavior is an
> > > unexpected RESET. I think it's safer to require the people that was using
> > > old versions with the wrong spell to fix their code than put lots of
> > users
> > > of the current version in risk of using a potentially disastrous command
> > --
> > > when executed in previous versions. Should all 8.4.x (and beyond) users
> > be
> > > forced to check server version before issuing this command?
> >
> > Should all 8.3 users be required to retest their applications after a
> > minor upgrade? No.
> >
> > --
> > Bruce Momjian <bruce@momjian.us> http://momjian.us
> > EnterpriseDB http://enterprisedb.com
> >
> > + It's impossible for everything to be true. +
> >
>
>
>
> --
> Atenciosamente,
> Alexsander da Rosa
> Linux User #113925
>
> "Extremismo na defesa da liberdade n?o ? defeito.
> Modera??o na busca por justi?a n?o ? virtude."
> -- Barry Goldwater
--
Bruce Momjian <bruce@momjian.us> http://momjian.us
EnterpriseDB http://enterprisedb.com
+ It's impossible for everything to be true. +
At 8.4 release notes, item "E.5.3.3.1. TRUNCATE" there's a sentence: "The start value of a sequence can be changed by ALTER SEQUENCE START WITH. " Maybe this sentence should be copied/moved to "E.5.3.4.1. ALTER" with extra text stating that START, in previous versions, was an (unintended) alias to RESTART -- with the wording you suggested or something like that. The advise to check server_version when using this command could be mentioned, also. 2010/9/8 Bruce Momjian <bruce@momjian.us> > Alexsander Rosa wrote: > > Well, if it's not going to be fixed, then at least the docs should be > > revised to warn all 8.4+ users to avoid this command and, if it's really > > needed, always check the server version before using the ALTER SEQUENCE > ... > > START command, once it has a potentially hazardous bug that interprets it > as > > a RESTART in 8.3 version and below. > > The proper place for such notification is the 8.4 release notes, which > states: > > Sequences now contain an additional 'start_value' > column (Zoltan Boszormenyi) > > This supports <command>ALTER SEQUENCE ... RESTART. > > Which means basically 8.3 didn't have a start field at all. > > This is the first complaint I have heard about it. Do you have new > wording to suggest? Perhaps: > > In previous releases, START behaved as RESTART. > > --------------------------------------------------------------------------- > > -- Atenciosamente, Alexsander da Rosa Linux User #113925
Alexsander Rosa wrote: > At 8.4 release notes, item "E.5.3.3.1. TRUNCATE" there's a sentence: > "The start value of a sequence can be changed by ALTER SEQUENCE START WITH. > " > > Maybe this sentence should be copied/moved to "E.5.3.4.1. ALTER" with extra > text stating that START, in previous versions, was an (unintended) alias to > RESTART -- with the wording you suggested or something like that. The advise > to check server_version when using this command could be mentioned, also. I don't think we have had enough people confused by this to add that level of detail. -- Bruce Momjian <bruce@momjian.us> http://momjian.us EnterpriseDB http://enterprisedb.com + It's impossible for everything to be true. +