Skip to content

Commit

Permalink
fix misc
Browse files Browse the repository at this point in the history
  • Loading branch information
zeromax007 committed Dec 27, 2019
1 parent 183307c commit c57005b
Show file tree
Hide file tree
Showing 4 changed files with 13 additions and 6 deletions.
7 changes: 7 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -152,6 +152,13 @@ SELECT '\x3a3000000100000000000000100000000100'::ROARINGBITMAP;
<td>Retrun roaringbitmap cardinality between integer range with step.</td>
<td>rb_cardinality(rb_build('{1,2,3,4,5}'),1,4,2)</td>
</tr>
<tr>
<td>rb_cardinality</td>
<td>roraingbitmap<br>integer<br>integer<br>integer<br>integer<br>integer</td>
<td>bigint</td>
<td>Retrun roaringbitmap cardinality between integer range with step, in offset range.</td>
<td>rb_cardinality(rb_build('{1,2,3,4,5}'),1,4,2,1,3)</td>
</tr>
<tr>
<td>rb_cardinality</td>
<td>roraingbitmap<br>integer<br>integer<br>integer<br>integer[]</td>
Expand Down
2 changes: 1 addition & 1 deletion roaringbitmap--0.2.65.1--0.2.65.2.sql
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,7 @@ CREATE
DROP FUNCTION IF EXISTS rb_cardinality(roaringbitmap, integer, integer, integer, integer, integer);
CREATE
OR REPLACE FUNCTION rb_cardinality(roaringbitmap, integer, integer, integer, integer, integer) RETURNS BIGINT AS 'MODULE_PATHNAME',
'rb_cardinality_step_intval' LANGUAGE C STRICT IMMUTABLE;
'rb_cardinality_step_interval' LANGUAGE C STRICT IMMUTABLE;
CREATE
OR REPLACE FUNCTION rb_is_empty(roaringbitmap) RETURNS bool AS 'MODULE_PATHNAME',
'rb_is_empty' LANGUAGE C STRICT IMMUTABLE;
Expand Down
2 changes: 1 addition & 1 deletion roaringbitmap--0.2.65.2.sql
Original file line number Diff line number Diff line change
Expand Up @@ -76,7 +76,7 @@ CREATE
'rb_cardinality_step_array' LANGUAGE C STRICT IMMUTABLE;
CREATE
OR REPLACE FUNCTION rb_cardinality(roaringbitmap, integer, integer, integer, integer, integer) RETURNS BIGINT AS 'MODULE_PATHNAME',
'rb_cardinality_step_intval' LANGUAGE C STRICT IMMUTABLE;
'rb_cardinality_step_interval' LANGUAGE C STRICT IMMUTABLE;
CREATE
OR REPLACE FUNCTION rb_is_empty(roaringbitmap) RETURNS bool AS 'MODULE_PATHNAME',
'rb_is_empty' LANGUAGE C STRICT IMMUTABLE;
Expand Down
8 changes: 4 additions & 4 deletions roaringbitmap.c
Original file line number Diff line number Diff line change
Expand Up @@ -417,8 +417,8 @@ Datum
uint32_t min = PG_GETARG_INT32(1);
uint32_t max = PG_GETARG_INT32(2);
int step = PG_GETARG_INT32(3);
uint32_t start = PG_GETARG_INT32(4);
uint32_t end = PG_GETARG_INT32(5);
int start = PG_GETARG_INT32(4);
int end = PG_GETARG_INT32(5);

if (step < 2)
ereport(ERROR, (errcode(ERRCODE_NUMERIC_VALUE_OUT_OF_RANGE), errmsg("step must be greater than 1")));
Expand All @@ -439,7 +439,7 @@ Datum
{
if (p + step >= rmin)
{
if (roaring_bitmap_range_cardinality(r1, p + start, p + end) > 0)
if (roaring_bitmap_range_cardinality(r1, p + start, p + end + 1) > 0)
card1++;
}
p += step;
Expand Down Expand Up @@ -478,7 +478,7 @@ Datum
uint32_t rmin = roaring_bitmap_minimum(r1);
uint32_t rmax = roaring_bitmap_maximum(r1);

max = max == -1 ? rmax : max;
max = max == -1 ? rmax : (rmax < max ? rmax : max);
uint32_t p = min;
int64 card1 = 0;
while (p <= max)
Expand Down

0 comments on commit c57005b

Please sign in to comment.