summaryrefslogtreecommitdiff
path: root/jstests/noPassthrough/resumable_index_build_drain_writes_phase.js
diff options
context:
space:
mode:
Diffstat (limited to 'jstests/noPassthrough/resumable_index_build_drain_writes_phase.js')
-rw-r--r--jstests/noPassthrough/resumable_index_build_drain_writes_phase.js18
1 files changed, 17 insertions, 1 deletions
diff --git a/jstests/noPassthrough/resumable_index_build_drain_writes_phase.js b/jstests/noPassthrough/resumable_index_build_drain_writes_phase.js
index 088759a3a81..bf70ffffb1c 100644
--- a/jstests/noPassthrough/resumable_index_build_drain_writes_phase.js
+++ b/jstests/noPassthrough/resumable_index_build_drain_writes_phase.js
@@ -12,6 +12,7 @@
"use strict";
load("jstests/noPassthrough/libs/index_build.js");
+load("jstests/libs/sbe_util.js"); // For checkSBEEnabled.
const dbName = "test";
@@ -19,6 +20,9 @@ const rst = new ReplSetTest({nodes: 1});
rst.startSet();
rst.initiate();
+const columnstoreEnabled = checkSBEEnabled(
+ rst.getPrimary().getDB(dbName), ["featureFlagColumnstoreIndexes", "featureFlagSbeFull"], true);
+
const runTests = function(docs, indexSpecsFlat, sideWrites, collNameSuffix) {
const coll = rst.getPrimary().getDB(dbName).getCollection(jsTestName() + collNameSuffix);
assert.commandWorked(coll.insert(docs));
@@ -53,6 +57,18 @@ runTests({a: 1},
[{"$**": 1}, {h: 1}],
[{a: [1, 2], b: {c: [3, 4]}, d: ""}, {e: "", f: [[]], g: null, h: 8}],
"_wildcard");
-
+if (columnstoreEnabled) {
+ runTests({a: 1},
+ [{"$**": "columnstore"}, {h: 1}],
+ (function(collection) {
+ assert.commandWorked(collection.insert([{a: [{c: 2}], b: 2}, {a: 3, b: 3}]));
+ assert.commandWorked(collection.update({a: 3}, {a: 4, b: 3}));
+ assert.commandWorked(collection.remove({"a.c": 2}));
+ assert.commandWorked(collection.insert({a: 4, b: 4}));
+ assert.commandWorked(collection.remove({b: 3}));
+ assert.commandWorked(collection.update({a: 4}, {a: 2}));
+ }),
+ "_columnstore");
+}
rst.stopSet();
})(); \ No newline at end of file