From: Brad Jorsch Date: Mon, 8 Apr 2019 15:15:54 +0000 (-0400) Subject: rdbms: Remove weird use of serialize() in MssqlBlob and DatabaseMssql X-Git-Tag: 1.34.0-rc.0~2092^2 X-Git-Url: http://git.cyclocoop.org/%27.%28%24current%20%3E%202?a=commitdiff_plain;h=209683eff02354637761988e499b946525d7aa8f;p=lhc%2Fweb%2Fwiklou.git 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 --- 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; }