Reedy has uploaded a new change for review. ( 
https://gerrit.wikimedia.org/r/376068 )

Change subject: [WIP] Add PRIMARY KEY to user_newtalk
......................................................................

[WIP] Add PRIMARY KEY to user_newtalk

Time to drop any existing usages of user_id or un_user_id in mysql
and finally normalise it up.

TODO: sqlite patches

Bug: T146585
Change-Id: I319b89dfa90c2747e6110a5a26379faceaf3e25c
---
M includes/installer/MysqlUpdater.php
M includes/libs/rdbms/database/DatabaseMysqlBase.php
A maintenance/archives/patch-user_newtalk-fix-pk.sql
A maintenance/archives/patch-user_newtalk-fix-pk2.sql
M maintenance/tables.sql
5 files changed, 7 insertions(+), 4 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/mediawiki/core 
refs/changes/68/376068/1

diff --git a/includes/installer/MysqlUpdater.php 
b/includes/installer/MysqlUpdater.php
index aeecbb0..337b0a6 100644
--- a/includes/installer/MysqlUpdater.php
+++ b/includes/installer/MysqlUpdater.php
@@ -329,6 +329,8 @@
                        [ 'migrateComments' ],
                        [ 'renameIndex', 'l10n_cache', 'lc_lang_key', 
'PRIMARY', false,
                                'patch-l10n_cache-primary-key.sql' ],
+                       [ 'renameIndex', 'user_newtalk', 'user_id', 'PRIMARY', 
false, 'patch-user_newtalk-fix-pk.sql' ],
+                       [ 'renameIndex', 'user_newtalk', 'un_user_id', 
'PRIMARY', false, 'patch-user_newtalk-fix-pk2.sql' ],
                ];
        }
 
diff --git a/includes/libs/rdbms/database/DatabaseMysqlBase.php 
b/includes/libs/rdbms/database/DatabaseMysqlBase.php
index 3c4cda5..1d32ce3 100644
--- a/includes/libs/rdbms/database/DatabaseMysqlBase.php
+++ b/includes/libs/rdbms/database/DatabaseMysqlBase.php
@@ -1372,7 +1372,6 @@
                 */
                $renamed = [
                        'ar_usertext_timestamp' => 'usertext_timestamp',
-                       'un_user_id' => 'user_id',
                        'un_user_ip' => 'user_ip',
                ];
 
diff --git a/maintenance/archives/patch-user_newtalk-fix-pk.sql 
b/maintenance/archives/patch-user_newtalk-fix-pk.sql
new file mode 100644
index 0000000..4f9672d
--- /dev/null
+++ b/maintenance/archives/patch-user_newtalk-fix-pk.sql
@@ -0,0 +1 @@
+ALTER TABLE /*_*/user_newtalk DROP KEY /*i*/user_id, ADD PRIMARY KEY (user_id, 
user_ip);
diff --git a/maintenance/archives/patch-user_newtalk-fix-pk2.sql 
b/maintenance/archives/patch-user_newtalk-fix-pk2.sql
new file mode 100644
index 0000000..5cb7186
--- /dev/null
+++ b/maintenance/archives/patch-user_newtalk-fix-pk2.sql
@@ -0,0 +1,2 @@
+ALTER TABLE /*_*/user_newtalk DROP KEY /*i*/un_user_id, ADD PRIMARY KEY 
(user_id, user_ip);
+
diff --git a/maintenance/tables.sql b/maintenance/tables.sql
index bed80db..c73c1f6 100644
--- a/maintenance/tables.sql
+++ b/maintenance/tables.sql
@@ -194,13 +194,12 @@
   user_ip varbinary(40) NOT NULL default '',
   -- The highest timestamp of revisions of the talk page viewed
   -- by this user
-  user_last_timestamp varbinary(14) NULL default NULL
+  user_last_timestamp varbinary(14) NULL default NULL,
+  PRIMARY KEY (user_id, user_ip)
 ) /*$wgDBTableOptions*/;
 
 -- Indexes renamed for SQLite in 1.14
-CREATE INDEX /*i*/un_user_id ON /*_*/user_newtalk (user_id);
 CREATE INDEX /*i*/un_user_ip ON /*_*/user_newtalk (user_ip);
-
 
 --
 -- User preferences and perhaps other fun stuff. :)

-- 
To view, visit https://gerrit.wikimedia.org/r/376068
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I319b89dfa90c2747e6110a5a26379faceaf3e25c
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/core
Gerrit-Branch: master
Gerrit-Owner: Reedy <[email protected]>

_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to