Subject Re: [Firebird-Architect] Change NULL / NOT NULL
Author Jim Starkey
Alexander peshkoff wrote:
> On Thursday 07 May 2009 19:37:29 Adriano dos Santos Fernandes wrote:
>
>> All,
>>
>> As we should prevent users from doing direct (and unsafe) system table
>> updates, I propose (hoping to be in v2.5) creation of DDL command to
>> change [NOT] NULL field constraint.
>>
>> The syntax would be:
>> alter table <table> alter <field> not null;
>> alter table <table> alter <field> null;
>>
>> It's semantics would be:
>> When putting "NOT NULL", in DFW (commit time) the table is locked
>> and a BLR dynamic query is constructed to inspect for NULL values. If
>> there are, we throw an error.
>>
>
> Good suggestion, but not for 2.5 - it's feature-closed after beta1.
>
> Ideally we should prepare a list of other tasks, that currently require direct
> system tables updates. And may be implement them all together, and after it
> disable such updates.
>
>

I think blocking all updates to system tables is a good idea. The
benefits I anticiplated for writeable system ables have never accrued,
only the liabilities. And one of the indirect liabilities is that the
ability to hack in otherwise unsupported features, removing immediate
motivation to implement safe DDL commands.

System tables in Netfrastructure and Nimbus are read only to everyone
except the system itself. I do keep a commented out back door that I
can enable for serious surgery, but only as a last resort.


--
Jim Starkey
President, NimbusDB, Inc.
978 526-1376