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]>

Reply via email to