Обсуждение: PgAdmin crash (1.10.0 beta4) + possible fix
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); }
Hi Gevik,
Thanks for reporting this.
Dave,
Please find the patch for the same.
Gevik Babakhani wrote:
Thanks for reporting this.
Dave,
Please find the patch for the same.
Gevik Babakhani wrote:
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
--
Thanks, applied with an additional fix to prevent an assertion in dlgFunction::Go. On Tue, May 26, 2009 at 1:45 AM, Ashesh Vashi <ashesh.vashi@enterprisedb.com> wrote: > Hi Gevik, > > Thanks for reporting this. > > Dave, > > Please find the patch for the same. > > Gevik Babakhani wrote: > > 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 > > -- > Thanks & Regards, > Ashesh Vashi > > EnterpriseDB INDIA: http://www.enterprisedb.com > > -- > Sent via pgadmin-hackers mailing list (pgadmin-hackers@postgresql.org) > To make changes to your subscription: > http://www.postgresql.org/mailpref/pgadmin-hackers > > -- Dave Page EnterpriseDB UK: http://www.enterprisedb.com