From e286d7f913d88718bc999aa8576b47cba564cf17 Mon Sep 17 00:00:00 2001 From: Clemens Schwaighofer Date: Tue, 24 Dec 2024 12:49:49 +0900 Subject: [PATCH] DB IO placeholder counter fix --- src/DB/Support/ConvertPlaceholder.php | 4 +++- .../AsymmetricAnonymousEncryption.php | 4 ++-- test/phpunit/DB/CoreLibsDBIOTest.php | 21 +++++++++++++++++++ 3 files changed, 26 insertions(+), 3 deletions(-) diff --git a/src/DB/Support/ConvertPlaceholder.php b/src/DB/Support/ConvertPlaceholder.php index dff0378..484b782 100644 --- a/src/DB/Support/ConvertPlaceholder.php +++ b/src/DB/Support/ConvertPlaceholder.php @@ -26,7 +26,9 @@ class ConvertPlaceholder . '&&|' // array overlap . '\-\|\-|' // range overlap for array . '[^-]-{1}|' // single -, used in JSON too - . '->|->>|#>|#>>|@>|<@|@@|@\?|\?{1}|\?\||\?&|#-'; //JSON searches, Array searchs, etc + . '->|->>|#>|#>>|@>|<@|@@|@\?|\?{1}|\?\||\?&|#-|' // JSON searches, Array searchs, etc + . 'THEN|ELSE' // command parts (CASE) + ; /** @var string the main regex including the pattern query split */ private const PATTERN_ELEMENT = '(?:\'.*?\')?\s*(?:' . self::PATTERN_QUERY_SPLIT . ')\s*'; /** @var string comment regex diff --git a/src/Security/AsymmetricAnonymousEncryption.php b/src/Security/AsymmetricAnonymousEncryption.php index 46b01e7..a30cb3b 100644 --- a/src/Security/AsymmetricAnonymousEncryption.php +++ b/src/Security/AsymmetricAnonymousEncryption.php @@ -115,7 +115,7 @@ class AsymmetricAnonymousEncryption * @return string * @throws \UnexpectedValueException key pair empty * @throws \UnexpectedValueException invalid hex key pair - * @throws \UnexpectedValueException key pair not correct size + * @throws \RangeException key pair not correct size */ private function createKeyPair( #[\SensitiveParameter] @@ -147,7 +147,7 @@ class AsymmetricAnonymousEncryption * @return string * @throws \UnexpectedValueException public key empty * @throws \UnexpectedValueException invalid hex key - * @throws \UnexpectedValueException invalid key length + * @throws \RangeException invalid key length */ private function createPublicKey(?string $public_key): string { diff --git a/test/phpunit/DB/CoreLibsDBIOTest.php b/test/phpunit/DB/CoreLibsDBIOTest.php index 1476729..ac6314d 100644 --- a/test/phpunit/DB/CoreLibsDBIOTest.php +++ b/test/phpunit/DB/CoreLibsDBIOTest.php @@ -5196,6 +5196,27 @@ final class CoreLibsDBIOTest extends TestCase SQL, 'count' => 1, 'convert' => false, + ], + 'update with case' => [ + 'query' => << 3, + 'convert' => false, + ], + 'select with case' => [ + 'query' => << 2, + 'convert' => false, ] ]; }