Skip to content

Commit e56eb8b

Browse files
committed
CSHARP-1437: Code review changes.
1 parent 96821c8 commit e56eb8b

File tree

4 files changed

+20
-3
lines changed

4 files changed

+20
-3
lines changed

src/MongoDB.Driver.Core/Core/Operations/FindAndModifyOperationBase.cs

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,23 @@ namespace MongoDB.Driver.Core.Operations
3535
/// <typeparam name="TResult">The type of the result.</typeparam>
3636
public abstract class FindAndModifyOperationBase<TResult> : IWriteOperation<TResult>
3737
{
38+
#region static
39+
// private static fields
40+
private static readonly SemanticVersion __serverVersionSupportingWriteConcern = new SemanticVersion(3, 1, 1);
41+
42+
// public static properties
43+
/// <summary>
44+
/// Gets the server version supporting write concern.
45+
/// </summary>
46+
/// <value>
47+
/// The server version supporting write concern.
48+
/// </value>
49+
public static SemanticVersion ServerVersionSupportingWriteConcern
50+
{
51+
get { return __serverVersionSupportingWriteConcern; }
52+
}
53+
#endregion
54+
3855
// fields
3956
private readonly CollectionNamespace _collectionNamespace;
4057
private readonly MessageEncoderSettings _messageEncoderSettings;

src/MongoDB.Driver.Core/Core/Operations/FindOneAndDeleteOperation.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -112,7 +112,7 @@ internal override BsonDocument CreateCommand(SemanticVersion serverVersion)
112112
{ "remove", true },
113113
{ "fields", _projection, _projection != null },
114114
{ "maxTimeMS", () => _maxTime.Value.TotalMilliseconds, _maxTime.HasValue },
115-
{ "writeConcern", () => WriteConcern.ToBsonDocument(), WriteConcern != null && serverVersion >= new SemanticVersion(3, 1, 1) }
115+
{ "writeConcern", () => WriteConcern.ToBsonDocument(), WriteConcern != null && !WriteConcern.IsServerDefault && serverVersion >= ServerVersionSupportingWriteConcern }
116116
};
117117
}
118118

src/MongoDB.Driver.Core/Core/Operations/FindOneAndReplaceOperation.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -156,7 +156,7 @@ internal override BsonDocument CreateCommand(SemanticVersion serverVersion)
156156
{ "fields", _projection, _projection != null },
157157
{ "upsert", _isUpsert },
158158
{ "maxTimeMS", () => _maxTime.Value.TotalMilliseconds, _maxTime.HasValue },
159-
{ "writeConcern", () => WriteConcern.ToBsonDocument(), WriteConcern != null && serverVersion >= new SemanticVersion(3, 1, 1) }
159+
{ "writeConcern", () => WriteConcern.ToBsonDocument(), WriteConcern != null && !WriteConcern.IsServerDefault && serverVersion >= ServerVersionSupportingWriteConcern }
160160
};
161161
}
162162

src/MongoDB.Driver.Core/Core/Operations/FindOneAndUpdateOperation.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -156,7 +156,7 @@ internal override BsonDocument CreateCommand(SemanticVersion serverVersion)
156156
{ "fields", _projection, _projection != null },
157157
{ "upsert", _isUpsert },
158158
{ "maxTimeMS", () => _maxTime.Value.TotalMilliseconds, _maxTime.HasValue },
159-
{ "writeConcern", () => WriteConcern.ToBsonDocument(), WriteConcern != null && serverVersion >= new SemanticVersion(3, 1, 1) }
159+
{ "writeConcern", () => WriteConcern.ToBsonDocument(), WriteConcern != null && !WriteConcern.IsServerDefault && serverVersion >= ServerVersionSupportingWriteConcern }
160160
};
161161
}
162162

0 commit comments

Comments
 (0)