Repository navigation
Count a function as in use only where a call reaches it - #144
Merged
LucaCappelletti94 merged 2 commits intoOct 27, 2026
Merged
LucaCappelletti94 merged 2 commits into
LucaCappelletti94 merged 2 commits into
Conversation
Codecov Report✅ All modified and coverable lines are covered by tests. 📢 Thoughts on this report? Let us know! |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
DROP FUNCTIONrefused to drop a function whenever a check constraint, policy or trigger called any function of the same name. Droppingapp.f()failed because a policy calledpublic.f(), and droppingf(int, int)failed because a policy calledf(id). The cause sat one level down: a check or policy recorded every function carrying the called name, in every schema and with every argument list, and a trigger was matched to its function by bare name.A call now reaches the functions of that name in the schema it names, or for an unqualified call in
pg_catalogand the search path in force where it was written, that accept the number of arguments it passes. Argument types are not inferred, so overloads taking the same number of arguments all stay reachable and their drop stays refused. A trigger is bound when it is created to the function taking no arguments that PostgreSQL would run, and a trigger naming none is refused. The function lists policies and check constraints report narrow accordingly.This stacks on #143 and retargets to
mainonce #142 and #143 merge.