Skip to content

MDEV-4167 HyperLogLog Pluggable Data Type - #6011

Open
drrtuy wants to merge 8 commits into
MariaDB:mainfrom
drrtuy:MDEV-4167-hll-13.3
Open

drrtuy wants to merge 8 commits into
MariaDB:mainfrom
drrtuy:MDEV-4167-hll-13.3

Conversation

@drrtuy

@drrtuy drrtuy commented Oct 27, 2026

Copy link
Copy Markdown
Contributor

MDEV-4167 Register HLL functions and harden HLL value validation

What

Makes the HLL scalar and aggregate functions usable by registering them as
function plugins in type_hll.so. Also closes gaps where invalid or empty
values could reach an HLL column.

Key changes

  • plugin.cc: add Create_func_hll<T, ARG_COUNT, AGGREGATE> builder and register
    HLL_EMPTY, HLL_CARDINALITY, HLL_CARDINALITY_ROUND, HLL_UNION,
    HLL_FORMAT_VERSION, HLL_INFO, HLL_BUILD_AGG, HLL_UNION_AGG as
    MariaDB_FUNCTION_PLUGINs; build item_hllfunc.cc into the plugin
  • Field_hll::reset(): implicit default is HLL_EMPTY (0x11) instead of an
    empty string; .frm default record keeps Field_blob::reset()
  • Field_hll::store(): on a malformed value, clear the field via
    Field_blob::reset() and return an error
  • MTR: INSERT IGNORE does not turn an invalid HLL into a warning;
    LOAD DATA result no longer contains a build-specific path
  • Update copyright headers

How to test

./mysql-test/mtr --suite=type_hll
./plugin/type_hll/hll-t

Based on top of #5573

@drrtuy drrtuy changed the title MDEV-4167 MDEV-4167 HyperLogLog Pluggable Data Type Oct 27, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Development

Successfully merging this pull request may close these issues.

2 participants