/** * Метод выполняет удаление данных из бд, которые удовлетворяют условиям запроса. * * @param int $indexId Идентификтор индекса, который должен быть использован при удалении. * @param array $query Условия, которым должен удовлетворять искомый элемент. Передается в виде массива вида: * array(<operation> => <value>|<array(<values>)>) в зависимости от того простой или составной индекс. * @param array $limit Массив со значениями лимита и оффсета выборки. Передается в виде: array(<limit>, <offset>). * @param array $options Массив опций, которые должны быть применены в выборке. * @return bool Результат выполнения запроса. * @throws Ext_HandlerSocket_Driver_Exception Будет выброшено в следующих случаях: * 1. Идентификатор индекса передан не в виде целого числа или число отрицательное. Код INVALID_INDEX_ID. * 2. Опции открытия индекса переданы не в массиве. Код INVALID_OPTIONS. * 3. Лимит выборки передан не в виде массива или в виде неверного массива. Код INVALID_QUERY_LIMIT. * 4. Условия запроса переданы не в виде массива. Код INVALID_QUERY. */ public function delete($indexId, $query, $limit = array(1, 0), $options = array()) { $request = Ext_HandlerSocket_Driver_RequestAbstract::factory('delete')->setIndexId($indexId)->setQuery($query)->setLimit($limit); if (isset($options['in'])) { $request->setIn($options['in']); } if (isset($options['filter'])) { $request->setFilter($options['filter']); } if (isset($options['while'])) { $request->setWhile($options['while']); } $result = $this->_sendWriteRequest((string) $request); if ($result['errorCode'] === 0 && isset($result['columns'][0]) && isset($result['columns'][0][0])) { return (bool) $result['columns'][0][0]; } else { return false; } }
public static function setRequestNamespace($requestNamespace) { self::$_requestNamespace = $requestNamespace; }