Skip to content

Conversation

@g31pranjal
Copy link
Member

@g31pranjal g31pranjal commented Dec 5, 2025

This PR enhances the PullUp rules to allow for pulling up all the matches of a value through value. Earlier, they used to only pull up the first match for a value to be pulled up.

@g31pranjal g31pranjal force-pushed the disambiguate_pulled_up_values branch from 537c0a5 to 584cafa Compare December 5, 2025 14:01
@g31pranjal g31pranjal added the enhancement New feature or request label Dec 5, 2025
@g31pranjal g31pranjal requested a review from normen662 December 10, 2025 17:30
@g31pranjal g31pranjal marked this pull request as ready for review December 10, 2025 22:34
@g31pranjal g31pranjal changed the title map -> multiMap for pullUp rules Pull up all matches of a value through value that has multiple matches Dec 10, 2025
@g31pranjal g31pranjal force-pushed the disambiguate_pulled_up_values branch from 50033ee to 798a3c6 Compare December 16, 2025 13:16
@github-actions
Copy link

📊 Metrics Diff Analysis Report

Summary

  • New queries: 3
  • Dropped queries: 2
  • Plan changed + metrics changed: 0
  • Plan unchanged + metrics changed: 2
ℹ️ About this analysis

This automated analysis compares query planner metrics between the base branch and this PR. It categorizes changes into:

  • New queries: Queries added in this PR
  • Dropped queries: Queries removed in this PR. These should be reviewed to ensure we are not losing coverage.
  • Plan changed + metrics changed: The query plan has changed along with planner metrics.
  • Metrics only changed: Same plan but different metrics

The last category in particular may indicate planner regressions that should be investigated.

New Queries

Count of new queries by file:

  • yaml-tests/src/test/resources/orderby.metrics.yaml: 3

Dropped Queries

The following queries with metrics were removed:

The reviewer should double check that these queries were removed intentionally to avoid a loss of coverage.

Only Metrics Changed

These queries experienced only metrics changes without any plan changes. If these metrics have substantially changed,
then a planner change has been made which affects planner performance but does not correlate with any new outcomes,
which could indicate a regression.

Total: 2 queries

Statistical Summary (Only Metrics Changed)

task_count:

  • Average change: -151.0
  • Median change: -151
  • Standard deviation: 0.0
  • Range: -151 to -151
  • Queries changed: 2
  • No regressions! 🎉

transform_count:

  • Average change: -45.0
  • Median change: -45
  • Standard deviation: 0.0
  • Range: -45 to -45
  • Queries changed: 2
  • No regressions! 🎉

transform_yield_count:

  • Average change: -20.0
  • Median change: -20
  • Standard deviation: 0.0
  • Range: -20 to -20
  • Queries changed: 2
  • No regressions! 🎉

insert_new_count:

  • Average change: -13.0
  • Median change: -13
  • Standard deviation: 0.0
  • Range: -13 to -13
  • Queries changed: 2
  • No regressions! 🎉

insert_reused_count:

  • Average change: -1.0
  • Median change: -1
  • Standard deviation: 0.0
  • Range: -1 to -1
  • Queries changed: 2
  • No regressions! 🎉

Significant Regressions (Only Metrics Changed)

There were 2 outliers detected. Outlier queries have a significant regression in at least one field. Statistically, this represents either an increase of more than two standard deviations above the mean or a large absolute increase (e.g., 100).

  • yaml-tests/src/test/resources/bitmap-aggregate-index.metrics.yaml:2: EXPLAIN SELECT bitmap_construct_agg(bitmap_bit_position(id)) as bitmap, bitmap_bucket_offset(id) as offset FROM T1 GROUP BY bitmap_bucket_offset(id)
    • explain: AISCAN(BITMAPINDEX1 <,> BY_GROUP -> [_0: KEY:[0], _1: VALUE:[0]]) | MAP (_._1 AS BITMAP, _._0 AS OFFSET)
    • task_count: 483 -> 332 (-151)
    • transform_count: 148 -> 103 (-45)
    • transform_yield_count: 52 -> 32 (-20)
    • insert_new_count: 37 -> 24 (-13)
    • insert_reused_count: 2 -> 1 (-1)
  • yaml-tests/src/test/resources/bitmap-aggregate-index.metrics.yaml:14: EXPLAIN SELECT bitmap_construct_agg(bitmap_bit_position(id)) as bitmap, category, bitmap_bucket_offset(id) as offset FROM T1 GROUP BY category, bitmap_bucket_offset(id)
    • explain: AISCAN(BITMAPINDEX2 <,> BY_GROUP -> [_0: KEY:[0], _1: KEY:[1], _2: VALUE:[0]]) | MAP (_._2 AS BITMAP, _._0 AS CATEGORY, _._1 AS OFFSET)
    • task_count: 483 -> 332 (-151)
    • transform_count: 148 -> 103 (-45)
    • transform_yield_count: 52 -> 32 (-20)
    • insert_new_count: 37 -> 24 (-13)
    • insert_reused_count: 2 -> 1 (-1)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant