From e515ac11ed0b71c24068921dad0f4cf177ee79d5 Mon Sep 17 00:00:00 2001 From: Michael Date: Mon, 8 Mar 2021 10:38:53 +0000 Subject: [PATCH] Don't check for table_open_cache when pdo_emulate_prepares is activated --- src/Module/Admin/Summary.php | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/src/Module/Admin/Summary.php b/src/Module/Admin/Summary.php index c232b5be5..d38def1f9 100644 --- a/src/Module/Admin/Summary.php +++ b/src/Module/Admin/Summary.php @@ -63,12 +63,14 @@ class Summary extends BaseAdmin } // Avoid the database error 1615 "Prepared statement needs to be re-prepared", see https://github.com/friendica/friendica/issues/8550 - $table_definition_cache = DBA::getVariable('table_definition_cache'); - $table_open_cache = DBA::getVariable('table_open_cache'); - if (!empty($table_definition_cache) && !empty($table_open_cache)) { - $suggested_definition_cache = min(400 + round($table_open_cache / 2, 1), 2000); - if ($suggested_definition_cache > $table_definition_cache) { - $warningtext[] = DI::l10n()->t('Your table_definition_cache is too low (%d). This can lead to the database error "Prepared statement needs to be re-prepared". Please set it at least to %d (or -1 for autosizing). See here for more information.
', $table_definition_cache, $suggested_definition_cache, 'https://dev.mysql.com/doc/refman/5.7/en/server-system-variables.html#sysvar_table_definition_cache'); + if (!DI::config()->get('database', 'pdo_emulate_prepares')) { + $table_definition_cache = DBA::getVariable('table_definition_cache'); + $table_open_cache = DBA::getVariable('table_open_cache'); + if (!empty($table_definition_cache) && !empty($table_open_cache)) { + $suggested_definition_cache = min(400 + round($table_open_cache / 2, 1), 2000); + if ($suggested_definition_cache > $table_definition_cache) { + $warningtext[] = DI::l10n()->t('Your table_definition_cache is too low (%d). This can lead to the database error "Prepared statement needs to be re-prepared". Please set it at least to %d. See here for more information.
', $table_definition_cache, $suggested_definition_cache, 'https://dev.mysql.com/doc/refman/5.7/en/server-system-variables.html#sysvar_table_definition_cache'); + } } }