Skip to content

Case and Coalesce Support for Compound Types - #140677

Merged
not-napoleon merged 17 commits into
elastic:mainfrom
not-napoleon:case-and-coalesce-for-histogram-types
Jan 23, 2026
Merged

not-napoleon merged 17 commits into
elastic:mainfrom
not-napoleon:case-and-coalesce-for-histogram-types

Conversation

@not-napoleon

@not-napoleon not-napoleon commented Jan 14, 2026 •

Copy link
Copy Markdown
Contributor

This PR adds case function support for the HISTOGRAM, TDIGEST, and AGGREGATE_METRIC_DOUBLE types. No changes to the actual behavior of Case were necessary, just updating the type checking to allow for these types. I've also added CSV tests for these, which is the bulk of the PR and involved adding some additional data to the CSV data files.

I've also added Coalesce support for t-digest and histogram. Aggregate metric double needs a little more work in the block loader I think (or at least at first glance), so I didn't do that here. That's probably worth thinking about at some point down the road.

Since this introduces new CSV tests, I added a capability to gate those tests and I'll tag the PR for release testing to minimize the chances of breaking the release builds.

@not-napoleon not-napoleon added >enhancement test-release Trigger CI checks against release build :StorageEngine/ES|QL Timeseries / metrics / logsdb capabilities in ES|QL v9.4.0 labels Jan 14, 2026
@elasticsearchmachine

Copy link
Copy Markdown
Collaborator

Pinging @elastic/es-storage-engine (Team:StorageEngine)

@elasticsearchmachine

Copy link
Copy Markdown
Collaborator

Hi @not-napoleon, I've created a changelog YAML for you.

@github-actions

Copy link
Copy Markdown
Contributor

ℹ️ Important: Docs version tagging

👋 Thanks for updating the docs! Just a friendly reminder that our docs are now cumulative. This means all 9.x versions are documented on the same page and published off of the main branch, instead of creating separate pages for each minor version.

We use applies_to tags to mark version-specific features and changes.

Expand for a quick overview

When to use applies_to tags:

✅ At the page level to indicate which products/deployments the content applies to (mandatory)
✅ When features change state (e.g. preview, ga) in a specific version
✅ When availability differs across deployments and environments

What NOT to do:

❌ Don't remove or replace information that applies to an older version
❌ Don't add new information that applies to a specific version without an applies_to tag
❌ Don't forget that applies_to tags can be used at the page, section, and inline level

🤔 Need help?

@not-napoleon not-napoleon changed the title Case Support for Compound Types Case and Coalesce Support for Compound Types Jan 20, 2026
@not-napoleon not-napoleon removed the test-release Trigger CI checks against release build label Jan 22, 2026
@not-napoleon

Copy link
Copy Markdown
Contributor Author

I'm confidant that this is not going to break the release tests, so I'm taking that tag off now.

@not-napoleon
not-napoleon enabled auto-merge (squash) January 23, 2026 14:18
@not-napoleon
not-napoleon merged commit 634a6b6 into elastic:main Jan 23, 2026
34 of 35 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

>enhancement :StorageEngine/ES|QL Timeseries / metrics / logsdb capabilities in ES|QL Team:StorageEngine v9.4.0

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants