Typically bitmap arrays are used for collections of privileges, where each element of the collection is indexed by something like a role_id.
The following functions comprise the Veil bitmap arrays API:
init_bitmap_array(bmarray text, array_range text, bitmap_range text)
clear_bitmap_array(bmarray text)
bitmap_from_array(bmref_name text, bmarray text, index int4)
bitmap_array_testbit(bmarray text, arr_idx int4, bitno int4)
bitmap_array_setbit(bmarray text, arr_idx int4, bitno int4)
bitmap_array_clearbit(bmarray text, arr_idx int4, bitno int4)
union_from_bitmap_array(bitmap text, bmarray text, arr_idx int4)
intersect_from_bitmap_array(bitmap text, bmarray text, arr_idx int4)
bitmap_array_bits(bmarray text, arr_idx int4)
bitmap_array_arange(bmarray text)
bitmap_array_brange(bmarray text)
function veil.init_bitmap_array(bmarray text, array_range text, bitmap_range text) returns bool
bmarray
. The last two parameters are the names of ranges used to bound the dimensions of the array, and the range of bits within the array's bitmaps. Implemented by C function veil_init_bitmap_array().function veil.clear_bitmap_array(bmarray text) returns bool
bmarray
. Implemented by C function veil_clear_bitmap_array().function veil.bitmap_from_array(bmref_name text, bmarray text, index int4) returns text
bmref_name
to the bitmap identified by index
in bitmap array bmarray
. Implemented by C function veil_bitmap_from_array().function veil.bitmap_array_testbit(bmarray text, arr_idx int4, bitno int4) returns bool
function veil.bitmap_array_setbit(bmarray text, arr_idx int4, bitno int4) returns bool
function veil.bitmap_array_clearbit(bmarray text, arr_idx int4, bitno int4) returns bool
function veil.union_from_bitmap_array(bitmap text, bmarray text, arr_idx int4) returns bool
veil.bitmap_union(<bitmap>, veil.bitmap_from_array(<bitmap_array>, <index>))
function veil.intersect_from_bitmap_array(bitmap text, bmarray text, arr_idx int4) returns bool
veil.bitmap_intersect(<bitmap>, veil.bitmap_from_array(<bitmap_array>,<index>))
function veil.bitmap_array_bits(bmarray text, arr_idx int4) returns setof int4
function veil.bitmap_array_arange(bmarray text) returns veil_range_t
function veil.bitmap_array_brange(bmarray text) returns veil_range_t
Next: Bitmap Hashes