Sign inSign up

jackwang2/docker-gpdb

By jackwang2

Updated about 9 years ago

Pivotal Greenplum database with data type extension for CRoaring bitmap operation.

Image
1

116

jackwang2/docker-gpdb repository overview

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)

Tag summary

Content type

Image

Digest

Size

465.6 MB

Last updated

about 9 years ago

docker pull jackwang2/docker-gpdb:5.0.0-beta.4