From b3944d528c170b8576c38d372fcfcfc6cefc1456 Mon Sep 17 00:00:00 2001 From: Pavel Djundik Date: Sat, 19 Feb 2022 13:00:14 +0200 Subject: [PATCH 1/2] Stabilize error/result in cache Fixes #298 --- src/QueryReflection/ReflectionCache.php | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/QueryReflection/ReflectionCache.php b/src/QueryReflection/ReflectionCache.php index f67f256e0..429c6dcfb 100644 --- a/src/QueryReflection/ReflectionCache.php +++ b/src/QueryReflection/ReflectionCache.php @@ -146,9 +146,11 @@ public function persist(): void } // sort records to prevent unnecessary cache invalidation caused by different order of queries - uksort($newRecords, function ($queryA, $queryB) { - return $queryA <=> $queryB; - }); + ksort($newRecords); + + foreach ($newRecords as $newRecord) { + ksort($newRecord); + } $cacheContent = ' self::SCHEMA_VERSION, From 726db25d9d9a167e21868be401482e8725671bb8 Mon Sep 17 00:00:00 2001 From: Pavel Djundik Date: Sat, 19 Feb 2022 13:03:56 +0200 Subject: [PATCH 2/2] has to be reference --- src/QueryReflection/ReflectionCache.php | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/QueryReflection/ReflectionCache.php b/src/QueryReflection/ReflectionCache.php index 429c6dcfb..20877ccb2 100644 --- a/src/QueryReflection/ReflectionCache.php +++ b/src/QueryReflection/ReflectionCache.php @@ -148,10 +148,12 @@ public function persist(): void // sort records to prevent unnecessary cache invalidation caused by different order of queries ksort($newRecords); - foreach ($newRecords as $newRecord) { + foreach ($newRecords as &$newRecord) { ksort($newRecord); } + unset($newRecord); + $cacheContent = ' self::SCHEMA_VERSION, 'records' => $newRecords,