Skip site navigation (1) Skip section navigation (2)

SVN Commit by dpage: r4459 - in trunk/pgadmin3/src: dlg schema

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 (view raw or flat)
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;


pgadmin-hackers by date

Next:From: Miha RadejDate: 2005-09-23 12:14:06
Subject: altering table properties
Previous:From: svnDate: 2005-09-23 07:47:01
Subject: SVN Commit by dpage: r4458 - in trunk/pgadmin3/src: agent dlg

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group