summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMathias Stearn <mathias@10gen.com>2010-03-01 14:03:29 -0500
committerMathias Stearn <mathias@10gen.com>2010-03-01 14:04:09 -0500
commit05de70c790644e51a5590725cd143124089b5eab (patch)
tree210d2fc7906f1af73adb396b8739fbb97b5ad85f
parent3112a2d0ec8335fea70bf4853c48ccd0b3e162c4 (diff)
downloadmongo-05de70c790644e51a5590725cd143124089b5eab.tar.gz
CSV import/export now supports spaces in field names SERVER-687
-rw-r--r--jstests/tool/csv1.js8
-rw-r--r--tools/tool.cpp2
2 files changed, 5 insertions, 5 deletions
diff --git a/jstests/tool/csv1.js b/jstests/tool/csv1.js
index 55aa4b473cd..c57767454f1 100644
--- a/jstests/tool/csv1.js
+++ b/jstests/tool/csv1.js
@@ -4,25 +4,25 @@ t = new ToolTest( "csv1" )
c = t.startDB( "foo" );
-base = { a : 1 , b : "foo,bar" , c: 5 };
+base = { a : 1 , b : "foo,bar" , c: 5, 'd d': 6 };
assert.eq( 0 , c.count() , "setup1" );
c.insert( base );
delete base._id
assert.eq( 1 , c.count() , "setup2" );
-t.runTool( "export" , "--out" , t.extFile , "-d" , t.baseName , "-c" , "foo" , "--csv" , "-f" , "a,b,c" )
+t.runTool( "export" , "--out" , t.extFile , "-d" , t.baseName , "-c" , "foo" , "--csv" , "-f" , "a,b,c,d d" )
c.drop()
assert.eq( 0 , c.count() , "after drop" )
-t.runTool( "import" , "--file" , t.extFile , "-d" , t.baseName , "-c" , "foo" , "--type" , "csv" , "-f" , "a,b,c" );
+t.runTool( "import" , "--file" , t.extFile , "-d" , t.baseName , "-c" , "foo" , "--type" , "csv" , "-f" , "a,b,c,d d" );
assert.soon( "2 == c.count()" , "restore 2" );
a = c.find().sort( { a : 1 } ).toArray();
delete a[0]._id
delete a[1]._id
-assert.eq( tojson( { a : "a" , b : "b" , c : "c" } ) , tojson( a[1] ) , "csv parse 1" );
+assert.eq( tojson( { a : "a" , b : "b" , c : "c" , 'd d': "d d"} ) , tojson( a[1] ) , "csv parse 1" );
assert.eq( tojson( base ) , tojson(a[0]) , "csv parse 0" )
c.drop()
diff --git a/tools/tool.cpp b/tools/tool.cpp
index 2e0cc6cd418..0dec5864601 100644
--- a/tools/tool.cpp
+++ b/tools/tool.cpp
@@ -212,7 +212,7 @@ namespace mongo {
pcrecpp::StringPiece input(fields_arg);
string f;
- pcrecpp::RE re("([\\w\\.]+),?" );
+ pcrecpp::RE re("([\\w\\.\\s]+),?" );
while ( re.Consume( &input, &f ) ){
_fields.push_back( f );
b.append( f.c_str() , 1 );