8
0
mirror of https://github.com/FirebirdSQL/firebird.git synced 2025-01-22 17:23:03 +01:00

Fix #8123 - Procedure manipulation can lead to wrong dependencies removal.

This commit is contained in:
Adriano dos Santos Fernandes 2024-05-20 22:08:29 -03:00
parent bf6c467fdf
commit f94343e00e

View File

@ -2221,8 +2221,13 @@ bool VIO_erase(thread_db* tdbb, record_param* rpb, jrd_tra* transaction)
// procedure name to track parameter dependencies
DFW_post_work_arg(transaction, work, &desc, procedure->getId(), dfw_arg_proc_name);
}
EVL_field(0, rpb->rpb_record, f_prm_sname, &desc2);
DFW_post_work(transaction, dfw_delete_global, &desc2, 0);
if (!EVL_field(0, rpb->rpb_record, f_prm_fname, &desc2))
{
EVL_field(0, rpb->rpb_record, f_prm_sname, &desc2);
DFW_post_work(transaction, dfw_delete_global, &desc2, 0);
}
break;
case rel_fields: