From d92e62945420c0c3a4df1aeb3b8df800e3d8181d Mon Sep 17 00:00:00 2001 From: Eliot Horowitz Date: Tue, 12 Mar 2013 10:39:27 -0400 Subject: SERVER-8920: Add new fields to dbStats command for pdfile version --- jstests/stats.js | 11 +++++++++++ src/mongo/db/dbcommands.cpp | 8 ++++++++ 2 files changed, 19 insertions(+) diff --git a/jstests/stats.js b/jstests/stats.js index 26de644f02c..33c08686e83 100644 --- a/jstests/stats.js +++ b/jstests/stats.js @@ -7,3 +7,14 @@ t.save( { a : 1 } ); assert.lt( 0 , t.dataSize() , "A" ); assert.lt( t.dataSize() , t.storageSize() , "B" ); assert.lt( 0 , t.totalIndexSize() , "C" ); + +var stats = db.stats(); +assert.gt( stats.fileSize, 0 ); +assert.eq( stats.dataFileVersion.major, 4 ); +assert.eq( stats.dataFileVersion.minor, 5 ); + +db.getSiblingDB( "emptydatabase" ).dropDatabase(); +var statsEmptyDB = db.getSiblingDB( "emptydatabase" ).stats(); +assert.eq( statsEmptyDB.fileSize, 0 ); +assert.eq( {}, statsEmptyDB.dataFileVersion ); + diff --git a/src/mongo/db/dbcommands.cpp b/src/mongo/db/dbcommands.cpp index 045df983eb9..b06ff459847 100644 --- a/src/mongo/db/dbcommands.cpp +++ b/src/mongo/db/dbcommands.cpp @@ -1463,6 +1463,14 @@ namespace mongo { if( d ) result.appendNumber( "nsSizeMB", (int) d->namespaceIndex.fileLength() / 1024 / 1024 ); + BSONObjBuilder dataFileVersion( result.subobjStart( "dataFileVersion" ) ); + if ( d && !d->isEmpty() ) { + DataFileHeader* header = d->getFile( 0 )->getHeader(); + dataFileVersion.append( "major", header->version ); + dataFileVersion.append( "minor", header->versionMinor ); + } + dataFileVersion.done(); + return true; } } cmdDBStats; -- cgit v1.2.1