From: Claudio V. C. <cv...@us...> - 2001-06-26 06:36:26
|
Don't you hate when you nuke a procedure by deleting elements that it uses but that aren't tracked? Please see this isql session: SQL> drop external function f_strblob; Statement failed, SQLCODE = -607 unsuccessful metadata update -cannot delete -UDF F_STRBLOB -there are 1 dependencies The engine now detects if some procedure is using the UDF before un-declaring it. I also have in place code to check DROP GENERATOR, but since it doesn't exist yet, I will emulate it with a hard delete: SQL> delete from rdb$generators where rdb$generator_name = 'GEN_DEPEND'; SQL> commit; Statement failed, SQLCODE = -607 unsuccessful metadata update -cannot delete -GENERATOR GEN_DEPEND -there are 1 dependencies SQL> In the first case, I didn't have to commit since DDL is auto-committed by default in isql. However, since I have to use DML to delete an entry in rdb$generators, I had to commit explicity to activate DFW. You may be interested in this small improvement, too: SQL> create table wiki(a int, b double precision, c image); Statement failed, SQLCODE = -607 Dynamic SQL Error -SQL error code = -607 -Invalid command -Specified domain or source column IMAGE does not exist SQL> The engine now tells you the name of the data type or domain that it doesn't recognize. Next logical step *seems* to spank the engine so when you are creating a large procedure, the message FIELD NOT FOUND will tell you what's the field it doesn't recognize. I hope it's possible to improve that error message. C. --------- Claudio Valderrama C. Ingeniero en Informática - Consultor independiente http://www.cvalde.com - http://firebird.sf.net |