diff options
author | Tobias C. Berner <tcberner@FreeBSD.org> | 2017-10-26 17:39:49 +0000 |
---|---|---|
committer | Tobias C. Berner <tcberner@FreeBSD.org> | 2017-10-26 17:39:49 +0000 |
commit | a0559c84ba11fa0856ae7b057f5caeca4d58060b (patch) | |
tree | 0b903ff9ac6b6b8217c682ecc750ecce2040d7b3 /www/davical | |
parent | 83e8894a7a540a3248643fe06beec97b5054bce9 (diff) | |
download | ports-a0559c84ba11fa0856ae7b057f5caeca4d58060b.tar.gz ports-a0559c84ba11fa0856ae7b057f5caeca4d58060b.zip |
Fix www/davical to be comptible with Postgres 10.0
PR: 223187
Submitted by: Le Baron d'Merde <lbdm@privacychain.ch> (maintainer)
Reported by: karl@denninger.net
Notes
Notes:
svn path=/head/; revision=452931
Diffstat (limited to 'www/davical')
-rw-r--r-- | www/davical/Makefile | 2 | ||||
-rw-r--r-- | www/davical/files/patch-git_39001794 | 59 |
2 files changed, 60 insertions, 1 deletions
diff --git a/www/davical/Makefile b/www/davical/Makefile index 918e17bb6211..5ed94a5af786 100644 --- a/www/davical/Makefile +++ b/www/davical/Makefile @@ -4,7 +4,7 @@ PORTNAME= davical DISTVERSIONPREFIX= r DISTVERSION= 1.1.5 -PORTREVISION= 1 +PORTREVISION= 2 CATEGORIES?= www MASTER_SITES= https://gitlab.com/${PORTNAME}-project/${PORTNAME}/repository/archive.tar.gz?ref=${DISTVERSIONPREFIX}${PORTVERSION}&dummy=/ diff --git a/www/davical/files/patch-git_39001794 b/www/davical/files/patch-git_39001794 new file mode 100644 index 000000000000..4804044bb993 --- /dev/null +++ b/www/davical/files/patch-git_39001794 @@ -0,0 +1,59 @@ +From 39001794a3121c33c8cba50398b653a94328be40 Mon Sep 17 00:00:00 2001 +From: Florian Schlichting <fsfs@debian.org> +Date: Tue, 3 Oct 2017 22:36:29 +0200 +Subject: [PATCH] Update caldav_functions.sql for Postgresql 10 + +From version 10, Postgresql does not allow set-returning functions in +CASE statements. As we're using the functions recursively, we cannot +use LATERAL as suggested in the error message, but we can switch the +condition inside-out with only a limited amount of repetition. + +--- dba/caldav_functions.sql ++++ dba/caldav_functions.sql +@@ -897,21 +897,37 @@ LANGUAGE plpgsql IMMUTABLE STRICT; + + -- Expanded group memberships out to some depth + CREATE or REPLACE FUNCTION expand_memberships( INT8, INT ) RETURNS SETOF INT8 AS $$ +- SELECT group_id FROM group_member WHERE member_id = $1 +- UNION +- SELECT expanded.g_id FROM (SELECT CASE WHEN $2 > 0 THEN expand_memberships( group_id, $2 - 1) END AS g_id +- FROM group_member WHERE member_id = $1) AS expanded +- WHERE expanded.g_id IS NOT NULL; +-$$ LANGUAGE sql STABLE STRICT; ++BEGIN ++ IF $2 > 0 THEN ++ RETURN QUERY ++ SELECT group_id FROM group_member WHERE member_id = $1 ++ UNION ++ SELECT expanded.g_id FROM (SELECT expand_memberships( group_id, $2 - 1) AS g_id ++ FROM group_member WHERE member_id = $1) AS expanded ++ WHERE expanded.g_id IS NOT NULL; ++ ELSE ++ RETURN QUERY ++ SELECT group_id FROM group_member WHERE member_id = $1; ++ END IF; ++END ++$$ LANGUAGE plpgsql IMMUTABLE STRICT; + + -- Expanded group members out to some depth + CREATE or REPLACE FUNCTION expand_members( INT8, INT ) RETURNS SETOF INT8 AS $$ +- SELECT member_id FROM group_member WHERE group_id = $1 +- UNION +- SELECT expanded.m_id FROM (SELECT CASE WHEN $2 > 0 THEN expand_members( member_id, $2 - 1) END AS m_id +- FROM group_member WHERE group_id = $1) AS expanded +- WHERE expanded.m_id IS NOT NULL; +-$$ LANGUAGE sql STABLE STRICT; ++BEGIN ++ IF $2 > 0 THEN ++ RETURN QUERY ++ SELECT member_id FROM group_member WHERE group_id = $1 ++ UNION ++ SELECT expanded.m_id FROM (SELECT expand_members( member_id, $2 - 1) AS m_id ++ FROM group_member WHERE group_id = $1) AS expanded ++ WHERE expanded.m_id IS NOT NULL; ++ ELSE ++ RETURN QUERY ++ SELECT member_id FROM group_member WHERE group_id = $1; ++ END IF; ++END ++$$ LANGUAGE plpgsql IMMUTABLE STRICT; |