Log Message:
-----------
Generate function SQL correctly when the return type needs a schema specification

Modified Files:
--------------
    pgadmin3:
        CHANGELOG.txt (r1.98 -> r1.99)
    pgadmin3/pkg/win32:
        pgadmin3.wsi (r1.14 -> r1.15)
    pgadmin3/src/include:
        frmQuery.h (r1.20 -> r1.21)
    pgadmin3/src/schema:
        pgFunction.cpp (r1.33 -> r1.34)
    pgadmin3/src/ui:
        frmQuery.cpp (r1.65 -> r1.66)

Index: CHANGELOG.txt
===================================================================
RCS file: /projects/pgadmin3/CHANGELOG.txt,v
retrieving revision 1.98
retrieving revision 1.99
diff -LCHANGELOG.txt -LCHANGELOG.txt -u -w -r1.98 -r1.99
--- CHANGELOG.txt
+++ CHANGELOG.txt
@@ -16,6 +16,7 @@
 </ul>
 <br>
 <ul>
+    <li>2004-05-10 DP        Generate function SQL correctly when the return type 
needs a schema specification
     <li>2004-05-04 DP        Prevent duplication of functional indexes
     <li>2004-03-30 AP   ***  no initial language selection (using system default)
     <li>2004-03-25 AP   ***  Allow initial selection of language "Default"
Index: frmQuery.h
===================================================================
RCS file: /projects/pgadmin3/src/include/frmQuery.h,v
retrieving revision 1.20
retrieving revision 1.21
diff -Lsrc/include/frmQuery.h -Lsrc/include/frmQuery.h -u -w -r1.20 -r1.21
--- src/include/frmQuery.h
+++ src/include/frmQuery.h
@@ -78,7 +78,7 @@
     wxString title;
     wxString lastFilename, lastDir, lastPath;
 
-    bool changed, aborted;
+    bool changed, loaded, aborted;
     bool lastFileFormat;
 
     DECLARE_EVENT_TABLE()
Index: pgFunction.cpp
===================================================================
RCS file: /projects/pgadmin3/src/schema/pgFunction.cpp,v
retrieving revision 1.33
retrieving revision 1.34
diff -Lsrc/schema/pgFunction.cpp -Lsrc/schema/pgFunction.cpp -u -w -r1.33 -r1.34
--- src/schema/pgFunction.cpp
+++ src/schema/pgFunction.cpp
@@ -140,9 +140,10 @@
     pgFunction *function=0;
 
     pgSet *functions = obj->GetDatabase()->ExecuteSet(
-            wxT("SELECT pr.oid, pr.*, TYP.typname, lanname, pg_get_userbyid(proowner) 
as funcowner, description\n")
+            wxT("SELECT pr.oid, pr.*, TYP.typname, TYPNS.nspname AS typnsp, lanname, 
pg_get_userbyid(proowner) as funcowner, description\n")
             wxT("  FROM pg_proc pr\n")
             wxT("  JOIN pg_type TYP ON TYP.oid=prorettype\n")
+            wxT("  JOIN pg_namespace TYPNS ON TYPNS.oid=TYP.typnamespace\n")
             wxT("  JOIN pg_language LNG ON LNG.oid=prolang\n")
             wxT("  LEFT OUTER JOIN pg_description des ON des.objoid=pr.oid\n")
             + restriction +
@@ -164,7 +165,7 @@
             function->iSetOwner(functions->GetVal(wxT("funcowner")));
             function->iSetAcl(functions->GetVal(wxT("proacl")));
             function->iSetArgCount(functions->GetLong(wxT("pronargs")));
-            function->iSetReturnType(functions->GetVal(wxT("typname")));
+            
function->iSetReturnType(obj->GetDatabase()->GetSchemaPrefix(functions->GetVal(wxT("typnsp")))
 + functions->GetVal(wxT("typname")));
             function->iSetComment(functions->GetVal(wxT("description")));
             wxString oids=functions->GetVal(wxT("proargtypes"));
             function->iSetArgTypeOids(oids);
Index: frmQuery.cpp
===================================================================
RCS file: /projects/pgadmin3/src/ui/frmQuery.cpp,v
retrieving revision 1.65
retrieving revision 1.66
diff -Lsrc/ui/frmQuery.cpp -Lsrc/ui/frmQuery.cpp -u -w -r1.65 -r1.66
--- src/ui/frmQuery.cpp
+++ src/ui/frmQuery.cpp
@@ -91,6 +91,7 @@
     mainForm=form;
     title = _title;
     conn=_conn;
+       loaded = false;
 
     SetIcon(wxIcon(sql_xpm));
     wxWindowBase::SetFont(settings->GetSystemFont());
@@ -219,9 +220,8 @@
     horizontal->SplitHorizontally(sqlQuery, output, splitpos);
 
     sqlQuery->SetText(query);
-    changed = !query.IsNull() && settings->GetStickySql();
-    if (changed)
-        setExtendedTitle();
+       changed = false;
+
     updateMenu();
     queryMenu->Enable(MNU_SAVEHISTORY, false);
     queryMenu->Enable(MNU_CLEARHISTORY, false);
@@ -333,6 +333,7 @@
 {
     Show(TRUE);
     sqlQuery->SetFocus();
+       loaded = true;
 }
 
 
@@ -545,6 +546,7 @@
 void frmQuery::setExtendedTitle()
 {
     wxString chgStr;
+
     if (changed)
         chgStr = wxT(" *");
 
@@ -621,6 +623,9 @@
 
 void frmQuery::OnChangeStc(wxStyledTextEvent& event)
 {
+       if (!loaded)
+               return;
+
     if (!changed)
     {
         changed=true;
---------------------------(end of broadcast)---------------------------
TIP 3: if posting/reading through Usenet, please send an appropriate
      subscribe-nomail command to [EMAIL PROTECTED] so that your
      message can get through to the mailing list cleanly

Reply via email to