From c823700a273e814b4c44df3be17ad9e395da05b3 Mon Sep 17 00:00:00 2001 From: robocop Date: Sun, 22 May 2005 03:10:01 +0000 Subject: [PATCH] ALTER EXTERNAL FUNCTION: be able to change the entry_point or the module_name when the UDF cannot be dropped to correct the declaration because it's used in some view, procedure, trigger or check. --- src/jrd/dyn_mod.epp | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/src/jrd/dyn_mod.epp b/src/jrd/dyn_mod.epp index 6f5b219b3d..b7e062b451 100644 --- a/src/jrd/dyn_mod.epp +++ b/src/jrd/dyn_mod.epp @@ -473,7 +473,8 @@ void DYN_modify_filter(Global* gbl, const UCHAR** ptr) // ************************************* // D Y N _ m o d i f y _ f u n c t i o n // ************************************* -// Its purpose is to change the comment in the function's record. +// Its purpose is to change the comment in the function's record and to +// allow changing the entry point and/or the module name. void DYN_modify_function(Global* gbl, const UCHAR** ptr) { thread_db* tdbb = JRD_get_thread_data(); @@ -508,7 +509,16 @@ void DYN_modify_function(Global* gbl, const UCHAR** ptr) X.RDB$DESCRIPTION.NULL = TRUE; break; - // Other cases should go there, like modifying the entry point or module name. + case isc_dyn_func_module_name: + GET_STRING(ptr, X.RDB$MODULE_NAME); + X.RDB$MODULE_NAME.NULL = FALSE; + break; + + case isc_dyn_func_entry_point: + GET_STRING(ptr, X.RDB$ENTRYPOINT); + X.RDB$ENTRYPOINT.NULL = FALSE; + break; + default: DYN_unsupported_verb(); }