diff --git a/tests/WP_SQLite_Metadata_Tests.php b/tests/WP_SQLite_Metadata_Tests.php index 2c718cb..cc66b35 100644 --- a/tests/WP_SQLite_Metadata_Tests.php +++ b/tests/WP_SQLite_Metadata_Tests.php @@ -78,7 +78,7 @@ public function testInformationSchemaTables() { $this->assertEquals( array( 'TABLE_CATALOG' => 'def', - 'TABLE_SCHEMA' => 'database', + 'TABLE_SCHEMA' => '', 'TABLE_NAME' => 'wp_options', 'TABLE_TYPE' => 'BASE TABLE', 'ENGINE' => 'InnoDB', diff --git a/wp-includes/sqlite/class-wp-sqlite-translator.php b/wp-includes/sqlite/class-wp-sqlite-translator.php index 6be0c1a..c0ac1b8 100644 --- a/wp-includes/sqlite/class-wp-sqlite-translator.php +++ b/wp-includes/sqlite/class-wp-sqlite-translator.php @@ -1528,14 +1528,16 @@ private function execute_select() { if ( $table_name && str_starts_with( strtolower( $table_name ), 'information_schema' ) ) { $this->is_information_schema_query = true; - $updated_query = preg_replace( + + $database_name = $this->pdo->quote( defined( 'DB_NAME' ) ? DB_NAME : '' ); + $updated_query = preg_replace( '/' . $table_name . '\.tables/i', /** * TODO: Return real values for hardcoded column values. */ "(SELECT 'def' as TABLE_CATALOG, - 'database' as TABLE_SCHEMA, + $database_name as TABLE_SCHEMA, name as TABLE_NAME, CASE type WHEN 'table' THEN 'BASE TABLE'