[pkg-nagios-changes] [Git][nagios-team/icingadb-web][experimental] 5 commits: New upstream version 1.2.2
Bas Couwenberg (@sebastic)
gitlab at salsa.debian.org
Wed Jul 16 14:16:43 BST 2025
Bas Couwenberg pushed to branch experimental at Debian Nagios Maintainer Group / icingadb-web
Commits:
7b26282f by Bas Couwenberg at 2025-07-16T15:11:06+02:00
New upstream version 1.2.2
- - - - -
1a201af5 by Bas Couwenberg at 2025-07-16T15:11:10+02:00
Update upstream source from tag 'upstream/1.2.2'
Update to upstream version '1.2.2'
with Debian dir 2d39f2d32c50af3641b67a09f3894bfbc785500a
- - - - -
4a0667aa by Bas Couwenberg at 2025-07-16T15:11:21+02:00
New upstream release.
- - - - -
12ce77e7 by Bas Couwenberg at 2025-07-16T15:13:13+02:00
Require at least icinga-php-library 0.17.0.
- - - - -
1edd0105 by Bas Couwenberg at 2025-07-16T15:13:35+02:00
Set distribution to experimental.
- - - - -
26 changed files:
- AUTHORS
- CHANGELOG.md
- application/controllers/HostController.php
- debian/changelog
- debian/control
- doc/02-Installation.md.d/From-Source.md
- library/Icingadb/Common/Auth.php
- library/Icingadb/Model/Checkcommand.php
- library/Icingadb/Model/CustomvarFlat.php
- library/Icingadb/Model/DependencyNode.php
- library/Icingadb/Model/Eventcommand.php
- library/Icingadb/Model/Host.php
- library/Icingadb/Model/Hostgroup.php
- library/Icingadb/Model/Notification.php
- library/Icingadb/Model/Notificationcommand.php
- library/Icingadb/Model/Service.php
- library/Icingadb/Model/Servicegroup.php
- library/Icingadb/Model/Timeperiod.php
- library/Icingadb/Model/User.php
- library/Icingadb/Model/Usergroup.php
- library/Icingadb/Widget/Detail/CommentDetail.php
- library/Icingadb/Widget/Detail/DowntimeDetail.php
- library/Icingadb/Widget/Detail/RedundancyGroupDetail.php
- library/Icingadb/Widget/ItemList/ObjectList.php
- module.info
- test/php/library/Icingadb/Model/Behavior/FlattenedObjectVarsTest.php
Changes:
=====================================
AUTHORS
=====================================
@@ -1,4 +1,5 @@
Alexander A. Klimov <alexander.klimov at icinga.com>
+Alvar Penning <alvar.penning at icinga.com>
Eric Lippmann <eric.lippmann at icinga.com>
Feu Mourek <feu.mourek at icinga.com>
Florian Strohmaier <florian.strohmaier at icinga.com>
=====================================
CHANGELOG.md
=====================================
@@ -3,10 +3,24 @@
Please make sure to always read our [Upgrading](https://icinga.com/docs/icinga-db-web/latest/doc/05-Upgrading/)
documentation before switching to a new version.
+## 1.2.2 (2025-07-16)
+
+**Notice:** This is a security release. It is recommended to upgrade _quickly_.
+
+See the related CVE: https://github.com/Icinga/icingadb-web/security/advisories/GHSA-q2w7-mrx8-5473
+Included changes can be found on the milestone: https://github.com/Icinga/icingadb-web/milestone/12?closed=1
+And a detailed description about the most important ones on our blog: https://icinga.com/blog/releasing-icinga-web-2-v2-12-5-icinga-db-web-v1-2-2/
+
+## 1.2.1 (2025-06-30)
+
+This release [fixes an issue](https://github.com/Icinga/icingadb-web/pull/1229) with version comparison that caused
+incorrect detection of the Icinga DB version. As a result, the health check in Icinga Web will now accurately reflect
+the current Icinga DB version and no longer incorrectly indicate that an upgrade to version 1.4.0 is still required.
+
## 1.2.0 (2025-06-18)
Included changes can be found on the milestone: https://github.com/Icinga/icingadb-web/milestone/7?closed=1
-And a detailed description about the most important ones on our blog: https://icinga.com/blog/2025/06/18/a-new-look-at-dependencies/
+And a detailed description about the most important ones on our blog: https://icinga.com/blog/icinga-dependency-views/
## 1.1.3 (2024-08-06)
=====================================
application/controllers/HostController.php
=====================================
@@ -13,7 +13,6 @@ use Icinga\Module\Icingadb\Common\CommandActions;
use Icinga\Module\Icingadb\Common\HostLinks;
use Icinga\Module\Icingadb\Common\Links;
use Icinga\Module\Icingadb\Hook\TabHook\HookActions;
-use Icinga\Module\Icingadb\Model\DependencyEdge;
use Icinga\Module\Icingadb\Model\DependencyNode;
use Icinga\Module\Icingadb\Model\History;
use Icinga\Module\Icingadb\Model\Host;
@@ -32,7 +31,6 @@ use Icinga\Module\Icingadb\Widget\ItemList\LoadMoreObjectList;
use Icinga\Module\Icingadb\Widget\ItemList\ObjectList;
use ipl\Orm\Query;
use ipl\Sql\Expression;
-use ipl\Sql\Filter\Exists;
use ipl\Stdlib\Filter;
use ipl\Web\Control\LimitControl;
use ipl\Web\Control\SortControl;
@@ -443,7 +441,7 @@ class HostController extends Controller
*/
protected function fetchDependencyNodes(bool $parents = false): Query
{
- $query = DependencyNode::on($this->getDb())
+ $query = DependencyNode::forHost($this->host->id, $this->getDb(), $parents)
->with([
'host',
'host.state',
@@ -458,8 +456,6 @@ class HostController extends Controller
])
->setResultSetClass(VolatileStateResults::class);
- $this->joinFix($query, $this->host->id, $parents);
-
$this->applyRestrictions($query);
return $query;
@@ -541,42 +537,4 @@ class HostController extends Controller
{
return [new ObjectHeader($this->host)];
}
-
- /**
- * Filter the query to only include (direct) parents or children of the given object.
- *
- * @todo This is a workaround, remove it once https://github.com/Icinga/ipl-orm/issues/76 is fixed
- *
- * @param Query $query
- * @param string $objectId
- * @param bool $fetchParents Fetch parents if true, children otherwise
- */
- protected function joinFix(Query $query, string $objectId, bool $fetchParents = false): void
- {
- $filterTable = $fetchParents ? 'child' : 'parent';
- $utilizeType = $fetchParents ? 'parent' : 'child';
-
- $edge = DependencyEdge::on($this->getDb())
- ->utilize($utilizeType)
- ->columns([new Expression('1')])
- ->filter(Filter::equal("$filterTable.host.id", $objectId))
- ->filter(Filter::unlike("$filterTable.service.id", '*'));
-
- $edge->getFilter()->metaData()->set('forceOptimization', false);
-
- $resolver = $edge->getResolver();
-
- $edgeAlias = $resolver->getAlias(
- $resolver->resolveRelation($resolver->qualifyPath($utilizeType, $edge->getModel()->getTableName()))
- ->getTarget()
- );
-
- $query->filter(new Exists(
- $edge->assembleSelect()
- ->where(
- "$edgeAlias.id = "
- . $query->getResolver()->qualifyColumn('id', $query->getModel()->getTableName())
- )
- ));
- }
}
=====================================
debian/changelog
=====================================
@@ -1,3 +1,10 @@
+icingadb-web (1.2.2-1~exp1) experimental; urgency=medium
+
+ * New upstream release.
+ * Require at least icinga-php-library 0.17.0.
+
+ -- Bas Couwenberg <sebastic at debian.org> Wed, 16 Jul 2025 15:13:16 +0200
+
icingadb-web (1.2.1-1~exp1) experimental; urgency=medium
* New upstream release.
=====================================
debian/control
=====================================
@@ -13,7 +13,7 @@ Rules-Requires-Root: no
Package: icingadb-web
Architecture: all
Depends: icingaweb2 (>= 2.9),
- icinga-php-library (>= 0.16.1),
+ icinga-php-library (>= 0.17.0),
icinga-php-thirdparty (>= 0.13.0),
${misc:Depends}
Description: Icinga DB Web for Icinga Web 2
=====================================
doc/02-Installation.md.d/From-Source.md
=====================================
@@ -11,7 +11,7 @@ Make sure you use `icingadb` as the module name. The following requirements must
* The following PHP modules must be installed: `cURL`, `dom`, `json`, `libxml`
* [Icinga DB](https://github.com/Icinga/icingadb) (≥1.4)
* [Icinga Web 2](https://github.com/Icinga/icingaweb2) (≥2.9)
-* [Icinga PHP Library (ipl)](https://github.com/Icinga/icinga-php-library) (≥0.16.1)
+* [Icinga PHP Library (ipl)](https://github.com/Icinga/icinga-php-library) (≥0.17.0)
* [Icinga PHP Thirdparty](https://github.com/Icinga/icinga-php-thirdparty) (≥0.13)
<!-- {% include "02-Installation.md" %} -->
=====================================
library/Icingadb/Common/Auth.php
=====================================
@@ -141,8 +141,8 @@ trait Auth
}
$customVarRelationName = array_search('customvar_flat', $relations, true);
- $applyServiceRestriction = in_array('service', $relations, true);
- $applyHostRestriction = in_array('host', $relations, true)
+ $applyServiceRestriction = $relations[0] === 'dependency_node' || in_array('service', $relations, true);
+ $applyHostRestriction = $relations[0] === 'dependency_node' || in_array('host', $relations, true)
// Hosts and services have a special relation as a service can't exist without its host.
// Hence why the hosts restriction is also applied if only services are queried.
|| $applyServiceRestriction;
=====================================
library/Icingadb/Model/Checkcommand.php
=====================================
@@ -83,7 +83,8 @@ class Checkcommand extends Model
$relations->belongsTo('zone', Zone::class);
$relations->belongsToMany('customvar', Customvar::class)
- ->through(CheckcommandCustomvar::class);
+ ->through(CheckcommandCustomvar::class)
+ ->setThroughAlias('t_checkcommand_customvar');
$relations->belongsToMany('customvar_flat', CustomvarFlat::class)
->through(CheckcommandCustomvar::class);
$relations->belongsToMany('vars', Vars::class)
=====================================
library/Icingadb/Model/CustomvarFlat.php
=====================================
@@ -76,36 +76,47 @@ class CustomvarFlat extends Model
$relations->belongsToMany('checkcommand', Checkcommand::class)
->through(CheckcommandCustomvar::class)
+ ->setThroughAlias('t_checkcommand_customvar')
->setCandidateKey('customvar_id');
$relations->belongsToMany('eventcommand', Eventcommand::class)
->through(EventcommandCustomvar::class)
+ ->setThroughAlias('t_eventcommand_customvar')
->setCandidateKey('customvar_id');
$relations->belongsToMany('host', Host::class)
->through(HostCustomvar::class)
+ ->setThroughAlias('t_host_customvar')
->setCandidateKey('customvar_id');
$relations->belongsToMany('hostgroup', Hostgroup::class)
->through(HostgroupCustomvar::class)
+ ->setThroughAlias('t_hostgroup_customvar')
->setCandidateKey('customvar_id');
$relations->belongsToMany('notification', Notification::class)
->through(NotificationCustomvar::class)
+ ->setThroughAlias('t_notification_customvar')
->setCandidateKey('customvar_id');
$relations->belongsToMany('notificationcommand', Notificationcommand::class)
->through(NotificationcommandCustomvar::class)
+ ->setThroughAlias('t_notificationcommand_customvar')
->setCandidateKey('customvar_id');
$relations->belongsToMany('service', Service::class)
->through(ServiceCustomvar::class)
+ ->setThroughAlias('t_service_customvar')
->setCandidateKey('customvar_id');
$relations->belongsToMany('servicegroup', Servicegroup::class)
->through(ServicegroupCustomvar::class)
+ ->setThroughAlias('t_servicegroup_customvar')
->setCandidateKey('customvar_id');
$relations->belongsToMany('timeperiod', Timeperiod::class)
->through(TimeperiodCustomvar::class)
+ ->setThroughAlias('t_timeperiod_customvar')
->setCandidateKey('customvar_id');
$relations->belongsToMany('user', User::class)
->through(UserCustomvar::class)
+ ->setThroughAlias('t_user_customvar')
->setCandidateKey('customvar_id');
$relations->belongsToMany('usergroup', Usergroup::class)
->through(UsergroupCustomvar::class)
+ ->setThroughAlias('t_usergroup_customvar')
->setCandidateKey('customvar_id');
}
=====================================
library/Icingadb/Model/DependencyNode.php
=====================================
@@ -10,7 +10,10 @@ use ipl\Orm\Behaviors;
use ipl\Orm\Model;
use ipl\Orm\Query;
use ipl\Orm\Relations;
+use ipl\Sql\Connection;
use ipl\Sql\Expression;
+use ipl\Sql\Filter\Exists;
+use ipl\Stdlib\Filter;
/**
* Dependency node model.
@@ -130,4 +133,53 @@ class DependencyNode extends Model
$relations->hasOne('dependency_node', self::class)
->setForeignKey('id');
}
+
+ /**
+ * Get the query with only (direct) parents or children of the given host id.
+ *
+ * @internal Bug: This fix is required for host based queries. Otherwise, ipl-orm makes two subqueries
+ * from the filter, which leads to incorrect results.
+ *
+ * @todo This is a workaround, remove it once https://github.com/Icinga/ipl-orm/issues/119 is fixed
+ *
+ * @param string $hostId Host id to fetch parents or children for
+ * @param Connection $db The database connection
+ * @param bool $fetchParents Fetch parents if true, children otherwise
+ *
+ * @return Query
+ */
+ public static function forHost(string $hostId, Connection $db, bool $fetchParents = false): Query
+ {
+ $filterTable = $fetchParents ? 'child' : 'parent';
+ $utilizeType = $fetchParents ? 'parent' : 'child';
+
+ $edge = DependencyEdge::on($db)
+ ->utilize($utilizeType)
+ ->columns([new Expression('1')])
+ ->filter(Filter::all(
+ Filter::equal("$filterTable.host.id", $hostId),
+ Filter::unlike("$filterTable.service.id", '*')
+ ));
+
+ $edge->getFilter()->metaData()->set('forceOptimization', false);
+
+ $resolver = $edge->getResolver();
+
+ $edgeAlias = $resolver->getAlias(
+ $resolver->resolveRelation($resolver->qualifyPath($utilizeType, $edge->getModel()->getTableName()))
+ ->getTarget()
+ );
+
+ $query = static::on($db);
+
+ $query->filter(new Exists(
+ $edge->assembleSelect()
+ ->where(
+ "$edgeAlias.id = "
+ . $query->getResolver()->qualifyColumn('id', $query->getModel()->getTableName())
+ )
+ ));
+
+ return $query;
+ }
}
=====================================
library/Icingadb/Model/Eventcommand.php
=====================================
@@ -83,7 +83,8 @@ class Eventcommand extends Model
$relations->belongsTo('zone', Zone::class);
$relations->belongsToMany('customvar', Customvar::class)
- ->through(EventcommandCustomvar::class);
+ ->through(EventcommandCustomvar::class)
+ ->setThroughAlias('t_eventcommand_customvar');
$relations->belongsToMany('customvar_flat', CustomvarFlat::class)
->through(EventcommandCustomvar::class);
$relations->belongsToMany('vars', Vars::class)
=====================================
library/Icingadb/Model/Host.php
=====================================
@@ -253,6 +253,7 @@ class Host extends Model
{
$relations->hasOne('state', HostState::class)->setJoinType('LEFT');
$relations->hasOne('dependency_node', DependencyNode::class)->setJoinType('LEFT');
+ $relations->hasOne('unreachable_parent', UnreachableParent::class)->setJoinType('LEFT');
$relations->belongsTo('environment', Environment::class);
$relations->belongsTo('eventcommand', Eventcommand::class);
@@ -274,7 +275,8 @@ class Host extends Model
->setCandidateKey('command_endpoint_id');
$relations->belongsToMany('customvar', Customvar::class)
- ->through(HostCustomvar::class);
+ ->through(HostCustomvar::class)
+ ->setThroughAlias('t_host_customvar');
$relations->belongsToMany('customvar_flat', CustomvarFlat::class)
->through(HostCustomvar::class);
$relations->belongsToMany('vars', Vars::class)
=====================================
library/Icingadb/Model/Hostgroup.php
=====================================
@@ -91,7 +91,8 @@ class Hostgroup extends Model
$relations->belongsTo('zone', Zone::class);
$relations->belongsToMany('customvar', Customvar::class)
- ->through(HostgroupCustomvar::class);
+ ->through(HostgroupCustomvar::class)
+ ->setThroughAlias('t_hostgroup_customvar');
$relations->belongsToMany('customvar_flat', CustomvarFlat::class)
->through(HostgroupCustomvar::class);
$relations->belongsToMany('vars', Vars::class)
=====================================
library/Icingadb/Model/Notification.php
=====================================
@@ -135,7 +135,8 @@ class Notification extends Model
$relations->belongsTo('zone', Zone::class);
$relations->belongsToMany('customvar', Customvar::class)
- ->through(NotificationCustomvar::class);
+ ->through(NotificationCustomvar::class)
+ ->setThroughAlias('t_notification_customvar');
$relations->belongsToMany('customvar_flat', CustomvarFlat::class)
->through(NotificationCustomvar::class);
$relations->belongsToMany('vars', Vars::class)
=====================================
library/Icingadb/Model/Notificationcommand.php
=====================================
@@ -85,7 +85,8 @@ class Notificationcommand extends Model
$relations->belongsTo('zone', Zone::class);
$relations->belongsToMany('customvar', Customvar::class)
- ->through(NotificationcommandCustomvar::class);
+ ->through(NotificationcommandCustomvar::class)
+ ->setThroughAlias('t_notificationcommand_customvar');
$relations->belongsToMany('customvar_flat', CustomvarFlat::class)
->through(NotificationcommandCustomvar::class);
$relations->belongsToMany('vars', Vars::class)
=====================================
library/Icingadb/Model/Service.php
=====================================
@@ -245,6 +245,7 @@ class Service extends Model
{
$relations->hasOne('state', ServiceState::class)->setJoinType('LEFT');
$relations->hasOne('dependency_node', DependencyNode::class)->setJoinType('LEFT');
+ $relations->hasOne('unreachable_parent', UnreachableParent::class)->setJoinType('LEFT');
$relations->belongsTo('environment', Environment::class);
$relations->belongsTo('host', Host::class)->setJoinType('LEFT');
@@ -267,7 +268,8 @@ class Service extends Model
->setCandidateKey('command_endpoint_id');
$relations->belongsToMany('customvar', Customvar::class)
- ->through(ServiceCustomvar::class);
+ ->through(ServiceCustomvar::class)
+ ->setThroughAlias('t_service_customvar');
$relations->belongsToMany('customvar_flat', CustomvarFlat::class)
->through(ServiceCustomvar::class);
$relations->belongsToMany('vars', Vars::class)
=====================================
library/Icingadb/Model/Servicegroup.php
=====================================
@@ -92,7 +92,8 @@ class Servicegroup extends Model
$relations->belongsTo('zone', Zone::class);
$relations->belongsToMany('customvar', Customvar::class)
- ->through(ServicegroupCustomvar::class);
+ ->through(ServicegroupCustomvar::class)
+ ->setThroughAlias('t_servicegroup_customvar');
$relations->belongsToMany('customvar_flat', CustomvarFlat::class)
->through(ServicegroupCustomvar::class);
$relations->belongsToMany('vars', Vars::class)
=====================================
library/Icingadb/Model/Timeperiod.php
=====================================
@@ -83,7 +83,8 @@ class Timeperiod extends Model
$relations->belongsTo('zone', Zone::class);
$relations->belongsToMany('customvar', Customvar::class)
- ->through(TimeperiodCustomvar::class);
+ ->through(TimeperiodCustomvar::class)
+ ->setThroughAlias('t_timeperiod_customvar');
$relations->belongsToMany('customvar_flat', CustomvarFlat::class)
->through(TimeperiodCustomvar::class);
$relations->belongsToMany('vars', Vars::class)
=====================================
library/Icingadb/Model/User.php
=====================================
@@ -135,7 +135,8 @@ class User extends Model
$relations->belongsTo('zone', Zone::class);
$relations->belongsToMany('customvar', Customvar::class)
- ->through(UserCustomvar::class);
+ ->through(UserCustomvar::class)
+ ->setThroughAlias('t_user_customvar');
$relations->belongsToMany('customvar_flat', CustomvarFlat::class)
->through(UserCustomvar::class);
$relations->belongsToMany('vars', Vars::class)
=====================================
library/Icingadb/Model/Usergroup.php
=====================================
@@ -92,7 +92,8 @@ class Usergroup extends Model
$relations->belongsTo('zone', Zone::class);
$relations->belongsToMany('customvar', Customvar::class)
- ->through(UsergroupCustomvar::class);
+ ->through(UsergroupCustomvar::class)
+ ->setThroughAlias('t_usergroup_customvar');
$relations->belongsToMany('customvar_flat', CustomvarFlat::class)
->through(UsergroupCustomvar::class);
$relations->belongsToMany('vars', Vars::class)
=====================================
library/Icingadb/Widget/Detail/CommentDetail.php
=====================================
@@ -110,7 +110,7 @@ class CommentDetail extends BaseHtmlElement
}
$action = Links::commentsDelete();
- $action->setFilter(Filter::equal('name', $this->comment->name));
+ $action->setFilter(Filter::equal('comment.name', $this->comment->name));
return (new DeleteCommentForm())
->setObjects([$this->comment])
=====================================
library/Icingadb/Widget/Detail/DowntimeDetail.php
=====================================
@@ -55,7 +55,7 @@ class DowntimeDetail extends BaseHtmlElement
protected function createCancelDowntimeForm()
{
$action = Links::downtimesDelete();
- $action->setFilter(Filter::equal('name', $this->downtime->name));
+ $action->setFilter(Filter::equal('downtime.name', $this->downtime->name));
return (new DeleteDowntimeForm())
->setObjects([$this->downtime])
=====================================
library/Icingadb/Widget/Detail/RedundancyGroupDetail.php
=====================================
@@ -82,7 +82,6 @@ class RedundancyGroupDetail extends BaseHtmlElement
'service.host',
'service.host.state',
])
- ->setResultSetClass(VolatileStateResults::class)
->orderBy([
'host.state.severity',
'host.state.last_state_change',
=====================================
library/Icingadb/Widget/ItemList/ObjectList.php
=====================================
@@ -232,7 +232,7 @@ class ObjectList extends ItemList
->setDetailUrl(Url::fromPath('icingadb/comment'))
->setMultiselectUrl(Links::commentsDetails())
->addDetailFilterAttribute($item, Filter::equal('name', $object->name))
- ->addMultiSelectFilterAttribute($item, Filter::equal('name', $object->name));
+ ->addMultiSelectFilterAttribute($item, Filter::equal('comment.name', $object->name));
break;
case $object instanceof Downtime:
@@ -240,7 +240,7 @@ class ObjectList extends ItemList
->setDetailUrl(Url::fromPath('icingadb/downtime'))
->setMultiselectUrl(Links::downtimesDetails())
->addDetailFilterAttribute($item, Filter::equal('name', $object->name))
- ->addMultiSelectFilterAttribute($item, Filter::equal('name', $object->name));
+ ->addMultiSelectFilterAttribute($item, Filter::equal('downtime.name', $object->name));
break;
case $object instanceof NotificationHistory:
=====================================
module.info
=====================================
@@ -1,6 +1,6 @@
Module: icingadb
-Version: 1.2.0
+Version: 1.2.2
Requires:
- Libraries: icinga-php-library (>=0.16.1), icinga-php-thirdparty (>=0.13.0)
+ Libraries: icinga-php-library (>=0.17.0), icinga-php-thirdparty (>=0.13.0)
Description: Icinga DB Web
UI for Icinga DB – Provides a graphical interface to your Icinga monitoring
=====================================
test/php/library/Icingadb/Model/Behavior/FlattenedObjectVarsTest.php
=====================================
@@ -21,11 +21,11 @@ SELECT host.id
FROM host
WHERE (host.id NOT IN ((SELECT sub_customvar_flat_host.id AS sub_customvar_flat_host_id
FROM customvar_flat sub_customvar_flat
- INNER JOIN host_customvar sub_customvar_flat_host_customvar
- ON sub_customvar_flat_host_customvar.customvar_id =
+ INNER JOIN host_customvar sub_customvar_flat_t_host_customvar
+ ON sub_customvar_flat_t_host_customvar.customvar_id =
sub_customvar_flat.customvar_id
INNER JOIN host sub_customvar_flat_host
- ON sub_customvar_flat_host.id = sub_customvar_flat_host_customvar.host_id
+ ON sub_customvar_flat_host.id = sub_customvar_flat_t_host_customvar.host_id
WHERE ((sub_customvar_flat.flatname = ?) AND (sub_customvar_flat.flatvalue = ?))
AND (sub_customvar_flat_host.id IS NOT NULL)
GROUP BY sub_customvar_flat_host.id
@@ -38,11 +38,11 @@ SELECT host.id
FROM host
WHERE (host.id NOT IN ((SELECT sub_customvar_flat_host.id AS sub_customvar_flat_host_id
FROM customvar_flat sub_customvar_flat
- INNER JOIN host_customvar sub_customvar_flat_host_customvar
- ON sub_customvar_flat_host_customvar.customvar_id =
+ INNER JOIN host_customvar sub_customvar_flat_t_host_customvar
+ ON sub_customvar_flat_t_host_customvar.customvar_id =
sub_customvar_flat.customvar_id
INNER JOIN host sub_customvar_flat_host
- ON sub_customvar_flat_host.id = sub_customvar_flat_host_customvar.host_id
+ ON sub_customvar_flat_host.id = sub_customvar_flat_t_host_customvar.host_id
WHERE (((sub_customvar_flat.flatname = ?) AND (sub_customvar_flat.flatvalue = ?)) OR
((sub_customvar_flat.flatname = ?) AND (sub_customvar_flat.flatvalue = ?)))
AND (sub_customvar_flat_host.id IS NOT NULL)
@@ -56,22 +56,22 @@ SELECT host.id
FROM host
WHERE ((host.id NOT IN ((SELECT sub_customvar_flat_host.id AS sub_customvar_flat_host_id
FROM customvar_flat sub_customvar_flat
- INNER JOIN host_customvar sub_customvar_flat_host_customvar
- ON sub_customvar_flat_host_customvar.customvar_id =
+ INNER JOIN host_customvar sub_customvar_flat_t_host_customvar
+ ON sub_customvar_flat_t_host_customvar.customvar_id =
sub_customvar_flat.customvar_id
INNER JOIN host sub_customvar_flat_host
- ON sub_customvar_flat_host.id = sub_customvar_flat_host_customvar.host_id
+ ON sub_customvar_flat_host.id = sub_customvar_flat_t_host_customvar.host_id
WHERE ((sub_customvar_flat.flatname = ?) AND (sub_customvar_flat.flatvalue = ?))
AND (sub_customvar_flat_host.id IS NOT NULL)
GROUP BY sub_customvar_flat_host.id
HAVING COUNT(DISTINCT sub_customvar_flat.id) >= ?)) OR host.id IS NULL))
AND (host.id IN ((SELECT sub_customvar_flat_host.id AS sub_customvar_flat_host_id
FROM customvar_flat sub_customvar_flat
- INNER JOIN host_customvar sub_customvar_flat_host_customvar
- ON sub_customvar_flat_host_customvar.customvar_id =
+ INNER JOIN host_customvar sub_customvar_flat_t_host_customvar
+ ON sub_customvar_flat_t_host_customvar.customvar_id =
sub_customvar_flat.customvar_id
INNER JOIN host sub_customvar_flat_host
- ON sub_customvar_flat_host.id = sub_customvar_flat_host_customvar.host_id
+ ON sub_customvar_flat_host.id = sub_customvar_flat_t_host_customvar.host_id
WHERE (sub_customvar_flat.flatname = ?)
AND (sub_customvar_flat.flatvalue = ?)
GROUP BY sub_customvar_flat_host.id
@@ -84,11 +84,11 @@ SELECT host.id
FROM host
WHERE host.id IN ((SELECT sub_customvar_flat_host.id AS sub_customvar_flat_host_id
FROM customvar_flat sub_customvar_flat
- INNER JOIN host_customvar sub_customvar_flat_host_customvar
- ON sub_customvar_flat_host_customvar.customvar_id =
+ INNER JOIN host_customvar sub_customvar_flat_t_host_customvar
+ ON sub_customvar_flat_t_host_customvar.customvar_id =
sub_customvar_flat.customvar_id
INNER JOIN host sub_customvar_flat_host
- ON sub_customvar_flat_host.id = sub_customvar_flat_host_customvar.host_id
+ ON sub_customvar_flat_host.id = sub_customvar_flat_t_host_customvar.host_id
WHERE ((sub_customvar_flat.flatname = ?) AND (sub_customvar_flat.flatvalue = ?))
OR ((sub_customvar_flat.flatname = ?) AND (sub_customvar_flat.flatvalue = ?))
GROUP BY sub_customvar_flat_host.id
View it on GitLab: https://salsa.debian.org/nagios-team/icingadb-web/-/compare/30e77ddfb5ef901ef53ae1cb2276102ce1ea8a24...1edd0105a11b3b642033609b9da30113c56232fc
--
View it on GitLab: https://salsa.debian.org/nagios-team/icingadb-web/-/compare/30e77ddfb5ef901ef53ae1cb2276102ce1ea8a24...1edd0105a11b3b642033609b9da30113c56232fc
You're receiving this email because of your account on salsa.debian.org.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://alioth-lists.debian.net/pipermail/pkg-nagios-changes/attachments/20250716/7c02c091/attachment-0001.htm>
More information about the pkg-nagios-changes
mailing list