Marton Greber has uploaded this change for review. ( 
http://gerrit.cloudera.org:8080/23485


Change subject: KUDU-1261 Add array type support to Python client
......................................................................

KUDU-1261 Add array type support to Python client

Implement full array type support for Python client including:
- Array column definition via array_type() and nested_type()
- Read operations (Row.get_array) with schema introspection
- Write operations (PartialRow._set_array) for insert/update/upsert
- Support for 11 element types: int8/16/32/64, float, double, bool,
  string, binary, varchar, unixtime_micros, date
- NULL element handling via Python None

C++ API bindings:
- GetArray*/SetArray* methods for all supported types
- Type-safe schema introspection via KuduNestedTypeDescriptor

Testing:
- 6 integration tests (test_array_datatype.py)
- 3 schema tests (test_schema.py)
- Coverage for CRUD operations, empty arrays, NULL elements

TODO for follow-up:
- Decimal arrays: blocked on C++ API int128 overload support
  (existing decimal uses int128, but SetArrayDecimal only has
  int32/int64 overloads - needs API design review)
- Fix: Empty BOOL array read triggers C++ assertion failure
  (requires C++ client fix)

Change-Id: I2329c7466534bd4961860c05b600e7d4b4a11507
---
M python/kudu/__init__.py
M python/kudu/client.pxd
M python/kudu/client.pyx
M python/kudu/libkudu_client.pxd
M python/kudu/schema.pyx
A python/kudu/tests/test_array_datatype.py
M python/kudu/tests/test_schema.py
7 files changed, 1,089 insertions(+), 2 deletions(-)



  git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/85/23485/1
--
To view, visit http://gerrit.cloudera.org:8080/23485
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: newchange
Gerrit-Change-Id: I2329c7466534bd4961860c05b600e7d4b4a11507
Gerrit-Change-Number: 23485
Gerrit-PatchSet: 1
Gerrit-Owner: Marton Greber <[email protected]>

Reply via email to