Re: Unable to create new function if "Owner" or "Comment" is specified. - Mailing list pgadmin-hackers

From Dave Page
Subject Re: Unable to create new function if "Owner" or "Comment" is specified.
Date
Msg-id CA+OCxow0SN3KNgzMa9X9v3Z_W4_tAfX3p8JcyedtrHaGAQGBKw@mail.gmail.com
Whole thread Raw
In response to Unable to create new function if "Owner" or "Comment" is specified.  (Sachin Srivastava <sachin.srivastava@enterprisedb.com>)
Responses Re: Unable to create new function if "Owner" or "Comment" is specified.
List pgadmin-hackers
Hi

On Tue, Sep 4, 2012 at 6:14 PM, Sachin Srivastava
<sachin.srivastava@enterprisedb.com> wrote:
>
> Hi,
>
> Due to re-quoting of already quoted schema qualified function name in the
> "ALTER FUNCTION <function name> OWNER to <owner name>" query while adding a
> new function we get an error about function name not found.
>
> Attached is a patch that fixes the issue.

Thanks - unfortunately that's still not right, as it duplicates the
schema name when creating new functions. I've applied the patch below
which seems to work in both the create and edit cases:

diff --git a/pgadmin/dlg/dlgFunction.cpp b/pgadmin/dlg/dlgFunction.cpp
index d102b97..1d2cc1c 100644
--- a/pgadmin/dlg/dlgFunction.cpp
+++ b/pgadmin/dlg/dlgFunction.cpp
@@ -975,16 +975,19 @@ wxString dlgFunction::GetSql()
                }
        }

-       name = schema->GetQuotedPrefix() + qtIdent(name)
-              + wxT("(") + GetArgs(false, true) + wxT(")");

        if (function)
        {
+               name = schema->GetQuotedPrefix() + qtIdent(name)
+                       + wxT("(") + GetArgs(false, true) + wxT(")");
+
                AppendOwnerChange(sql, wxT("FUNCTION ") + name);
                AppendSchemaChange(sql, wxT("FUNCTION ") + name);
        }
        else
        {
+               name = name + wxT("(") + GetArgs(false, true) + wxT(")");
+
                if (cbOwner->GetCurrentSelection() > 0)
                        AppendOwnerNew(sql, wxT("FUNCTION ") + name);
        }


--
Dave Page
Blog: http://pgsnake.blogspot.com
Twitter: @pgsnake

EnterpriseDB UK: http://www.enterprisedb.com
The Enterprise PostgreSQL Company


pgadmin-hackers by date:

Previous
From: Dave Page
Date:
Subject: pgAdmin III commit: Fix quoting of function identifiers.
Next
From: Jon Garate
Date:
Subject: pldebugger blank code issue