Table Read and Write Overview
The Go client currently supports both log-table and primary-key-table workflows, with a mix of raw and higher-level helpers.
Log Tables
Implemented today:
- raw append RPC support
- buffered
AppendWriterwith explicitFlush(ctx)and flush-on-close behavior - log fetch and limit-scan flows
- Arrow log append/decode support
- projection-aware fetch for Fluss
ARROWlog tables
Current caveat:
- projection is aligned to upstream/server behavior and only works on
ARROWlog format, not all log-table encodings
Primary-Key Tables
Implemented today:
- upsert
- partial update
- delete
- lookup
- prefix lookup
- limit scan
- current snapshot-scan path used in the canonical real-cluster demo
The SDK now follows Fluss COMPACTED KV semantics for the primary-key flows validated in the demo harness.
Typed and Row-Oriented Helpers
This repo already exposes public row, schema, and type helpers through client/, but the higher-level scanner story is still behind the writer story in maturity.
That means:
- writer ergonomics have started to become more productized
- scanner abstractions are still a notable gap
- some APIs remain batch- or byte-oriented where the long-term SDK likely wants stronger Go-native wrappers
Validation Level
The strongest end-to-end support contract today comes from the real Fluss + Paimon demo environment, which validates append, lookup, prefix lookup, partial update, delete, limit scan, Arrow projection paths, and snapshot-related flows against a live cluster.