Subject Re: [firebird-support] Re: Firebird 3: Not able to UPDATE RDB$Procedures
Author Chuck Belanger

Thank you. However, I am not clear at all about how to do this with SQL DDL.

Also, apparently, this is not a blanket restriction, since I can successfully run the UPDATE RDB$PROCEDURES on at least 1 other converted DB (that is essentially the same as the DB I cannot run this UPDATE on).


On 5/31/2018 9:14 AM, blackfalconsoftware@... [firebird-support] wrote:
I just finished a complete review of Carlos' migration guide.  I read it quite carefully but completely missed what appears to be a contradiction in his explanations for the updating of the source-code fields in the system tables.  See the following extract below...

With the expansion of SQL DDL statements in Firebird 3, virtually all operations that could be done only through direct changes to the system tables can now be done in "official" ways, via SQL DDL.
The only exceptions are the fields that store the source code of procedures and triggers, located in the RDB$PROCEDURES and RDB$TRIGGERS tables, respectively.

Application developers often want to hide the human readable version of their procedures and triggers to protect their intellectual property.SQL DDL offers no way to delete or hide th at source code. As an accommodation to that business need, Firebird 3 allows you to manipulate those two fields.

On the one hand Carlos is saying you can alter such fields with SQL DDL statements and on the other he is saying you can't; then goes on to provide SQL code that does just that.  This explanation is somewhat confusing to say the least.

However, maybe Firebird 3.x.x does NOT allow this as Carlos' manual suggests...

Steve Naidamast