4 Commits (92ff7e8757a513cd7defcb5e156e82f8c29bfd96)

Author SHA1 Message Date
rstam 4b01b9c37d Moved connection logic out of MongoServer and into DirectConnector and ReplicaSetConnector. The connection logic is now different for direct connections and connections to replica sets. 15 years ago
rstam b6bb2d3bbf MongoUrl is now immutable. Added MongoUrlBuilder. Removed MongoConnectionSettings (replaced by immutable MongoUrl). MongoUrl is now identity of MongoServer objects. Cache MongoUrls to avoid repeating URL parsing. 15 years ago
rstam ffc11dc220 Added solution files for Visual Studio 2008 and 2010 (they share the same set of project files). 15 years ago
rstam 3900d3f0db Renamed MongoDB.BsonLibrary namespace to MongoDB.Bson and MongoDB.CSharpDriver to MongoDB.Driver (Library was redundant and VB users might not want to see CSharp in the namespace). Renamed Bson static class BsonConstants (because it a class can't have the same name as the namespace it is in). 15 years ago
rstam 3082b0f11a Implemented MongoDBRef class and FetchAs methods in MongoServer and MongoDatabase. Unit tests to follow in a new solution (CSharpDriverLocalhostTests). 15 years ago
rstam 26144f376d Added [Serializable] attribute to classes where serialization makes sense. Fixed DropIndex to use name and not FullName. 15 years ago
rstam 0fb63e9bcc Set AssemblyVersion to 0.5.0.1001. Modified Setup to include license text and install a shortcut to the tutorial in the Start Menu. Created setup and zip file distribution packages. 15 years ago
rstam 635e27022c Minor naming improvements. Fixed AssemblyInfo. Support assigning _id on insert when document type is not BsonDocument. 15 years ago
rstam d8821f95e9 Added UpdateBuilder and unit tests. 15 years ago
rstam 95ffaedae4 Implemented MapReduceOptionsBuilder. Refactored and reduced the number of overloads of MapReduce in MongoCollection and added a generic options parameter to some overloads. Found a few places where a BsonDocumentWrapper could be used instead of calling BsonUtils.ToBsonDocument. 15 years ago
rstam 5f82fd37f3 Added GroupByBuilder and unit tests. Renamed OrderByBuilder to SortByBuilder (because it's the parameter to the Sort method, not the Order method). Modified implementation of Group method in MongoCollection to support and use the GroupByBuilder (and reduced the number of overloads to avoid overload resolution errors). 15 years ago
rstam e790cc3c87 Replaced MongoException with ArgumentException, FileFormatException, FileNotFoundException, InvalidOperationException, MongoAuthenticationException, MongoCommandException, MongoConnectionException, MongoGridFSException, MongoInternalException, MongoQueryFailureException or MongoSafeModeException as appropriate. 15 years ago
rstam 9bb039d250 Implemented IndexKeysBuilder and IndexOptionsBuilder. Removed a few overloads of CreateIndex and EnsureIndex to prevent overload resolution errors. 15 years ago
rstam d36cadb9bd Renamed source files for builders. Implemented GeoNear command. Organized unit tests for C# driver into folders. Added unit tests for FieldsBuilder. 15 years ago
rstam 8d4557de52 Created some new folders to organize source files better. 15 years ago
rstam 9bba46ecea Moved BsonLibrary and BsonLibraryUnitTests projects into the C# driver repository as suggested by Justin Dearing (it was awkward to have the C# driver split across two repositories). 15 years ago
rstam effc145ba2 Added CSharpDriverSetup project. 15 years ago
rstam 4e5e7b778d Added BuilderBase to share methods among all builders. Removed fields argument from any overloads of Find, FindAll and FindOne (to avoid conflicts between overloads; use Fields fluent interface on MongoCursor instead). Modified all methods that take a query parameter to be generic on the query type <Q> so that any document that can ultimately be serialized to BSON can serve as a query object. Modified FieldsBuilder to be a subclass of BuilderBase and to implement IBsonSerializable (so now it doesn't have to be converted to a BsonDocument first to be serialized). Added serializeIdFirst parameter to Serialize methods and calls to it. Removed overloads of Find and FindOne that took a BsonJavaScript parameter to avoid overload resolution conflicts in light of the new generic overloads (use Query.where instead). 15 years ago
rstam a62fddf18e Finalized DLL filenames and source code namespaces for release. 15 years ago
rstam 9092a83a85 Added experimental OrderBy builder. 15 years ago
rstam d4b8c37556 Added experimental Fields and Query builders (see Builders folder and unit tests). Note that names in the Query builder mirror actual operators in query documents to leverage existing user knowledge of query syntax and to keep query expressions short. 15 years ago
rstam b7c3a1d10d Implemented connecting to a replica set by querying all servers in the seed list in parallel. Improved thread safety of major classes. 15 years ago
rstam 8e83e8add0 Implemented support for KillCursors when a MongoCursor isn't consumed all the way to the end. 15 years ago
rstam e0d7a1ea16 Replace IMongoConnectionSettings interface with a class. MongoConnectionSettings is the programmatic way to provide settings, and MongoConnectionStringBuilder and MongoUrl are used as ways to convert external representations of connection settings into an instance of MongoConnectionSettings. This caused some changes in the Create methods of MongoServer and MongoDatabase. 15 years ago
rstam 01069e4c20 SafeMode is now a class, not just a bool. That allows us to specify more complicated safemodes as in waiting for n slaves to complete replication. 15 years ago
rstam 439e1404e8 Designed MongoGridFSStream (but won't implement for awhile). Added Exists to MongoGridFS. Added properties and methods to MongoGridFSFileInfo patterned after FileInfo (many of which return a MongoGridFSStream). 15 years ago
rstam 7166369402 Began work on GridFS. Implemented Delete, Find and Upload. Wrote a small program to test upload speed (but it's real slow now because connection pooling isn't working). 15 years ago
rstam 39ff021bfe Added MongoDeleteMessage class and RemoveFlags enum. Implemented Distinct and Remove in MongoCollection. Changed Update in MongoCollection to use UpdateFlags instead of multiple boolean parameters. 15 years ago
rstam 899d4efc24 Added new MongoUpdateMessage class. Implemented Save and Update in MongoCollection. 15 years ago
rstam 79161a1029 Changed write operations to return a BsonDocument (in safemode they return the result of GetLastError, otherwise they return null). Insert returns an array of GetLastError results in safemode IF multiple batches were required, otherwise it just returns the result of GetLastError. Added UseDedicatedConnection and ReleaseDedicatedConnection to MongoDatabase. 15 years ago
rstam ec95b13a31 Turned off Nagle and increased socket buffer sizes. Implemented piggy backing of GetLastError command when sending request in safeMode. Implemented MongoInsertMessage and breaking up insert messages into 16MB maximum each. Readjusted the MongoMessage class hierarchy and methods a bit. Implemented Insert in MongoCollection. 15 years ago
rstam c3816d967c Implemented Mongo.Hash. Implemented MongoCredentials.ValidatePassword. Implemented MongoDatabase.Adduser, CreateCollection and RemoveUser. 15 years ago
rstam 2d01cd47ff Added MongoCollection.ValidateName. Implemented AddOption, Hint, Max, MaxScan, Min, Snapshot, and Sort in MongoCursor. Added support for wrapped queries to MongoCursor. Added MongoDatabase.ValidateName. 15 years ago
rstam 4a43a3ea73 Relaxed restriction on uniqueness of MongoServer, MongoDatabase and MongoServer objects. Factory methods will still return existing objects if possible, but it's OK to create new ones. This is motivated by how to most easily handle authentication in a multi threaded environment (like a web server). The easiest approach is to attach credentials to the database object, but that implies that if different threads want to use different credentials for the same database that it must be possible to create multiple instances of MongoDatabase for the same database. 15 years ago
rstam 46c3fe1b5c Worked on the design of the C# API by creating lots of skeleton methods (look for NotImplementedException). Added some new auxiliary classes. 15 years ago
rstam 92b4e1457a Added support for .NET style connection strings as well (subclassed DbConnectionStringBuilder). 15 years ago
rstam 074bf2f4fe Added support for connection strings and for storing credentials (but authentication is not implemented yet). 15 years ago
rstam eae2883468 Renamed MongoClient to MongoServer because while is is *used* by the client it *represents* the server. 15 years ago
rstam 5b160b9b42 Forgot to stage some files before previous commit. 15 years ago
rstam cccde388f3 Initial version of MongoCursor working. 15 years ago
rstam 55a44b0d9f Work in progress. Tested MongoCollection.Find(). 15 years ago