Hi,

PFA patch to fix the issue where we were not correctly providing default
parameters to respective argument(s).
RM#2350

Affected node,
1) Functions
2) Trigger Function
3) Procedures (EPAS)

--
Regards,
Murtuza Zabuawala
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company
diff --git 
a/web/pgadmin/browser/server_groups/servers/databases/schemas/functions/__init__.py
 
b/web/pgadmin/browser/server_groups/servers/databases/schemas/functions/__init__.py
index 2d2b6fb..970f51c 100644
--- 
a/web/pgadmin/browser/server_groups/servers/databases/schemas/functions/__init__.py
+++ 
b/web/pgadmin/browser/server_groups/servers/databases/schemas/functions/__init__.py
@@ -479,6 +479,22 @@ class FunctionView(PGChildNodeView, DataTypeReader):
             'i': 'IN', 'o': 'OUT', 'b': 'INOUT', 'v': 'VARIADIC', 't': 'TABLE'
         }
 
+        # We need to put default parameter at proper location in list
+        # Total number of default parameters
+        default_values_size = len(proargdefaultvals)
+
+        # Total number of parameters
+        total_parameters_size = len(proargtypes)
+
+        # Parameters which do not have default parameters
+        par_without_default = total_parameters_size - default_values_size
+
+        # only if we have at least one parameter with default value
+        if default_values_size > 0 and par_without_default > 0:
+            for idx in range(par_without_default):
+                # Set null value for parameter non-default parameter
+                proargdefaultvals.insert(idx, '')
+
         # The proargtypes doesn't give OUT params, so we need to fetch
         # those from database explicitly, below code is written for this
         # purpose.
-- 
Sent via pgadmin-hackers mailing list (pgadmin-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgadmin-hackers

Reply via email to