From 2f6d917af5b7367e2956a16f76909ac09110b853 Mon Sep 17 00:00:00 2001 From: webchick Date: Sun, 25 Dec 2011 00:40:22 -0800 Subject: Issue #1309278 by basic, Niklas Fiekas: Added Make PDO connection options configurable. --- includes/database/sqlite/database.inc | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) (limited to 'includes/database/sqlite') diff --git a/includes/database/sqlite/database.inc b/includes/database/sqlite/database.inc index 3e2490b00..257a9ee16 100644 --- a/includes/database/sqlite/database.inc +++ b/includes/database/sqlite/database.inc @@ -63,12 +63,17 @@ class DatabaseConnection_sqlite extends DatabaseConnection { $this->connectionOptions = $connection_options; - parent::__construct('sqlite:' . $connection_options['database'], '', '', array( + // Allow PDO options to be overridden. + $connection_options += array( + 'pdo' => array(), + ); + $connection_options['pdo'] += array( // Force column names to lower case. PDO::ATTR_CASE => PDO::CASE_LOWER, // Convert numeric values to strings when fetching. PDO::ATTR_STRINGIFY_FETCHES => TRUE, - )); + ); + parent::__construct('sqlite:' . $connection_options['database'], '', '', $connection_options['pdo']); // Attach one database for each registered prefix. $prefixes = $this->prefixes; @@ -103,6 +108,11 @@ class DatabaseConnection_sqlite extends DatabaseConnection { $this->sqliteCreateFunction('substring', array($this, 'sqlFunctionSubstring'), 3); $this->sqliteCreateFunction('substring_index', array($this, 'sqlFunctionSubstringIndex'), 3); $this->sqliteCreateFunction('rand', array($this, 'sqlFunctionRand')); + + // Execute sqlite init_commands. + if (isset($connection_options['init_commands'])) { + $this->exec(implode('; ', $connection_options['init_commands'])); + } } /** -- cgit v1.2.3