From: | svn(at)pgadmin(dot)org |
---|---|
To: | pgadmin-hackers(at)postgresql(dot)org |
Subject: | SVN Commit by dpage: r4459 - in trunk/pgadmin3/src: dlg schema |
Date: | 2005-09-23 08:56:53 |
Message-ID: | 200509230856.j8N8urKR005096@developer.pgadmin.org |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgadmin-hackers |
Author: dpage
Date: 2005-09-23 09:56:53 +0100 (Fri, 23 Sep 2005)
New Revision: 4459
Modified:
trunk/pgadmin3/src/dlg/dlgTable.cpp
trunk/pgadmin3/src/schema/pgForeignKey.cpp
Log:
Fix ordering of table modification SQL per report from Diego Gil.
Modified: trunk/pgadmin3/src/dlg/dlgTable.cpp
===================================================================
--- trunk/pgadmin3/src/dlg/dlgTable.cpp 2005-09-23 07:47:01 UTC (rev 4458)
+++ trunk/pgadmin3/src/dlg/dlgTable.cpp 2005-09-23 08:56:53 UTC (rev 4459)
@@ -211,6 +211,7 @@
lstConstraints->AppendItem(data->GetIconId(), obj->GetName(), obj->GetDefinition());
previousConstraints.Add(obj->GetQuotedIdentifier()
+ wxT(" ") + obj->GetTypeName().Upper() + wxT(" ") + obj->GetDefinition());
+ break;
}
case PGM_FOREIGNKEY:
{
@@ -310,8 +311,14 @@
int index=-1;
wxString definition;
+
+ AppendNameChange(sql);
+ AppendOwnerChange(sql, wxT("TABLE ") + tabname);
+
wxArrayString tmpDef=previousColumns;
+ wxString tmpsql;
+ // Build a tmeporary list of ADD COLUMNs, and fixup the list to remove
for (pos=0; pos < lstColumns->GetItemCount() ; pos++)
{
definition = lstColumns->GetText(pos, 3);
@@ -320,12 +327,12 @@
definition=qtIdent(lstColumns->GetText(pos)) + wxT(" ") + lstColumns->GetText(pos, 1);
index=tmpDef.Index(definition);
if (index < 0)
- sql += wxT("ALTER TABLE ") + table->GetQuotedFullIdentifier()
+ tmpsql += wxT("ALTER TABLE ") + tabname
+ wxT(" ADD COLUMN ") + definition + wxT(";\n");
}
else
{
- sql += definition;
+ tmpsql += definition;
pgColumn *column=(pgColumn*) StrToLong(lstColumns->GetText(pos, 6));
if (column)
@@ -338,8 +345,6 @@
tmpDef.RemoveAt(index);
}
- AppendNameChange(sql);
- AppendOwnerChange(sql, wxT("TABLE ") + tabname);
for (index=0 ; index < (int)tmpDef.GetCount() ; index++)
{
@@ -351,11 +356,13 @@
sql += wxT("ALTER TABLE ") + tabname
+ wxT(" DROP COLUMN ") + qtIdent(definition) + wxT(";\n");
}
+ // Add the ADD COLUMNs...
+ sql += tmpsql;
-
-
tmpDef=previousConstraints;
+ tmpsql.Empty();
+ // Build a tmeporary list of ADD CONSTRAINTs, and fixup the list to remove
for (pos=0; pos < lstConstraints->GetItemCount() ; pos++)
{
wxString conname= qtIdent(lstConstraints->GetItemText(pos));
@@ -367,12 +374,12 @@
tmpDef.RemoveAt(index);
else
{
- sql += wxT("ALTER TABLE ") + tabname
+ tmpsql += wxT("ALTER TABLE ") + tabname
+ wxT(" ADD");
if (!conname.IsEmpty())
sql += wxT(" CONSTRAINT ");
- sql += definition + wxT(";\n");
+ tmpsql += definition + wxT(";\n");
}
}
@@ -386,6 +393,9 @@
sql += wxT("ALTER TABLE ") + tabname
+ wxT(" DROP CONSTRAINT ") + qtIdent(definition) + wxT(";\n");
}
+ // Add the ADD CONSTRAINTs...
+ sql += tmpsql;
+
if (chkHasOids->GetValue() != table->GetHasOids())
{
sql += wxT("ALTER TABLE ") + tabname
Modified: trunk/pgadmin3/src/schema/pgForeignKey.cpp
===================================================================
--- trunk/pgadmin3/src/schema/pgForeignKey.cpp 2005-09-23 07:47:01 UTC (rev 4458)
+++ trunk/pgadmin3/src/schema/pgForeignKey.cpp 2005-09-23 08:56:53 UTC (rev 4459)
@@ -268,7 +268,7 @@
pgForeignKeyFactory::pgForeignKeyFactory()
-: pgTableObjFactory(__("foreignKey"), __("New Foreign Key"), __("Create a new Foreign Key."), foreignkey_xpm)
+: pgTableObjFactory(__("foreign Key"), __("New Foreign Key"), __("Create a new Foreign Key."), foreignkey_xpm)
{
metaType = PGM_FOREIGNKEY;
collectionFactory = &constraintCollectionFactory;
From | Date | Subject | |
---|---|---|---|
Next Message | Miha Radej | 2005-09-23 12:14:06 | altering table properties |
Previous Message | svn | 2005-09-23 07:47:01 | SVN Commit by dpage: r4458 - in trunk/pgadmin3/src: agent dlg |