PgAdmin crashes when browsing functions that only have a single out
parameters without a default value (BTW default values on out parameters
are not supported anyways)
The problem is in pgFunction.cpp(324).
To replicate the crash:
---------------------------------------------------------------------------
CREATE OR REPLACE FUNCTION out_test_crash_3(OUT integer)
RETURNS integer AS
$BODY$
begin
$1 = 1000;
end;
$BODY$
LANGUAGE 'plpgsql'
--------------------------------------------------------------------------
Then:
Refresh the function node in the tree and click on the function name above.
Possibe fix:
Included.
--
Regards,
Gevik
Index: schema/pgFunction.cpp
===================================================================
--- schema/pgFunction.cpp (revision 7881)
+++ schema/pgFunction.cpp (working copy)
@@ -321,7 +321,7 @@
// Parameter default value
if (GetConnection()->HasFeature(FEATURE_FUNCTION_DEFAULTS) || GetConnection()->BackendMinimumVersion(8, 4))
{
- if (!argDefsArray.Item(i).IsEmpty())
+ if (argDefsArray.Count() != 0 && !argDefsArray.Item(i).IsEmpty())
arg += wxT(" DEFAULT ") + argDefsArray.Item(i);
}