Fork of Pre-10/2009 move protections by Cryptic
This query is marked as a draft This query has been published by Cryptic.

SQL

AخA
 
SELECT page_title,
       pr1.pr_expiry AS 'Move expiry',
       pr2.pr_level AS 'Edit protection',
       page_is_redirect,
       log_timestamp,
       log_action,
       actor_name,
       comment_text
FROM page
JOIN page_restrictions AS pr1 ON pr1.pr_page = page_id
LEFT JOIN page_restrictions AS pr2 ON pr2.pr_page = page_id AND pr2.pr_type = 'edit'
LEFT JOIN logging_logindex AS l1 ON log_namespace = page_namespace AND log_title = page_title AND log_type = 'protect' AND log_action != 'unprotect'
LEFT JOIN actor_logging ON actor_id = log_actor
LEFT JOIN comment_logging ON comment_id = log_comment_id
WHERE pr1.pr_type = 'move'
  AND pr1.pr_level = 'sysop'
  -- exclude pages where there's a match on log_page
  AND NOT EXISTS (SELECT 1
                  FROM logging_logindex
                  WHERE log_page = page_id
                    AND log_type = 'protect'
                    AND log_action != 'unprotect')
  -- only show most recent log
  AND NOT EXISTS (SELECT 1
                  FROM logging_logindex
                  WHERE log_namespace = page_namespace
                    AND log_title = page_title
                    AND log_type = 'protect'
                    AND log_action != 'unprotect'
                    AND log_id > l1.log_id)
  AND page_namespace = 0
  AND COALESCE(pr2.pr_level, '') != 'sysop';
By running queries you agree to the Cloud Services Terms of Use and you irrevocably agree to release your SQL under CC0 License.
All SQL code is licensed under CC0 License.

Checking query status...