上图 Roaring bitmap 中,存储高 16 Bit 分别为 0x0000、0x0001、0x0002 的部分 4 字节整数值:类型名称 | roaringbitmap |
使用案例 | |
参数名称 | roaringbitmap.output_format |
参数说明 | 字符类型,用于控制 roaringbitmap 类型的输出格式,取值如下:
|
用法 | |
函数名称 | 输入 | 输出 | 说明 | 示例 |
rb_build | integer[] | roaringbitmap | 通过整数数组创建位图 | |
rb_index | roaringbitmap, integer | bigint | 返回整数在位图中从 0 开始的下标,不存在返回 -1 | |
rb_cardinality | roaringbitmap | bigint | 返回基数 | |
rb_and_cardinality | roaringbitmap, roaringbitmap | bigint | 位图与后返回基数 | |
rb_or_cardinality | roaringbitmap, roaringbitmap | bigint | 位图或后返回基数 | |
rb_xor_cardinality | roaringbitmap, roaringbitmap | bigint | 位图异或后返回基数 | |
rb_andnot_cardinality | roaringbitmap, roaringbitmap | bigint | 位图与非后返回基数 | |
rb_is_empty | roaringbitmap | bool | 位图是否为空 | |
rb_fill | roaringbitmap, range_start bigint, range_end bigint | roaringbitmap | 填充位图指定范围,不包含 range_end | |
rb_clear | roaringbitmap, range_start bigint, range_end bigint | roaringbitmap | 清空位图指定范围整数,不包含 range_end | |
rb_flip | roaringbitmap, range_start bigint, range_end bigint | roaringbitmap | 将指定范围反正,存在置为不存,不存在置为存在,不包含 range_end | |
rb_range | roaringbitmap, range_start bigint, range_end bigint | roaringbitmap | 返回指定范围的子位图,不包含 range_end | |
rb_range_cardinality | roaringbitmap, range_start bigint, range_end bigint | bigint | 返回指定范围子位图的基数,不包含 range_end | |
rb_min | roaringbitmap | integer | 返回 Bitmap 中最小的 Offset,如果 Bitmap 为空则返回 NULL。 | |
rb_max | roaringbitmap | integer | 返回 Bitmap 中最大的 Offset,如果 Bitmap 为空则返回 NULL。 | |
rb_rank | roaringbitmap, integer | bigint | 返回位图中小于等于指定 Offset 的基数。 | |
rb_jaccard_dist | roaringbitmap, roaringbitmap | float8 | 返回两个位图的 Jaccar 系数,该数值越大,表示位图的相似度越高 | |
rb_select | roaringbitmap, bitset_limit bigint,bitset_offset bigint=0,reverse boolean=false,range_start bigint=0,range_end bigint=4294967296 | roaringbitmap | 返回区间 [range_start,range_end) 的子集 [bitset_offset,bitset_offset+bitset_limit) | |
rb_to_array | roaringbitmap | integer[] | 将整数数组转换成位图 | |
rb_iterate | roaringbitmap | SETOF integer | 将位图中的整数以记录的形式返回,和 rb_build_agg 效果相反 | |