Skip to main content
Version: Latest-3.2

subdivide_bitmap

Description

Splits a large bitmap into multiple sub-bitmaps.

This function is mainly used to export bitmaps. Bitmaps that are too large will exceed the maximum packet size allowed in the MySQL protocol.

This function is supported from v2.5.

Syntax

BITMAP subdivide_bitmap(bitmap, length)

Parameters

bitmap: The bitmap that needs to be split, required. length: The maximum length of each sub-bitmap, required. Bitmaps larger than this value will be split into multiple small bitmaps.

Return value

Returns multiple sub-bitmaps not larger than length.

Examples

Suppose there is a table t1, in which the c2 column is a BITMAP column.

-- Use bitmap_to_string() to convert values in `c2` into a string.
mysql> select c1, bitmap_to_string(c2) from t1;
+------+----------------------+
| c1 | bitmap_to_string(c2) |
+------+----------------------+
| 1 | 1,2,3,4,5,6,7,8,9,10 |
+------+----------------------+

-- Split `c2` into small bitmaps whose maximum length is 3.

mysql> select c1, bitmap_to_string(subdivide_bitmap) from t1, subdivide_bitmap(c2, 3);
+------+------------------------------------+
| c1 | bitmap_to_string(subdivide_bitmap) |
+------+------------------------------------+
| 1 | 1,2,3 |
| 1 | 4,5,6 |
| 1 | 7,8,9 |
| 1 | 10 |
+------+------------------------------------+