Skip to content

Add support for multiple index columns - #3270

Merged
texodus merged 1 commit into
masterfrom
multi-index-table
Nov 3, 2026
Merged

texodus merged 1 commit into
masterfrom
multi-index-table

Conversation

@texodus

@texodus texodus commented Nov 3, 2026

Copy link
Copy Markdown
Member

This PR adds support for multiple index columns to Table:

client.table(data, {index: ["Book", "Security"]});

Internally, this feature uses a non-utf8, order-preserving, type-aware binary encoding packed in a t_tscalar::string, which itself is memoized in a dictionary. This slightly improves performance by avoiding e.g. datetime stringification, but the real impact is API support - for streams that need multiple index support, you no longer need to decode + stringify + concat + encode these columns to inject them into Perspective, ideally avoiding encode/decode entirely if the source emitter support Arrow.

Multi-index support is backwards compatible, string arguments to index still work and are identical to an array with a single string.

@texodus texodus added the enhancement Feature requests or improvements label Nov 3, 2026
Signed-off-by: Andrew Stein <steinlink@gmail.com>
@texodus
texodus merged commit b3117dd into master Nov 3, 2026
19 checks passed
@texodus
texodus deleted the multi-index-table branch November 3, 2026 20:07
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement Feature requests or improvements

Development

Successfully merging this pull request may close these issues.

1 participant