Skip to content

fuse complex types aggressively#6651

Merged
nwt merged 2 commits intomainfrom
rework-fuser
Feb 21, 2026
Merged

fuse complex types aggressively#6651
nwt merged 2 commits intomainfrom
rework-fuser

Conversation

@nwt
Copy link
Member

@nwt nwt commented Feb 20, 2026

The type fusion algorithm can create unions containing multiple complex types of the same kind (e.g, multiple array types) and multiple types with the same type ID (because of named types). Change the algorithm so that unions in fused types never contain unions, have at most one instance of each kind of non-union complex type, and have at most one type with a given type ID.

Fixes #6650

The type fusion algorithm can create unions containing multiple complex
types of the same kind (e.g, multiple array types) and multiple types
with the same type ID (because of named types).  Change the algorithm so
that unions in fused types never contain unions, have at most one
instance of each kind of non-union complex type, and have at most one
type with a given type ID.
@nwt nwt requested a review from a team February 20, 2026 22:12
}

func (f *Fuser) fuse(a, b super.Type) super.Type {
func (f *Fuser) fuse(a, b super.Type) (x super.Type) {
Copy link
Collaborator

Choose a reason for hiding this comment

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

Is this variable return type being used (didn't look like it to me).

Copy link
Member Author

Choose a reason for hiding this comment

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

Thanks for catching that. Just debug garbage I forgot to remove.

Copy link
Member Author

Choose a reason for hiding this comment

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

Removed in 75eb9df.

@nwt nwt merged commit 54e00ff into main Feb 21, 2026
2 checks passed
@nwt nwt deleted the rework-fuser branch February 21, 2026 00:11
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.

No longer able to output fused GHA data as Parquet

3 participants