Skip to main content

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 AppendWriter with explicit Flush(ctx) and flush-on-close behavior
  • log fetch and limit-scan flows
  • Arrow log append/decode support
  • projection-aware fetch for Fluss ARROW log tables

Current caveat:

  • projection is aligned to upstream/server behavior and only works on ARROW log 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.

Continue By Workflow​