On 25-4-2017 17:43, Lester Caine les...@lsces.co.uk [firebird-support] 
wrote:
> On 25/04/17 12:51, Maxi maxiroba...@gmail.com [firebird-support] wrote:
>> I expect the value assigned by DEFAULT  when I add the new field is
>> still there.
>
> There has been various discussions on this area ...
>
> If you add 'NOT NULL' to an existing field, then you need to populate
> the existing fields with a value in the absence of a default. In my book
> the existing records start the update for adding a new field with simple
> new null records, and FROM A GOOD PRACTICE VIEW I would expect to
> populate these empty fields under my control, so the idea that adding
> the 'DEFAULT' to a field THEN populates existing fields 'magically' is
> wrong, and the way the 'magic' bit would work depends on the order you
> process things anyway.
>
> It's not a 'bug' but rather preference and I'm with SET that the process
> should include a managed UPDATE rather than a magic one ...

This is not about adding a NOT NULL or a default to an existing field, 
it is about adding a whole new column (not null) with a default to an 
existing table, and then dropping that default.

The SQL standard is quite clear at what needs to happen: adding a new 
column with a default should behave as if that column has existed from 
the original create table (btw: irrespective of the NOT NULL constraint, 
something that if I'm not mistaken also Firebird doesn't do correctly).

This has the effect that all existing records should get the default 
value as if they had that value from the start (either stored or 
virtual). It also means that a subsequent alteration of the default (new 
value or dropping the default), should not lead to changes to the value 
of those rows that existed before the column was added with; the columns 
need to retain the original default.

Mark
-- 
Mark Rotteveel
  • [firebird-supp... Maxi maxiroba...@gmail.com [firebird-support]
    • RE: [fire... 'Leyne, Sean' s...@broadviewsoftware.com [firebird-support]
      • Re: [... Maxi maxiroba...@gmail.com [firebird-support]
        • R... Lester Caine les...@lsces.co.uk [firebird-support]
          • ... Mark Rotteveel m...@lawinegevaar.nl [firebird-support]
            • ... Lester Caine les...@lsces.co.uk [firebird-support]
              • ... Mark Rotteveel m...@lawinegevaar.nl [firebird-support]
              • ... Ann Harrison aharri...@ibphoenix.com [firebird-support]
                • ... Lester Caine les...@lsces.co.uk [firebird-support]
    • Re: [fire... Svein Erling Tysvær setys...@gmail.com [firebird-support]
      • Re: [... Maxi maxiroba...@gmail.com [firebird-support]
    • Re: [fire... Mark Rotteveel m...@lawinegevaar.nl [firebird-support]
    • [firebird... hv...@users.sourceforge.net [firebird-support]

Reply via email to