Truncate super long SQL in DB error log lines (useful for blobs)
authorAaron Schulz <aschulz@wikimedia.org>
Thu, 21 Nov 2013 23:19:43 +0000 (15:19 -0800)
committerAaron Schulz <aschulz@wikimedia.org>
Fri, 22 Nov 2013 00:00:15 +0000 (16:00 -0800)
Change-Id: Ibb9b9178de80e691406e5c1a7113f0511055d18d

includes/db/Database.php

index 9ba1851..f70934b 100644 (file)
@@ -1105,7 +1105,7 @@ abstract class DatabaseBase implements IDatabase, DatabaseType {
                        wfDebug( "SQL ERROR (ignored): $error\n" );
                        $this->ignoreErrors( $ignore );
                } else {
-                       $sql1line = str_replace( "\n", "\\n", $sql );
+                       $sql1line = mb_substr( str_replace( "\n", "\\n", $sql ), 0, 5*1024 );
                        wfLogDBError( "$fname\t{$this->mServer}\t$errno\t$error\t$sql1line\n" );
                        wfDebug( "SQL ERROR: " . $error . "\n" );
                        throw new DBQueryError( $this, $error, $errno, $sql, $fname );