Skip to content

Releases: ChenHuajun/pg_roaringbitmap

v0.5.4

28 Jun 18:52
Compare
Choose a tag to compare
  • Fix incorrect result of rb_and (#22)
    This is a very serious bug, and the calculation results of some functions are wrong. Below is a simple example.
postgres=# SELECT '{100373,1829130,1861002,1975442,2353213,2456403}'::roaringbitmap & '{2353213}'::roaringbitmap;
 ?column?
----------
 {}
(1 row)

Functions with the same problem include rb_or_cardinality,rb_and,rb_and_cardinality,rb_andnot,rb_andnot_cardinality,rb_xor_cardinality,rb_intersect,rb_contains,rb_containedby,rb_jaccard_dist,rb_index.
The affected versions are 0.5.2 and 0.5.3, users should upgrade as soon as possible.

v0.5.3

02 Nov 17:17
Compare
Choose a tag to compare
  • Adjust test cases to adapt to PG13, PG14

v0.5.2

13 Jul 15:35
Compare
Choose a tag to compare
  • Optimize performance of some functions through deferred deserialization
    Optimized functions include rb_or_cardinality,rb_and,rb_and_cardinality,rb_andnot,rb_andnot_cardinality,rb_xor_cardinality,rb_cardinality,rb_is_empty,rb_exsit,rb_equals,rb_not_equals,rb_intersect,rb_contains,rb_containedby,rb_jaccard_dist,rb_min,rb_max,rb_rank,rb_index

    for detail please refer to https://github.com/ChenHuajun/pg_roaringbitmap/wiki/Performance-optimization-by-deferred-deserialization

  • Upgrade CRoaring to v0.2.66

  • add benchmark script

  • add travis CI support

v0.5.1

30 Apr 16:38
Compare
Choose a tag to compare
  • Remove -march=native from Makefile and add new Makefile_native to compile using native instructions (#8)
  • Fixes memory leak introduced by v0.4.1 which caused by call PG_GETARG_BYTEA_P() in aggctx (#9)

Note:
The default compilation method in v0.5.1 turns off the CPU instruction (AVX) optimization, and in some scenarios may cause a 50% decrease in performance compared to the previous version.
You can use make -f Makefile_native to return to the previous behavior. But you need to be aware that if you use make -f Makefile_native to compile on a machine that supports these CPU instructions, and then install the compiled binary on an old machine that does not support these CPU instructions, it may cause postgres crash.

v0.5.0

16 Nov 20:54
Compare
Choose a tag to compare
  • Upgrade CRoaring to 0.2.65
  • Add support of PostgreSQL 12
  • Add support of Greenplum-db 6
  • Redefine rb_or_cardinality_agg/rb_and_cardinality_agg/rb_xor_cardinality_agg to support parallel aggregate
  • Fixes memory leak of v0.4.1 which caused by aligned malloc

v0.4.1

12 Nov 04:00
Compare
Choose a tag to compare
  • Use PostgreSQL MemoryContext instead of direct use of malloc
  • Fixes a bug that could cause crash when run windows aggregate (#5)
  • Fixes a bug that parallel aggregate may product wrong result (#6)

v0.4.0

26 May 17:19
Compare
Choose a tag to compare

v0.4.0

  • Add type cast between roaringbitmp and bytea
  • Add support of PostgreSQL 11

v0.3.0

22 May 19:34
Compare
Choose a tag to compare

v0.3.0

  • Add roaringbitmap.output_format parameter to control 'bytea' or 'array' output format
  • Change roaringbitmap default output format to 'bytea' in order to better support large cardinality bitmaps
  • Add rb_iterate() function and fix memory leak
  • Add roaringbitmap.output_format parameter

v0.3.0 change roaringbitmap default output format to 'bytea' , to return to the previous output format, set the parameters set roaringbitmap.output_format='array'