From 8c33a2180da2f1a2bed88a134f8a878932957736 Mon Sep 17 00:00:00 2001 From: rxu Date: Sat, 17 Jun 2023 12:36:29 +0700 Subject: [PATCH] [ticket/17148] Fix sql_table_exists() error for PostgreSQL 9.3 and earlier PostgreSQL 9.3 and earlier versions don't support Empty SELECT lists (support was added since v. 9.4). Also add PostgreSQL 9.3 tests as earlier images fail in current tests env. PHPBB3-17148 --- .github/workflows/tests.yml | 4 +++- phpBB/phpbb/db/tools/postgres.php | 2 +- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 8a2a2f7e0a..69a3716698 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -233,6 +233,8 @@ jobs: strategy: matrix: include: + - php: '7.1' + db: "postgres:9.3" - php: '7.1' db: "postgres:9.5" - php: '7.1' @@ -264,7 +266,7 @@ jobs: services: postgres: - image: ${{ matrix.db != 'postgres:9.5' && matrix.db != 'postgres:9.6' && matrix.db != 'postgres:10' && matrix.db != 'postgres:11' && matrix.db != 'postgres:12' && matrix.db != 'postgres:13' && 'postgres:10' || matrix.db }} + image: ${{ matrix.db != 'postgres:9.3' && matrix.db != 'postgres:9.5' && matrix.db != 'postgres:9.6' && matrix.db != 'postgres:10' && matrix.db != 'postgres:11' && matrix.db != 'postgres:12' && matrix.db != 'postgres:13' && 'postgres:10' || matrix.db }} env: POSTGRES_HOST: localhost POSTGRES_USER: postgres diff --git a/phpBB/phpbb/db/tools/postgres.php b/phpBB/phpbb/db/tools/postgres.php index 748d0c0821..2074dbc96b 100644 --- a/phpBB/phpbb/db/tools/postgres.php +++ b/phpBB/phpbb/db/tools/postgres.php @@ -102,7 +102,7 @@ class postgres extends tools function sql_table_exists($table_name) { $sql = "SELECT CAST(EXISTS( - SELECT FROM information_schema.tables + SELECT * FROM information_schema.tables WHERE table_schema = 'public' AND table_name = '" . $this->db->sql_escape($table_name) . "' ) AS INTEGER)";