Hugo, > Hello. > > 1 - I created a column NOT NUL in a table (ALTER TABLE MYTABLE ADD > NEW_COLUMN INTEGER NOT NULL). There were already some records in the > table. FB didn´t raise any warning or exception. > 2 - I created a backup file from MYDB.FDB using gbak. FB didn´t raise > any warning or exception. > 3- I tried to restore the backup file to a new MYDB.FDB and FB raises > and error: gbak: ERROR:validation error for column NAME, value "*** null > ***" > > Let´s accept than the step 3 is coherent. > > So, why can I execute step 1 without troubles? > > Well, someone can tell me to use -no_validity to restore the database. > Ok, it works. But, the column that should be NOT NULL will change, > without warning, and I have to check my tables after restoring DB. > > I am using FB 2.5 and I tried using FB 3.0 too. > > Is it as I described or there is another way to treat this?
http://tracker.firebirdsql.org/browse/CORE-1748 See Dmitry's InterBase legacy comment. I for one would simply reject adding new NOT NULL fields on a table with data if there is no DEFAULT clause provided. -- With regards, Thomas Steinmaurer http://www.upscene.com Professional Tools and Services for Firebird FB TraceManager, IB LogManager, Database Health Check, Tuning etc.
