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
4 files changed, 34 insertions(+), 0 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/16/34216/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 1e8f470..6bc6ba1 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
@@ -28,6 +28,8 @@
 
     public GlusterGeoRepSession getGeoRepSession(String sessionKey);
 
+    public GlusterGeoRepSession getGeoRepSession(Guid masterVolumeId, String 
slaveHost, String slaveVolumeName);
+
     public List<GlusterGeoRepSession> getGeoRepSessions(Guid masterVolumeId);
 
     public void remove(Guid id);
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 f875366..56738a1 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
@@ -112,6 +112,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 b93c72e..37f0b1e 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
@@ -136,4 +136,12 @@
         assertEquals("NEW_VAL", fetchedSessionConfig.get(0).getValue());
     }
 
+    @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 b365231..f287c44 100644
--- a/packaging/dbscripts/gluster_georep_sp.sql
+++ b/packaging/dbscripts/gluster_georep_sp.sql
@@ -139,6 +139,22 @@
 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_session STABLE
+AS $procedure$
+BEGIN
+    RETURN QUERY SELECT session_id, master_volume_id, session_key, 
slave_host_uuid,
+    slave_host_name, slave_volume_id, slave_volume_name, status,
+    _create_date, _update_date
+    FROM  gluster_georep_session
+    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


-- 
To view, visit http://gerrit.ovirt.org/34216
To unsubscribe, visit http://gerrit.ovirt.org/settings

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

Reply via email to