summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorShaun Verch <shaun.verch@10gen.com>2012-10-21 10:05:36 -0700
committerShaun Verch <shaun.verch@10gen.com>2012-11-21 17:26:27 -0800
commit7582d50b18dedef00b605f8a44cd11d267be540c (patch)
tree74e66fcf66975dbabe23cd129a72f5d763bcb7b7
parentfa64548884d610ebee36c52e75425117dcb4f512 (diff)
downloadmongo-7582d50b18dedef00b605f8a44cd11d267be540c.tar.gz
SERVER-7437 Fixed handling of timestamp object in jsonString
-rw-r--r--src/mongo/db/jsobj.cpp7
-rw-r--r--src/mongo/dbtests/jsontests.cpp6
2 files changed, 11 insertions, 2 deletions
diff --git a/src/mongo/db/jsobj.cpp b/src/mongo/db/jsobj.cpp
index 83c4482f27f..f8931a72d11 100644
--- a/src/mongo/db/jsobj.cpp
+++ b/src/mongo/db/jsobj.cpp
@@ -242,7 +242,12 @@ namespace mongo {
break;
case Timestamp:
- s << "{ \"t\" : " << timestampTime() << " , \"i\" : " << timestampInc() << " }";
+ if ( format == TenGen ) {
+ s << "Timestamp( " << ( timestampTime() / 1000 ) << ", " << timestampInc() << " )";
+ }
+ else {
+ s << "{ \"$timestamp\" : { \"t\" : " << ( timestampTime() / 1000 ) << ", \"i\" : " << timestampInc() << " } }";
+ }
break;
case MinKey:
diff --git a/src/mongo/dbtests/jsontests.cpp b/src/mongo/dbtests/jsontests.cpp
index 82e6963767d..a05c8d1a7df 100644
--- a/src/mongo/dbtests/jsontests.cpp
+++ b/src/mongo/dbtests/jsontests.cpp
@@ -357,7 +357,11 @@ namespace JsonTests {
BSONObjBuilder b;
b.appendTimestamp( "x" , 4000 , 10 );
BSONObj o = b.obj();
- ASSERT_EQUALS( "{ \"x\" : { \"t\" : 4000 , \"i\" : 10 } }" , o.jsonString() );
+ ASSERT_EQUALS( "{ \"x\" : { \"$timestamp\" : { \"t\" : 4, \"i\" : 10 } } }",
+ o.jsonString( Strict ) );
+ ASSERT_EQUALS( "{ \"x\" : { \"$timestamp\" : { \"t\" : 4, \"i\" : 10 } } }",
+ o.jsonString( JS ) );
+ ASSERT_EQUALS( "{ \"x\" : Timestamp( 4, 10 ) }", o.jsonString( TenGen ) );
}
};