Aaron Schulz has uploaded a new change for review. https://gerrit.wikimedia.org/r/312049
Change subject: Check mSessionTempTables in Database::tableExists() ...................................................................... Check mSessionTempTables in Database::tableExists() Bug: T146300 Change-Id: Ia8306ec25e63adcdcf0dcc8f6a700dd01afdc948 --- M includes/libs/rdbms/database/Database.php M includes/libs/rdbms/database/DatabaseMysqlBase.php 2 files changed, 9 insertions(+), 1 deletion(-) git pull ssh://gerrit.wikimedia.org:29418/mediawiki/core refs/changes/49/312049/1 diff --git a/includes/libs/rdbms/database/Database.php b/includes/libs/rdbms/database/Database.php index 9993277..b42f1b3 100644 --- a/includes/libs/rdbms/database/Database.php +++ b/includes/libs/rdbms/database/Database.php @@ -204,7 +204,7 @@ /** @var array Map of (name => 1) for locks obtained via lock() */ private $mNamedLocksHeld = []; /** @var array Map of (table name => 1) for TEMPORARY tables */ - private $mSessionTempTables = []; + protected $mSessionTempTables = []; /** @var IDatabase|null Lazy handle to the master DB this server replicates from */ private $lazyMasterHandle; @@ -1400,6 +1400,10 @@ } public function tableExists( $table, $fname = __METHOD__ ) { + if ( isset( $this->mSessionTempTables[$table] ) ) { + return true; // already known to exists + } + $table = $this->tableName( $table ); $old = $this->ignoreErrors( true ); $res = $this->query( "SELECT 1 FROM $table LIMIT 1", $fname ); diff --git a/includes/libs/rdbms/database/DatabaseMysqlBase.php b/includes/libs/rdbms/database/DatabaseMysqlBase.php index 39cf5bc..e5c35f4 100644 --- a/includes/libs/rdbms/database/DatabaseMysqlBase.php +++ b/includes/libs/rdbms/database/DatabaseMysqlBase.php @@ -519,6 +519,10 @@ } function tableExists( $table, $fname = __METHOD__ ) { + if ( isset( $this->mSessionTempTables[$table] ) ) { + return true; // already known to exists and won't show in SHOW TABLES anyway + } + $table = $this->tableName( $table, 'raw' ); $encLike = $this->buildLike( $table ); -- To view, visit https://gerrit.wikimedia.org/r/312049 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: newchange Gerrit-Change-Id: Ia8306ec25e63adcdcf0dcc8f6a700dd01afdc948 Gerrit-PatchSet: 1 Gerrit-Project: mediawiki/core Gerrit-Branch: master Gerrit-Owner: Aaron Schulz <asch...@wikimedia.org> _______________________________________________ MediaWiki-commits mailing list MediaWiki-commits@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits