tickets #130661 ยป mediawiki-1.36.7-galeralock.patch
mediawiki-1.37.6pj/includes/libs/rdbms/database/DatabaseMysqlBase.php 2023-06-12 18:09:06.845139148 +0200 | ||
---|---|---|
$encName = $this->addQuotes( $this->makeLockName( $lockName ) );
|
||
$res = $this->query(
|
||
"SELECT IS_FREE_LOCK($encName) AS unlocked",
|
||
"SELECT 1 AS unlocked",
|
||
$method,
|
||
self::QUERY_IGNORE_DBO_TRX | self::QUERY_CHANGE_NONE
|
||
);
|
||
... | ... | |
// https://dev.mysql.com/doc/refman/5.6/en/date-and-time-functions.html#function_sysdate
|
||
// https://dev.mysql.com/doc/refman/5.6/en/fractional-seconds.html
|
||
$res = $this->query(
|
||
"SELECT IF(GET_LOCK($encName,$timeout),UNIX_TIMESTAMP(SYSDATE(6)),NULL) AS acquired",
|
||
"SELECT UNIX_TIMESTAMP(SYSDATE(6)) AS acquired",
|
||
$method,
|
||
self::QUERY_IGNORE_DBO_TRX | self::QUERY_CHANGE_NONE
|
||
);
|
||
... | ... | |
$encName = $this->addQuotes( $this->makeLockName( $lockName ) );
|
||
$res = $this->query(
|
||
"SELECT RELEASE_LOCK($encName) AS released",
|
||
"SELECT 1 AS released",
|
||
$method,
|
||
self::QUERY_IGNORE_DBO_TRX | self::QUERY_CHANGE_NONE
|
||
);
|
||
... | ... | |
$items[] = $this->tableName( $table ) . ' READ';
|
||
}
|
||
$this->query(
|
||
"LOCK TABLES " . implode( ',', $items ),
|
||
$method,
|
||
self::QUERY_IGNORE_DBO_TRX | self::QUERY_CHANGE_ROWS
|
||
);
|
||
//$this->query(
|
||
// "LOCK TABLES " . implode( ',', $items ),
|
||
// $method,
|
||
// self::QUERY_IGNORE_DBO_TRX | self::QUERY_CHANGE_ROWS
|
||
//);
|
||
return true;
|
||
}
|