From 209683eff02354637761988e499b946525d7aa8f Mon Sep 17 00:00:00 2001 From: Brad Jorsch Date: Mon, 8 Apr 2019 11:15:54 -0400 Subject: [PATCH] rdbms: Remove weird use of serialize() in MssqlBlob and DatabaseMssql The use in MssqlBlob could never be reached, since the test used `&&` rather than `||`. The use in DatabaseMssql should never be reached, and all our other Database subclasses will give PHP warnings or errors when it tries to stringify an array or object rather than silently serializing. MSSQL should be consistent there. Further, MSSQL never *un*serializes, so it seems rather useless anyway. Change-Id: I7b193c6be28662edb38d416ac02371f7a293ab56 --- includes/libs/rdbms/database/DatabaseMssql.php | 6 ------ includes/libs/rdbms/encasing/MssqlBlob.php | 4 +--- 2 files changed, 1 insertion(+), 9 deletions(-) diff --git a/includes/libs/rdbms/database/DatabaseMssql.php b/includes/libs/rdbms/database/DatabaseMssql.php index 2aefd5f2a4..6d266ae3ba 100644 --- a/includes/libs/rdbms/database/DatabaseMssql.php +++ b/includes/libs/rdbms/database/DatabaseMssql.php @@ -702,12 +702,6 @@ class DatabaseMssql extends Database { } if ( is_null( $value ) ) { $sql .= 'null'; - } elseif ( is_array( $value ) || is_object( $value ) ) { - if ( is_object( $value ) && $value instanceof Blob ) { - $sql .= $this->addQuotes( $value ); - } else { - $sql .= $this->addQuotes( serialize( $value ) ); - } } else { $sql .= $this->addQuotes( $value ); } diff --git a/includes/libs/rdbms/encasing/MssqlBlob.php b/includes/libs/rdbms/encasing/MssqlBlob.php index 97d5072f9f..1819a9ac40 100644 --- a/includes/libs/rdbms/encasing/MssqlBlob.php +++ b/includes/libs/rdbms/encasing/MssqlBlob.php @@ -6,15 +6,13 @@ class MssqlBlob extends Blob { /** @noinspection PhpMissingParentConstructorInspection */ /** - * @param Blob|array|string $data + * @param Blob|string $data */ public function __construct( $data ) { if ( $data instanceof MssqlBlob ) { $this->data = $data->data; } elseif ( $data instanceof Blob ) { $this->data = $data->fetch(); - } elseif ( is_array( $data ) && is_object( $data ) ) { - $this->data = serialize( $data ); } else { $this->data = $data; } -- 2.20.1