From 0492cb38bb579cfe2b223bf769310b5f53a5c924 Mon Sep 17 00:00:00 2001 From: Andrew McMillan Date: Sat, 27 Feb 2010 15:21:33 +1300 Subject: [PATCH] Tweak privileges_list() to work in older Pg versions. --- dba/caldav_functions.sql | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/dba/caldav_functions.sql b/dba/caldav_functions.sql index fe948e6f..b788cd8c 100644 --- a/dba/caldav_functions.sql +++ b/dba/caldav_functions.sql @@ -1091,12 +1091,14 @@ BEGIN privileges := bits_to_privilege(in_privileges); SELECT array_lower(privileges,1) INTO start; - SELECT array_upper(privileges,1) INTO finish; - FOR i IN start .. finish LOOP - plist := plist - || CASE WHEN plist = '' THEN '' ELSE ', ' END - || privileges[i]; - END LOOP; + IF start IS NOT NULL THEN + SELECT array_upper(privileges,1) INTO finish; + FOR i IN start .. finish LOOP + plist := plist + || CASE WHEN plist = '' THEN '' ELSE ', ' END + || privileges[i]; + END LOOP; + END IF; RETURN plist; END; $$ LANGUAGE 'plpgsql' IMMUTABLE STRICT;