Finding every use of a built-in function

Started by Kurlaev Jaroslavalmost 2 years ago3 messages
#1Kurlaev Jaroslav
j.kurlaev@cft.ru

Hi hackers,

I'm not sure if it's the best list for my question but I have a following problem.

I have an existing DB with lots of data and I need to modify the behavior of one specific
built-in function. I can of course create my own function and redefine the behavior but
now I need to find every single instance of the old function being used. There is
dependency tracking with pg_depend but it doesn't work for built-in functions.

I also tried a different approach and tried to create a C-language hook for function
call but hooks also don't work for built-in functions.

Do you have some advice for me?

Thanks.

#2Pavel Stehule
pavel.stehule@gmail.com
In reply to: Kurlaev Jaroslav (#1)
Re: Finding every use of a built-in function

Hi

pá 26. 1. 2024 v 11:39 odesílatel Kurlaev Jaroslav <j.kurlaev@cft.ru>
napsal:

Hi hackers,

I'm not sure if it's the best list for my question but I have a following
problem.

I have an existing DB with lots of data and I need to modify the behavior
of one specific
built-in function. I can of course create my own function and redefine the
behavior but
now I need to find every single instance of the old function being used.
There is
dependency tracking with pg_depend but it doesn't work for built-in
functions.

I also tried a different approach and tried to create a C-language hook
for function
call but hooks also don't work for built-in functions.

Do you have some advice for me?

plpgsq_check can show dependencies
https://github.com/okbob/plpgsql_check#dependency-list

or you can write query SELECT * FROM pg_proc WHERE proname ilike '%name of
your function %'

Regards

Pavel

Show quoted text

Thanks.

#3Kurlaev Jaroslav
j.kurlaev@cft.ru
In reply to: Pavel Stehule (#2)
RE: Finding every use of a built-in function

plpgsq_check can show dependencies https://github.com/okbob/plpgsql_check#dependency-list

That's not exactly what I was looking for, but it's a useful tool that could help me anyway. Thanks!