shuwenwei opened a new pull request, #175: URL: https://github.com/apache/iotdb-client-go/pull/175
## Description Adds support for the **OBJECT** data type (TSDataType `12`) in the table-model tablet write path of the Go client, following the Java `TableSession` / tsfile implementation. ### Write path - Add `OBJECT` to the `TSDataType` enum and the string/byte type maps (`client/protocol.go`) - Treat OBJECT as a binary column (same as BLOB) in `Tablet` (`client/tablet.go`): value storage, `SetValueAt`/`GetValueAt`, `Swap`, `getValuesBytes`, `NewTablet` - Add `Tablet.SetObjectValueAt(isEOF, offset, content, columnIndex, rowIndex)` for **segmented OBJECT writes**: each segment is wrapped with a 1-byte `isEOF` flag + 8-byte big-endian offset, matching Java `Tablet.addValue(rowIndex, columnIndex, isEOF, offset, content)` ### Read path - Decode OBJECT (and BLOB/STRING) binary columns in `BinaryArrayColumnDecoder`, and handle OBJECT like BLOB in `IoTDBRpcDataSet` getters, so written objects can be read back (e.g. `select READ_OBJECT(file)` + `GetBlob`) ### Tests - Unit tests: `TestTablet_OBJECT` (whole-object write), `TestTablet_SetObjectValueAt` (segmented write) in `client/tablet_test.go` - E2E table test: `Test_InsertObjectTablet` in `test/e2e/e2e_table_test.go`, covering whole-object, segmented (512B), and null-object rows, verified via `READ_OBJECT`/`GetBlob`, `count(*)`, null check, and tag/field round-trip Also includes the regenerated thrift `common` code (new aggregation types, `pipeRecentFailureList` field) produced by `make all`. ## Verification - `go build ./...` / `go test ./client/...` pass - E2E suite requires Docker (`make e2e_test`) -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
