Add overly wordy comment explaining why logs can't be filtered by prefix in $wgMiserM...
authorAryeh Gregor <simetrical@users.mediawiki.org>
Thu, 10 Jul 2008 18:05:52 +0000 (18:05 +0000)
committerAryeh Gregor <simetrical@users.mediawiki.org>
Thu, 10 Jul 2008 18:05:52 +0000 (18:05 +0000)
includes/LogEventsList.php

index d963541..d49f636 100644 (file)
@@ -504,6 +504,17 @@ class LogPager extends ReverseChronologicalPager {
 
                $this->title = $title->getPrefixedText();
                $ns = $title->getNamespace();
+               # Using the (log_namespace, log_title, log_timestamp) index with a
+               # range scan (LIKE) on the first two parts, instead of simple equality,
+               # makes it unusable for sorting.  Sorted retrieval using another index
+               # would be possible, but then we might have to scan arbitrarily many
+               # nodes of that index. Therefore, we need to avoid this if $wgMiserMode
+               # is on.
+               #
+               # This is not a problem with simple title matches, because then we can
+               # use the page_time index.  That should have no more than a few hundred
+               # log entries for even the busiest pages, so it can be safely scanned
+               # in full to satisfy an impossible condition on user or similar.
                if( $pattern && !$wgMiserMode ) {
                        # use escapeLike to avoid expensive search patterns like 't%st%'
                        $safetitle = $this->mDb->escapeLike( $title->getDBkey() );