diff options
| author | Laszlo Boszormenyi (GCS) <gcs@debian.org> | 2013-10-18 10:31:13 +0200 |
|---|---|---|
| committer | Laszlo Boszormenyi (GCS) <gcs@debian.org> | 2013-10-18 10:31:13 +0200 |
| commit | 65585c90b12d6523bea75a2aebaae2a2fdf9e641 (patch) | |
| tree | ccb3081edfe67f988844af661a2bf93aa95ae09f /src/mongo/shell | |
| parent | e3904bf97e74cbbe5dde6b3abc3e797ad7d26b5d (diff) | |
Imported Upstream version 2.4.6upstream/2.4.6
Diffstat (limited to 'src/mongo/shell')
| -rw-r--r-- | src/mongo/shell/dbshell.cpp | 6 | ||||
| -rw-r--r-- | src/mongo/shell/mongo.js | 64 | ||||
| -rwxr-xr-x | src/mongo/shell/mongo.vcxproj | 18 | ||||
| -rw-r--r-- | src/mongo/shell/mongo.vcxproj.filters | 30 | ||||
| -rw-r--r-- | src/mongo/shell/mongo_sm.vcxproj | 18 | ||||
| -rw-r--r-- | src/mongo/shell/mongo_sm.vcxproj.filters | 30 |
6 files changed, 144 insertions, 22 deletions
diff --git a/src/mongo/shell/dbshell.cpp b/src/mongo/shell/dbshell.cpp index 4d71d2b8d19..5934e862076 100644 --- a/src/mongo/shell/dbshell.cpp +++ b/src/mongo/shell/dbshell.cpp @@ -1043,10 +1043,6 @@ int _main( int argc, char* argv[], char **envp ) { #ifdef _WIN32 int wmain( int argc, wchar_t* argvW[] ) { static mongo::StaticObserver staticObserver; - UINT initialConsoleInputCodePage = GetConsoleCP(); - UINT initialConsoleOutputCodePage = GetConsoleOutputCP(); - SetConsoleCP( CP_UTF8 ); - SetConsoleOutputCP( CP_UTF8 ); int returnCode; try { WindowsCommandLine wcl( argc, argvW ); @@ -1056,8 +1052,6 @@ int wmain( int argc, wchar_t* argvW[] ) { cerr << "exception: " << e.what() << endl; returnCode = 1; } - SetConsoleCP( initialConsoleInputCodePage ); - SetConsoleOutputCP( initialConsoleOutputCodePage ); ::_exit(returnCode); } #else // #ifdef _WIN32 diff --git a/src/mongo/shell/mongo.js b/src/mongo/shell/mongo.js index e4786a7cc17..2f3667f53f3 100644 --- a/src/mongo/shell/mongo.js +++ b/src/mongo/shell/mongo.js @@ -98,26 +98,58 @@ Mongo.prototype.getReadPrefTagSet = function () { return this._readPrefTagSet; }; -connect = function( url , user , pass ){ - chatty( "connecting to: " + url ) - - if ( user && ! pass ) - throw "you specified a user and not a password. either you need a password, or you're using the old connect api"; +connect = function(url, user, pass) { + if (user && !pass) + throw Error("you specified a user and not a password. " + + "either you need a password, or you're using the old connect api"); + + // Validate connection string "url" as "hostName:portNumber/databaseName" + // or "hostName/databaseName" + // or "databaseName" + // hostName may be an IPv6 address (with colons), in which case ":portNumber" is required + // + var urlType = typeof url; + if (urlType == "undefined") { + throw Error("Missing connection string"); + } + if (urlType != "string") { + throw Error("Incorrect type \"" + urlType + + "\" for connection string \"" + tojson(url) + "\""); + } + url = url.trim(); + if (0 == url.length) { + throw Error("Empty connection string"); + } + var colon = url.lastIndexOf(":"); + var slash = url.lastIndexOf("/"); + if (0 == colon || 0 == slash) { + throw Error("Missing host name in connection string \"" + url + "\""); + } + if (colon == slash - 1 || colon == url.length - 1) { + throw Error("Missing port number in connection string \"" + url + "\""); + } + if (colon != -1 && colon < slash) { + var portNumber = url.substring(colon + 1, slash); + if (portNumber.length > 5 || !/^\d*$/.test(portNumber) || parseInt(portNumber) > 65535) { + throw Error("Invalid port number \"" + portNumber + + "\" in connection string \"" + url + "\""); + } + } + if (slash == url.length - 1) { + throw Error("Missing database name in connection string \"" + url + "\""); + } - var idx = url.lastIndexOf( "/" ); - + chatty("connecting to: " + url) var db; - - if ( idx < 0 ) - db = new Mongo().getDB( url ); + if (slash == -1) + db = new Mongo().getDB(url); else - db = new Mongo( url.substring( 0 , idx ) ).getDB( url.substring( idx + 1 ) ); - - if ( user && pass ){ - if ( ! db.auth( user , pass ) ){ - throw "couldn't login"; + db = new Mongo(url.substring(0, slash)).getDB(url.substring(slash + 1)); + + if (user && pass) { + if (!db.auth(user, pass)) { + throw Error("couldn't login"); } } - return db; } diff --git a/src/mongo/shell/mongo.vcxproj b/src/mongo/shell/mongo.vcxproj index 48bc5625c62..219f43e2488 100755 --- a/src/mongo/shell/mongo.vcxproj +++ b/src/mongo/shell/mongo.vcxproj @@ -382,6 +382,16 @@ cscript //Nologo "$(ProjectDir)..\shell\createCPPfromJavaScriptFiles.js" "$(Proj </PreBuildEvent>
</ItemDefinitionGroup>
<ItemGroup>
+ <ClCompile Include="..\..\third_party\murmurhash3\MurmurHash3.cpp">
+ <DisableSpecificWarnings Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">4355;4800;4267;4244;4351;4141</DisableSpecificWarnings>
+ <DisableSpecificWarnings Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">4355;4800;4267;4244;4351;4141</DisableSpecificWarnings>
+ <DisableSpecificWarnings Condition="'$(Configuration)|$(Platform)'=='Win2008PlusDebug|Win32'">4355;4800;4267;4244;4351;4141</DisableSpecificWarnings>
+ <DisableSpecificWarnings Condition="'$(Configuration)|$(Platform)'=='Win2008PlusRelease|Win32'">4355;4800;4267;4244;4351;4141</DisableSpecificWarnings>
+ <DisableSpecificWarnings Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">4355;4800;4267;4244;4351;4141</DisableSpecificWarnings>
+ <DisableSpecificWarnings Condition="'$(Configuration)|$(Platform)'=='Release|x64'">4355;4800;4267;4244;4351;4141</DisableSpecificWarnings>
+ <DisableSpecificWarnings Condition="'$(Configuration)|$(Platform)'=='Win2008PlusDebug|x64'">4355;4800;4267;4244;4351;4141</DisableSpecificWarnings>
+ <DisableSpecificWarnings Condition="'$(Configuration)|$(Platform)'=='Win2008PlusRelease|x64'">4355;4800;4267;4244;4351;4141</DisableSpecificWarnings>
+ </ClCompile>
<ClCompile Include="..\..\third_party\v8\src\experimental-libraries.cc">
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\..\third_party\v8\src</AdditionalIncludeDirectories>
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\..\third_party\v8\src</AdditionalIncludeDirectories>
@@ -1074,7 +1084,10 @@ cscript //Nologo "$(ProjectDir)..\shell\createCPPfromJavaScriptFiles.js" "$(Proj <ClCompile Include="..\client\connection_factory.cpp" />
<ClCompile Include="..\client\sasl_client_authenticate.cpp" />
<ClCompile Include="..\db\dbmessage.cpp" />
+ <ClCompile Include="..\platform\backtrace.cpp" />
+ <ClCompile Include="..\platform\posix_fadvise.cpp" />
<ClCompile Include="..\platform\random.cpp" />
+ <ClCompile Include="..\platform\strcasestr.cpp" />
<ClCompile Include="..\scripting\bson_template_evaluator.cpp" />
<ClCompile Include="..\scripting\bson_template_evaluator_test.cpp">
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
@@ -1271,6 +1284,7 @@ cscript //Nologo "$(ProjectDir)..\shell\createCPPfromJavaScriptFiles.js" "$(Proj <ClCompile Include="shell_utils_launcher.cpp" />
</ItemGroup>
<ItemGroup>
+ <None Include="..\..\third_party\murmurhash3\SConscript" />
<None Include="..\..\third_party\run_if_newer.js" />
<None Include="..\..\third_party\v8\ChangeLog" />
<None Include="..\..\third_party\v8\ChangeLog_10gen" />
@@ -1309,6 +1323,7 @@ cscript //Nologo "$(ProjectDir)..\shell\createCPPfromJavaScriptFiles.js" "$(Proj <None Include="utils_sh.js" />
</ItemGroup>
<ItemGroup>
+ <ClInclude Include="..\..\third_party\murmurhash3\MurmurHash3.h" />
<ClInclude Include="..\..\third_party\v8\include\v8-debug.h" />
<ClInclude Include="..\..\third_party\v8\include\v8-preparser.h" />
<ClInclude Include="..\..\third_party\v8\include\v8-profiler.h" />
@@ -1639,13 +1654,16 @@ cscript //Nologo "$(ProjectDir)..\shell\createCPPfromJavaScriptFiles.js" "$(Proj <ClInclude Include="..\platform\atomic_intrinsics.h" />
<ClInclude Include="..\platform\atomic_intrinsics_win32.h" />
<ClInclude Include="..\platform\atomic_word.h" />
+ <ClInclude Include="..\platform\backtrace.h" />
<ClInclude Include="..\platform\basic.h" />
<ClInclude Include="..\platform\bits.h" />
<ClInclude Include="..\platform\compiler.h" />
<ClInclude Include="..\platform\compiler_msvc.h" />
<ClInclude Include="..\platform\cstdint.h" />
<ClInclude Include="..\platform\float_utils.h" />
+ <ClInclude Include="..\platform\posix_fadvise.h" />
<ClInclude Include="..\platform\random.h" />
+ <ClInclude Include="..\platform\strcasestr.h" />
<ClInclude Include="..\platform\strtoll.h" />
<ClInclude Include="..\platform\unordered_map.h" />
<ClInclude Include="..\platform\unordered_set.h" />
diff --git a/src/mongo/shell/mongo.vcxproj.filters b/src/mongo/shell/mongo.vcxproj.filters index 0af752a3e3b..4f0661b84e3 100644 --- a/src/mongo/shell/mongo.vcxproj.filters +++ b/src/mongo/shell/mongo.vcxproj.filters @@ -158,6 +158,9 @@ <Filter Include="JavaScript source files\Included in shell only">
<UniqueIdentifier>{0d7ccbd5-b4e4-4e57-ae0b-b4a80a6fa6bb}</UniqueIdentifier>
</Filter>
+ <Filter Include="third_party\MurmurHash3">
+ <UniqueIdentifier>{5ced80f0-4dce-421a-ba59-1b338973dd97}</UniqueIdentifier>
+ </Filter>
</ItemGroup>
<ItemGroup>
<ClCompile Include="..\scripting\engine.cpp">
@@ -1016,6 +1019,18 @@ <ClCompile Include="..\client\sasl_client_authenticate.cpp">
<Filter>client</Filter>
</ClCompile>
+ <ClCompile Include="..\..\third_party\murmurhash3\MurmurHash3.cpp">
+ <Filter>third_party\MurmurHash3</Filter>
+ </ClCompile>
+ <ClCompile Include="..\platform\strcasestr.cpp">
+ <Filter>platform</Filter>
+ </ClCompile>
+ <ClCompile Include="..\platform\backtrace.cpp">
+ <Filter>platform</Filter>
+ </ClCompile>
+ <ClCompile Include="..\platform\posix_fadvise.cpp">
+ <Filter>platform</Filter>
+ </ClCompile>
</ItemGroup>
<ItemGroup>
<None Include="..\..\third_party\v8\src\apinatives.js">
@@ -1126,6 +1141,9 @@ <None Include="types.js">
<Filter>JavaScript source files\Included in all executables</Filter>
</None>
+ <None Include="..\..\third_party\murmurhash3\SConscript">
+ <Filter>third_party\MurmurHash3</Filter>
+ </None>
</ItemGroup>
<ItemGroup>
<ClInclude Include="..\pch.h" />
@@ -2387,6 +2405,18 @@ <ClInclude Include="..\client\sasl_client_authenticate.h">
<Filter>client</Filter>
</ClInclude>
+ <ClInclude Include="..\..\third_party\murmurhash3\MurmurHash3.h">
+ <Filter>third_party\MurmurHash3</Filter>
+ </ClInclude>
+ <ClInclude Include="..\platform\strcasestr.h">
+ <Filter>platform</Filter>
+ </ClInclude>
+ <ClInclude Include="..\platform\backtrace.h">
+ <Filter>platform</Filter>
+ </ClInclude>
+ <ClInclude Include="..\platform\posix_fadvise.h">
+ <Filter>platform</Filter>
+ </ClInclude>
</ItemGroup>
<ItemGroup>
<ResourceCompile Include="..\db\db.rc">
diff --git a/src/mongo/shell/mongo_sm.vcxproj b/src/mongo/shell/mongo_sm.vcxproj index 0f2bd65b5b8..82381afe47b 100644 --- a/src/mongo/shell/mongo_sm.vcxproj +++ b/src/mongo/shell/mongo_sm.vcxproj @@ -876,6 +876,16 @@ cscript //Nologo "$(ProjectDir)..\shell\createCPPfromJavaScriptFiles.js" "$(Proj <DisableSpecificWarnings Condition="'$(Configuration)|$(Platform)'=='Win2008PlusDebug|x64'">4355;4800;4267;4244;4334</DisableSpecificWarnings>
<DisableSpecificWarnings Condition="'$(Configuration)|$(Platform)'=='Win2008PlusRelease|x64'">4355;4800;4267;4244;4334</DisableSpecificWarnings>
</ClCompile>
+ <ClCompile Include="..\..\third_party\murmurhash3\MurmurHash3.cpp">
+ <DisableSpecificWarnings Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">4355;4800;4267;4244;4141</DisableSpecificWarnings>
+ <DisableSpecificWarnings Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">4355;4800;4267;4244;4141</DisableSpecificWarnings>
+ <DisableSpecificWarnings Condition="'$(Configuration)|$(Platform)'=='Win2008PlusDebug|Win32'">4355;4800;4267;4244;4141</DisableSpecificWarnings>
+ <DisableSpecificWarnings Condition="'$(Configuration)|$(Platform)'=='Win2008PlusRelease|Win32'">4355;4800;4267;4244;4141</DisableSpecificWarnings>
+ <DisableSpecificWarnings Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">4355;4800;4267;4244;4141</DisableSpecificWarnings>
+ <DisableSpecificWarnings Condition="'$(Configuration)|$(Platform)'=='Release|x64'">4355;4800;4267;4244;4141</DisableSpecificWarnings>
+ <DisableSpecificWarnings Condition="'$(Configuration)|$(Platform)'=='Win2008PlusDebug|x64'">4355;4800;4267;4244;4141</DisableSpecificWarnings>
+ <DisableSpecificWarnings Condition="'$(Configuration)|$(Platform)'=='Win2008PlusRelease|x64'">4355;4800;4267;4244;4141</DisableSpecificWarnings>
+ </ClCompile>
<ClCompile Include="..\base\configuration_variable_manager.cpp" />
<ClCompile Include="..\base\error_codes.cpp" />
<ClCompile Include="..\base\global_initializer.cpp" />
@@ -897,7 +907,10 @@ cscript //Nologo "$(ProjectDir)..\shell\createCPPfromJavaScriptFiles.js" "$(Proj <ClCompile Include="..\client\connection_factory.cpp" />
<ClCompile Include="..\client\sasl_client_authenticate.cpp" />
<ClCompile Include="..\db\dbmessage.cpp" />
+ <ClCompile Include="..\platform\backtrace.cpp" />
+ <ClCompile Include="..\platform\posix_fadvise.cpp" />
<ClCompile Include="..\platform\random.cpp" />
+ <ClCompile Include="..\platform\strcasestr.cpp" />
<ClCompile Include="..\scripting\bson_template_evaluator.cpp" />
<ClCompile Include="..\scripting\bson_template_evaluator_test.cpp">
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
@@ -1114,6 +1127,7 @@ cscript //Nologo "$(ProjectDir)..\shell\createCPPfromJavaScriptFiles.js" "$(Proj <ItemGroup>
<None Include="..\..\third_party\js-1.7\jskeyword.tbl" />
<None Include="..\..\third_party\js-1.7\jsopcode.tbl" />
+ <None Include="..\..\third_party\murmurhash3\SConscript" />
<None Include="..\base\error_codes.err" />
<None Include="..\base\generate_error_codes.py" />
<None Include="assert.js" />
@@ -1180,6 +1194,7 @@ cscript //Nologo "$(ProjectDir)..\shell\createCPPfromJavaScriptFiles.js" "$(Proj <ClInclude Include="..\..\third_party\js-1.7\jsxml.h" />
<ClInclude Include="..\..\third_party\js-1.7\prmjtime.h" />
<ClInclude Include="..\..\third_party\js-1.7\resource.h" />
+ <ClInclude Include="..\..\third_party\murmurhash3\MurmurHash3.h" />
<ClInclude Include="..\base\configuration_variable_manager.h" />
<ClInclude Include="..\base\counter.h" />
<ClInclude Include="..\base\disallow_copying.h" />
@@ -1211,13 +1226,16 @@ cscript //Nologo "$(ProjectDir)..\shell\createCPPfromJavaScriptFiles.js" "$(Proj <ClInclude Include="..\platform\atomic_intrinsics.h" />
<ClInclude Include="..\platform\atomic_intrinsics_win32.h" />
<ClInclude Include="..\platform\atomic_word.h" />
+ <ClInclude Include="..\platform\backtrace.h" />
<ClInclude Include="..\platform\basic.h" />
<ClInclude Include="..\platform\bits.h" />
<ClInclude Include="..\platform\compiler.h" />
<ClInclude Include="..\platform\compiler_msvc.h" />
<ClInclude Include="..\platform\cstdint.h" />
<ClInclude Include="..\platform\float_utils.h" />
+ <ClInclude Include="..\platform\posix_fadvise.h" />
<ClInclude Include="..\platform\random.h" />
+ <ClInclude Include="..\platform\strcasestr.h" />
<ClInclude Include="..\platform\strtoll.h" />
<ClInclude Include="..\platform\unordered_map.h" />
<ClInclude Include="..\platform\unordered_set.h" />
diff --git a/src/mongo/shell/mongo_sm.vcxproj.filters b/src/mongo/shell/mongo_sm.vcxproj.filters index 1c015105890..33678d8fb74 100644 --- a/src/mongo/shell/mongo_sm.vcxproj.filters +++ b/src/mongo/shell/mongo_sm.vcxproj.filters @@ -104,6 +104,9 @@ <Filter Include="JavaScript source files\Included in shell only">
<UniqueIdentifier>{283d932c-5594-47a6-9b1b-8f5af53c0337}</UniqueIdentifier>
</Filter>
+ <Filter Include="third_party\MurmurHash3">
+ <UniqueIdentifier>{a07219b6-a351-468a-a705-2b691500c617}</UniqueIdentifier>
+ </Filter>
</ItemGroup>
<ItemGroup>
<ClCompile Include="..\scripting\engine.cpp">
@@ -623,6 +626,18 @@ <ClCompile Include="..\client\sasl_client_authenticate.cpp">
<Filter>client</Filter>
</ClCompile>
+ <ClCompile Include="..\platform\strcasestr.cpp">
+ <Filter>platform</Filter>
+ </ClCompile>
+ <ClCompile Include="..\..\third_party\murmurhash3\MurmurHash3.cpp">
+ <Filter>third_party\MurmurHash3</Filter>
+ </ClCompile>
+ <ClCompile Include="..\platform\backtrace.cpp">
+ <Filter>platform</Filter>
+ </ClCompile>
+ <ClCompile Include="..\platform\posix_fadvise.cpp">
+ <Filter>platform</Filter>
+ </ClCompile>
</ItemGroup>
<ItemGroup>
<None Include="..\..\third_party\js-1.7\jskeyword.tbl">
@@ -679,6 +694,9 @@ <None Include="utils.js">
<Filter>JavaScript source files\Included in all executables</Filter>
</None>
+ <None Include="..\..\third_party\murmurhash3\SConscript">
+ <Filter>third_party\MurmurHash3</Filter>
+ </None>
</ItemGroup>
<ItemGroup>
<ClInclude Include="..\pch.h" />
@@ -1454,6 +1472,18 @@ <ClInclude Include="..\client\sasl_client_authenticate.h">
<Filter>client</Filter>
</ClInclude>
+ <ClInclude Include="..\platform\strcasestr.h">
+ <Filter>platform</Filter>
+ </ClInclude>
+ <ClInclude Include="..\..\third_party\murmurhash3\MurmurHash3.h">
+ <Filter>third_party\MurmurHash3</Filter>
+ </ClInclude>
+ <ClInclude Include="..\platform\backtrace.h">
+ <Filter>platform</Filter>
+ </ClInclude>
+ <ClInclude Include="..\platform\posix_fadvise.h">
+ <Filter>platform</Filter>
+ </ClInclude>
</ItemGroup>
<ItemGroup>
<ResourceCompile Include="..\db\db.rc">
|
