[SERVER-80917] Translate parameterized MatchExpression to ABT getParam function call Created: 08/Sep/23  Updated: 27/Nov/23  Resolved: 26/Sep/23

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

Type: Task Priority: Major - P3
Reporter: Jess Balint Assignee: Lynne Wang
Resolution: Fixed Votes: 0
Labels: auto-reverted
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Depends
is depended on by SERVER-81287 Lower parameterized ABT trees to newl... Closed
is depended on by SERVER-82649 [CQF] Consider printing SBE type for ... Backlog
Problem/Incident
Backwards Compatibility: Fully Compatible
Sprint: QO 2023-09-18, QO 2023-10-02
Participants:
Linked BF Score: 135

 Description   

For all match expressions which currently support parameterization (via get/set paramid), we should translate as follows:

  • Parameterized constants will generate an ABT FunctionCall node with arguments:
    • name="getParam" and children: param id as integer, and param type as SBE type tag (both as ABT constants)
  • Include Golden tests in abt_translation_test.cpp

Parameterized expressions currently supported in ABT:

  • Comparison MatchExpressions
  • InMatchExpression
  • SizeMatchExpression
  • TypeMatchExpression
    • Currently not parameterized and will not be translated as part of this ticket. c.f. SERVER-64776

Parameterized expressions currently unsupported in ABT:

  • BitsAllClearMatchExpression
  • BitsAllSetMatchExpression
  • BitsAnyClearMatchExpression
  • BitsAnySetMatchExpression
  • ModMatchExpression
  • WhereMatchExpression


 Comments   
Comment by Githook User [ 25/Sep/23 ]

Author:

{'name': 'Lynne Wang', 'email': 'lynne.wang@mongodb.com', 'username': ''}

Message: SERVER-80917 Translate parameterized MatchExpression to ABT getParam function call for In, Size, and Comparison MatchExpressions

Fixed linting errors

Added cq header to unit_test_pipeline_utils

Added dependencies in scons for unit_test_pipeline_utils

Moved arrGuard to solely non-parameterized matchExpressions

Added std move to parameterized ME ABT result to eliminate unnecessary copying of result
Branch: master
https://github.com/mongodb/mongo/commit/e5b96bc152f8ee50d7a1bf4a949a76f72f89d65e

Comment by xgen-buildbaron-user [ 24/Sep/23 ]

Ticket re-opened due to revert. run_unittests began a consistent failure of build/install/bin/db_pipeline_test

Comment by Githook User [ 24/Sep/23 ]

Author:

{'name': 'auto-revert-processor', 'email': 'dev-prod-dag@mongodb.com', 'username': ''}

Message: Revert "SERVER-80917 Translate parameterized MatchExpression to ABT getParam function call for In, Size, and Comparison MatchExpressions"

This reverts commit ff2582beca852b941b442cc20e8f6356c4ecfb9f.
Branch: master
https://github.com/mongodb/mongo/commit/c029d3fb7bbd01bbd1650e15eddc3f329131160d

Comment by Githook User [ 23/Sep/23 ]

Author:

{'name': 'Lynne Wang', 'email': 'lynne.wang@mongodb.com', 'username': ''}

Message: SERVER-80917 Translate parameterized MatchExpression to ABT getParam function call for In, Size, and Comparison MatchExpressions

Fixed linting errors

Added cq header to unit_test_pipeline_utils

Added dependencies in scons for unit_test_pipeline_utils
Branch: master
https://github.com/mongodb/mongo/commit/ff2582beca852b941b442cc20e8f6356c4ecfb9f

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