RE: [firebird-support] Script with 'Drop' in it

2013-02-08 Thread Leyne, Sean

  I would like to add a script that does a DROP EXTERNAL FUNCTION SQRT.
 
  The problem I have is that some of the databases that will run this script
 already have the UDF dropped and so the script errors.
 
  Is there a way to run statements like DROP INDEX, DROP EXTERNAL
 FUNCTION, etc. in a script without generating an error of the object isn't
 found?
 
 In a pure SQL script, I wouldn't know.

This should do:

EXECUTE BLOCK
AS
BEGIN
  IF (EXISTS (SELECT 1 FROM RDB$Functions WHERE RDB$FunctionName = 'SQRT') ) 
THEN
EXECUTE STATEMENT 'DROP EXTERNAL FUNCTION SQRT';

END



Sean



Re: [firebird-support] Script with 'Drop' in it

2013-02-07 Thread Paul Vinkenoog
Hello Todd,

 I would like to add a script that does a DROP EXTERNAL FUNCTION SQRT.

 The problem I have is that some of the databases that will run this script 
 already have the UDF dropped and so the script errors.

 Is there a way to run statements like DROP INDEX, DROP EXTERNAL FUNCTION, 
 etc. in a script without generating an error of the object isn't found?

In a pure SQL script, I wouldn't know.

But your application could check if the UDF name exists in RDB$FUNCTIONS and if 
so, execute DROP EXTERNAL FUNCTION.


Cheers,
Paul Vinkenoog