From: Rohan Date: Sat, 19 Jul 2014 15:10:17 +0000 (+0530) Subject: Leave table names with numbers untouched in DatabaseBase::generalizeSQL X-Git-Tag: 1.31.0-rc.0~14851^2 X-Git-Url: http://git.cyclocoop.org/%24image?a=commitdiff_plain;h=c4a3cd498876b01945106290a5ea3afa12d46a00;p=lhc%2Fweb%2Fwiklou.git Leave table names with numbers untouched in DatabaseBase::generalizeSQL The function converts numbers to general forms Eg. 10 => N but creates a problem for tables whose names have digits in them Eg. l10n_cache => lNn_cache This was fixed using regex lookarounds Bug: 67925 Change-Id: I0e97e211f6d60ba0d639b91d3a68c5e42bfb3f78 --- diff --git a/includes/db/Database.php b/includes/db/Database.php index 7d8fbe930d..52222aa49b 100644 --- a/includes/db/Database.php +++ b/includes/db/Database.php @@ -1769,9 +1769,10 @@ abstract class DatabaseBase implements IDatabase, DatabaseType { # All newlines, tabs, etc replaced by single space $sql = preg_replace( '/\s+/', ' ', $sql ); - # All numbers => N + # All numbers => N, + # except the ones surrounded by characters, e.g. l10n $sql = preg_replace( '/-?\d+(,-?\d+)+/s', 'N,...,N', $sql ); - $sql = preg_replace( '/-?\d+/s', 'N', $sql ); + $sql = preg_replace( '/(?