Avoid profiler spam for numeric IN() clauses for each possible number of items
authorAaron Schulz <aschulz@wikimedia.org>
Thu, 22 Aug 2013 18:42:05 +0000 (11:42 -0700)
committerAaron Schulz <aschulz@wikimedia.org>
Thu, 22 Aug 2013 18:44:24 +0000 (11:44 -0700)
* This currently can be seen in several category queries with IN() clauses on graphite

Change-Id: I04e7745c7d4f11f5f2905c7f86f1558a9fdb0b5c

includes/db/Database.php

index 0b2cc98..0082103 100644 (file)
@@ -1605,7 +1605,8 @@ abstract class DatabaseBase implements IDatabase, DatabaseType {
                $sql = preg_replace( '/\s+/', ' ', $sql );
 
                # All numbers => N
-               $sql = preg_replace( '/-?[0-9]+/s', 'N', $sql );
+               $sql = preg_replace( '/-?\d+(,-?\d+)+/s', 'N,...,N', $sql );
+               $sql = preg_replace( '/-?\d+/s', 'N', $sql );
 
                return $sql;
        }