Livestatus\Query: remove SimpleQuery tasks

This commit is contained in:
Thomas Gelf 2014-11-16 15:09:33 +01:00
parent 6de98dcf97
commit 39a995cc6f
1 changed files with 0 additions and 115 deletions

View File

@ -19,121 +19,6 @@ class Query extends SimpleQuery
protected $order_columns = array();
protected $count = false;
public function __construct(Connection $connection)
{
$this->connection = $connection;
}
public function getAdapter()
{
return $this->connection;
}
public function compare(& $a, & $b, $col_num = 0)
{
if (! array_key_exists($col_num, $this->order_columns)) {
return 0;
}
$col = $this->order_columns[$col_num][0];
$dir = $this->order_columns[$col_num][1];
//$res = strnatcmp(strtolower($a->$col), strtolower($b->$col));
$res = strcmp(strtolower($a->$col), strtolower($b->$col));
if ($res === 0) {
if (array_key_exists(++$col_num, $this->order_columns)) {
return $this->compare($a, $b, $col_num);
} else {
return 0;
}
}
if ($dir === self::SORT_ASC) {
return $res;
} else {
return $res * -1;
}
}
public function hasOrder()
{
return ! empty($this->order_columns);
}
public function where($key, $val = null)
{
$this->filters[$key] = $val;
return $this;
}
public function order($col)
{
if (($pos = strpos($col, ' ')) === false) {
$col = $col;
$dir = self::SORT_ASC;
} else {
$dir = strtoupper(substr($col, $pos + 1));
if ($dir === 'DESC') {
$dir = self::SORT_DESC;
} else {
$dir = self::SORT_ASC;
}
$col = substr($col, 0, $pos);
}
$this->order_columns[] = array($col, $dir);
return $this;
}
// Nur wenn keine stats, sonst im RAM!!
// Offset gibt es nicht, muss simuliert werden
public function limit($count = null, $offset = null)
{
if (! preg_match('~^\d+~', $count . $offset)) {
throw new IcingaException(
'Got invalid limit: %s, %s',
$count,
$offset
);
}
$this->limit_count = (int) $count;
$this->limit_offset = (int) $offset;
return $this;
}
public function hasLimit()
{
return $this->limit_count !== null;
}
public function hasOffset()
{
return $this->limit_offset > 0;
}
public function getLimit()
{
return $this->limit_count;
}
public function getOffset()
{
return $this->limit_offset;
}
public function from($table, $columns = null)
{
if (! $this->connection->hasTable($table)) {
throw new IcingaException(
'This livestatus connection does not provide "%s"',
$table
);
}
$this->table = $table;
if (is_array($columns)) {
// TODO: check for valid names?
$this->columns = $columns;
}
return $this;
}
public function hasColumns()
{
return $this->columns !== null;