summaryrefslogtreecommitdiffstats
path: root/library
diff options
context:
space:
mode:
Diffstat (limited to 'library')
-rw-r--r--library/Monitoring/Backend/Ido/Query/HostdependencyQuery.php30
-rw-r--r--library/Monitoring/DataView/Hostdependency.php14
2 files changed, 44 insertions, 0 deletions
diff --git a/library/Monitoring/Backend/Ido/Query/HostdependencyQuery.php b/library/Monitoring/Backend/Ido/Query/HostdependencyQuery.php
new file mode 100644
index 0000000..1946cbb
--- /dev/null
+++ b/library/Monitoring/Backend/Ido/Query/HostdependencyQuery.php
@@ -0,0 +1,30 @@
+<?php
+
+namespace Icinga\Module\Monitoring\Backend\Ido\Query;
+
+class HostdependencyQuery extends IdoQuery {
+
+ protected $columnMap = array(
+ 'hostdependencies' => array(
+ 'host_name' => 'ho1.name1 COLLATE latin1_general_ci',
+ 'dependent_host_name' => 'ho2.name1 COLLATE latin1_general_ci',
+ ),
+ );
+
+ protected function joinBaseTables() {
+ $this->select->from(
+ array('hd' => $this->prefix . 'hostdependencies'),
+ array()
+ )->join(
+ array('ho1' => $this->prefix . 'objects'),
+ 'ho1.object_id = hd.host_object_id',
+ array()
+ )->join(
+ array('ho2' => $this->prefix . 'objects'),
+ 'ho2.object_id = hd.dependent_host_object_id',
+ array()
+ );
+ $this->joinedVirtualTables['hostdependencies'] = true;
+ }
+
+}
diff --git a/library/Monitoring/DataView/Hostdependency.php b/library/Monitoring/DataView/Hostdependency.php
new file mode 100644
index 0000000..3860a66
--- /dev/null
+++ b/library/Monitoring/DataView/Hostdependency.php
@@ -0,0 +1,14 @@
+<?php
+
+namespace Icinga\Module\Monitoring\DataView;
+
+class Hostdependency extends DataView {
+
+ public function getColumns() {
+ return array(
+ 'host_name',
+ 'dependent_host_name',
+ );
+ }
+
+}