summaryrefslogtreecommitdiff
path: root/src/mongo/db/storage/wiredtiger/wiredtiger_column_store.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mongo/db/storage/wiredtiger/wiredtiger_column_store.cpp')
-rw-r--r--src/mongo/db/storage/wiredtiger/wiredtiger_column_store.cpp17
1 files changed, 13 insertions, 4 deletions
diff --git a/src/mongo/db/storage/wiredtiger/wiredtiger_column_store.cpp b/src/mongo/db/storage/wiredtiger/wiredtiger_column_store.cpp
index 1f034c86e26..1a31948a00e 100644
--- a/src/mongo/db/storage/wiredtiger/wiredtiger_column_store.cpp
+++ b/src/mongo/db/storage/wiredtiger/wiredtiger_column_store.cpp
@@ -39,7 +39,6 @@
#define MONGO_LOGV2_DEFAULT_COMPONENT ::mongo::logv2::LogComponent::kStorage
-
namespace mongo {
StatusWith<std::string> WiredTigerColumnStore::generateCreateString(
const std::string& engineName,
@@ -218,9 +217,19 @@ void WiredTigerColumnStore::WriteCursor::update(PathView path, RowId rid, CellVi
void WiredTigerColumnStore::fullValidate(OperationContext* opCtx,
int64_t* numKeysOut,
IndexValidateResults* fullResults) const {
- // TODO SERVER-65484: Validation for column indexes.
- // uasserted(ErrorCodes::NotImplemented, "WiredTigerColumnStore::fullValidate()");
- return;
+ dassert(opCtx->lockState()->isReadLocked());
+ if (!WiredTigerIndexUtil::validateStructure(opCtx, _uri, fullResults)) {
+ return;
+ }
+ auto cursor = newCursor(opCtx);
+ long long count = 0;
+
+ while (cursor->next()) {
+ count++;
+ }
+ if (numKeysOut) {
+ *numKeysOut = count;
+ }
}
class WiredTigerColumnStore::Cursor final : public ColumnStore::Cursor,