r2229 - revert the endpoint index
authorDenis Ovsienko <infrastation@yandex.ru>
Wed, 1 Oct 2008 22:53:24 +0000 (22:53 +0000)
committerDenis Ovsienko <infrastation@yandex.ru>
Wed, 1 Oct 2008 22:53:24 +0000 (22:53 +0000)
ChangeLog
README
install/init-structure.sql
upgrade.php

index cb54756cb218d748e4273b420dce4b95cbd4d5c4..cecfd388e581fcaef789531e4f88a7081d850191 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -4,6 +4,7 @@
                highlightling for RackCode editing
        new feature: one more input format for RS manager
        new feature: standalone RackCode report with warnings
+       new feature: unified IPv4 address tree
        bugfix: tags are now properly displayed for users
        bugfix: the JavaScript error isn't generated any more (fix by Aaron)
        bugfix: tag tree is now always correctly sorted
@@ -11,6 +12,7 @@
        bugfix: error message was broken in the installer (reported by Thomas Thep)
        bugfix: IPv4 network check sometimes failed to detect duplicate networks
        bugfix: lexical scanner could mistakenly fail in some rare cases
+       bugfix: drop DB index mistakenly introduced in 0.16.1
 0.16.2 2008-08-21
        bugfix: IP address picker was broken
        bugfix: more message processing fixes
diff --git a/README b/README
index b03d2798201c5128d49f0e4c4c67b9fe289493cd..2ec1daeb14d84816aa367a8478bde4512a47c045 100644 (file)
--- a/README
+++ b/README
@@ -116,27 +116,6 @@ standard package repository (and restarting Apache after that):
 Fedora: yum install php-mbstring
 ALTLinux: apt-get install php5-mbstring
 
-*** Upgrading to 0.16.1 ***
-
-This release fixes a missing UNIQUE key in the database. However, this fix
-may sometimes fail, if the table contains duplicate records. If the
-0.16.0-0.16.1 upgrade batch completed without errors, no action needs to be
-taken. If you see a failed ADD UNIQUE query during upgrade, the only solution
-is to delete the duplicates manually. To do this, open a MySQL console and
-issue the failed query again:
-
-mysql> alter table IPVirtualService ADD UNIQUE endpoint (vip, vport, proto);
-
-The IP address of the duplicate VS will be known from the "Duplicate entry"
-message. For example, to decode "Duplicate entry '180879877-80-TCP' for key
-2" error message, issue:
-
-mysql> select inet_ntoa(180879877);
-
-Then go to "virtual services" web-interface page and adjust the data as
-necessary. You would need to get rid of the duplicates accurately one by
-one, repeating the ADD UNIQUE query until it succeeds.
-
 *** Upgrading to 0.16.3 ***
 
 This release fixes a missing UNIQUE KEY in a table. The upgrade script may
index 2a15d33c03d490e6f75bc865395804f49b4fbf4b..79b245d38a6d58adde65e73bc8ab6a9bb38c0465 100644 (file)
@@ -119,8 +119,7 @@ CREATE TABLE `IPVirtualService` (
   `name` char(255) default NULL,
   `vsconfig` text,
   `rsconfig` text,
-  PRIMARY KEY  (`id`),
-  UNIQUE KEY `endpoint` (`vip`,`vport`,`proto`)
+  PRIMARY KEY  (`id`)
 ) ENGINE=MyISAM;
 
 CREATE TABLE `Link` (
index 51d25ccfb3faf30b93e4f188d9fdeb959464717c..ae48d92847e938a3d6af3ae7621c52ee045d4f2f 100644 (file)
@@ -63,24 +63,11 @@ function printReleaseNotes ($batchid)
                        echo '(and the first allows everything to you, the administrator). The whole config can ';
                        echo "be reviewed on the Permissions page (under Configuration). Sorry for the inconvenience.<br><br>\n";
                        break;
-               case '0.16.1':
-                       echo "<font color=red><strong>Release notes for ${batchid}</strong></font><br>";
-                       echo 'This release fixes a missing UNIQUE key in the database. However, this fix may sometimes fail, ';
-                       echo 'if the table contains duplicate records. If the 0.16.0-0.16.1 upgrade batch completed without errors, ';
-                       echo 'no action needs to be taken. If you see a failed ADD UNIQUE query during upgrade, the only solution is to delete the duplicates manually. ';
-                       echo 'To do this, open a MySQL console and issue the failed query again:<br><br>';
-                       echo 'mysql&gt; alter table IPVirtualService ADD UNIQUE endpoint (vip, vport, proto);<br><br>';
-                       echo 'The IP address of the duplicate VS will be known from the &quot;Duplicate entry&quot; message. For example,';
-                       echo " to decode &quot;Duplicate entry '180879877-80-TCP' for key 2&quot; error message, issue:<br><br>";
-                       echo 'mysql&gt; select inet_ntoa(180879877);<br><br>';
-                       echo 'Then go to "virtual services" web-interface page and adjust the data as ';
-                       echo 'necessary. You would need to get rid of the duplicates accurately one by one, repeating the ADD UNIQUE ';
-                       echo 'query until it succeeds.<br><br>';
-                       break;
                case '0.16.3':
                        echo "<font color=red><strong>Release notes for ${batchid}</strong></font><br>";
                        echo 'This release fixes a missing UNIQUE KEY in a table. The upgrade script may find it necessary first to transform some records.<br>';
                        echo 'Because of this it is normal to see several "update TagStorage ... Duplicate entry" failed queries during the upgrade.<br>';
+                       echo 'Additionally, it is normal to see " Can\'t DROP \'endpoint\'" message during upgrade<br>';
                        break;
                default:
                        break;
@@ -1376,7 +1363,6 @@ CREATE TABLE `TagTree` (
                        break;
                case '0.16.1':
                        $query[] = 'alter table Script modify column script_text longtext';
-                       $query[] = 'alter table IPVirtualService ADD UNIQUE endpoint (vip, vport, proto)';
                        $query[] = "INSERT INTO `Config` (varname, varvalue, vartype, emptyok, is_hidden, description) VALUES ('SHOW_LAST_TAB','no','string','yes','no','Remember last tab shown for each page')";
                        $query[] = "INSERT INTO `Config` (varname, varvalue, vartype, emptyok, is_hidden, description) VALUES ('COOKIE_TTL','1209600','uint','yes','no','Cookies lifetime in seconds')";
                        $query[] = "update Config set varvalue = '0.16.1' where varname = 'DB_VERSION'";
@@ -1420,6 +1406,7 @@ CREATE TABLE `TagTree` (
                                unset ($r);
                        }
                        $query[] = 'alter table IPRanges add unique `base-len` (`ip`, `mask`)';
+                       $query[] = 'alter table IPVirtualService drop key `endpoint`';
                        $query[] = "INSERT INTO `Config` (varname, varvalue, vartype, emptyok, is_hidden, description) VALUES ('TREE_THRESHOLD','25','uint','yes','no','Tree view auto-collapse threshold')";
                        $query[] = "INSERT INTO `Config` (varname, varvalue, vartype, emptyok, is_hidden, description) VALUES ('IPV4_JAYWALK','no','string','no','no','Enable IPv4 address allocations w/o covering network')";
                        $query[] = "INSERT INTO `Config` (varname, varvalue, vartype, emptyok, is_hidden, description) VALUES ('ADDNEW_AT_TOP','yes','string','no','no','Render \"add new\" line at top of the list')";