Adriano,

> CORE-3073 [1] requires special BLR verb meaning "get the default value of a
> field". There is request to expose the same functionality in SQL too, but
> doesn't matter here.
> 
> These cascade triggers are system triggers but are backed-up and restored. If
> we use new BLR on them, downgrades via gbak will not work.
> 
> So is this acceptable, that in some cases people must recreate database from
> script to downgrade?

In some respect that is simply a fact of life, to go forward sometimes you 
don't get the chance to take a step back.

Having said that, I was wondering if there could be a system procedure which we 
could add to all existing versions which would force the engine to re-process 
the source of the schema object to recreate the BLR based on the rules of the 
current engine version.

In the case noted, that would mean that the existing bug/limitation would still 
apply but the new BLR would be removed from the objects.

Further, we could add a new GBAK switch to have this re-compile procedure run 
at the end of the restore.


Sean

I've never tried this but what would happen if I executed:
  UPDATE RDB$Procedures SET RDB$ProcedureSource = RDB$ProcedureSource || '--'; 

Would this force the engine to recompile the BLR?


------------------------------------------------------------------------------
Cloud Services Checklist: Pricing and Packaging Optimization
This white paper is intended to serve as a reference, checklist and point of 
discussion for anyone considering optimizing the pricing and packaging model 
of a cloud services business. Read Now!
http://www.accelacomm.com/jaw/sfnl/114/51491232/
Firebird-Devel mailing list, web interface at 
https://lists.sourceforge.net/lists/listinfo/firebird-devel

Reply via email to