-- ACL format checks select ''::ace_uuid; ERROR: missing ACE type LINE 1: select ''::ace_uuid; ^ select 'a'::ace_uuid; ERROR: missing "/" sign LINE 1: select 'a'::ace_uuid; ^ select 'q'::ace_uuid; ERROR: invalid ACE type: must be one of "ad" LINE 1: select 'q'::ace_uuid; ^ select 'a*'::ace_uuid; ERROR: missing "/" sign LINE 1: select 'a*'::ace_uuid; ^ select 'a/'::ace_uuid; ERROR: missing ACE flags LINE 1: select 'a/'::ace_uuid; ^ select 'a/hq'::ace_uuid; ERROR: invalid ACE flag: must be one of "hpcoi0123456789ABCDEFGHIJKLMNOP" LINE 1: select 'a/hq'::ace_uuid; ^ select 'a/h'::ace_uuid; ERROR: missing "/" sign LINE 1: select 'a/h'::ace_uuid; ^ select 'a/h/'::ace_uuid; ERROR: missing ACE who LINE 1: select 'a/h/'::ace_uuid; ^ select 'a/h/='::ace_uuid; ERROR: invalid input syntax for uuid: "" LINE 1: select 'a/h/='::ace_uuid; ^ select 'a/h/00000000-0000-0000-0000-000000000001='::ace_uuid; ERROR: missing ACE mask LINE 1: select 'a/h/00000000-0000-0000-0000-000000000001='::ace_uuid... ^ select 'a/h/00000000-0000-0000-0000-000000000001=d,'::ace_uuid; ERROR: invalid ACE mask: must be one of "scdwr0123456789ABCDEFGHIJKLMNOPQ" LINE 1: select 'a/h/00000000-0000-0000-0000-000000000001=d,'::ace_uu... ^ select 'a/h/00000000-0000-0000-0000-000000000001=dw'::ace_uuid; ace_uuid --------------------------------------------- a/h/00000000-0000-0000-0000-000000000001=dw (1 row) select 'a/ihpc/00000000-0000-0000-0000-000000000001=wdddw'::ace_uuid; ace_uuid ------------------------------------------------ a/hpci/00000000-0000-0000-0000-000000000001=dw (1 row) select 'd/ihpc/00000000-0000-0000-0000-000000000001=wdddw'::ace_uuid; ace_uuid ------------------------------------------------ d/hpci/00000000-0000-0000-0000-000000000001=dw (1 row) select 'd/ihpc/a0000000-ffff-b000-c000-d00000000001=wdddw'::ace_uuid; ace_uuid ------------------------------------------------ d/hpci/a0000000-ffff-b000-c000-d00000000001=dw (1 row) select 'a/ihpc/blah"=dw0'::ace_uuid; ERROR: invalid input syntax for uuid: "blah" LINE 1: select 'a/ihpc/blah"=dw0'::ace_uuid; ^ select 'd/ihpc/a0000000-ffff-b000-c000-d000000000010000=wdddw'::ace_uuid; ERROR: UUID too long LINE 1: select 'd/ihpc/a0000000-ffff-b000-c000-d000000000010000=wddd... ^ DETAIL: UUID must be exactly 36 characters. -- check access select coalesce(acl_check_access('{}'::ace_uuid[], 'sd0', '{00000000-0000-0000-0000-000000000003, 00000000-0000-0000-0000-000000000002}'::uuid[], false), 'NULL'); coalesce ---------- (1 row) select coalesce(acl_check_access('{}'::ace_uuid[], 'sd0', '{00000000-0000-0000-0000-000000000003, 00000000-0000-0000-0000-000000000002}'::uuid[], true), 'NULL'); coalesce ---------- 0sd (1 row) select coalesce(acl_check_access(null::ace_uuid[], 'sd0', '{00000000-0000-0000-0000-000000000003, 00000000-0000-0000-0000-000000000002}'::uuid[], false), 'NULL'); coalesce ---------- (1 row) select coalesce(acl_check_access(null::ace_uuid[], 'sd0', '{00000000-0000-0000-0000-000000000003, 00000000-0000-0000-0000-000000000002}'::uuid[], true), 'NULL'); coalesce ---------- 0sd (1 row) select coalesce(acl_check_access(null::ace_uuid[], 'sd0', '{}'::uuid[], false), 'NULL'); coalesce ---------- (1 row) select coalesce(acl_check_access(null::ace_uuid[], 'sd0', '{}'::uuid[], true), 'NULL'); coalesce ---------- 0sd (1 row) select coalesce(acl_check_access(null::ace_uuid[], 'sd0', null::uuid[], false), 'NULL'); coalesce ---------- NULL (1 row) select coalesce(acl_check_access(null::ace_uuid[], 'sd0', null::uuid[], true), 'NULL'); coalesce ---------- NULL (1 row) select acl_check_access('{}'::ace_uuid[], (1 << 0) | (1 << 27) | (1 << 29), '{00000000-0000-0000-0000-000000000003, 00000000-0000-0000-0000-000000000002}'::uuid[], false)::bit(32); acl_check_access ---------------------------------- 00000000000000000000000000000000 (1 row) select acl_check_access('{}'::ace_uuid[], (1 << 0) | (1 << 27) | (1 << 29), '{00000000-0000-0000-0000-000000000003, 00000000-0000-0000-0000-000000000002}'::uuid[], true)::bit(32); acl_check_access ---------------------------------- 00101000000000000000000000000001 (1 row) select acl_check_access(null::ace_uuid[], (1 << 0) | (1 << 27) | (1 << 29), '{00000000-0000-0000-0000-000000000003, 00000000-0000-0000-0000-000000000002}'::uuid[], false)::bit(32); acl_check_access ---------------------------------- 00000000000000000000000000000000 (1 row) select acl_check_access(null::ace_uuid[], (1 << 0) | (1 << 27) | (1 << 29), '{00000000-0000-0000-0000-000000000003, 00000000-0000-0000-0000-000000000002}'::uuid[], true)::bit(32); acl_check_access ---------------------------------- 00101000000000000000000000000001 (1 row) select acl_check_access(null::ace_uuid[], (1 << 0) | (1 << 27) | (1 << 29), '{}'::uuid[], false)::bit(32); acl_check_access ---------------------------------- 00000000000000000000000000000000 (1 row) select acl_check_access(null::ace_uuid[], (1 << 0) | (1 << 27) | (1 << 29), '{}'::uuid[], true)::bit(32); acl_check_access ---------------------------------- 00101000000000000000000000000001 (1 row) select acl_check_access(null::ace_uuid[], (1 << 0) | (1 << 27) | (1 << 29), null::uuid[], false)::bit(32); acl_check_access ------------------ (1 row) select acl_check_access(null::ace_uuid[], (1 << 0) | (1 << 27) | (1 << 29), null::uuid[], true)::bit(32); acl_check_access ------------------ (1 row) select coalesce(acl_check_access('{d//00000000-0000-0000-0000-000000000001=w,d//00000000-0000-0000-0000-000000000002=s,a//00000000-0000-0000-0000-000000000002=sdw,a//00000000-0000-0000-0000-000000000003=0}'::ace_uuid[], 'sdc0', '{00000000-0000-0000-0000-000000000003, 00000000-0000-0000-0000-000000000002}'::uuid[], false), 'NULL'); coalesce ---------- 0d (1 row) select coalesce(acl_check_access('{d//00000000-0000-0000-0000-000000000001=w,d//00000000-0000-0000-0000-000000000002=s,a//00000000-0000-0000-0000-000000000002=sdw,a//00000000-0000-0000-0000-000000000003=0}'::ace_uuid[], 'sdc0', '{00000000-0000-0000-0000-000000000003, 00000000-0000-0000-0000-000000000002}'::uuid[], true), 'NULL'); coalesce ---------- 0cd (1 row) select acl_check_access('{d//00000000-0000-0000-0000-000000000001=w,d//00000000-0000-0000-0000-000000000002=s,a//00000000-0000-0000-0000-000000000002=sdw,a//00000000-0000-0000-0000-000000000003=0}'::ace_uuid[], (1 << 0) | (1 << 27) | (1 << 29), '{00000000-0000-0000-0000-000000000003, 00000000-0000-0000-0000-000000000002}'::uuid[], false)::bit(32); acl_check_access ---------------------------------- 00100000000000000000000000000001 (1 row) select acl_check_access('{d//00000000-0000-0000-0000-000000000001=w,d//00000000-0000-0000-0000-000000000002=s,a//00000000-0000-0000-0000-000000000002=sdw,a//00000000-0000-0000-0000-000000000003=0}'::ace_uuid[], (1 << 0) | (1 << 27) | (1 << 29), '{00000000-0000-0000-0000-000000000003, 00000000-0000-0000-0000-000000000002}'::uuid[], true)::bit(32); acl_check_access ---------------------------------- 00100000000000000000000000000001 (1 row) select coalesce(acl_check_access(null::ace_uuid[], 'sd0', '{}'::uuid[], null), 'NULL'); ERROR: allow_implicit argument must be not null select acl_check_access(null::ace_uuid[], (1 << 0) | (1 << 27) | (1 << 29), '{}'::uuid[], null)::bit(32); ERROR: allow_implicit argument must be not null -- inherit only select coalesce(acl_check_access('{d//00000000-0000-0000-0000-000000000001=w,d/i/00000000-0000-0000-0000-000000000002=s,a//00000000-0000-0000-0000-000000000002=sdw,a//00000000-0000-0000-0000-000000000003=0}'::ace_uuid[], 'sd0', '{00000000-0000-0000-0000-000000000003, 00000000-0000-0000-0000-000000000002}'::uuid[], false), 'NULL'); coalesce ---------- 0sd (1 row) select acl_check_access('{d//00000000-0000-0000-0000-000000000001=w,d/i/00000000-0000-0000-0000-000000000002=s,a//00000000-0000-0000-0000-000000000002=sdw,a//00000000-0000-0000-0000-000000000003=0}'::ace_uuid[], (1 << 0) | (1 << 27) | (1 << 29), '{00000000-0000-0000-0000-000000000003, 00000000-0000-0000-0000-000000000002}'::uuid[], false)::bit(32); acl_check_access ---------------------------------- 00101000000000000000000000000001 (1 row) -- merge select acl_merge(null::ace_uuid[], '{a//00000000-0000-0000-0000-000000000000=0,d//00000000-0000-0000-0000-000000000000=1,a//00000000-0000-0000-0000-000000000000=23,d//00000000-0000-0000-0000-000000000000=4}'::ace_uuid[], true, false); acl_merge ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- {a//00000000-0000-0000-0000-000000000000=0,d//00000000-0000-0000-0000-000000000000=1,a//00000000-0000-0000-0000-000000000000=23,d//00000000-0000-0000-0000-000000000000=4} (1 row) select acl_merge(null::ace_uuid[], '{a//00000000-0000-0000-0000-000000000000=0,d//00000000-0000-0000-0000-000000000000=1,a//00000000-0000-0000-0000-000000000000=23,d//00000000-0000-0000-0000-000000000000=4}'::ace_uuid[], true, true); acl_merge ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- {d//00000000-0000-0000-0000-000000000000=1,d//00000000-0000-0000-0000-000000000000=4,a//00000000-0000-0000-0000-000000000000=0,a//00000000-0000-0000-0000-000000000000=23} (1 row) select acl_merge(null::ace_uuid[], '{a//00000000-0000-0000-0000-000000000000=0,d//00000000-0000-0000-0000-000000000000=1,a//00000000-0000-0000-0000-000000000000=23,d//00000000-0000-0000-0000-000000000000=4}'::ace_uuid[], false, false); acl_merge ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- {a//00000000-0000-0000-0000-000000000000=0,d//00000000-0000-0000-0000-000000000000=1,a//00000000-0000-0000-0000-000000000000=23,d//00000000-0000-0000-0000-000000000000=4} (1 row) select acl_merge(null::ace_uuid[], '{a//00000000-0000-0000-0000-000000000000=0,d//00000000-0000-0000-0000-000000000000=1,a//00000000-0000-0000-0000-000000000000=23,d//00000000-0000-0000-0000-000000000000=4}'::ace_uuid[], false, true); acl_merge ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- {d//00000000-0000-0000-0000-000000000000=1,d//00000000-0000-0000-0000-000000000000=4,a//00000000-0000-0000-0000-000000000000=0,a//00000000-0000-0000-0000-000000000000=23} (1 row) -- inheritance -- container -- no flags -> not inherited select acl_merge('{a//00000000-0000-0000-0000-000000000001=d}'::ace_uuid[], '{a//00000000-0000-0000-0000-000000000000=0,d//00000000-0000-0000-0000-000000000000=1,a//00000000-0000-0000-0000-000000000000=23,d//00000000-0000-0000-0000-000000000000=4}'::ace_uuid[], true, false); acl_merge ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- {a//00000000-0000-0000-0000-000000000000=0,d//00000000-0000-0000-0000-000000000000=1,a//00000000-0000-0000-0000-000000000000=23,d//00000000-0000-0000-0000-000000000000=4} (1 row) -- inherit only -> not inherited select acl_merge('{a/i/00000000-0000-0000-0000-000000000001=d}'::ace_uuid[], '{a//00000000-0000-0000-0000-000000000000=0,d//00000000-0000-0000-0000-000000000000=1,a//00000000-0000-0000-0000-000000000000=23,d//00000000-0000-0000-0000-000000000000=4}'::ace_uuid[], true, false); acl_merge ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- {a//00000000-0000-0000-0000-000000000000=0,d//00000000-0000-0000-0000-000000000000=1,a//00000000-0000-0000-0000-000000000000=23,d//00000000-0000-0000-0000-000000000000=4} (1 row) -- object inherit -> inherit only + object inherit select acl_merge('{a/o/00000000-0000-0000-0000-000000000001=d}'::ace_uuid[], '{a//00000000-0000-0000-0000-000000000000=0,d//00000000-0000-0000-0000-000000000000=1,a//00000000-0000-0000-0000-000000000000=23,d//00000000-0000-0000-0000-000000000000=4}'::ace_uuid[], true, false); acl_merge ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- {a//00000000-0000-0000-0000-000000000000=0,d//00000000-0000-0000-0000-000000000000=1,a//00000000-0000-0000-0000-000000000000=23,d//00000000-0000-0000-0000-000000000000=4,a/hoi/00000000-0000-0000-0000-000000000001=d} (1 row) -- object inherit + no propagate inherit -> no inheritance select acl_merge('{a/op/00000000-0000-0000-0000-000000000001=d}'::ace_uuid[], '{a//00000000-0000-0000-0000-000000000000=0,d//00000000-0000-0000-0000-000000000000=1,a//00000000-0000-0000-0000-000000000000=23,d//00000000-0000-0000-0000-000000000000=4}'::ace_uuid[], true, false); acl_merge ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- {a//00000000-0000-0000-0000-000000000000=0,d//00000000-0000-0000-0000-000000000000=1,a//00000000-0000-0000-0000-000000000000=23,d//00000000-0000-0000-0000-000000000000=4} (1 row) --container inherit -> container inherit select acl_merge('{a/c/00000000-0000-0000-0000-000000000001=d}'::ace_uuid[], '{a//00000000-0000-0000-0000-000000000000=0,d//00000000-0000-0000-0000-000000000000=1,a//00000000-0000-0000-0000-000000000000=23,d//00000000-0000-0000-0000-000000000000=4}'::ace_uuid[], true, false); acl_merge ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ {a//00000000-0000-0000-0000-000000000000=0,d//00000000-0000-0000-0000-000000000000=1,a//00000000-0000-0000-0000-000000000000=23,d//00000000-0000-0000-0000-000000000000=4,a/hc/00000000-0000-0000-0000-000000000001=d} (1 row) -- container inherit + no propagate inherit -> no flags select acl_merge('{a/cp/00000000-0000-0000-0000-000000000001=d}'::ace_uuid[], '{a//00000000-0000-0000-0000-000000000000=0,d//00000000-0000-0000-0000-000000000000=1,a//00000000-0000-0000-0000-000000000000=23,d//00000000-0000-0000-0000-000000000000=4}'::ace_uuid[], true, false); acl_merge ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- {a//00000000-0000-0000-0000-000000000000=0,d//00000000-0000-0000-0000-000000000000=1,a//00000000-0000-0000-0000-000000000000=23,d//00000000-0000-0000-0000-000000000000=4,a/h/00000000-0000-0000-0000-000000000001=d} (1 row) -- container inherit + object inherit -> container inherit + object inherit + inherit only select acl_merge('{a/co/00000000-0000-0000-0000-000000000001=d}'::ace_uuid[], '{a//00000000-0000-0000-0000-000000000000=0,d//00000000-0000-0000-0000-000000000000=1,a//00000000-0000-0000-0000-000000000000=23,d//00000000-0000-0000-0000-000000000000=4}'::ace_uuid[], true, false); acl_merge -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- {a//00000000-0000-0000-0000-000000000000=0,d//00000000-0000-0000-0000-000000000000=1,a//00000000-0000-0000-0000-000000000000=23,d//00000000-0000-0000-0000-000000000000=4,a/hcoi/00000000-0000-0000-0000-000000000001=d} (1 row) -- container inherit + object inherit + no propagate inherit -> no flags select acl_merge('{a/cop/00000000-0000-0000-0000-000000000001=d}'::ace_uuid[], '{a//00000000-0000-0000-0000-000000000000=0,d//00000000-0000-0000-0000-000000000000=1,a//00000000-0000-0000-0000-000000000000=23,d//00000000-0000-0000-0000-000000000000=4}'::ace_uuid[], true, false); acl_merge ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- {a//00000000-0000-0000-0000-000000000000=0,d//00000000-0000-0000-0000-000000000000=1,a//00000000-0000-0000-0000-000000000000=23,d//00000000-0000-0000-0000-000000000000=4,a/h/00000000-0000-0000-0000-000000000001=d} (1 row) -- object -- no flags -> not inherited select acl_merge('{a//00000000-0000-0000-0000-000000000001=d}'::ace_uuid[], '{a//00000000-0000-0000-0000-000000000000=0,d//00000000-0000-0000-0000-000000000000=1,a//00000000-0000-0000-0000-000000000000=23,d//00000000-0000-0000-0000-000000000000=4}'::ace_uuid[], false, false); acl_merge ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- {a//00000000-0000-0000-0000-000000000000=0,d//00000000-0000-0000-0000-000000000000=1,a//00000000-0000-0000-0000-000000000000=23,d//00000000-0000-0000-0000-000000000000=4} (1 row) -- inherit only -> not inherited select acl_merge('{a/i/00000000-0000-0000-0000-000000000001=d}'::ace_uuid[], '{a//00000000-0000-0000-0000-000000000000=0,d//00000000-0000-0000-0000-000000000000=1,a//00000000-0000-0000-0000-000000000000=23,d//00000000-0000-0000-0000-000000000000=4}'::ace_uuid[], false, false); acl_merge ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- {a//00000000-0000-0000-0000-000000000000=0,d//00000000-0000-0000-0000-000000000000=1,a//00000000-0000-0000-0000-000000000000=23,d//00000000-0000-0000-0000-000000000000=4} (1 row) -- object inherit -> no flags select acl_merge('{a/o/00000000-0000-0000-0000-000000000001=d}'::ace_uuid[], '{a//00000000-0000-0000-0000-000000000000=0,d//00000000-0000-0000-0000-000000000000=1,a//00000000-0000-0000-0000-000000000000=23,d//00000000-0000-0000-0000-000000000000=4}'::ace_uuid[], false, false); acl_merge ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- {a//00000000-0000-0000-0000-000000000000=0,d//00000000-0000-0000-0000-000000000000=1,a//00000000-0000-0000-0000-000000000000=23,d//00000000-0000-0000-0000-000000000000=4,a/h/00000000-0000-0000-0000-000000000001=d} (1 row) -- object inherit + no propagate inherit -> no flags select acl_merge('{a/op/00000000-0000-0000-0000-000000000001=d}'::ace_uuid[], '{a//00000000-0000-0000-0000-000000000000=0,d//00000000-0000-0000-0000-000000000000=1,a//00000000-0000-0000-0000-000000000000=23,d//00000000-0000-0000-0000-000000000000=4}'::ace_uuid[], false, false); acl_merge ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- {a//00000000-0000-0000-0000-000000000000=0,d//00000000-0000-0000-0000-000000000000=1,a//00000000-0000-0000-0000-000000000000=23,d//00000000-0000-0000-0000-000000000000=4,a/h/00000000-0000-0000-0000-000000000001=d} (1 row) --container inherit -> not inherited select acl_merge('{a/c/00000000-0000-0000-0000-000000000001=d}'::ace_uuid[], '{a//00000000-0000-0000-0000-000000000000=0,d//00000000-0000-0000-0000-000000000000=1,a//00000000-0000-0000-0000-000000000000=23,d//00000000-0000-0000-0000-000000000000=4}'::ace_uuid[], false, false); acl_merge ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- {a//00000000-0000-0000-0000-000000000000=0,d//00000000-0000-0000-0000-000000000000=1,a//00000000-0000-0000-0000-000000000000=23,d//00000000-0000-0000-0000-000000000000=4} (1 row) -- container inherit + no propagate inherit -> not inherited select acl_merge('{a/cp/00000000-0000-0000-0000-000000000001=d}'::ace_uuid[], '{a//00000000-0000-0000-0000-000000000000=0,d//00000000-0000-0000-0000-000000000000=1,a//00000000-0000-0000-0000-000000000000=23,d//00000000-0000-0000-0000-000000000000=4}'::ace_uuid[], false, false); acl_merge ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- {a//00000000-0000-0000-0000-000000000000=0,d//00000000-0000-0000-0000-000000000000=1,a//00000000-0000-0000-0000-000000000000=23,d//00000000-0000-0000-0000-000000000000=4} (1 row) -- container inherit + object inherit -> no flags select acl_merge('{a/co/00000000-0000-0000-0000-000000000001=d}'::ace_uuid[], '{a//00000000-0000-0000-0000-000000000000=0,d//00000000-0000-0000-0000-000000000000=1,a//00000000-0000-0000-0000-000000000000=23,d//00000000-0000-0000-0000-000000000000=4}'::ace_uuid[], false, false); acl_merge ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- {a//00000000-0000-0000-0000-000000000000=0,d//00000000-0000-0000-0000-000000000000=1,a//00000000-0000-0000-0000-000000000000=23,d//00000000-0000-0000-0000-000000000000=4,a/h/00000000-0000-0000-0000-000000000001=d} (1 row) -- container inherit + object inherit + no propagate inherit -> no flags select acl_merge('{a/cop/00000000-0000-0000-0000-000000000001=d}'::ace_uuid[], '{a//00000000-0000-0000-0000-000000000000=0,d//00000000-0000-0000-0000-000000000000=1,a//00000000-0000-0000-0000-000000000000=23,d//00000000-0000-0000-0000-000000000000=4}'::ace_uuid[], false, false); acl_merge ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- {a//00000000-0000-0000-0000-000000000000=0,d//00000000-0000-0000-0000-000000000000=1,a//00000000-0000-0000-0000-000000000000=23,d//00000000-0000-0000-0000-000000000000=4,a/h/00000000-0000-0000-0000-000000000001=d} (1 row) -- skip inherited select acl_merge('{a/h/00000000-0000-0000-0000-000000000001=d}'::ace_uuid[], '{a//00000000-0000-0000-0000-000000000000=0,d//00000000-0000-0000-0000-000000000000=1,a//00000000-0000-0000-0000-000000000000=23,d//00000000-0000-0000-0000-000000000000=4}'::ace_uuid[], false, false); acl_merge ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- {a//00000000-0000-0000-0000-000000000000=0,d//00000000-0000-0000-0000-000000000000=1,a//00000000-0000-0000-0000-000000000000=23,d//00000000-0000-0000-0000-000000000000=4} (1 row)