Doc: Document problem sorting inserted data
authorErik Bernhardson <ebernhardson@wikimedia.org>
Sat, 8 Nov 2014 00:43:57 +0000 (16:43 -0800)
committerMatthew Flaschen <mflaschen@wikimedia.org>
Fri, 14 Nov 2014 00:28:17 +0000 (19:28 -0500)
Adds documentation referencing the root cause of the linked intermittent
failures caused by some versions of sqlite mis-handling this data. Logs
an error indicating that this is a known buggy workaroung along with
the solution.

Bug: 72367
Change-Id: If26346e4d71560d6a8a3f79a52e52ee6e90e0304

includes/db/DatabaseSqlite.php

index dd2e813..9257ffe 100644 (file)
@@ -787,6 +787,10 @@ class DatabaseSqlite extends DatabaseBase {
                        // https://bugs.php.net/bug.php?id=63419
                        // There was already a similar report for SQLite3::escapeString, bug #62361:
                        // https://bugs.php.net/bug.php?id=62361
+                       // There is an additional bug regarding sorting this data after insert
+                       // on older versions of sqlite shipped with ubuntu 12.04
+                       // https://bugzilla.wikimedia.org/show_bug.cgi?id=72367
+                       wfDebugLog( __CLASS__, __FUNCTION__ . ': Quoting value containing null byte. For consistency all binary data should have been first processed with self::encodeBlob()' );
                        return "x'" . bin2hex( $s ) . "'";
                } else {
                        return $this->mConn->quote( $s );