301 Commits (90cadbe7f85814e49159493cea5e3f0d9d447edd)

Author SHA1 Message Date
rstam 90cadbe7f8 Added RawDocument property to the IndexInfo class. 14 years ago
rstam 1ef39f050e Implemented CSHARP-249. GetIndexes now returns GetIndexesResult. Use GetIndexes().RawDocuments if you still want the raw IEnumerable<BsonDocument> result. 14 years ago
rstam 4ba580c931 Implemented CSHARP-318. Added GetProfilingLevelResult, ProfilingLevel and SystemProfileInfo types. Added GetProfilingInfo, GetProfilingLevel and SetProfilingLevel to MongoDatabase. 14 years ago
rstam 4c152582c7 Implemented CSHARP-334. Added support for GeoHaystackSearch. 14 years ago
rstam 8c37a3c8fc Fixed CSHARP-333. Clear needs to set poolSize to 0. 14 years ago
rstam 09a18d657c Fixed CSHARP-325. Database names cannot contain any of the characters in Path.GetInvalidPathChars or Path.GetInvalidFileNameChars because database names end up being used as directory or file names. 14 years ago
rstam 548201f8de Fixed CSHARP-330. MongoGridFSSettings now inherits SafeMode settings from MongoDatabase. 14 years ago
rstam f0ee7a46ec Finished implementing CSHARP-320. Added support for jsMode option for MapReduce. 14 years ago
rstam c7849e6300 Partially implemented CSHARP-320. Added support for sharded output collections to MapReduce. 14 years ago
rstam bce82165ad Fixed CSHARP-328. Update now supports Query.Null (treated as equivalent to an empty QueryDocument, which is the same as {} in the mongo shell). 14 years ago
rstam 7793abf6e4 Implemented CSHARP-319. Added support for within polygon queries. 14 years ago
rstam ee99b3f299 Implemented CSHARP-316. Added support for ContinueOnError to InsertBatch. 14 years ago
rstam 85b0d3d4c5 Implemented CSHARP-317 (support j=true and w=mode SafeModes). SafeMode now has too many properties to be immutable, so it now only becomes immutable after Freeze is called, allowing easier initialization of SafeMode values. Added J and WMode properties to SafeMode. Replaced most calls to Freeze with calls to the new method FrozenCopy, which calls Freeze on a Copy instead of the original. Added new constructors to MongoDatabaseSettings and MongoCollectionSettings that allow inheriting values from the containing server and database (using a constructor instead of CreateDatabaseSettings and CreateCollectionSettings allows use of object initialization syntax). Added support for j=true and w=mode to MongoConnectionStringBuilder and MongoUrlBuilder. Added support for j=true and w=mode to GetLastError command created in MongoConnection.SendMessage. Added unit tests. 14 years ago
rstam f330084b9b Ignore exceptions when closing a connection. 14 years ago
rstam 868309d18a Fixed CSHARP-324. If server refuses to return buildInfo information when auth is on, the driver just sets it's BuildInfo property to null. See comments in the JIRA ticket for more information. 14 years ago
rstam 833b894a4b Further work on CSHARP-323. Don't let unhandled exceptions leave EnsureMinConnectionPoolSizeWorkItem. 14 years ago
rstam 8453358b46 Fixed CSHARP-323. Don't let unhandled exceptions leave TimerCallback. 14 years ago
sridharn be715ac14d Cleanup. Removed warning and fixed MonoDevelop compile issue 14 years ago
rstam 3c513a588a New draft of 1.2 release notes. Fixed a couple of unit tests for capped collections. 14 years ago
rstam fdd64387db Partial draft of v1.2 release notes (covers Bson library). 14 years ago
rstam 5778f994d4 More work on CSHARP-183, CSHARP-201, CSHARP-302, CSHARP-303. Added SequentialId property to MongoServer and MongoServerInstance to use in logging. Added new Disconnect*ing* MongoServerState. Changed ChooseServerInstance to make first attempt to find an instance using current state, and only call VerifyUnknownStates or Connect if first attempt fails. Changed InstanceStateChanged to handle new Disconnecting state. No longer try to start and stop the connection pool timer (there are too many edge cases); instead let the timer fire continuously but do nothing when Disconnected. 14 years ago
rstam c9ce8c1f16 Mostly completed work on CSHARP-183, CSHARP-201, CSHARP-302, CSHARP-303: improvements to replica set failover. In MongoServer: added VerifyState and VerifyUnknownStates, ChooseServerInstance now calls VerifyUnknownStates when server state is Unknown, InstanceStateChanged now knows about Unknown and handles starting and stopping the connection pool timer. In MongoServerInstance: now creates a single instance of connectionPool at constructor time (so it's never null and never replaced), added VerifyState, Connect now uses VerifyState. In MongoServerState: added Unknown state. In MongoConnection: removed Damaged from MongoConnectionState, added generationId. In MongoConnectionPool: removed closed and added generationId, added inTimerCallback, timer is now started and stopped by MongoServer, Clear closes all connections and increments the generationId, renamed CreateInitialConnectionsWorkItem to EnsureMinConnectionPoolSizeWorkItem and now queue it from the timer rather than from the constructor, TimerCallback now calls VerifyState to discover when offline replica set members come back online. Initial testing looks good but more testing is required. 14 years ago
rstam f1554daa79 Implemented CSHARP-307. Insert, InsertBatch and Save now throw a more appropriate exception when passed a null document. 14 years ago
rstam 673b2bdfd2 Fixed CSHARP-306. Index on fs.chunks is now unique. 14 years ago
rstam e1f5a61473 Forgot to add two new files before previous commit. 14 years ago
rstam efee416eb8 New implementation for CSHARP-216 that avoids ambiguities between overloads. 14 years ago
rstam b5a3ef9bc1 When Ping is called and MongoServer is connected to a replica set, Ping now pings all members of the replica set one at a time, instead of just the Primary. Also added a Ping method to MongoServerInstance, so individual instances can be pinged if desired. 14 years ago
rstam 72ee5e8c79 Partial fix for CSHARP-302. The default action now when there is an exception on a connection is to discard only that connection instead of the whole connection pool, preventing a Connect/Disconnect storm. Also made Disconnect synchronous so it should no longer be possible to open new connections faster than old ones are being closed. 14 years ago
rstam 186e2e7a1c Implemented CSHARP-292. The static method Update.Combine combines a variable number of UpdateBuilders into one single new UpdateBuilder. The instance method UpdateBuilder.Combine combines one other UpdateBuilder into an existing UpdateBuilder. 14 years ago
rstam bdc8a07a41 Implemented CSHARP-299. Added QueryResult property to MongoQueryException. Couldn't figure out an easy way to unit test this (how do you make a query fail?). 14 years ago
rstam 3b872aeeb9 Implemented CSHARP-295. SetMaxDocuments now takes a long. Added some unit tests. 14 years ago
rstam 53a58fb503 Further work on CSHARP-283. Added BsonArray overloads to resolve ambiguity of BsonArray arguments with IEnumerable<BsonValue> and params BsonValue[] overloads. Improved doc comments for Query and Update builders. 14 years ago
rstam 461eee8337 Fixed CSHARP-290. Added back the IDictionary<string, object> overloads, but also added Dictionary<string, object> overloads to resolve the ambiguity when passing a Dictionary<string, object> value as an argument. Less common ambiguities (with classes like SortedDictionary and SortedList) still have to be resolved by the user with a cast. 14 years ago
rstam befe38a710 Merged CSHARP-297 pull request from Brian Knight with minor tweak. Added additional unit test. 14 years ago
Brian Knight 23375b767c Fixed CSHARP-297. Implemented IsCapped method on MongoDB.Driver.MongoCollection and added Capped property to MongoDB.Driver.CollectionStatsResult. MongoCollectionTests updated with an online test. 14 years ago
rstam 11acfb51cf Implemented CSHARP-202 (see ConnectWaitFor added in earlier commit). This commit improves error messages when Connect fails (for both DirectConnector and ReplicaSetConnector). 14 years ago
rstam 1fa7d1d566 Wrestling with replica set failover. Probably still needs more testing. Added waitFor parameter to Connect to specify what to wait for when connecting to a replica set. Added connectionAttempt counter to MongoServer. Changed how current primary is tracked in MongoServer. Added new ConnectedToSubset value to MongoServerState. 14 years ago
rstam af18bec317 Changed when MongoServerInstances are created. They are now created as soon as MongoServer is created (with a State of Disconnected). For a direct connection, a single MongoServerInstance is created. For a replica set, a MongoServerInstance is created for each server on the seed list, and the set is adjusted as necessary when we actually connect to the replica set. This change means that the Instances property is never null, so client code doesn't have to special case for null. 14 years ago
rstam cc956a9336 Second attempt at CSHARP-268. Since MongoServer state changes in response to events raised on multiple threads (when using replica sets) we need a second lower level stateLock to synchronize state changes. Note to self: be careful with commits after 1am... 14 years ago
rstam 3a615683c9 This reverts commit cc86db54b6. 14 years ago
rstam cc85db54b6 Fixed CSHARP-268. Added locking to MongoServerInstance to make it thread safe. Simplified locking in MongoServer by using just one lock (multiple locks were confusing and had the potential for deadlock). 14 years ago
rstam 313c6532dc Potential resolution to CSHARP-283. Ambiguity between overloads is intentional, reflecting the inherent dual role of a BsonArray (it is both a BsonValue and an IEnumerable<BsonValue>). The user can either use a cast to resolve the ambiguity, or use a different data type like List<BsonValue> which doesn't have the ambiguity. Also changed Query.All, .In and .NotIn to match AddToSetEach (might break some code but easily fixed). The JIRA ticket will be left open for a few days for further comments from anyone interested. 14 years ago
rstam 94208aafcb Fixed CSHARP-290. Removed overloads with an IDictionary<string, object> parameter leaving the one with the non-generic IDictionary parameter. The overload with the non-generic IDictionary parameter can also take Dictionary<string, object> argument values and will do the right thing with them. This removes the ambiguity caused by having both overloads. 14 years ago
rstam b8f5c0a1ee Fixed CSHARP-280. Removed IEnumerable<object> overloads that were ambiguous with IEnumerable overloads. Replaced a few other IEnumerable<object> with IEnumerable to be Powershell friendly in those cases also. 14 years ago
rstam 8d599e4ef8 Implemented CSHARP-271. When Connect is called for the primary only immediately start creating connections on a background thread until MinConnectionPoolSize is reached. 14 years ago
rstam 767f1880aa Implemented CSHARP-282. MongoCollection.Update now throws an ArgumentException if called with an empty UpdateBuilder. 14 years ago
rstam a5801a30ad Fixed CSHARP-287. Changed MongoGridFSStream.OpenCreate to use the fileInfo.Id value if it is provided (instead of throwing an exception). 14 years ago
rstam 92be4a63bb Implemented CSHARP-286. Added support for dropTarget to RenameCollection. Taken with minor changes from a pull request by Dow Liu. 14 years ago
rstam 3b4b45f66c Fixed CSHARP-281. Implementations of PopFirst and PopLast were reversed. This is a breaking change if you had compensated for the bug by calling the opposite method. 14 years ago
Red Forks 755a7ea446 add dropTarget arg to RenameCollection() 14 years ago