Changeset View
Changeset View
Standalone View
Standalone View
src/infrastructure/storage/lisk/LiskDAO.php
Show First 20 Lines • Show All 511 Lines • ▼ Show 20 Lines | if (!$data) { | ||||
return null; | return null; | ||||
} | } | ||||
return $this->loadFromArray($data); | return $this->loadFromArray($data); | ||||
} | } | ||||
protected function loadRawDataWhere($pattern /* , $args... */) { | protected function loadRawDataWhere($pattern /* , $args... */) { | ||||
$connection = $this->establishConnection('r'); | $conn = $this->establishConnection('r'); | ||||
$lock_clause = ''; | if ($conn->isReadLocking()) { | ||||
if ($connection->isReadLocking()) { | $lock_clause = qsprintf($conn, 'FOR UPDATE'); | ||||
$lock_clause = 'FOR UPDATE'; | } else if ($conn->isWriteLocking()) { | ||||
} else if ($connection->isWriteLocking()) { | $lock_clause = qsprintf($conn, 'LOCK IN SHARE MODE'); | ||||
$lock_clause = 'LOCK IN SHARE MODE'; | } else { | ||||
$lock_clause = qsprintf($conn, ''); | |||||
} | } | ||||
$args = func_get_args(); | $args = func_get_args(); | ||||
$args = array_slice($args, 1); | $args = array_slice($args, 1); | ||||
$pattern = 'SELECT * FROM %R WHERE '.$pattern.' %Q'; | $pattern = 'SELECT * FROM %R WHERE '.$pattern.' %Q'; | ||||
array_unshift($args, $this); | array_unshift($args, $this); | ||||
array_push($args, $lock_clause); | array_push($args, $lock_clause); | ||||
array_unshift($args, $pattern); | array_unshift($args, $pattern); | ||||
return call_user_func_array( | return call_user_func_array(array($conn, 'queryData'), $args); | ||||
array($connection, 'queryData'), | |||||
$args); | |||||
} | } | ||||
/** | /** | ||||
* Reload an object from the database, discarding any changes to persistent | * Reload an object from the database, discarding any changes to persistent | ||||
* properties. This is primarily useful after entering a transaction but | * properties. This is primarily useful after entering a transaction but | ||||
* before applying changes to an object. | * before applying changes to an object. | ||||
* | * | ||||
▲ Show 20 Lines • Show All 1,492 Lines • Show Last 20 Lines |