diff --git a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-sqlserver/src/main/resources/org/apache/guacamole/auth/jdbc/connection/ConnectionRecordMapper.xml b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-sqlserver/src/main/resources/org/apache/guacamole/auth/jdbc/connection/ConnectionRecordMapper.xml
index ec077db7f..2b873bb9a 100644
--- a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-sqlserver/src/main/resources/org/apache/guacamole/auth/jdbc/connection/ConnectionRecordMapper.xml
+++ b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-sqlserver/src/main/resources/org/apache/guacamole/auth/jdbc/connection/ConnectionRecordMapper.xml
@@ -90,7 +90,7 @@
diff --git a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-sqlserver/src/main/resources/org/apache/guacamole/auth/jdbc/permission/ConnectionGroupPermissionMapper.xml b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-sqlserver/src/main/resources/org/apache/guacamole/auth/jdbc/permission/ConnectionGroupPermissionMapper.xml
index 2890ab31d..a7998880a 100644
--- a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-sqlserver/src/main/resources/org/apache/guacamole/auth/jdbc/permission/ConnectionGroupPermissionMapper.xml
+++ b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-sqlserver/src/main/resources/org/apache/guacamole/auth/jdbc/permission/ConnectionGroupPermissionMapper.xml
@@ -117,12 +117,10 @@
#{permission.objectIdentifier,jdbcType=INTEGER} AS connection_group_id
AS permissions
- WHERE (user_id, permission, connection_group_id) NOT IN (
- SELECT
- [guacamole].[connection_group_permission].user_id,
- [guacamole].[connection_group_permission].permission,
- [guacamole].[connection_group_permission].connection_group_id
- FROM [guacamole].[connection_group_permission]
+ WHERE NOT EXISTS (SELECT 1 FROM [guacamole].[connection_group_permission]
+ WHERE [guacamole].[connection_group_permission].user_id = permissions.user_id AND
+ [guacamole].[connection_group_permission].permission = permissions.permission AND
+ [guacamole].[connection_group_permission].connection_group_id = permissions.connection_group_id
);
diff --git a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-sqlserver/src/main/resources/org/apache/guacamole/auth/jdbc/permission/ConnectionPermissionMapper.xml b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-sqlserver/src/main/resources/org/apache/guacamole/auth/jdbc/permission/ConnectionPermissionMapper.xml
index 8ea85bc3c..08e875ccb 100644
--- a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-sqlserver/src/main/resources/org/apache/guacamole/auth/jdbc/permission/ConnectionPermissionMapper.xml
+++ b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-sqlserver/src/main/resources/org/apache/guacamole/auth/jdbc/permission/ConnectionPermissionMapper.xml
@@ -87,12 +87,12 @@
DELETE FROM [guacamole].[connection_permission]
- WHERE (user_id, permission, connection_id) IN
+ WHERE
- (#{permission.userID,jdbcType=INTEGER},
- #{permission.type,jdbcType=VARCHAR},
- #{permission.objectIdentifier,jdbcType=INTEGER})
+ open="(" separator=" OR " close=")">
+ (user_id = #{permission.userID,jdbcType=INTEGER} AND
+ permission = #{permission.type,jdbcType=VARCHAR} AND
+ connection_id = #{permission.objectIdentifier,jdbcType=INTEGER})
@@ -117,12 +117,10 @@
#{permission.objectIdentifier,jdbcType=INTEGER} AS connection_id
AS permissions
- WHERE (user_id, permission, connection_id) NOT IN (
- SELECT
- [guacamole].[connection_permission].user_id,
- [guacamole].[connection_permission].permission,
- [guacamole].[connection_permission].connection_id
- FROM [guacamole].[connection_permission]
+ WHERE NOT EXISTS ( SELECT 1 FROM [guacamole].[connection_permission]
+ WHERE [guacamole].[connection_permission].user_id = permissions.user_id AND
+ [guacamole].[connection_permission].permission = permissions.permission AND
+ [guacamole].[connection_permission].connection_id = permissions.connection_id
);
diff --git a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-sqlserver/src/main/resources/org/apache/guacamole/auth/jdbc/permission/SharingProfilePermissionMapper.xml b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-sqlserver/src/main/resources/org/apache/guacamole/auth/jdbc/permission/SharingProfilePermissionMapper.xml
index cb706b8d4..354dfb594 100644
--- a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-sqlserver/src/main/resources/org/apache/guacamole/auth/jdbc/permission/SharingProfilePermissionMapper.xml
+++ b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-sqlserver/src/main/resources/org/apache/guacamole/auth/jdbc/permission/SharingProfilePermissionMapper.xml
@@ -87,12 +87,12 @@
DELETE FROM [guacamole].[sharing_profile_permission]
- WHERE (user_id, permission, sharing_profile_id) IN
+ WHERE
- (#{permission.userID,jdbcType=INTEGER},
- #{permission.type,jdbcType=VARCHAR},
- #{permission.objectIdentifier,jdbcType=INTEGER})
+ open="(" separator=" OR " close=")">
+ (user_id = #{permission.userID,jdbcType=INTEGER} AND
+ permission = #{permission.type,jdbcType=VARCHAR} AND
+ sharing_profile_id = #{permission.objectIdentifier,jdbcType=INTEGER})
@@ -117,12 +117,10 @@
#{permission.objectIdentifier,jdbcType=INTEGER} AS sharing_profile_id
AS permissions
- WHERE (user_id, permission, sharing_profile_id) NOT IN (
- SELECT
- [guacamole].[sharing_profile_permission].user_id,
- [guacamole].[sharing_profile_permission].permission,
- [guacamole].[sharing_profile_permission].sharing_profile_id
- FROM [guacamole].[sharing_profile_permission]
+ WHERE NOT EXISTS (SELECT 1 FROM [guacamole].[sharing_profile_permission]
+ WHERE [guacamole].[sharing_profile_permission].user_id = permissions.user_id
+ AND [guacamole].[sharing_profile_permission].permission = permissions.permission
+ AND [guacamole].[sharing_profile_permission].sharing_profile_id = permissions.sharing_profile_id
);
diff --git a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-sqlserver/src/main/resources/org/apache/guacamole/auth/jdbc/permission/SystemPermissionMapper.xml b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-sqlserver/src/main/resources/org/apache/guacamole/auth/jdbc/permission/SystemPermissionMapper.xml
index d9e622b69..048877922 100644
--- a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-sqlserver/src/main/resources/org/apache/guacamole/auth/jdbc/permission/SystemPermissionMapper.xml
+++ b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-sqlserver/src/main/resources/org/apache/guacamole/auth/jdbc/permission/SystemPermissionMapper.xml
@@ -63,11 +63,11 @@
DELETE FROM [guacamole].[system_permission]
- WHERE (user_id, permission) IN
+ WHERE
- (#{permission.userID,jdbcType=INTEGER},
- #{permission.type,jdbcType=VARCHAR})
+ open="(" separator=" OR " close=")">
+ (user_id = #{permission.userID,jdbcType=INTEGER}
+ AND permission = #{permission.type,jdbcType=VARCHAR})
@@ -89,11 +89,9 @@
#{permission.type,jdbcType=VARCHAR} AS permission
AS permissions
- WHERE (user_id, permission) NOT IN (
- SELECT
- [guacamole].[system_permission].user_id,
- [guacamole].[system_permission].permission
- FROM [guacamole].[system_permission]
+ WHERE NOT EXISTS (SELECT 1 FROM [guacamole].[system_permission]
+ WHERE [guacamole].[system_permission].user_id = permissions.user_id
+ AND [guacamole].[system_permission].permission = permissions.permission
);
diff --git a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-sqlserver/src/main/resources/org/apache/guacamole/auth/jdbc/permission/UserPermissionMapper.xml b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-sqlserver/src/main/resources/org/apache/guacamole/auth/jdbc/permission/UserPermissionMapper.xml
index 595c3263d..606719dcf 100644
--- a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-sqlserver/src/main/resources/org/apache/guacamole/auth/jdbc/permission/UserPermissionMapper.xml
+++ b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-sqlserver/src/main/resources/org/apache/guacamole/auth/jdbc/permission/UserPermissionMapper.xml
@@ -124,12 +124,10 @@
AS permissions
JOIN [guacamole].[user] ON [guacamole].[user].username = permissions.username
- WHERE (permissions.user_id, permissions.permission, [guacamole].[user].user_id) NOT IN (
- SELECT
- [guacamole].[user_permission].user_id,
- [guacamole].[user_permission].permission,
- [guacamole].[user_permission].affected_user_id
- FROM [guacamole].[user_permission]
+ WHERE NOT EXISTS (SELECT 1 FROM [guacamole].[user_permission]
+ WHERE [guacamole].[user_permission].user_id = permissions.user_id
+ AND [guacamole].[user_permission].permission = permissions.permission
+ AND [guacamole].[user_permission].affected_user_id = [guacamole].[user].user_id
);
diff --git a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-sqlserver/src/main/resources/org/apache/guacamole/auth/jdbc/sharingprofile/SharingProfileParameterMapper.xml b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-sqlserver/src/main/resources/org/apache/guacamole/auth/jdbc/sharingprofile/SharingProfileParameterMapper.xml
index 8835350b7..8f4a3fa10 100644
--- a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-sqlserver/src/main/resources/org/apache/guacamole/auth/jdbc/sharingprofile/SharingProfileParameterMapper.xml
+++ b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-sqlserver/src/main/resources/org/apache/guacamole/auth/jdbc/sharingprofile/SharingProfileParameterMapper.xml
@@ -57,7 +57,7 @@
)
VALUES
- (#{parameter.sharingProfileIdentifier,jdbcType=INTEGER}
+ (#{parameter.sharingProfileIdentifier,jdbcType=INTEGER},
#{parameter.name,jdbcType=VARCHAR},
#{parameter.value,jdbcType=VARCHAR})