From 6c96440be0a45d2b5476301067ff7c600fda4cdc Mon Sep 17 00:00:00 2001 From: Johannes Meyer Date: Tue, 21 Feb 2023 10:26:43 +0100 Subject: [PATCH] Pdo\Abstract: Properly handle incomplete error messages --- library/Zend/Db/Adapter/Pdo/Abstract.php | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/library/Zend/Db/Adapter/Pdo/Abstract.php b/library/Zend/Db/Adapter/Pdo/Abstract.php index b2406ae29f..193ef45015 100644 --- a/library/Zend/Db/Adapter/Pdo/Abstract.php +++ b/library/Zend/Db/Adapter/Pdo/Abstract.php @@ -147,7 +147,17 @@ protected function _connect() * @see Zend_Db_Adapter_Exception */ require_once 'Zend/Db/Adapter/Exception.php'; - throw new Zend_Db_Adapter_Exception($e->getMessage(), $e->getCode(), $e); + + $message = $e->getMessage(); + if ($e->getPrevious() !== null && preg_match('~^SQLSTATE\[HY000\] \[\d{1,4}\]\s$~', $message)) { + // See https://bugs.php.net/bug.php?id=76604 + $message .= $e->getPrevious()->getMessage(); + } + + /** + * @see Zend_Db_Adapter_Exception + */ + throw new Zend_Db_Adapter_Exception($message, $e->getCode(), $e); } }