Skip to content

fix(query): preserve NULL semantics in min/max handling#20169

Draft
forsaken628 wants to merge 2 commits into
databendlabs:mainfrom
forsaken628:domain-minmax
Draft

fix(query): preserve NULL semantics in min/max handling#20169
forsaken628 wants to merge 2 commits into
databendlabs:mainfrom
forsaken628:domain-minmax

Conversation

@forsaken628

@forsaken628 forsaken628 commented Jul 17, 2026

Copy link
Copy Markdown
Collaborator

I hereby agree to the terms of the CLA available at: https://docs.databend.com/dev/policies/cla/

Summary

  • Introduce typed min/max values and distinguish empty, all-NULL, and non-empty columns when computing column extrema
  • Preserve nullable input and output semantics when probing monotonic function boundaries during constant folding
  • Reuse typed min/max values across runtime-filter construction, merging, and serialization, preserving NULL
    observations across batches
  • Add efficient binary-view extrema calculation and keep Fuse cluster-statistics boundary conversion local
  • Add regression coverage for nullable extrema, typed range merging and serialization, runtime-filter NULL
    preservation, and nullable monotonic folding

Tests

  • Unit Test
  • Logic Test
  • Benchmark Test
  • No Test - Explain why

Type of change

  • Bug Fix (non-breaking change which fixes an issue)
  • New Feature (non-breaking change which adds functionality)
  • Breaking Change (fix or feature that could cause existing functionality not to work as expected)
  • Documentation Update
  • Refactoring
  • Performance Improvement
  • Other (please describe):

This change is Reviewable

@github-actions github-actions Bot added the pr-bugfix this PR patches a bug in codebase label Jul 17, 2026
@github-actions

github-actions Bot commented Jul 17, 2026

Copy link
Copy Markdown
Contributor

🤖 CI Job Analysis

Workflow: 29741371961

📊 Summary

  • Total Jobs: 87
  • Failed Jobs: 2
  • Retryable: 0
  • Code Issues: 2

NO RETRY NEEDED

All failures appear to be code/test issues requiring manual fixes.

🔍 Job Details

  • linux / test_unit: Not retryable (Code/Test)
  • linux / test_private_tasks: Not retryable (Code/Test)

🤖 About

Automated analysis using job annotations to distinguish infrastructure issues (auto-retried) from code/test issues (manual fixes needed).

@forsaken628
forsaken628 force-pushed the domain-minmax branch 4 times, most recently from e354663 to 77cb4ba Compare July 20, 2026 12:02
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

pr-bugfix this PR patches a bug in codebase

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant