From e974f338afb86c065e9b160363bc2e6156f8566d Mon Sep 17 00:00:00 2001 From: Jakub Senko Date: Sun, 13 Nov 2016 18:08:35 +0100 Subject: [PATCH] [ticket/14739] Remove SQLite 2.8.x database driver PHPBB3-14739 --- .../config/default/container/services_db.yml | 8 - phpBB/develop/add_permissions.php | 1 - phpBB/develop/create_schema_files.php | 2 +- phpBB/docs/INSTALL.html | 1 - phpBB/docs/README.html | 2 +- phpBB/includes/acp/acp_database.php | 2 - phpBB/includes/acp/acp_icons.php | 1 - phpBB/includes/acp/acp_main.php | 2 - phpBB/includes/acp/acp_reasons.php | 1 - phpBB/includes/functions.php | 2 +- phpBB/includes/functions_admin.php | 2 - phpBB/includes/functions_convert.php | 2 - .../install/convert/controller/convertor.php | 1 - phpBB/install/convert/convertor.php | 2 - .../install/convertors/functions_phpbb20.php | 1 - phpBB/language/en/install.php | 3 - phpBB/phpbb/db/driver/sqlite.php | 384 ------------------ phpBB/phpbb/db/extractor/factory.php | 4 - phpBB/phpbb/db/extractor/sqlite_extractor.php | 149 ------- phpBB/phpbb/db/tools/tools.php | 116 +----- phpBB/phpbb/install/helper/database.php | 17 - phpBB/phpbb/search/fulltext_native.php | 6 +- phpBB/viewonline.php | 1 - .../functions/convert_30_dbms_to_31_test.php | 1 - tests/migrator/schema_generator_test.php | 2 +- .../phpbb_database_test_case.php | 2 +- ...phpbb_database_test_connection_manager.php | 15 +- .../phpbb_test_case_helpers.php | 11 - 28 files changed, 11 insertions(+), 730 deletions(-) delete mode 100644 phpBB/phpbb/db/driver/sqlite.php delete mode 100644 phpBB/phpbb/db/extractor/sqlite_extractor.php diff --git a/phpBB/config/default/container/services_db.yml b/phpBB/config/default/container/services_db.yml index 30c5a7fc7f..d7a8238400 100644 --- a/phpBB/config/default/container/services_db.yml +++ b/phpBB/config/default/container/services_db.yml @@ -71,11 +71,3 @@ services: - '%core.root_path%' - '@request' - '@dbal.conn.driver' - - dbal.extractor.extractors.sqlite_extractor: - class: phpbb\db\extractor\sqlite_extractor - shared: false - arguments: - - '%core.root_path%' - - '@request' - - '@dbal.conn.driver' diff --git a/phpBB/develop/add_permissions.php b/phpBB/develop/add_permissions.php index 697dbdbaca..c575729d91 100644 --- a/phpBB/develop/add_permissions.php +++ b/phpBB/develop/add_permissions.php @@ -379,7 +379,6 @@ function mass_auth($ug_type, $forum_id, $ug_id, $acl_list, $setting) $sql = 'VALUES ' . implode(', ', preg_replace('#^(.*?)$#', '(\1)', $sql_subary)); break; - case 'sqlite': case 'sqlite3': $sql = implode(' UNION ALL ', preg_replace('#^(.*?)$#', 'SELECT \1', $sql_subary)); break; diff --git a/phpBB/develop/create_schema_files.php b/phpBB/develop/create_schema_files.php index 09bc4c4085..6e0a082045 100644 --- a/phpBB/develop/create_schema_files.php +++ b/phpBB/develop/create_schema_files.php @@ -49,7 +49,7 @@ $classes = $finder->core_path('phpbb/') ->directory('/db/migration/data') ->get_classes(); -$db = new \phpbb\db\driver\sqlite(); +$db = new \phpbb\db\driver\sqlite3(); $factory = new \phpbb\db\tools\factory(); $db_tools = $factory->get($db, true); diff --git a/phpBB/docs/INSTALL.html b/phpBB/docs/INSTALL.html index 4837ad35e2..748ae69cf7 100644 --- a/phpBB/docs/INSTALL.html +++ b/phpBB/docs/INSTALL.html @@ -142,7 +142,6 @@
  • MySQL 3.23 or above (MySQLi supported)
  • MariaDB 5.1 or above
  • PostgreSQL 8.3+
  • -
  • SQLite 2.8.2+
  • SQLite 3.6.15+
  • MS SQL Server 2000 or above (via ODBC or the native adapter)
  • Oracle
  • diff --git a/phpBB/docs/README.html b/phpBB/docs/README.html index 770c30f932..7fd80b3c2d 100644 --- a/phpBB/docs/README.html +++ b/phpBB/docs/README.html @@ -327,7 +327,7 @@

    Please remember that running any application on a development (unstable, e.g. a beta release) version of PHP can lead to strange/unexpected results which may appear to be bugs in the application. Therefore, we recommend you upgrade to the newest stable version of PHP before running phpBB. If you are running a development version of PHP please check any bugs you find on a system running a stable release before submitting.

    -

    This board has been developed and tested under Linux and Windows (amongst others) running Apache using MySQL 3.23, 4.x, 5.x, MariaDB 5.x, PostgreSQL 8.x, Oracle 8, SQLite 2 and SQLite 3. Versions of PHP used range from 5.4.x above 5.6.x to 7.0.x without problem.

    +

    This board has been developed and tested under Linux and Windows (amongst others) running Apache using MySQL 3.23, 4.x, 5.x, MariaDB 5.x, PostgreSQL 8.x, Oracle 8 and SQLite 3. Versions of PHP used range from 5.4.x above 5.6.x to 7.0.x without problem.

    7.i. Notice on PHP security issues

    diff --git a/phpBB/includes/acp/acp_database.php b/phpBB/includes/acp/acp_database.php index 5e430e82ea..00c7ef40c0 100644 --- a/phpBB/includes/acp/acp_database.php +++ b/phpBB/includes/acp/acp_database.php @@ -115,7 +115,6 @@ class acp_database // We might wanna empty out all that junk :D switch ($db->get_sql_layer()) { - case 'sqlite': case 'sqlite3': $extractor->flush('DELETE FROM ' . $table_name . ";\n"); break; @@ -304,7 +303,6 @@ class acp_database case 'mysql': case 'mysql4': case 'mysqli': - case 'sqlite': case 'sqlite3': while (($sql = $fgetd($fp, ";\n", $read, $seek, $eof)) !== false) { diff --git a/phpBB/includes/acp/acp_icons.php b/phpBB/includes/acp/acp_icons.php index f5c7ab0dfe..6cd5386857 100644 --- a/phpBB/includes/acp/acp_icons.php +++ b/phpBB/includes/acp/acp_icons.php @@ -563,7 +563,6 @@ class acp_icons { switch ($db->get_sql_layer()) { - case 'sqlite': case 'sqlite3': $db->sql_query('DELETE FROM ' . $table); break; diff --git a/phpBB/includes/acp/acp_main.php b/phpBB/includes/acp/acp_main.php index 8697504c77..fe9657aecb 100644 --- a/phpBB/includes/acp/acp_main.php +++ b/phpBB/includes/acp/acp_main.php @@ -275,7 +275,6 @@ class acp_main case 'db_track': switch ($db->get_sql_layer()) { - case 'sqlite': case 'sqlite3': $db->sql_query('DELETE FROM ' . TOPICS_POSTED_TABLE); break; @@ -386,7 +385,6 @@ class acp_main { switch ($db->get_sql_layer()) { - case 'sqlite': case 'sqlite3': $db->sql_query("DELETE FROM $table"); break; diff --git a/phpBB/includes/acp/acp_reasons.php b/phpBB/includes/acp/acp_reasons.php index 020bd8f48c..51c398681d 100644 --- a/phpBB/includes/acp/acp_reasons.php +++ b/phpBB/includes/acp/acp_reasons.php @@ -250,7 +250,6 @@ class acp_reasons // Teh standard case 'postgres': case 'oracle': - case 'sqlite': case 'sqlite3': // Change the reports using this reason to 'other' $sql = 'UPDATE ' . REPORTS_TABLE . ' diff --git a/phpBB/includes/functions.php b/phpBB/includes/functions.php index bbd3e524cc..8996c0e766 100644 --- a/phpBB/includes/functions.php +++ b/phpBB/includes/functions.php @@ -3522,7 +3522,7 @@ function obtain_guest_count($item_id = 0, $item = 'forum') // Get number of online guests - if ($db->get_sql_layer() === 'sqlite' || $db->get_sql_layer() === 'sqlite3') + if ($db->get_sql_layer() === 'sqlite3') { $sql = 'SELECT COUNT(session_ip) as num_guests FROM ( diff --git a/phpBB/includes/functions_admin.php b/phpBB/includes/functions_admin.php index df89b1c0ff..c1a99da231 100644 --- a/phpBB/includes/functions_admin.php +++ b/phpBB/includes/functions_admin.php @@ -2403,7 +2403,6 @@ function phpbb_cache_moderators($db, $cache, $auth) // Clear table switch ($db->get_sql_layer()) { - case 'sqlite': case 'sqlite3': $db->sql_query('DELETE FROM ' . MODERATOR_CACHE_TABLE); break; @@ -2861,7 +2860,6 @@ function get_database_size() } break; - case 'sqlite': case 'sqlite3': global $dbhost; diff --git a/phpBB/includes/functions_convert.php b/phpBB/includes/functions_convert.php index c508ef313b..176e3dd6de 100644 --- a/phpBB/includes/functions_convert.php +++ b/phpBB/includes/functions_convert.php @@ -1652,7 +1652,6 @@ function mass_auth($ug_type, $forum_id, $ug_id, $acl_list, $setting = ACL_NO) $sql = 'VALUES ' . implode(', ', preg_replace('#^(.*?)$#', '(\1)', $sql_subary)); break; - case 'sqlite': case 'sqlite3': case 'mssqlnative': $sql = implode(' UNION ALL ', preg_replace('#^(.*?)$#', 'SELECT \1', $sql_subary)); @@ -2040,7 +2039,6 @@ function update_topics_posted() switch ($db->get_sql_layer()) { - case 'sqlite': case 'sqlite3': $db->sql_query('DELETE FROM ' . TOPICS_POSTED_TABLE); break; diff --git a/phpBB/install/convert/controller/convertor.php b/phpBB/install/convert/controller/convertor.php index a40f1d0b52..9a46117fe6 100644 --- a/phpBB/install/convert/controller/convertor.php +++ b/phpBB/install/convert/controller/convertor.php @@ -410,7 +410,6 @@ class convertor switch ($this->db->get_sql_layer()) { - case 'sqlite': case 'sqlite3': $this->db->sql_query('DELETE FROM ' . $this->session_keys_table); $this->db->sql_query('DELETE FROM ' . $this->session_table); diff --git a/phpBB/install/convert/convertor.php b/phpBB/install/convert/convertor.php index 08e485f726..f7f05ebdae 100644 --- a/phpBB/install/convert/convertor.php +++ b/phpBB/install/convert/convertor.php @@ -144,7 +144,6 @@ class convertor $convert->mysql_convert = false; switch ($src_db->sql_layer) { - case 'sqlite': case 'sqlite3': $convert->src_truncate_statement = 'DELETE FROM '; break; @@ -176,7 +175,6 @@ class convertor switch ($db->get_sql_layer()) { - case 'sqlite': case 'sqlite3': $convert->truncate_statement = 'DELETE FROM '; break; diff --git a/phpBB/install/convertors/functions_phpbb20.php b/phpBB/install/convertors/functions_phpbb20.php index 0e3ef43328..6f43e1915e 100644 --- a/phpBB/install/convertors/functions_phpbb20.php +++ b/phpBB/install/convertors/functions_phpbb20.php @@ -1827,7 +1827,6 @@ function phpbb_create_userconv_table() )'; break; - case 'sqlite': case 'sqlite3': $create_sql = 'CREATE TABLE ' . USERCONV_TABLE . ' ( user_id INTEGER NOT NULL DEFAULT \'0\', diff --git a/phpBB/language/en/install.php b/phpBB/language/en/install.php index 1bf09fdb26..35cea17a24 100644 --- a/phpBB/language/en/install.php +++ b/phpBB/language/en/install.php @@ -72,7 +72,6 @@ $lang = array_merge($lang, array(