From bb7f8b4621d2ddbddd806a738f9a477246ead3d2 Mon Sep 17 00:00:00 2001 From: Joe Nahmias Date: Fri, 2 Sep 2022 09:03:29 -0400 Subject: [PATCH] picodb(mssql): recognize 2627 and 23000 as dup key errors --- libs/picodb/lib/PicoDb/Driver/Mssql.php | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/libs/picodb/lib/PicoDb/Driver/Mssql.php b/libs/picodb/lib/PicoDb/Driver/Mssql.php index d65ad7afb..82f4b1c3f 100644 --- a/libs/picodb/lib/PicoDb/Driver/Mssql.php +++ b/libs/picodb/lib/PicoDb/Driver/Mssql.php @@ -95,7 +95,10 @@ class Mssql extends Base */ public function isDuplicateKeyError($code) { - return $code == 2601; + # 2601: Cannot insert duplicate key row in object '%.*ls' with unique index '%.*ls'. + # 2627: Violation of %ls constraint '%.*ls'. Cannot insert duplicate key in object '%.*ls'. + # 23000: Integrity constraint violation + return array_search($code, ['2601','2627','23000']) !== false; } /**