From f620f16e2b62cc12e8b2a155d8f764dd8bafefe8 Mon Sep 17 00:00:00 2001 From: Alexandre Alapetite Date: Fri, 6 Jun 2025 09:56:27 +0200 Subject: Install: add test PDO typing (#7651) fix https://github.com/FreshRSS/FreshRSS/issues/7647 --- app/Models/DatabaseDAO.php | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'app/Models/DatabaseDAO.php') diff --git a/app/Models/DatabaseDAO.php b/app/Models/DatabaseDAO.php index fe922cb82..0062c23e8 100644 --- a/app/Models/DatabaseDAO.php +++ b/app/Models/DatabaseDAO.php @@ -222,6 +222,18 @@ class FreshRSS_DatabaseDAO extends Minz_ModelPdo { return str_contains($this->version(), 'MariaDB'); } + /** + * @return bool true if the database PDO driver returns typed integer values as it should, false otherwise. + */ + final public function testTyping(): bool { + $sql = 'SELECT 2 + 3'; + if (($stm = $this->pdo->query($sql)) !== false) { + $res = $stm->fetchAll(PDO::FETCH_COLUMN, 0); + return ($res[0] ?? null) === 5; + } + return false; + } + public function size(bool $all = false): int { $db = FreshRSS_Context::systemConf()->db; -- cgit v1.2.3