Ido: remove test query objects from erraneous commit

This commit is contained in:
Thomas Gelf 2015-11-04 18:37:32 +01:00
parent 5a34e3ea83
commit a2667dd551
2 changed files with 0 additions and 397 deletions

View File

@ -1,239 +0,0 @@
<?php
/* Icinga Web 2 | (c) 2013-2015 Icinga Development Team | GPLv2+ */
namespace Icinga\Module\Monitoring\Backend\Ido\Query;
use Zend_Db_Expr;
class HostobjectSubquery extends IdoQuery
{
/**
* {@inheritdoc}
*/
protected $allowCustomVars = true;
/**
* {@inheritdoc}
*/
protected $columnMap = array(
'hostgroups' => array(
'hostgroup' => 'hgo.name1',
),
'hosts' => array(
'host' => 'ho.name1',
),
'servicegroups' => array(
'servicegroup' => 'sgo.name1',
),
'services' => array(
'service' => 'so.name2',
)
);
/**
* Create a sub query to join comments into status query
*
* @param int $entryType
* @param string $alias
*
* @return Zend_Db_Expr
*/
protected function createLastCommentSubQuery($entryType, $alias)
{
$sql = <<<SQL
SELECT
c.object_id,
'[' || c.author_name || '] ' || c.comment_data AS $alias
FROM
icinga_comments c
INNER JOIN
(
SELECT
MAX(comment_id) AS comment_id,
object_id
FROM
icinga_comments
WHERE
entry_type = $entryType
GROUP BY object_id
) ec ON ec.comment_id = c.comment_id
SQL;
return new Zend_Db_Expr('(' . $sql . ')');
}
/**
* {@inheritdoc}
*/
protected function joinBaseTables()
{
$this->select->from(
array('h' => $this->prefix . 'hosts'),
array()
)->join(
array('ho' => $this->prefix . 'objects'),
'ho.object_id = h.host_object_id AND ho.is_active = 1 AND ho.objecttype_id = 1',
array()
);
$this->joinedVirtualTables['hosts'] = true;
}
/**
* Join host groups
*/
protected function joinHostgroups()
{
$this->select->joinLeft(
array('hgm' => $this->prefix . 'hostgroup_members'),
'hgm.host_object_id = ho.object_id',
array()
)->joinLeft(
array('hg' => $this->prefix . 'hostgroups'),
'hg.hostgroup_id = hgm.hostgroup_id',
array()
)->joinLeft(
array('hgo' => $this->prefix . 'objects'),
'hgo.object_id = hg.hostgroup_object_id AND hgo.is_active = 1 AND hgo.objecttype_id = 3',
array()
);
$this->group('ho.name1');
}
/**
* Join host status
*/
protected function joinHoststatus()
{
$this->select->join(
array('hs' => $this->prefix . 'hoststatus'),
'hs.host_object_id = ho.object_id',
array()
);
}
/**
* Join last host acknowledgement comment
*/
protected function joinLasthostackcomment()
{
$this->select->joinLeft(
array('hlac' => $this->createLastCommentSubQuery(4, 'last_ack_data')),
'hlac.object_id = ho.object_id',
array()
);
}
/**
* Join last host comment
*/
protected function joinLasthostcomment()
{
$this->select->joinLeft(
array('hlc' => $this->createLastCommentSubQuery(1, 'last_comment_data')),
'hlc.object_id = ho.object_id',
array()
);
}
/**
* Join last host downtime comment
*/
protected function joinLasthostdowntimeComment()
{
$this->select->joinLeft(
array('hldc' => $this->createLastCommentSubQuery(2, 'last_downtime_data')),
'hldc.object_id = ho.object_id',
array()
);
}
/**
* Join last host flapping comment
*/
protected function joinLasthostflappingcomment()
{
$this->select->joinLeft(
array('hlfc' => $this->createLastCommentSubQuery(3, 'last_flapping_data')),
'hlfc.object_id = ho.object_id',
array()
);
}
/**
* Join service groups
*/
protected function joinServicegroups()
{
$this->requireVirtualTable('services');
$this->select->joinLeft(
array('sgm' => $this->prefix . 'servicegroup_members'),
'sgm.service_object_id = s.service_object_id',
array()
)->joinLeft(
array('sg' => $this->prefix . 'servicegroups'),
'sgm.servicegroup_id = sg.' . $this->servicegroup_id,
array()
)->joinLeft(
array('sgo' => $this->prefix . 'objects'),
'sgo.object_id = sg.servicegroup_object_id AND sgo.is_active = 1 AND sgo.objecttype_id = 4',
array()
);
$this->group('ho.name1');
}
/**
* Join services
*/
protected function joinServices()
{
$this->requireVirtualTable('hosts');
$this->select->joinLeft(
array('s' => $this->prefix . 'services'),
's.host_object_id = h.host_object_id',
array()
)->joinLeft(
array('so' => $this->prefix . 'objects'),
'so.object_id = s.service_object_id AND so.is_active = 1 AND so.objecttype_id = 2',
array()
);
$this->group('ho.name1');
}
/**
* Join service problem summary
*/
protected function joinServiceproblemsummary()
{
$select = <<<'SQL'
SELECT
SUM(
CASE WHEN(ss.problem_has_been_acknowledged + ss.scheduled_downtime_depth + COALESCE(hs.current_state, 0)) > 0
THEN 0
ELSE 1
END
) AS unhandled_services_count,
SUM(
CASE WHEN (ss.problem_has_been_acknowledged + ss.scheduled_downtime_depth + COALESCE(hs.current_state, 0) ) > 0
THEN 1
ELSE 0
END
) AS handled_services_count,
s.host_object_id
FROM
icinga_servicestatus ss
JOIN icinga_objects o ON o.object_id = ss.service_object_id
JOIN icinga_services s ON s.service_object_id = o.object_id
JOIN icinga_hoststatus hs ON hs.host_object_id = s.host_object_id
WHERE
o.is_active = 1
AND o.objecttype_id = 2
AND ss.current_state > 0
GROUP BY
s.host_object_id
SQL;
$this->select->joinLeft(
array('sps' => new Zend_Db_Expr('(' . $select . ')')),
'sps.host_object_id = ho.object_id',
array()
);
}
}

View File

@ -1,158 +0,0 @@
<?php
/* Icinga Web 2 | (c) 2013-2015 Icinga Development Team | GPLv2+ */
namespace Icinga\Module\Monitoring\Backend\Ido\Query;
/**
* Query for contacts
*/
class ContactQuery extends IdoQuery
{
/**
* {@inheritdoc}
*/
protected $allowCustomVars = true;
/**
* {@inheritdoc}
*/
protected $columnMap = array(
'hostgroups' => array(
'hostgroup' => 'hgo.name1 COLLATE latin1_general_ci',
'hostgroup_alias' => 'hg.alias COLLATE latin1_general_ci',
'hostgroup_name' => 'hgo.name1'
),
'hosts' => array(
'host' => 'ho.name1 COLLATE latin1_general_ci',
'host_name' => 'ho.name1',
'host_alias' => 'h.alias',
'host_display_name' => 'h.display_name COLLATE latin1_general_ci'
),
'servicegroups' => array(
'servicegroup' => 'sgo.name1 COLLATE latin1_general_ci',
'servicegroup_name' => 'sgo.name1',
'servicegroup_alias' => 'sg.alias COLLATE latin1_general_ci'
),
'services' => array(
'service' => 'so.name2 COLLATE latin1_general_ci',
'service_host_name' => 'so.name1'
)
);
/**
* {@inheritdoc}
*/
protected function joinBaseTables()
{
$this->select->from(
array('c' => $this->prefix . 'contacts'),
array()
)->join(
array('co' => $this->prefix . 'objects'),
'co.object_id = c.contact_object_id AND co.is_active = 1',
array()
);
$this->joinedVirtualTables['contacts'] = true;
}
/**
* Join timeperiods
*/
protected function joinTimeperiods()
{
$this->select->joinLeft(
array('ht' => $this->prefix . 'timeperiods'),
'ht.timeperiod_object_id = c.host_timeperiod_object_id',
array()
);
$this->select->joinLeft(
array('st' => $this->prefix . 'timeperiods'),
'st.timeperiod_object_id = c.service_timeperiod_object_id',
array()
);
}
/**
* Join host groups
*/
protected function joinHostgroups()
{
$this->requireVirtualTable('hosts');
$this->select->joinLeft(
array('hgm' => $this->prefix . 'hostgroup_members'),
'hgm.host_object_id = ho.object_id',
array()
)->joinLeft(
array('hg' => $this->prefix . 'hostgroups'),
'hg.hostgroup_id = hgm.hostgroup_id',
array()
)->joinLeft(
array('hgo' => $this->prefix . 'objects'),
'hgo.object_id = hg.hostgroup_object_id AND hgo.is_active = 1 AND hgo.objecttype_id = 3',
array()
);
}
/**
* Join hosts
*/
protected function joinHosts()
{
$this->select->joinLeft(
array('hc' => $this->prefix . 'host_contacts'),
'hc.contact_object_id = c.contact_object_id',
array()
)->joinLeft(
array('h' => $this->prefix . 'hosts'),
'h.host_id = hc.host_id',
array()
)->joinLeft(
array('ho' => $this->prefix . 'objects'),
'ho.object_id = h.host_object_id AND ho.is_active = 1',
array()
);
$this->group(array('c.contact_id'));
}
/**
* Join service groups
*/
protected function joinServicegroups()
{
$this->requireVirtualTable('services');
$this->select->joinLeft(
array('sgm' => $this->prefix . 'servicegroup_members'),
'sgm.service_object_id = s.service_object_id',
array()
)->joinLeft(
array('sg' => $this->prefix . 'servicegroups'),
'sg.servicegroup_id = sgm.servicegroup_id',
array()
)->joinLeft(
array('sgo' => $this->prefix . 'objects'),
'sgo.object_id = sg.servicegroup_object_id AND sgo.is_active = 1 AND sgo.objecttype_id = 4',
array()
);
}
/**
* Join services
*/
protected function joinServices()
{
$this->select->joinLeft(
array('sc' => $this->prefix . 'service_contacts'),
'sc.contact_object_id = c.contact_object_id',
array()
)->joinLeft(
array('s' => $this->prefix . 'services'),
's.service_id = sc.service_id',
array()
)->joinLeft(
array('so' => $this->prefix . 'objects'),
'so.object_id = s.service_object_id AND so.is_active = 1 AND so.objecttype_id = 2',
array()
);
$this->group(array('c.contact_id'));
}
}