Gilad Chaplik has uploaded a new change for review. Change subject: db: Fetch all running VM in cluster ......................................................................
db: Fetch all running VM in cluster Added for performance reasons. Change-Id: Id21d1fdcf5194b0c4cee069e62af1a723e67ecdc Signed-off-by: Gilad Chaplik <[email protected]> --- M backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/VmDAO.java M backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/VmDAODbFacadeImpl.java M packaging/dbscripts/vms_sp.sql 3 files changed, 27 insertions(+), 0 deletions(-) git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/92/22792/1 diff --git a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/VmDAO.java b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/VmDAO.java index 97453be..6cc2158 100644 --- a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/VmDAO.java +++ b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/VmDAO.java @@ -275,4 +275,12 @@ * @param originalTemplateName the new name of the template on which the VM has been based on */ void updateOriginalTemplateName(Guid originalTemplateId, String originalTemplateName); + + /** + * get all running VMs under specified cluster + * + * @param clusterId + * @return + */ + List<VM> getAllRunningByCluster(Guid clusterId); } diff --git a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/VmDAODbFacadeImpl.java b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/VmDAODbFacadeImpl.java index e0d1d9a..9f01804 100644 --- a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/VmDAODbFacadeImpl.java +++ b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/VmDAODbFacadeImpl.java @@ -262,6 +262,14 @@ ); } + @Override + public List<VM> getAllRunningByCluster(Guid clusterId) { + return getCallsHandler().executeReadList("GetRunningVmsByClusterId", + VMRowMapper.instance, + getCustomMapSqlParameterSource() + .addValue("cluster_id", clusterId)); + } + static final class VMRowMapper implements RowMapper<VM> { public static final VMRowMapper instance = new VMRowMapper(); diff --git a/packaging/dbscripts/vms_sp.sql b/packaging/dbscripts/vms_sp.sql index bda16da..29fddfc 100644 --- a/packaging/dbscripts/vms_sp.sql +++ b/packaging/dbscripts/vms_sp.sql @@ -1123,3 +1123,14 @@ END; $procedure$ LANGUAGE plpgsql; +-- Get all running vms for cluster +Create or replace FUNCTION GetRunningVmsByClusterId(v_cluster_id UUID) RETURNS SETOF vms STABLE + AS $procedure$ +BEGIN + RETURN QUERY SELECT DISTINCT vms.* + FROM vms + WHERE run_on_vds IS NOT NULL AND + vds_group_id = v_cluster_id; + +END; $procedure$ +LANGUAGE plpgsql; -- To view, visit http://gerrit.ovirt.org/22792 To unsubscribe, visit http://gerrit.ovirt.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: Id21d1fdcf5194b0c4cee069e62af1a723e67ecdc Gerrit-PatchSet: 1 Gerrit-Project: ovirt-engine Gerrit-Branch: master Gerrit-Owner: Gilad Chaplik <[email protected]> _______________________________________________ Engine-patches mailing list [email protected] http://lists.ovirt.org/mailman/listinfo/engine-patches
