From f76de01c13c73d37d0df74ee7f0bbf82374275c9 Mon Sep 17 00:00:00 2001 From: Tim Otten Date: Tue, 27 Nov 2018 15:34:13 -0800 Subject: [PATCH] (dev/core#217) PrevNext - More conservative transition (5.7=>5.8=>5.9) This revision sets up more conservative transition process for adopting PrevNext drivers. Before ------ * 5.7.x - Hard-coded to SQL driver. * 5.8.x - Allow setting to pick driver. If left as `default`, then choose best-available (based on configured services). After ------ * 5.7.x - Hard-coded to SQL driver. * 5.8.x - Allow setting to pick driver. If left as `default`, then use SQL driver. * 5.9.x - Allow setting to pick driver. If left as `default`, then choose best-available (based on configured services). This essentially mitigates the risk that bugs in the new Redis driver cause regreessions for sites already running Redis. --- Civi/Core/Container.php | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/Civi/Core/Container.php b/Civi/Core/Container.php index d75a9a13dd..92290febc7 100644 --- a/Civi/Core/Container.php +++ b/Civi/Core/Container.php @@ -443,9 +443,11 @@ class Container { public static function createPrevNextCache($container) { $setting = \Civi::settings()->get('prevNextBackend'); if ($setting === 'default') { + // For initial release (5.8.x), continue defaulting to SQL. + $isTransitional = version_compare(\CRM_Utils_System::version(), '5.9.alpha1', '<'); $cacheDriver = \CRM_Utils_Cache::getCacheDriver(); $service = 'prevnext.driver.' . strtolower($cacheDriver); - return $container->has($service) + return $container->has($service) && !$isTransitional ? $container->get($service) : $container->get('prevnext.driver.sql'); } -- 2.25.1