diff options
author | Eliot Horowitz <eliot@10gen.com> | 2013-03-12 10:39:27 -0400 |
---|---|---|
committer | Dan Pasette <dan@10gen.com> | 2013-03-12 11:12:39 -0400 |
commit | d92e62945420c0c3a4df1aeb3b8df800e3d8181d (patch) | |
tree | 6036ab34a619017e4084170d1a0d9f1c466a1c06 | |
parent | bb2313f4204203b8289546151d475f5d3b247511 (diff) | |
download | mongo-d92e62945420c0c3a4df1aeb3b8df800e3d8181d.tar.gz |
SERVER-8920: Add new fields to dbStats command for pdfile version
-rw-r--r-- | jstests/stats.js | 11 | ||||
-rw-r--r-- | src/mongo/db/dbcommands.cpp | 8 |
2 files changed, 19 insertions, 0 deletions
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; |