diff options
Diffstat (limited to 'src/mongo/db/exec/sbe/values/value.cpp')
-rw-r--r-- | src/mongo/db/exec/sbe/values/value.cpp | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/src/mongo/db/exec/sbe/values/value.cpp b/src/mongo/db/exec/sbe/values/value.cpp index 0e2e19d08a5..8c7de0f1b8e 100644 --- a/src/mongo/db/exec/sbe/values/value.cpp +++ b/src/mongo/db/exec/sbe/values/value.cpp @@ -243,6 +243,11 @@ std::pair<TypeTags, Value> makeCopySortSpec(const SortSpec& ss) { return {TypeTags::sortSpec, ssCopy}; } +std::pair<TypeTags, Value> makeCopyCollator(const CollatorInterface& collator) { + auto collatorCopy = bitcastFrom<CollatorInterface*>(collator.clone().release()); + return {TypeTags::collator, collatorCopy}; +} + std::pair<TypeTags, Value> makeNewRecordId(int64_t rid) { auto val = bitcastFrom<RecordId*>(new RecordId(rid)); return {TypeTags::RecordId, val}; @@ -311,6 +316,9 @@ void releaseValue(TypeTags tag, Value val) noexcept { case TypeTags::sortSpec: delete getSortSpecView(val); break; + case TypeTags::collator: + delete getCollatorView(val); + break; default: break; } |