Sahina Bose has uploaded a new change for review.

Change subject: dal: Get geo-rep session with slave host and volume
......................................................................

dal: Get geo-rep session with slave host and volume

Added a query to get a geo-rep session given a
slave host and volume name

Change-Id: I1776500724a56acee9798066241e8b2c88b16836
Bug-Url: https://bugzilla.redhat.com/1125845
Signed-off-by: Sahina Bose <[email protected]>
---
M 
backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/gluster/GlusterGeoRepDao.java
M 
backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/gluster/GlusterGeoRepDaoDbFacadeImpl.java
M 
backend/manager/modules/dal/src/test/java/org/ovirt/engine/core/dao/gluster/GlusterGeoRepDaoTest.java
M packaging/dbscripts/gluster_georep_sp.sql
A 
packaging/dbscripts/upgrade/03_05_1350_add_idx_gluster_georep_slavehostname.sql
5 files changed, 35 insertions(+), 0 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/76/39676/1

diff --git 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/gluster/GlusterGeoRepDao.java
 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/gluster/GlusterGeoRepDao.java
index 7050b7c..b4058da 100644
--- 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/gluster/GlusterGeoRepDao.java
+++ 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/gluster/GlusterGeoRepDao.java
@@ -30,6 +30,8 @@
 
     public GlusterGeoRepSession getGeoRepSession(String sessionKey);
 
+    public GlusterGeoRepSession getGeoRepSession(Guid masterVolumeId, String 
slaveHost, String slaveVolumeName);
+
     public List<GlusterGeoRepSession> getGeoRepSessions(Guid masterVolumeId);
 
     public List<GlusterGeoRepSession> getGeoRepSessionsInCluster(Guid 
clusterId);
diff --git 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/gluster/GlusterGeoRepDaoDbFacadeImpl.java
 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/gluster/GlusterGeoRepDaoDbFacadeImpl.java
index c8879b9..f20120d 100644
--- 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/gluster/GlusterGeoRepDaoDbFacadeImpl.java
+++ 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/gluster/GlusterGeoRepDaoDbFacadeImpl.java
@@ -118,6 +118,14 @@
     }
 
     @Override
+    public GlusterGeoRepSession getGeoRepSession(Guid masterVolumeId, String 
slaveHost, String slaveVolumeName) {
+        return 
getCallsHandler().executeRead("GetGlusterGeoRepSessionBySlaveHostAndVolume", 
georepSessionRowMapper,
+                getCustomMapSqlParameterSource().addValue("master_volume_id", 
masterVolumeId)
+                .addValue("slave_host_name", slaveHost)
+                .addValue("slave_volume_name", slaveVolumeName));
+    }
+
+    @Override
     public List<GlusterGeoRepSession> getGeoRepSessions(Guid masterVolumeId) {
         return 
getCallsHandler().executeReadList("GetGlusterGeoRepSessionsByVolumeId", 
georepSessionRowMapper,
                 getCustomMapSqlParameterSource().addValue("master_volume_id", 
masterVolumeId));
diff --git 
a/backend/manager/modules/dal/src/test/java/org/ovirt/engine/core/dao/gluster/GlusterGeoRepDaoTest.java
 
b/backend/manager/modules/dal/src/test/java/org/ovirt/engine/core/dao/gluster/GlusterGeoRepDaoTest.java
index dc85f3b..71b9995 100644
--- 
a/backend/manager/modules/dal/src/test/java/org/ovirt/engine/core/dao/gluster/GlusterGeoRepDaoTest.java
+++ 
b/backend/manager/modules/dal/src/test/java/org/ovirt/engine/core/dao/gluster/GlusterGeoRepDaoTest.java
@@ -149,4 +149,13 @@
         assertNotNull(sessions);
         assertEquals(FixturesTool.GLUSTER_GEOREP_SESSION_ID, 
sessions.get(0).getId());
     }
+
+    @Test
+    public void testGetBySlaveHostAndVolume() {
+        GlusterGeoRepSession session = 
dao.getGeoRepSession(FixturesTool.GLUSTER_VOLUME_UUID1,
+                "192.168.122.17", "slave-replica");
+        assertNotNull(session);
+        assertEquals(FixturesTool.GLUSTER_GEOREP_SESSION_ID, session.getId());
+    }
+
 }
diff --git a/packaging/dbscripts/gluster_georep_sp.sql 
b/packaging/dbscripts/gluster_georep_sp.sql
index f636058..59b9568 100644
--- a/packaging/dbscripts/gluster_georep_sp.sql
+++ b/packaging/dbscripts/gluster_georep_sp.sql
@@ -145,6 +145,20 @@
 END; $procedure$
 LANGUAGE plpgsql;
 
+Create or replace FUNCTION 
GetGlusterGeoRepSessionBySlaveHostAndVolume(v_master_volume_id UUID,
+                                                                       
v_slave_host_name VARCHAR(150),
+                                                                       
v_slave_volume_name VARCHAR(150))
+RETURNS SETOF gluster_georep_sessions_view STABLE
+AS $procedure$
+BEGIN
+    RETURN QUERY SELECT *
+    FROM  gluster_georep_sessions_view
+    WHERE master_volume_id = v_master_volume_id
+    AND slave_host_name = v_slave_host_name
+    AND slave_volume_name = v_slave_volume_name;
+END; $procedure$
+LANGUAGE plpgsql;
+
 Create or replace FUNCTION UpdateGlusterGeoRepSessionStatus(v_session_id UUID,
                                                             v_status 
VARCHAR(50))
 RETURNS VOID
diff --git 
a/packaging/dbscripts/upgrade/03_05_1350_add_idx_gluster_georep_slavehostname.sql
 
b/packaging/dbscripts/upgrade/03_05_1350_add_idx_gluster_georep_slavehostname.sql
new file mode 100644
index 0000000..03e6ed4
--- /dev/null
+++ 
b/packaging/dbscripts/upgrade/03_05_1350_add_idx_gluster_georep_slavehostname.sql
@@ -0,0 +1,2 @@
+DROP INDEX if exists IDX_georep_slave_host_name;
+CREATE INDEX IDX_georep_slave_host_name ON 
gluster_georep_session(slave_host_name);


-- 
To view, visit https://gerrit.ovirt.org/39676
To unsubscribe, visit https://gerrit.ovirt.org/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I1776500724a56acee9798066241e8b2c88b16836
Gerrit-PatchSet: 1
Gerrit-Project: ovirt-engine
Gerrit-Branch: ovirt-engine-3.5-gluster
Gerrit-Owner: Sahina Bose <[email protected]>
_______________________________________________
Engine-patches mailing list
[email protected]
http://lists.ovirt.org/mailman/listinfo/engine-patches

Reply via email to