wiki.techinc.nl/includes/libs/rdbms/database/MaintainableDBConnRef.php
Aaron Schulz 856c6769cd rdbms: IDatabase interface cleanups
* Move schema-change related methods listTables(), indexUnique(),
  and fieldInfo() to IMaintainableDatabase
* Deprecate doneWrites()
* Remove reportQueryError() and reportConnectionError(),
  leaving them to Database

Bug: T190396
Change-Id: I96f298d5a6eca67f5a289f205406bf3135ece62d
2018-03-22 08:48:46 -07:00

97 lines
2.6 KiB
PHP

<?php
namespace Wikimedia\Rdbms;
/**
* Helper class to handle automatically marking connections as reusable (via RAII pattern)
* as well handling deferring the actual network connection until the handle is used
*
* @note: proxy methods are defined explicity to avoid interface errors
* @ingroup Database
* @since 1.29
*/
class MaintainableDBConnRef extends DBConnRef implements IMaintainableDatabase {
public function tableName( $name, $format = 'quoted' ) {
return $this->__call( __FUNCTION__, func_get_args() );
}
public function tableNames() {
return $this->__call( __FUNCTION__, func_get_args() );
}
public function tableNamesN() {
return $this->__call( __FUNCTION__, func_get_args() );
}
public function sourceFile(
$filename,
callable $lineCallback = null,
callable $resultCallback = null,
$fname = false,
callable $inputCallback = null
) {
return $this->__call( __FUNCTION__, func_get_args() );
}
public function sourceStream(
$fp,
callable $lineCallback = null,
callable $resultCallback = null,
$fname = __METHOD__,
callable $inputCallback = null
) {
return $this->__call( __FUNCTION__, func_get_args() );
}
public function dropTable( $tableName, $fName = __METHOD__ ) {
return $this->__call( __FUNCTION__, func_get_args() );
}
public function deadlockLoop() {
return $this->__call( __FUNCTION__, func_get_args() );
}
public function listViews( $prefix = null, $fname = __METHOD__ ) {
return $this->__call( __FUNCTION__, func_get_args() );
}
public function textFieldSize( $table, $field ) {
return $this->__call( __FUNCTION__, func_get_args() );
}
public function streamStatementEnd( &$sql, &$newLine ) {
return $this->__call( __FUNCTION__, func_get_args() );
}
public function duplicateTableStructure(
$oldName, $newName, $temporary = false, $fname = __METHOD__
) {
return $this->__call( __FUNCTION__, func_get_args() );
}
public function tableLocksHaveTransactionScope() {
return $this->__call( __FUNCTION__, func_get_args() );
}
public function lockTables( array $read, array $write, $method ) {
return $this->__call( __FUNCTION__, func_get_args() );
}
public function unlockTables( $method ) {
return $this->__call( __FUNCTION__, func_get_args() );
}
public function indexUnique( $table, $index ) {
return $this->__call( __FUNCTION__, func_get_args() );
}
public function listTables( $prefix = null, $fname = __METHOD__ ) {
return $this->__call( __FUNCTION__, func_get_args() );
}
public function fieldInfo( $table, $field ) {
return $this->__call( __FUNCTION__, func_get_args() );
}
}
class_alias( MaintainableDBConnRef::class, 'MaintainableDBConnRef' );