[SERVER-83327] Extend vectorizer to handle "fail" function Created: 16/Nov/23 Updated: 18/Jan/24 Resolved: 18/Jan/24 |
|
| Status: | Closed |
| Project: | Core Server |
| Component/s: | None |
| Affects Version/s: | None |
| Fix Version/s: | 7.3.0-rc0 |
| Type: | Task | Priority: | Major - P3 |
| Reporter: | Alberto Massari | Assignee: | Alberto Massari |
| Resolution: | Fixed | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Issue Links: |
|
||||||||||||||||||||
| Assigned Teams: |
Query Execution
|
||||||||||||||||||||
| Backwards Compatibility: | Fully Compatible | ||||||||||||||||||||
| Sprint: | QE 2024-01-22 | ||||||||||||||||||||
| Participants: | |||||||||||||||||||||
| Description |
|
The "fail" function is used to abort the processing when the value being examined is incompatible with the operation being performed. It doesn't return any value, so there should not be a vectorized counterpart. The vectorizer should translate it using an expression if (valueBlockAny(current_mask, true)) fail(...) else valueBlockNew(Nothing, valueBlockSize(current_mask)) if there is an active mask. The error would be thrown whenever at least one item is supposed to be processed by the fail() instruction. |
| Comments |
| Comment by Githook User [ 18/Jan/24 ] |
|
Author: {'name': 'Alberto Massari', 'email': 'alberto.massari@mongodb.com', 'username': 'albymassari'}Message: GitOrigin-RevId: cf6cd32ff0251c25541b17cf01afc2c3a7abcca8 |