public inbox for [email protected]
help / color / mirror / Atom feedFrom: Neel Patel <[email protected]>
To: Khushboo Vashi <[email protected]>
Cc: pgadmin-hackers <[email protected]>
Subject: Re: Unable to update Domain properly
Date: Thu, 14 Jan 2016 12:11:55 +0530
Message-ID: <CACCA4P0utAH8CzBiO3aM-tLyUXQstcGWz7JGFN5dMdFB0skBAQ@mail.gmail.com> (raw)
In-Reply-To: <CACCA4P095=s7tBwPTkgoHuhKndqMQxUfCX6bstiO01nym5JhPQ@mail.gmail.com>
References: <CAFOhELfE7Ne5-Z0+igjeKQHbYWhkB_3UxTSWB-evsu7pixVkUA@mail.gmail.com>
<CACCA4P095=s7tBwPTkgoHuhKndqMQxUfCX6bstiO01nym5JhPQ@mail.gmail.com>
List-Unsubscribe: <mailto:[email protected]?body=unsub%20pgadmin-hackers>
Hi,
Please find updated patch file with the fix of below issue.
*Issue: -*
Earlier patch file will work only when in "public" schema.
If we change the schema name then generated name should contain both
"<schema_name>"."<domain_name>".
Attached patch file will include the schema name along with domain name.
Thanks Khushboo for point out the issue.
Thanks,
Neel Patel
On Wed, Jan 13, 2016 at 10:57 PM, Neel Patel <[email protected]>
wrote:
> Hi,
>
> Please find the attached patch file for fix of above issue.
>
> *Issue:- *
> Below generated SQL was wrong.
>
> ALTER DOMAIN pem."TestDomain"
> RENAME TO "TestDomain1";
> ALTER DOMAIN pem."TestDomain"
> DROP NOT NULL;
>
> In second query, domain name is wrong as domain name was updated by the
> first query.
>
> *Resolution:-*
>
> Now when any properties got changed along with domain name then correct
> SQL will be generated.
> Correct query should be as below.
>
> ALTER DOMAIN pem."TestDomain"
> RENAME TO "TestDomain1";
> ALTER DOMAIN pem."TestDomain1"
> DROP NOT NULL;
>
> Please review it and do let us know for any comment.
>
> Thanks,
> Neel Patel
>
> On Wed, Jan 13, 2016 at 6:43 PM, Khushboo Vashi <
> [email protected]> wrote:
>
>> Hi,
>>
>> While updating Domain from pgAdmin-III , I observed an error.
>>
>> When I update only Domain name it is working properly, but when I try to
>> update multiple fields, I get an error.
>>
>> For example, if I try to rename Domain *TestDomain* to *TestDomain1*
>> and also modifies one or more fields (except comment). I get below error.
>>
>>
>> ERROR: type "pem.TestDomain" does not exist
>>
>> *Generated SQL:*
>>
>> ALTER DOMAIN pem."TestDomain"
>> RENAME TO "TestDomain1";
>> ALTER DOMAIN pem."TestDomain"
>> DROP NOT NULL;
>>
>>
>> Thanks,
>> Khushboo
>>
>
>
--
Sent via pgadmin-hackers mailing list ([email protected])
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgadmin-hackers
Attachments:
[application/octet-stream] domain_fix_V2.patch (1.6K, 3-domain_fix_V2.patch)
download | inline diff:
diff --git a/pgadmin/dlg/dlgDomain.cpp b/pgadmin/dlg/dlgDomain.cpp
index a3992f2..9c40b43 100644
--- a/pgadmin/dlg/dlgDomain.cpp
+++ b/pgadmin/dlg/dlgDomain.cpp
@@ -292,7 +292,7 @@ wxString dlgDomain::GetSql()
}
if (chkNotNull->GetValue() != domain->GetNotNull())
{
- sql += wxT("ALTER DOMAIN ") + domain->GetQuotedFullIdentifier();
+ sql += wxT("ALTER DOMAIN ") + qtIdent(cbSchema->GetValue()) + wxT(".") + qtIdent(name);
if (chkNotNull->GetValue())
sql += wxT("\n SET NOT NULL;\n");
else
@@ -300,7 +300,7 @@ wxString dlgDomain::GetSql()
}
if (txtDefault->GetValue() != domain->GetDefault())
{
- sql += wxT("ALTER DOMAIN ") + domain->GetQuotedFullIdentifier();
+ sql += wxT("ALTER DOMAIN ") + qtIdent(cbSchema->GetValue()) + wxT(".") + qtIdent(name);
if (txtDefault->GetValue().IsEmpty())
sql += wxT("\n DROP DEFAULT;\n");
else
@@ -318,7 +318,7 @@ wxString dlgDomain::GetSql()
tmpDef.RemoveAt(index);
else
{
- tmpsql += wxT("ALTER DOMAIN ") + domain->GetQuotedFullIdentifier()
+ tmpsql += wxT("ALTER DOMAIN ") + qtIdent(cbSchema->GetValue()) + wxT(".") + qtIdent(name)
+ wxT("\n ADD");
if (!conname.IsEmpty())
tmpsql += wxT(" CONSTRAINT ");
@@ -335,9 +335,8 @@ wxString dlgDomain::GetSql()
definition = definition.Mid(1).BeforeFirst('"');
else
definition = definition.BeforeFirst(' ');
- sql += wxT("ALTER DOMAIN ") + domain->GetQuotedFullIdentifier()
+ sql += wxT("ALTER DOMAIN ") + qtIdent(cbSchema->GetValue()) + wxT(".") + qtIdent(name)
+ wxT("\n DROP CONSTRAINT ") + qtIdent(definition) + wxT(";\n");
-
}
// Add the ADD CONSTRAINTs...
view thread (3+ messages)
reply
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Reply to all the recipients using the --to and --cc options:
reply via email
To: [email protected]
Cc: [email protected], [email protected]
Subject: Re: Unable to update Domain properly
In-Reply-To: <CACCA4P0utAH8CzBiO3aM-tLyUXQstcGWz7JGFN5dMdFB0skBAQ@mail.gmail.com>
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
This inbox is served by agora; see mirroring instructions
for how to clone and mirror all data and code used for this inbox