Pivotal Greenplum database with data type extension for CRoaring bitmap operation.
116
Pull the image and then docker run -i -d -p 5432:5432 and you should get a Greenplum database that is started and ready for connections. You should be able to connect via psql (local version) or pgadmin works as well. Add a -p 2022:22 if you would like to be able to ssh to the container via ssh gpadmin@ -p 2022
This container leverages volumes to allow it to maintain some state between container start/stop. This was added for the use case of testing, labs, etc so that progress would not be lost if interrupted. Because of this, there is a possibility of orphaned volumes which will need to be cleaned
User: gpadmin Password: pivotal
or root/pivotal
Below are some SQL clause to verify the roaring-bitmap logical operation:
-- create table with field of data type extension - roaringbitmap CREATE TABLE t1 (id integer, bitmap roaringbitmap);
-- build roaringbitmap and save to table created above INSERT INTO t1 SELECT 1,RB_BUILD(ARRAY[1,2,3,4,5,6,7,8,9,200]);
-- perform bitwise logical operation then aggregation operation SELECT RB_OR_AGG(bitmap) FROM t1; SELECT RB_AND_AGG(bitmap) FROM t1; SELECT RB_XOR_AGG(bitmap) FROM t1;
-- test bitmap logical operation select rb_or_cardinality(rb_build(ARRAY[1,2,3,4]), rb_build(ARRAY[4,5,6,7])); select rb_intersect(rb_build(ARRAY[1,2,3,4]), rb_build(ARRAY[4,5,6,7])); select rb_iterate(rb_build(ARRAY[1,200,3,4])); select rb_iterate(rb_remove(rb_build(ARRAY[1,200,3,4]), 6));
-- functions for roaringbitmap logical operation roaringbitmap rb_build(integer[]) roaringbitmap rb_or(roaringbitmap, roaringbitmap) integer rb_or_cardinality(roaringbitmap, roaringbitmap) roaringbitmap rb_and(roaringbitmap, roaringbitmap) roaringbitmap rb_and_cardinality(roaringbitmap, roaringbitmap) roaringbitmap rb_xor(roaringbitmap, roaringbitmap) integer rb_xor_cardinality(roaringbitmap, roaringbitmap) roaringbitmap rb_andnot(roaringbitmap, roaringbitmap) roaringbitmap rb_andnot_cardinality(roaringbitmap, roaringbitmap) integer rb_cardinality(roaringbitmap) bool rb_is_empty(roaringbitmap) bool rb_equals(roaringbitmap, roaringbitmap) bool rb_intersect(roaringbitmap, roaringbitmap) roaringbitmap rb_remove(roaringbitmap, integer) roaringbitmap rb_flip(roaringbitmap, integer, integer) integer rb_iterate(roaringbitmap)
-- aggregate functions for roaringbitmap rb_or_agg(roaringbitmap) rb_or_cardinality_agg(roaringbitmap) rb_and_agg(roaringbitmap) rb_and_cardinality_agg(roaringbitmap) rb_xor_agg(roaringbitmap) rb_xor_cardinality_agg(roaringbitmap) rb_build_agg(integer)
Content type
Image
Digest
Size
465.6 MB
Last updated
about 9 years ago
docker pull jackwang2/docker-gpdb:5.0.0-beta.4