Author: andreas
Date: 2005-06-07 16:48:36 +0100 (Tue, 07 Jun 2005)
New Revision: 4283

Modified:
   branches/REL-1_2_0_PATCHES/pgadmin3/src/ui/dlgAggregate.cpp
Log:
aggregate fix

Modified: branches/REL-1_2_0_PATCHES/pgadmin3/src/ui/dlgAggregate.cpp
===================================================================
--- branches/REL-1_2_0_PATCHES/pgadmin3/src/ui/dlgAggregate.cpp 2005-06-07 
12:49:53 UTC (rev 4282)
+++ branches/REL-1_2_0_PATCHES/pgadmin3/src/ui/dlgAggregate.cpp 2005-06-07 
15:48:36 UTC (rev 4283)
@@ -37,9 +37,9 @@
 
 BEGIN_EVENT_TABLE(dlgAggregate, dlgTypeProperty)
     EVT_TEXT(XRCID("cbBaseType"),                   
dlgAggregate::OnChangeTypeBase)
-    EVT_COMBOBOX(XRCID("cbBaseType"),               dlgProperty::OnChange)
+    EVT_COMBOBOX(XRCID("cbBaseType"),               dlgAggregate::OnChangeType)
     EVT_TEXT(XRCID("cbStateType"),                  
dlgAggregate::OnChangeTypeState)
-    EVT_COMBOBOX(XRCID("cbStateType"),              dlgProperty::OnChange)
+    EVT_COMBOBOX(XRCID("cbStateType"),              dlgAggregate::OnChangeType)
     EVT_COMBOBOX(XRCID("cbStateFunc"),              dlgProperty::OnChange)
     EVT_TEXT(XRCID("cbStateFunc"),                  dlgProperty::OnChange)
 END_EVENT_TABLE();
@@ -158,13 +158,13 @@
             wxT("  FROM pg_proc p\n")
             wxT("  JOIN pg_type t ON t.oid=p.prorettype\n")
             wxT("  JOIN pg_namespace n ON n.oid=pronamespace\n")
-            wxT(" WHERE proargtypes[2] = 0");
+            wxT(" WHERE COALESCE(proargtypes[2],0) = 0");
 
 
         pgSet *set=connection->ExecuteSet(qry +
             wxT("\n   AND prorettype = ") + 
GetTypeOid(cbStateType->GetGuessedSelection()+1) +
             wxT("\n   AND proargtypes[0] = ") + 
GetTypeOid(cbStateType->GetGuessedSelection()+1) +
-            wxT("\n   AND (proargtypes[1]= 0 OR proargtypes[1]= ") 
+            wxT("\n   AND (COALESCE(proargtypes[1],0) = 0 OR proargtypes[1]= 
") 
             + GetTypeOid(cbBaseType->GetGuessedSelection()) + wxT(")"));
 
         if (set)
@@ -185,7 +185,7 @@
 
         set=connection->ExecuteSet(qry +
             wxT("\n   AND proargtypes[0] = ") + 
GetTypeOid(cbStateType->GetGuessedSelection()+1) +
-            wxT("\n   AND proargtypes[1]= 0"));
+            wxT("\n   AND COALESCE(proargtypes[1],0) = 0"));
 
         if (set)
         {


---------------------------(end of broadcast)---------------------------
TIP 9: the planner will ignore your desire to choose an index scan if your
      joining column's datatypes do not match

Reply via email to