diff --git a/server/src/main/java/com/cloud/api/query/dao/UserVmJoinDaoImpl.java b/server/src/main/java/com/cloud/api/query/dao/UserVmJoinDaoImpl.java index d11fa092138..899b518307d 100644 --- a/server/src/main/java/com/cloud/api/query/dao/UserVmJoinDaoImpl.java +++ b/server/src/main/java/com/cloud/api/query/dao/UserVmJoinDaoImpl.java @@ -849,7 +849,11 @@ public class UserVmJoinDaoImpl extends GenericDaoBaseWithTagInformation excludeTypes, List accountIds, String domainPath, Filter filter) { SearchBuilder sb = createSearchBuilder(); sb.and("hypervisorType", sb.entity().getHypervisorType(), Op.EQ); - sb.and("type", sb.entity().getUserVmType(), Op.NOTIN); + if (CollectionUtils.isNotEmpty(excludeTypes)) { + sb.and().op("typeNull", sb.entity().getUserVmType(), Op.NULL); + sb.or("type", sb.entity().getUserVmType(), Op.NOTIN); + sb.cp(); + } boolean accountIdsNotEmpty = CollectionUtils.isNotEmpty(accountIds); boolean domainPathNotBlank = StringUtils.isNotBlank(domainPath); if (accountIdsNotEmpty || domainPathNotBlank) {