August 29th, 2011, 02:49 PM
Strange Error on delete
I am getting a strange error every time I try to delete from a table:
As you can see this is a simple delete but it's not working. A google search for "UDFFIXEDPOINT" yields no results.
Preparing query: delete from po_detail
Error: *** IBPP::SQLException ***
Context: Statement::Prepare( delete from po_detail )
Message: isc_dsql_prepare failed
SQL Message : -104
Engine Code : 335544343
Engine Message :
invalid request BLR at offset 539
function UDFFIXEDPOINT is not defined
module name or entrypoint could not be found
Total execution time: 0.506s
I can't upgrade to the latest firebird because my database files are incompatible with the newest version.
Also: This problem does not happen on empty tables. That is, when the table is empty it doesn't throw an error, it just says 0 rows affected.
I'm desperate to fix this issue. Any help would be greatly appreciated. Thank you.
August 29th, 2011, 02:55 PM
Is po_detail a view by any chance?
August 29th, 2011, 03:35 PM
No, it's a table with 50,000 + rows.
A little more info: I realized that "UDFFIXEDPOINT" is a function created by the DB devs (This is a copy of a DB designed by a software company). I tried to delete the function but it has 110 dependencies. All of the dependencies are triggers and stored procedures, so now I am trying to figure out how to do a cascading delete on the function and its dependencies.
I have a backup of this database in case I mess something up, but I'm 99% certain I would be fine if all of the triggers and SPs were deleted... Is there any way to do that?
August 29th, 2011, 04:31 PM
That's what the CASCADE keyword is for in the DROP FUNCTION statement.
Originally Posted by vantagecp
August 31st, 2011, 02:37 AM
If you have access to the original database and its server, get a copy of the DLL file in UDF subdirectory that contains this function. It's look like they do something in before/after delete triggers that uses this udf.
Another thing that you can do is to disable all before/after delete triggers that use the function.