Michael Kublin has uploaded a new change for review. Change subject: engine: Improving GetAsyncTasksByStoragePoolId query ......................................................................
engine: Improving GetAsyncTasksByStoragePoolId query The following patch will simplify a query, we don't need to make any join, access to async_tasks table is enought Change-Id: I295291a2ac84e021b7354a3fd072ba5534af533d Signed-off-by: Michael Kublin <[email protected]> --- M backend/manager/dbscripts/async_tasks_sp.sql M backend/manager/modules/dal/src/test/java/org/ovirt/engine/core/dao/AsyncTaskDAOTest.java 2 files changed, 5 insertions(+), 6 deletions(-) git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/15/13615/1 diff --git a/backend/manager/dbscripts/async_tasks_sp.sql b/backend/manager/dbscripts/async_tasks_sp.sql index 78d63f0..3de682c 100644 --- a/backend/manager/dbscripts/async_tasks_sp.sql +++ b/backend/manager/dbscripts/async_tasks_sp.sql @@ -110,9 +110,8 @@ RETURNS SETOF idUuidType AS $procedure$ BEGIN - RETURN QUERY SELECT task_ent.async_task_id - FROM storage_pool_iso_map sd_map - JOIN async_tasks_entities task_ent ON sd_map.storage_id = task_ent.entity_id + RETURN QUERY SELECT async_tasks.task_id + FROM async_tasks WHERE storage_pool_id = v_storage_pool_id; END; $procedure$ LANGUAGE plpgsql; diff --git a/backend/manager/modules/dal/src/test/java/org/ovirt/engine/core/dao/AsyncTaskDAOTest.java b/backend/manager/modules/dal/src/test/java/org/ovirt/engine/core/dao/AsyncTaskDAOTest.java index 047c2ac..080b679 100644 --- a/backend/manager/modules/dal/src/test/java/org/ovirt/engine/core/dao/AsyncTaskDAOTest.java +++ b/backend/manager/modules/dal/src/test/java/org/ovirt/engine/core/dao/AsyncTaskDAOTest.java @@ -97,7 +97,7 @@ // that has storage domain associated to which has one task on it List<Guid> guids = dao.getAsyncTaskIdsByStoragePoolId(FixturesTool.STORAGE_POOL_RHEL6_ISCSI_OTHER); assertNotNull(guids); - assertEquals(guids.size(), 1); + assertEquals(guids.size(), 2); } @Test @@ -216,13 +216,13 @@ List<AsyncTasks> tasks = dao.getAll(); assertNotNull(tasks); int tasksNumber = tasks.size(); - dao.saveOrUpdate(existingAsyncTask); + dao.saveOrUpdate(existingAsyncTask, VdcObjectType.Disk); tasks = dao.getAll(); assertEquals(tasksNumber, tasks.size()); AsyncTasks taskFromDb = dao.get(existingAsyncTask.gettask_id()); assertNotNull(taskFromDb); assertEquals(taskFromDb,existingAsyncTask); - dao.saveOrUpdate(newAsyncTask); + dao.saveOrUpdate(newAsyncTask, VdcObjectType.Disk, Guid.NewGuid()); tasks = dao.getAll(); assertNotNull(tasks); assertEquals(tasksNumber+1, tasks.size()); -- To view, visit http://gerrit.ovirt.org/13615 To unsubscribe, visit http://gerrit.ovirt.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I295291a2ac84e021b7354a3fd072ba5534af533d Gerrit-PatchSet: 1 Gerrit-Project: ovirt-engine Gerrit-Branch: master Gerrit-Owner: Michael Kublin <[email protected]> _______________________________________________ Engine-patches mailing list [email protected] http://lists.ovirt.org/mailman/listinfo/engine-patches
