From 624ddad97028087ee4d61ab90827b944a192f65e Mon Sep 17 00:00:00 2001 From: sapics Date: Sat, 16 Jan 2021 16:10:57 +0900 Subject: Fix error in pdo/pgsql for php8.0 From PHP8.0, default PDO::ATTR_ERRMODE is changed from PDO::ERRMODE_SILENT to PDO::ERRMODE_EXCEPTION. Reference: https://wiki.php.net/rfc/pdo_default_errmode --- system/database/drivers/pdo/pdo_driver.php | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'system/database/drivers') diff --git a/system/database/drivers/pdo/pdo_driver.php b/system/database/drivers/pdo/pdo_driver.php index d0a2bf959..b2178b684 100644 --- a/system/database/drivers/pdo/pdo_driver.php +++ b/system/database/drivers/pdo/pdo_driver.php @@ -131,6 +131,14 @@ class CI_DB_pdo_driver extends CI_DB { $this->options[PDO::ATTR_PERSISTENT] = TRUE; } + // From PHP8.0, default PDO::ATTR_ERRMODE is changed + // from PDO::ERRMODE_SILENT to PDO::ERRMODE_EXCEPTION + // as https://wiki.php.net/rfc/pdo_default_errmode + if ( ! isset($this->options[PDO::ATTR_ERRMODE])) + { + $this->options[PDO::ATTR_ERRMODE] = PDO::ERRMODE_SILENT; + } + try { return new PDO($this->dsn, $this->username, $this->password, $this->options); -- cgit v1.2.3-24-g4f1b From bd5fab166ccff8c0bae963cd9d83a65c226cefa2 Mon Sep 17 00:00:00 2001 From: George Petculescu Date: Mon, 4 Oct 2021 19:40:47 +0300 Subject: Fixes CREATE TABLE IF NOT EXISTS on pdo_pgsql_forge; checking for dummy data DB operations result returns --- system/database/drivers/pdo/subdrivers/pdo_pgsql_forge.php | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'system/database/drivers') diff --git a/system/database/drivers/pdo/subdrivers/pdo_pgsql_forge.php b/system/database/drivers/pdo/subdrivers/pdo_pgsql_forge.php index 187cb2d09..4c3a5aaea 100644 --- a/system/database/drivers/pdo/subdrivers/pdo_pgsql_forge.php +++ b/system/database/drivers/pdo/subdrivers/pdo_pgsql_forge.php @@ -53,6 +53,13 @@ class CI_DB_pdo_pgsql_forge extends CI_DB_pdo_forge { */ protected $_drop_table_if = 'DROP TABLE IF EXISTS'; + /** + * CREATE TABLE IF statement + * + * @var string + */ + protected $_create_table_if = 'CREATE TABLE IF NOT EXISTS'; + /** * UNSIGNED support * -- cgit v1.2.3-24-g4f1b