ct: don't clone every row when producing ct_times
#30123
+192
−82
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
In the previous impl, the split in the dataflow graph resulted in every row being cloned, just to be immediately thrown away. This is wasteful and potentially doubles the memory requirements. Instead use a custom 1-input 2-output operator (passing through the input).
While I'm in here, also resolve a TODO to switch the operators to extension traits on
Collection
.Touches https://github.com/MaterializeInc/database-issues/issues/8427
Motivation
Tips for reviewer
Definitely review with hide whitespace changes on
Checklist
$T ⇔ Proto$T
mapping (possibly in a backwards-incompatible way), then it is tagged with aT-proto
label.