Project import generated by Copybara.
GitOrigin-RevId: d9e9e3fb4e31372ec1fb43b178994ca78fa8fe70
diff --git a/tools/copy-new-commentcontent-back-to-comment.sql b/tools/copy-new-commentcontent-back-to-comment.sql
new file mode 100644
index 0000000..4eb5f47
--- /dev/null
+++ b/tools/copy-new-commentcontent-back-to-comment.sql
@@ -0,0 +1,83 @@
+-- Copyright 2016 The Chromium Authors. All Rights Reserved.
+--
+-- Use of this source code is governed by a BSD-style
+-- license that can be found in the LICENSE file or at
+-- https://developers.google.com/open-source/licenses/bsd
+
+
+DROP PROCEDURE IF EXISTS CopyNewCommentContentBackToComment;
+
+delimiter //
+
+CREATE PROCEDURE CopyNewCommentContentBackToComment(
+ IN in_start INT, IN in_stop INT, IN in_step INT)
+BEGIN
+ comment_loop: LOOP
+ IF in_start >= in_stop THEN
+ LEAVE comment_loop;
+ END IF;
+
+ SELECT in_start AS StartingAt;
+ SELECT count(*)
+ FROM CommentContent
+ WHERE comment_id >= in_start
+ AND comment_id < in_start + in_step;
+
+ DROP TEMPORARY TABLE IF EXISTS temp_comment;
+ CREATE TEMPORARY TABLE temp_comment (
+ id INT NOT NULL,
+ issue_id INT NOT NULL,
+ created INT NOT NULL,
+ project_id SMALLINT UNSIGNED NOT NULL,
+ commenter_id INT UNSIGNED NOT NULL,
+ content MEDIUMTEXT COLLATE utf8mb4_unicode_ci,
+ inbound_message MEDIUMTEXT COLLATE utf8mb4_unicode_ci,
+ deleted_by INT UNSIGNED,
+ is_spam BOOLEAN DEFAULT FALSE,
+ is_description BOOLEAN DEFAULT FALSE,
+
+ PRIMARY KEY(id)
+ ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
+
+
+ INSERT INTO temp_comment
+ SELECT Comment.id, Comment.issue_id, Comment.created, Comment.project_id,
+ Comment.commenter_id, CommentContent.content,
+ CommentContent.inbound_message, Comment.deleted_by, Comment.is_spam,
+ Comment.is_description
+ FROM Comment
+ LEFT JOIN CommentContent on CommentContent.comment_id = Comment.id
+ WHERE CommentContent.comment_id >= in_start
+ AND CommentContent.comment_id < in_start + in_step;
+
+
+ REPLACE INTO Comment (id, issue_id, created, project_id, commenter_id,
+ content, inbound_message, deleted_by, is_spam, is_description)
+ SELECT id, issue_id, created, project_id, commenter_id,
+ content, inbound_message, deleted_by, is_spam, is_description
+ FROM temp_comment;
+
+ SET in_start = in_start + in_step;
+
+ END LOOP;
+
+END;
+
+
+//
+
+
+delimiter ;
+
+
+-- Temporarily disable these foreign key references so that we can do
+-- REPLACE commands.
+-- ALTER TABLE SpamReport DROP FOREIGN KEY spamreport_ibfk_2;
+-- ALTER TABLE SpamVerdict DROP FOREIGN KEY spamverdict_ibfk_2;
+
+-- This ID is the first comment entered that was stored in CommentContent only.
+-- CALL CopyNewCommentContentBackToComment(31459489, 40 * 1000000, 5000);
+
+-- Add back foreign key constraints.
+-- ALTER TABLE SpamReport ADD FOREIGN KEY (comment_id) REFERENCES Comment(id);
+-- ALTER TABLE SpamVerdict ADD FOREIGN KEY (comment_id) REFERENCES Comment(id);