Обсуждение: 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. +