pgAdmin4 Debugger Window UI Controls
Description When utilizing pgAdmin4 7.8 in Windows 11 and debugging functions the Debugger dialog Window has some buggy and unexpected behavior when working with parameters.
First, boolean parameters passed to a function might be true, false, null, or a default value. A checkbox is presented to indicate a true value. An unchecked box should therefore indicate a false value. Having unchecked boolean checkboxes often results in the Debug submission button not being active and clickable. Sometimes the user is forced to check and uncheck the boolean checkboxes to satisfy the submission requirements and finally have the Debug button made active and clickable.
Second, if the user manually types in a value in a parameter's Value input box, it seems like this should automatically deactivate the corresponding Use Default? checkbox for the parameter, unless the intent is to allow toggling between a specified parameter or a default value for the parameter.
Third, modified or edited functions require a manual Object Explorer refresh, before the function can be debugged again, otherwise a "Function Not Found" error dialog is displayed to the user when attempting to debug again.
To Reproduce
Steps to reproduce the behavior:
- Debug a schema function with one or more boolean parameters by right clicking om the function name under Schemas.
- Attempt to submit the values without toggling all boolean checkboxes.
- The Debug submission button will not be active until all boolean checkboxes are toggled.
Expected behavior
An unchecked boolean checkbox should default to a false value and shouldn't require toggling.
Error message
Debugger Error: The specified function could not be found.
Screenshots
Desktop (please complete the following information): About pgAdmin 4 Version: 7.8, behavior also seen in 8.11 Application Mode: Desktop Current User: [email protected] NW.js Version: 0.77.0 Browser: Chromium 114.0.5735.91 Operating System: Windows-10-10.0.22631-SP0, Windows 11 Pro
The Debugger "function could not be found" error occurs when a function is dropped and re-created versus just a "create and replace" operation. That technically might not be a bug.