[SERVER-78234] extend min/max pushdown for $group for fixed bucketing Created: 20/Jun/23  Updated: 29/Oct/23  Resolved: 09/Aug/23

Status: Closed
Project: Core Server
Component/s: None
Affects Version/s: None
Fix Version/s: 7.1.0-rc0

Type: Task Priority: Major - P3
Reporter: Gil Alon Assignee: Gil Alon
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Depends
is depended on by SERVER-78235 pushdown $group ahead of unpack with ... Closed
Related
related to SERVER-79552 $group rewrite for timeseries returns... Closed
Assigned Teams:
Query Integration
Backwards Compatibility: Fully Compatible
Sprint: QI 2023-07-10, QI 2023-07-24, QI 2023-08-07, QI 2023-08-21
Participants:

 Description   

This ticket will handle implementing the validation that will check if the $group for min/max optimization can occur. The requirements for this optimization are...

  1. bucketMaxSpanSeconds and bucketRoundingSeconds parameters have not been changed.
  2. Given a predicate on timeField T, dateTrunc(T) matches the bucket boundaries. For example, if bucketMaxSpanSeconds is set to 60 seconds, then dateTrunc.unit converted to seconds multiplied by dateTrunc.binSize needs to be a multiple of bucketMaxSpanSeconds.
  3. The $group _id field only refers to a combination of the metaField and dateTrunc(timeField).
  4. The query does not use an extended range.

This ticket should also check that special timezones such as UTC +05:30 are gracefully handled.



 Comments   
Comment by Githook User [ 09/Aug/23 ]

Author:

{'name': 'Gil Alon', 'email': 'gil.alon@mongodb.com', 'username': 'galon1'}

Message: SERVER-78234 Extend min/max pushdown for timeField for fixed buckets and const expressions
Branch: master
https://github.com/mongodb/mongo/commit/bbe47943833c85569a45bbc70ca3eb70cc6fcc9f

Generated at Thu Feb 08 06:37:48 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.