From 9b4d58878ca99da363c413a864a5fc7ccbf3d499 Mon Sep 17 00:00:00 2001 From: Pavel Ptacek Date: Thu, 11 Apr 2013 04:51:09 +0200 Subject: [PATCH] Throw entire callstack for interbase-based databases. The errors given by firebird are multiline, exceptions get thrown from inside the logic. (.*) matches everything up until first line by default - this mitigates the problem and mathes the entire rest of the string (= including multilines) --- dibi/drivers/firebird.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dibi/drivers/firebird.php b/dibi/drivers/firebird.php index b29f3bac..8a0bd214 100644 --- a/dibi/drivers/firebird.php +++ b/dibi/drivers/firebird.php @@ -390,7 +390,7 @@ class DibiFirebirdDriver extends DibiObject implements IDibiDriver, IDibiResultD if (DibiDriverException::catchError($msg)) { if (ibase_errcode() == self::ERROR_EXCEPTION_THROWN) { - preg_match('/exception (\d+) (\w+) (.*)/i', ibase_errmsg(), $match); + preg_match('/exception (\d+) (\w+) (.*)/is', ibase_errmsg(), $match); throw new DibiProcedureException($match[3], $match[1], $match[2], dibi::$sql); } else {