[SERVER-56740] Use SBE RuntimeEnvironment as a constant pool Created: 07/May/21  Updated: 06/Dec/22

Status: Backlog
Project: Core Server
Component/s: None
Affects Version/s: None
Fix Version/s: None

Type: Task Priority: Major - P3
Reporter: Anton Korshunov Assignee: Backlog - Query Execution
Resolution: Unresolved Votes: 0
Labels: sbe-post-v1
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Assigned Teams:
Query Execution
Participants:

 Description   

By design, the sbe::EConstant expression owns the constant value it holds. It means that whenever we need to create two instances sbe::EConstant holding the same constant value, we will have to make two copies of this value. It could quickly become impractical when these constants are large objects (long strings, large arrays or documents). 

Instead of creating multiple copies we should create just one and use it in the plan. This can be achieved by placing all constants into the RuntimeEnvironment and use it as a constant pool.


Generated at Thu Feb 08 05:40:05 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.