Thread: Re: BUG #5629: ALTER SEQUENCE foo START execute a RESTART

Re: BUG #5629: ALTER SEQUENCE foo START execute a RESTART

From
Bruce Momjian
Date:
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. +

Re: BUG #5629: ALTER SEQUENCE foo START execute a RESTART

From
Alexsander Rosa
Date:
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

Re: BUG #5629: ALTER SEQUENCE foo START execute a RESTART

From
Bruce Momjian
Date:
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. +