Обсуждение: 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