Skip to content

[TEMP] Buoyant v0.25.1 stats - #1

Draft
aditanase wants to merge 5 commits into
buoyant-v0.25.1from
buoyant-v0.25.1-stats
Draft

[TEMP] Buoyant v0.25.1 stats#1
aditanase wants to merge 5 commits into
buoyant-v0.25.1from
buoyant-v0.25.1-stats

Conversation

@aditanase

Copy link
Copy Markdown

What changes are proposed in this pull request?

How was this change tested?

// Missing fields are read as null, but every physically present requested field must
// have a compatible type. Compare the complete requested schema so this also validates
// bookkeeping fields such as numRecords and tightBounds when they are present.
if !Self::structs_have_compatible_types(stats_struct, stats_schema, "stats_parsed") {

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

assuming this is an equivalent check performed one step up in the schema?

// statistics, ScanFile.stats remains null.
#[rstest::rstest]
#[case::default_json_only(StatsOptions::default(), false)]
#[case::default_json_only(StatsOptions::default(), true)]

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

why switch the default here? can we just have checkpoint_stats_json_fallback: false as default? what breaks?

Comment thread kernel/src/scan/mod.rs Outdated

fn restored_add_schema_with_parsed_columns(stats_schema: &StructType) -> SchemaRef {
let base = &*RESTORED_ADD_SCHEMA;
let add_field = base

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

skip validation, constant?

Comment thread kernel/src/scan/mod.rs Outdated
unreachable!("RESTORED_ADD_SCHEMA `add` field must be a struct");
};
let mut inner_fields: Vec<StructField> = add_inner.fields().cloned().collect();
inner_fields.push(StructField::nullable(

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

there is some new machinery added recently - look for SchemaStructPatchBuilder and struct_patch.rs for all transforms

@adragomir
adragomir force-pushed the buoyant-v0.25.1-stats branch from f7ba255 to 7b89b7c Compare August 7, 2026 08:59
@aditanase
aditanase force-pushed the buoyant-v0.25.1-stats branch from 7b89b7c to 44c5b98 Compare August 7, 2026 10:09
rtyler and others added 5 commits August 7, 2026 14:15
In the respin of the patch set for distribution this change was dropped
because it was manifest as a revert. Fortunately things were commented
well enough that "undoing" the change is more suitable than reverting
previous changes.

Co-Authored-By: Mistral Devstral 2 <vibe@mistral.ai>
Signed-off-by: R. Tyler Croy <rtyler@brokenco.de>
…ration manually

- This is used to pass in schemas
@adragomir
adragomir force-pushed the buoyant-v0.25.1-stats branch from 44c5b98 to 9858fb0 Compare August 7, 2026 13:47
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants