/** * Update a config setting if the first argument equal to the * current config value * * @param string $compare If equal to the current config value, will be * updated to the new config value, otherwise not * @param string $config_name The name of the config setting you would * like to update * @param mixed $config_value The value of the config setting * @return null * @throws \src\db\migration\exception */ public function update_if_equals($compare, $config_name, $config_value) { if (!isset($this->config[$config_name])) { throw new \src\db\migration\exception('CONFIG_NOT_EXIST', $config_name); } $this->config->set_atomic($config_name, $compare, $config_value); }
/** * Releases the lock. * * The lock must have been previously obtained, that is, acquire() call * was issued and returned true. * * Note: Attempting to release a lock that is already released, * that is, calling release() multiple times, is harmless. * * @return null */ public function release() { if ($this->locked) { $this->config->set_atomic($this->config_name, $this->unique_id, '0', false); $this->locked = false; } }