Zoltan Borok-Nagy has submitted this change and it was merged. ( http://gerrit.cloudera.org:8080/24392 )
Change subject: IMPALA-15067: Add VariantValue and basic decoding functions ...................................................................... IMPALA-15067: Add VariantValue and basic decoding functions Adds the backend implementation for decoding VARIANT binary blobs: - variant-value.h: Defines VariantMetadata (field name dictionary parser) and VariantValue (value decoder with object/array accessors and path navigation). Supports all variant physical types defined by the Parquet Variant spec. - variant-util.cc/h: Implements VariantToJson() which serializes a variant (metadata + value blobs) to JSON. Supported types include null, booleans, int8/16/32/64, float, double, decimal4/8/16, short/long strings, objects, arrays, TIMESTAMPNTZ (micros), and TIMESTAMPNTZ_NANOS. BINARY values are base64-encoded. TIMESTAMPTZ, TIME, and UUID remain unsupported. - variant-functions-ir.cc/h: Implements the variant_to_json(BINARY, BINARY)->STRING builtin expression function. Testing - Unit tests covering metadata parsing, all primitive types, objects, arrays, path navigation, and JSON serialization. Includes test cases extracted from Hive-written and DuckDB Parquet test files for cross-engine compatibility validation. Generated-by: Claude Opus 4.8 (Max effort) Change-Id: I904618570e8c21d099c9a96b496d85e9246483de Reviewed-on: http://gerrit.cloudera.org:8080/24392 Reviewed-by: Peter Rozsa <[email protected]> Tested-by: Impala Public Jenkins <[email protected]> --- M be/src/exprs/CMakeLists.txt A be/src/exprs/variant-functions-ir.cc A be/src/exprs/variant-functions.h M be/src/runtime/CMakeLists.txt A be/src/runtime/variant-value.cc A be/src/runtime/variant-value.h M be/src/util/CMakeLists.txt A be/src/util/variant-util-test.cc A be/src/util/variant-util.cc A be/src/util/variant-util.h 10 files changed, 1,853 insertions(+), 0 deletions(-) Approvals: Peter Rozsa: Looks good to me, approved Impala Public Jenkins: Verified -- To view, visit http://gerrit.cloudera.org:8080/24392 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-Project: Impala-ASF Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: I904618570e8c21d099c9a96b496d85e9246483de Gerrit-Change-Number: 24392 Gerrit-PatchSet: 8 Gerrit-Owner: Zoltan Borok-Nagy <[email protected]> Gerrit-Reviewer: Arnab Karmakar <[email protected]> Gerrit-Reviewer: Impala Public Jenkins <[email protected]> Gerrit-Reviewer: Noemi Pap-Takacs <[email protected]> Gerrit-Reviewer: Peter Rozsa <[email protected]> Gerrit-Reviewer: Zoltan Borok-Nagy <[email protected]>
