refactor: refactor compile-time schema declaration based on typed-arrow #467
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Phase 1 of #468
Typed adapters in place for compile-time records
#[tonbo::typed::record]
is the single annotation; macro injects#[derive(typed_arrow::Record)]
and encodes PK user indices undertonbo.primary_key_user_indices
.#[derive(tonbo_macros::Record)]
path has been removed to simplify the surface (no backward-compat required for this branch).TonboTypedSchema<R, K>
,TonboTypedBuilders<R>
, andTonboTypedArrays<R, K>
.Semantics parity for tombstones and projection
_null = true
indicates deletion.finish()
paths, honoringUSER_COLUMN_OFFSET
.tonbo.primary_key_user_indices
andtonbo.sorting_columns
(order:_ts
desc, PK asc, nulls first).Accounting and tests
written_size
now includes_null
bits,_ts
values, and accumulated user payload bytes.Safety and hygiene
static mut
+OnceCell
patterns with safeOnceCell
statics; removed several clippy warnings and unused macro helpers.transmute
used to shape record refs) are earmarked for removal in a follow-up.What’s next
typed-arrow-dyn
, replacing custom dynamic arrays while preserving Tonbo sentinels, PK rewrite on tombstones, sorting, and projection.unsafe
in ref access paths by tightening lifetimes and using typed-arrow query helpers.