@@ -263,7 +263,7 @@ public class Sql92NodeStoreDialect implements NodeStoreSQLDialect {
263263 + "ON \" subscriptions\" .\" node\" = \" affiliations\" .\" node\" AND \" affiliations\" .\" user\" = \" subscriptions\" .\" user\" " + "WHERE "
264264 + "(\" subscriptions\" .\" user\" = ? AND \" subscriptions\" .\" node\" = ?) " + "ORDER BY \" updated\" DESC; " ;
265265
266- private static final String SELECT_USER_MEMBERSHIPS = "" + "SELECT " + "CASE WHEN \" subscriptions\" .\" node\" != '' "
266+ private static final String SELECT_USER_MEMBERSHIPS_FILTERED_BY_EPHEMERAL = "" + "SELECT " + "CASE WHEN \" subscriptions\" .\" node\" != '' "
267267 + "THEN \" subscriptions\" .\" node\" " + "ELSE \" affiliations\" .\" node\" " + "END AS \" node\" ," + "CASE WHEN \" subscriptions\" .\" user\" != '' "
268268 + "THEN \" subscriptions\" .\" user\" " + "ELSE \" affiliations\" .\" user\" " + "END AS \" user\" , " + "CASE "
269269 + "WHEN \" subscriptions\" .\" listener\" != '' THEN \" subscriptions\" .\" listener\" "
@@ -281,6 +281,22 @@ public class Sql92NodeStoreDialect implements NodeStoreSQLDialect {
281281 + "AND (\" node_config\" .\" value\" %equals%)"
282282 + "ORDER BY \" updated\" DESC; " ;
283283
284+ private static final String SELECT_USER_MEMBERSHIPS = "" + "SELECT " + "CASE WHEN \" subscriptions\" .\" node\" != '' "
285+ + "THEN \" subscriptions\" .\" node\" " + "ELSE \" affiliations\" .\" node\" " + "END AS \" node\" ," + "CASE WHEN \" subscriptions\" .\" user\" != '' "
286+ + "THEN \" subscriptions\" .\" user\" " + "ELSE \" affiliations\" .\" user\" " + "END AS \" user\" , " + "CASE "
287+ + "WHEN \" subscriptions\" .\" listener\" != '' THEN \" subscriptions\" .\" listener\" "
288+ + "WHEN \" subscriptions\" .\" user\" != '' THEN \" subscriptions\" .\" user\" " + "ELSE \" affiliations\" .\" user\" " + "END AS \" listener\" , "
289+ + "CASE WHEN \" subscriptions\" .\" subscription\" != '' " + "THEN \" subscriptions\" .\" subscription\" " + "ELSE 'none' "
290+ + "END AS \" subscription\" , " + "CASE WHEN \" affiliations\" .\" affiliation\" != '' " + "THEN \" affiliations\" .\" affiliation\" "
291+ + "ELSE 'none' " + "END AS \" affiliation\" , " + "\" subscriptions\" .\" invited_by\" AS \" invited_by\" ,"
292+ + "CASE WHEN \" affiliations\" .\" updated\" > \" subscriptions\" .\" updated\" " + "THEN \" affiliations\" .\" updated\" "
293+ + "ELSE \" subscriptions\" .\" updated\" " + "END AS \" updated\" " + "FROM \" subscriptions\" "
294+
295+ + "LEFT JOIN \" affiliations\" "
296+ + "ON \" subscriptions\" .\" node\" = \" affiliations\" .\" node\" AND \" affiliations\" .\" user\" = \" subscriptions\" .\" user\" " + "WHERE "
297+ + "(\" subscriptions\" .\" user\" = ?) "
298+ + "ORDER BY \" updated\" DESC; " ;
299+
284300 private static final String SELECT_USER_MEMBERSHIPS_WITH_CONFIGURATION = "SELECT " +
285301 "CASE WHEN \" subscriptions\" .\" node\" != '' THEN " +
286302 "\" subscriptions\" .\" node\" " +
@@ -692,6 +708,11 @@ public String selectMembership() {
692708 return SELECT_NODE_MEMBERSHIP ;
693709 }
694710
711+ @ Override
712+ public String selectUserMembershipsFilteredByEphemeral () {
713+ return SELECT_USER_MEMBERSHIPS_FILTERED_BY_EPHEMERAL ;
714+ }
715+
695716 @ Override
696717 public String selectUserMemberships () {
697718 return SELECT_USER_MEMBERSHIPS ;
0 commit comments