Log Message:
-----------
Properly quote function return types.

Modified Files:
--------------
    pgadmin3/src/include:
        pgFunction.h (r1.26 -> r1.27)
    pgadmin3/src/schema:
        pgFunction.cpp (r1.37 -> r1.38)

Index: pgFunction.h
===================================================================
RCS file: /projects/pgadmin3/src/include/pgFunction.h,v
retrieving revision 1.26
retrieving revision 1.27
diff -Lsrc/include/pgFunction.h -Lsrc/include/pgFunction.h -u -w -r1.26 -r1.27
--- src/include/pgFunction.h
+++ src/include/pgFunction.h
@@ -49,7 +49,9 @@
     void iAddArgName(const wxString &s) { argNames.Add(s); }
     void iSetArgTypeOids(const wxString& s) { argTypeOids = s; }
     wxString GetReturnType() const { return returnType; }
+       wxString GetQuotedReturnType() const { return quotedReturnType; }
     void iSetReturnType(const wxString& s) { returnType = s; }
+       void iSetQuotedReturnType(const wxString& s) { quotedReturnType = s; }
     wxString GetLanguage() const { return language; }
     void iSetLanguage(const wxString& s) { language = s; }
     wxString GetVolatility() const { return volatility; }
@@ -79,7 +81,7 @@
 private:
     wxString argTypeOids, argTypes, quotedArgTypes,
         argTypeNames, quotedArgTypeNames,
-        returnType, language, volatility, source, bin;
+        returnType, quotedReturnType, language, volatility, source, bin;
     wxArrayString argNames;
     bool returnAsSet, secureDefiner, isStrict;
     long argCount;
Index: pgFunction.cpp
===================================================================
RCS file: /projects/pgadmin3/src/schema/pgFunction.cpp,v
retrieving revision 1.37
retrieving revision 1.38
diff -Lsrc/schema/pgFunction.cpp -Lsrc/schema/pgFunction.cpp -u -w -r1.37 -r1.38
--- src/schema/pgFunction.cpp
+++ src/schema/pgFunction.cpp
@@ -56,7 +56,7 @@
             + wxT(")\n  RETURNS ");
         if (GetReturnAsSet())
             sql += wxT("SETOF ");
-        sql +=GetReturnType() 
+        sql +=GetQuotedReturnType() 
             + wxT(" AS\n");
         
         if (GetLanguage().IsSameAs(wxT("C"), false))
@@ -158,6 +158,7 @@
             function->iSetAcl(functions->GetVal(wxT("proacl")));
             function->iSetArgCount(functions->GetLong(wxT("pronargs")));
             
function->iSetReturnType(obj->GetDatabase()->GetSchemaPrefix(functions->GetVal(wxT("typnsp")))
 + functions->GetVal(wxT("typname")));
+                       
function->iSetQuotedReturnType(obj->GetDatabase()->GetQuotedSchemaPrefix(functions->GetVal(wxT("typnsp")))
 + qtIdent(functions->GetVal(wxT("typname"))));
             function->iSetComment(functions->GetVal(wxT("description")));
             wxString oids=functions->GetVal(wxT("proargtypes"));
             wxString argNames;
---------------------------(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