diff --git a/src/Microsoft.Data.SqlClient/netcore/src/Microsoft.Data.SqlClient.csproj b/src/Microsoft.Data.SqlClient/netcore/src/Microsoft.Data.SqlClient.csproj index 0a48c5499e..8ed371a531 100644 --- a/src/Microsoft.Data.SqlClient/netcore/src/Microsoft.Data.SqlClient.csproj +++ b/src/Microsoft.Data.SqlClient/netcore/src/Microsoft.Data.SqlClient.csproj @@ -423,9 +423,6 @@ Microsoft\Data\SqlClient\Server\MetadataUtilsSmi.cs - - Microsoft\Data\SqlClient\Server\SmiEventSink_Default.cs - Microsoft\Data\SqlClient\Server\SmiGettersStream.cs diff --git a/src/Microsoft.Data.SqlClient/netcore/src/Microsoft/Data/SqlClient/TdsParser.cs b/src/Microsoft.Data.SqlClient/netcore/src/Microsoft/Data/SqlClient/TdsParser.cs index 5320d1e51f..952a56936e 100644 --- a/src/Microsoft.Data.SqlClient/netcore/src/Microsoft/Data/SqlClient/TdsParser.cs +++ b/src/Microsoft.Data.SqlClient/netcore/src/Microsoft/Data/SqlClient/TdsParser.cs @@ -10291,7 +10291,6 @@ private void WriteSmiParameter(SqlParameter param, int paramIndex, bool sendDefa // TdsParameterSetter paramSetter = new TdsParameterSetter(stateObj, metaData); ValueUtilsSmi.SetCompatibleValueV200( - new SmiEventSink_Default(), // TDS Errors/events dealt with at lower level for now, just need an object for processing paramSetter, 0, // ordinal. TdsParameterSetter only handles one parameter at a time metaData, diff --git a/src/Microsoft.Data.SqlClient/netfx/src/Microsoft.Data.SqlClient.csproj b/src/Microsoft.Data.SqlClient/netfx/src/Microsoft.Data.SqlClient.csproj index 6ecdb6e17d..3ce704b23a 100644 --- a/src/Microsoft.Data.SqlClient/netfx/src/Microsoft.Data.SqlClient.csproj +++ b/src/Microsoft.Data.SqlClient/netfx/src/Microsoft.Data.SqlClient.csproj @@ -534,9 +534,6 @@ Microsoft\Data\SqlClient\Server\MetadataUtilsSmi.cs - - Microsoft\Data\SqlClient\Server\SmiEventSink_Default.cs - Microsoft\Data\SqlClient\Server\SmiGettersStream.cs diff --git a/src/Microsoft.Data.SqlClient/netfx/src/Microsoft/Data/SqlClient/TdsParser.cs b/src/Microsoft.Data.SqlClient/netfx/src/Microsoft/Data/SqlClient/TdsParser.cs index d602928be8..b91ce441ad 100644 --- a/src/Microsoft.Data.SqlClient/netfx/src/Microsoft/Data/SqlClient/TdsParser.cs +++ b/src/Microsoft.Data.SqlClient/netfx/src/Microsoft/Data/SqlClient/TdsParser.cs @@ -10482,7 +10482,6 @@ private void WriteSmiParameter(SqlParameter param, int paramIndex, bool sendDefa // TdsParameterSetter paramSetter = new TdsParameterSetter(stateObj, metaData); ValueUtilsSmi.SetCompatibleValueV200( - new SmiEventSink_Default(), // TDS Errors/events dealt with at lower level for now, just need an object for processing paramSetter, 0, // ordinal. TdsParameterSetter only handles one parameter at a time metaData, diff --git a/src/Microsoft.Data.SqlClient/src/Microsoft/Data/SqlClient/Server/SmiEventSink_Default.cs b/src/Microsoft.Data.SqlClient/src/Microsoft/Data/SqlClient/Server/SmiEventSink_Default.cs deleted file mode 100644 index 6f42a87aa5..0000000000 --- a/src/Microsoft.Data.SqlClient/src/Microsoft/Data/SqlClient/Server/SmiEventSink_Default.cs +++ /dev/null @@ -1,123 +0,0 @@ -// Licensed to the .NET Foundation under one or more agreements. -// The .NET Foundation licenses this file to you under the MIT license. -// See the LICENSE file in the project root for more information. - -using System.Diagnostics; - -namespace Microsoft.Data.SqlClient.Server -{ - internal class SmiEventSink_Default - { - private SqlErrorCollection _errors; - private SqlErrorCollection _warnings; - - internal virtual string ServerVersion => null; - - internal SmiEventSink_Default() - { - } - - internal bool HasMessages => _errors is not null || _warnings is not null; - - #if NETFRAMEWORK - protected virtual void DispatchMessages(bool ignoreNonFatalMessages) - #else - protected virtual void DispatchMessages() - #endif - { - // virtual because we want a default implementation in the cases - // where we don't have a connection to process stuff, but we want to - // provide the connection the ability to fire info messages when it - // hooks up. - #if NETFRAMEWORK - SqlException errors = ProcessMessages(true, ignoreNonFatalMessages); - #else - SqlException errors = ProcessMessages(true); - #endif - - if (errors != null) - { - throw errors; - } - - } - - #if NETFRAMEWORK - protected SqlException ProcessMessages(bool ignoreWarnings, bool ignoreNonFatalMessages) - #else - protected SqlException ProcessMessages(bool ignoreWarnings) - #endif - { - SqlException result = null; - SqlErrorCollection temp = null; // temp variable to store that which is being thrown - so that local copies can be deleted - - if (_errors != null) - { - Debug.Assert(0 != _errors.Count, "empty error collection?"); // must be something in the collection -#if NETFRAMEWORK - if (ignoreNonFatalMessages) - { - temp = new SqlErrorCollection(); - foreach (SqlError error in _errors) - { - if (error.Class >= TdsEnums.FATAL_ERROR_CLASS) - { - temp.Add(error); - } - } - if (temp.Count <= 0) - { - temp = null; - } - } - else -#endif - { - if (_warnings != null) - { - // When we throw an exception we place all the warnings that - // occurred at the end of the collection - after all the errors. - // That way the user can see all the errors AND warnings that - // occurred for the exception. - foreach (SqlError warning in _warnings) - { - _errors.Add(warning); - } - } - temp = _errors; - } - - _errors = null; - _warnings = null; - } - else - { - Debug.Assert(_warnings == null || 0 != _warnings.Count, "empty warning collection?");// must be something in the collection - - if (!ignoreWarnings) - { - temp = _warnings; - } - _warnings = null; - } - - if (temp != null) - { - result = SqlException.CreateException(temp, ServerVersion); - } - return result; - } - - internal void ProcessMessagesAndThrow() - { - if (HasMessages) - { - #if NETFRAMEWORK - DispatchMessages(false); - #else - DispatchMessages(); - #endif - } - } - } -} diff --git a/src/Microsoft.Data.SqlClient/src/Microsoft/Data/SqlClient/Server/SmiGettersStream.cs b/src/Microsoft.Data.SqlClient/src/Microsoft/Data/SqlClient/Server/SmiGettersStream.cs index 84378027e9..fd38de350a 100644 --- a/src/Microsoft.Data.SqlClient/src/Microsoft/Data/SqlClient/Server/SmiGettersStream.cs +++ b/src/Microsoft.Data.SqlClient/src/Microsoft/Data/SqlClient/Server/SmiGettersStream.cs @@ -9,20 +9,17 @@ namespace Microsoft.Data.SqlClient.Server { internal class SmiGettersStream : Stream { - private SmiEventSink_Default _sink; private ITypedGettersV3 _getters; private int _ordinal; private long _readPosition; private SmiMetaData _metaData; - internal SmiGettersStream(SmiEventSink_Default sink, ITypedGettersV3 getters, int ordinal, SmiMetaData metaData) + internal SmiGettersStream(ITypedGettersV3 getters, int ordinal, SmiMetaData metaData) { - Debug.Assert(sink != null); Debug.Assert(getters != null); Debug.Assert(0 <= ordinal); Debug.Assert(metaData != null); - _sink = sink; _getters = getters; _ordinal = ordinal; _readPosition = 0; @@ -58,7 +55,7 @@ public override long Length { get { - return ValueUtilsSmi.GetBytesInternal(_sink, _getters, _ordinal, _metaData, 0, null, 0, 0, false); + return ValueUtilsSmi.GetBytesInternal(_getters, _ordinal, _metaData, 0, null, 0, 0, false); } } @@ -91,7 +88,7 @@ public override void SetLength(long value) public override int Read(byte[] buffer, int offset, int count) { - long bytesRead = ValueUtilsSmi.GetBytesInternal(_sink, _getters, _ordinal, _metaData, _readPosition, buffer, offset, count, false); + long bytesRead = ValueUtilsSmi.GetBytesInternal(_getters, _ordinal, _metaData, _readPosition, buffer, offset, count, false); _readPosition += bytesRead; return checked((int)bytesRead); diff --git a/src/Microsoft.Data.SqlClient/src/Microsoft/Data/SqlClient/Server/SmiSettersStream.cs b/src/Microsoft.Data.SqlClient/src/Microsoft/Data/SqlClient/Server/SmiSettersStream.cs index 513d36f942..bd47a9089f 100644 --- a/src/Microsoft.Data.SqlClient/src/Microsoft/Data/SqlClient/Server/SmiSettersStream.cs +++ b/src/Microsoft.Data.SqlClient/src/Microsoft/Data/SqlClient/Server/SmiSettersStream.cs @@ -10,20 +10,17 @@ namespace Microsoft.Data.SqlClient.Server { internal class SmiSettersStream : Stream { - private SmiEventSink_Default _sink; private ITypedSettersV3 _setters; private int _ordinal; private long _lengthWritten; private SmiMetaData _metaData; - internal SmiSettersStream(SmiEventSink_Default sink, ITypedSettersV3 setters, int ordinal, SmiMetaData metaData) + internal SmiSettersStream(ITypedSettersV3 setters, int ordinal, SmiMetaData metaData) { - Debug.Assert(sink != null); Debug.Assert(setters != null); Debug.Assert(0 <= ordinal); Debug.Assert(metaData != null); - _sink = sink; _setters = setters; _ordinal = ordinal; _lengthWritten = 0; @@ -77,7 +74,7 @@ public override long Position public override void Flush() { - _lengthWritten = ValueUtilsSmi.SetBytesLength(_sink, _setters, _ordinal, _metaData, _lengthWritten); + _lengthWritten = ValueUtilsSmi.SetBytesLength(_setters, _ordinal, _metaData, _lengthWritten); } public override long Seek(long offset, SeekOrigin origin) @@ -91,7 +88,7 @@ public override void SetLength(long value) { throw ADP.ArgumentOutOfRange(nameof(value)); } - ValueUtilsSmi.SetBytesLength(_sink, _setters, _ordinal, _metaData, value); + ValueUtilsSmi.SetBytesLength(_setters, _ordinal, _metaData, value); } public override int Read(byte[] buffer, int offset, int count) @@ -101,7 +98,7 @@ public override int Read(byte[] buffer, int offset, int count) public override void Write(byte[] buffer, int offset, int count) { - _lengthWritten += ValueUtilsSmi.SetBytes(_sink, _setters, _ordinal, _metaData, _lengthWritten, buffer, offset, count); + _lengthWritten += ValueUtilsSmi.SetBytes(_setters, _ordinal, _metaData, _lengthWritten, buffer, offset, count); } } } diff --git a/src/Microsoft.Data.SqlClient/src/Microsoft/Data/SqlClient/Server/SqlDataRecord.cs b/src/Microsoft.Data.SqlClient/src/Microsoft/Data/SqlClient/Server/SqlDataRecord.cs index 025ca3892e..4bb302cd7b 100644 --- a/src/Microsoft.Data.SqlClient/src/Microsoft/Data/SqlClient/Server/SqlDataRecord.cs +++ b/src/Microsoft.Data.SqlClient/src/Microsoft/Data/SqlClient/Server/SqlDataRecord.cs @@ -16,7 +16,6 @@ public partial class SqlDataRecord : IDataRecord { private readonly SmiRecordBuffer _recordBuffer; private readonly SmiExtendedMetaData[] _columnSmiMetaData; - private readonly SmiEventSink_Default _eventSink; private readonly SqlMetaData[] _columnMetaData; private FieldNameLookup _fieldNameLookup; private readonly bool _usesStringStorageForXml = false; @@ -101,37 +100,37 @@ public virtual int GetOrdinal(string name) public virtual object this[string name] => GetValue(GetOrdinal(name)); /// - public virtual bool GetBoolean(int ordinal) => ValueUtilsSmi.GetBoolean(_eventSink, _recordBuffer, ordinal, GetSmiMetaData(ordinal)); + public virtual bool GetBoolean(int ordinal) => ValueUtilsSmi.GetBoolean(_recordBuffer, ordinal, GetSmiMetaData(ordinal)); /// - public virtual byte GetByte(int ordinal) => ValueUtilsSmi.GetByte(_eventSink, _recordBuffer, ordinal, GetSmiMetaData(ordinal)); + public virtual byte GetByte(int ordinal) => ValueUtilsSmi.GetByte(_recordBuffer, ordinal, GetSmiMetaData(ordinal)); /// - public virtual long GetBytes(int ordinal, long fieldOffset, byte[] buffer, int bufferOffset, int length) => ValueUtilsSmi.GetBytes(_eventSink, _recordBuffer, ordinal, GetSmiMetaData(ordinal), fieldOffset, buffer, bufferOffset, length, throwOnNull: true); + public virtual long GetBytes(int ordinal, long fieldOffset, byte[] buffer, int bufferOffset, int length) => ValueUtilsSmi.GetBytes(_recordBuffer, ordinal, GetSmiMetaData(ordinal), fieldOffset, buffer, bufferOffset, length, throwOnNull: true); /// public virtual char GetChar(int ordinal) => throw ADP.NotSupported(); /// - public virtual long GetChars(int ordinal, long fieldOffset, char[] buffer, int bufferOffset, int length) => ValueUtilsSmi.GetChars(_eventSink, _recordBuffer, ordinal, GetSmiMetaData(ordinal), fieldOffset, buffer, bufferOffset, length); + public virtual long GetChars(int ordinal, long fieldOffset, char[] buffer, int bufferOffset, int length) => ValueUtilsSmi.GetChars(_recordBuffer, ordinal, GetSmiMetaData(ordinal), fieldOffset, buffer, bufferOffset, length); /// - public virtual Guid GetGuid(int ordinal) => ValueUtilsSmi.GetGuid(_eventSink, _recordBuffer, ordinal, GetSmiMetaData(ordinal)); + public virtual Guid GetGuid(int ordinal) => ValueUtilsSmi.GetGuid(_recordBuffer, ordinal, GetSmiMetaData(ordinal)); /// - public virtual short GetInt16(int ordinal) => ValueUtilsSmi.GetInt16(_eventSink, _recordBuffer, ordinal, GetSmiMetaData(ordinal)); + public virtual short GetInt16(int ordinal) => ValueUtilsSmi.GetInt16(_recordBuffer, ordinal, GetSmiMetaData(ordinal)); /// - public virtual int GetInt32(int ordinal) => ValueUtilsSmi.GetInt32(_eventSink, _recordBuffer, ordinal, GetSmiMetaData(ordinal)); + public virtual int GetInt32(int ordinal) => ValueUtilsSmi.GetInt32(_recordBuffer, ordinal, GetSmiMetaData(ordinal)); /// - public virtual long GetInt64(int ordinal) => ValueUtilsSmi.GetInt64(_eventSink, _recordBuffer, ordinal, GetSmiMetaData(ordinal)); + public virtual long GetInt64(int ordinal) => ValueUtilsSmi.GetInt64(_recordBuffer, ordinal, GetSmiMetaData(ordinal)); /// - public virtual float GetFloat(int ordinal) => ValueUtilsSmi.GetSingle(_eventSink, _recordBuffer, ordinal, GetSmiMetaData(ordinal)); + public virtual float GetFloat(int ordinal) => ValueUtilsSmi.GetSingle(_recordBuffer, ordinal, GetSmiMetaData(ordinal)); /// - public virtual double GetDouble(int ordinal) => ValueUtilsSmi.GetDouble(_eventSink, _recordBuffer, ordinal, GetSmiMetaData(ordinal)); + public virtual double GetDouble(int ordinal) => ValueUtilsSmi.GetDouble(_recordBuffer, ordinal, GetSmiMetaData(ordinal)); /// public virtual string GetString(int ordinal) @@ -139,31 +138,31 @@ public virtual string GetString(int ordinal) SmiMetaData colMeta = GetSmiMetaData(ordinal); if (_usesStringStorageForXml && colMeta.SqlDbType == SqlDbType.Xml) { - return ValueUtilsSmi.GetString(_eventSink, _recordBuffer, ordinal, s_maxNVarCharForXml); + return ValueUtilsSmi.GetString(_recordBuffer, ordinal, s_maxNVarCharForXml); } else { - return ValueUtilsSmi.GetString(_eventSink, _recordBuffer, ordinal, colMeta); + return ValueUtilsSmi.GetString(_recordBuffer, ordinal, colMeta); } } /// - public virtual decimal GetDecimal(int ordinal) => ValueUtilsSmi.GetDecimal(_eventSink, _recordBuffer, ordinal, GetSmiMetaData(ordinal)); + public virtual decimal GetDecimal(int ordinal) => ValueUtilsSmi.GetDecimal(_recordBuffer, ordinal, GetSmiMetaData(ordinal)); /// - public virtual DateTime GetDateTime(int ordinal) => ValueUtilsSmi.GetDateTime(_eventSink, _recordBuffer, ordinal, GetSmiMetaData(ordinal)); + public virtual DateTime GetDateTime(int ordinal) => ValueUtilsSmi.GetDateTime(_recordBuffer, ordinal, GetSmiMetaData(ordinal)); /// - public virtual DateTimeOffset GetDateTimeOffset(int ordinal) => ValueUtilsSmi.GetDateTimeOffset(_eventSink, _recordBuffer, ordinal, GetSmiMetaData(ordinal)); + public virtual DateTimeOffset GetDateTimeOffset(int ordinal) => ValueUtilsSmi.GetDateTimeOffset(_recordBuffer, ordinal, GetSmiMetaData(ordinal)); /// - public virtual TimeSpan GetTimeSpan(int ordinal) => ValueUtilsSmi.GetTimeSpan(_eventSink, _recordBuffer, ordinal, GetSmiMetaData(ordinal)); + public virtual TimeSpan GetTimeSpan(int ordinal) => ValueUtilsSmi.GetTimeSpan(_recordBuffer, ordinal, GetSmiMetaData(ordinal)); /// public virtual bool IsDBNull(int ordinal) { ThrowIfInvalidOrdinal(ordinal); - return ValueUtilsSmi.IsDBNull(_eventSink, _recordBuffer, ordinal); + return ValueUtilsSmi.IsDBNull(_recordBuffer, ordinal); } /// @@ -198,7 +197,7 @@ public virtual int GetSqlValues(object[] values) } /// - public virtual SqlBinary GetSqlBinary(int ordinal) => ValueUtilsSmi.GetSqlBinary(_eventSink, _recordBuffer, ordinal, GetSmiMetaData(ordinal)); + public virtual SqlBinary GetSqlBinary(int ordinal) => ValueUtilsSmi.GetSqlBinary(_recordBuffer, ordinal, GetSmiMetaData(ordinal)); /// public virtual SqlBytes GetSqlBytes(int ordinal) => GetSqlBytesFrameworkSpecific(ordinal); @@ -207,43 +206,43 @@ public virtual int GetSqlValues(object[] values) public virtual SqlXml GetSqlXml(int ordinal) => GetSqlXmlFrameworkSpecific(ordinal); /// - public virtual SqlBoolean GetSqlBoolean(int ordinal) => ValueUtilsSmi.GetSqlBoolean(_eventSink, _recordBuffer, ordinal, GetSmiMetaData(ordinal)); + public virtual SqlBoolean GetSqlBoolean(int ordinal) => ValueUtilsSmi.GetSqlBoolean(_recordBuffer, ordinal, GetSmiMetaData(ordinal)); /// - public virtual SqlByte GetSqlByte(int ordinal) => ValueUtilsSmi.GetSqlByte(_eventSink, _recordBuffer, ordinal, GetSmiMetaData(ordinal)); + public virtual SqlByte GetSqlByte(int ordinal) => ValueUtilsSmi.GetSqlByte(_recordBuffer, ordinal, GetSmiMetaData(ordinal)); /// public virtual SqlChars GetSqlChars(int ordinal) => GetSqlCharsFrameworkSpecific(ordinal); /// - public virtual SqlInt16 GetSqlInt16(int ordinal) => ValueUtilsSmi.GetSqlInt16(_eventSink, _recordBuffer, ordinal, GetSmiMetaData(ordinal)); + public virtual SqlInt16 GetSqlInt16(int ordinal) => ValueUtilsSmi.GetSqlInt16(_recordBuffer, ordinal, GetSmiMetaData(ordinal)); /// - public virtual SqlInt32 GetSqlInt32(int ordinal) => ValueUtilsSmi.GetSqlInt32(_eventSink, _recordBuffer, ordinal, GetSmiMetaData(ordinal)); + public virtual SqlInt32 GetSqlInt32(int ordinal) => ValueUtilsSmi.GetSqlInt32(_recordBuffer, ordinal, GetSmiMetaData(ordinal)); /// - public virtual SqlInt64 GetSqlInt64(int ordinal) => ValueUtilsSmi.GetSqlInt64(_eventSink, _recordBuffer, ordinal, GetSmiMetaData(ordinal)); + public virtual SqlInt64 GetSqlInt64(int ordinal) => ValueUtilsSmi.GetSqlInt64(_recordBuffer, ordinal, GetSmiMetaData(ordinal)); /// - public virtual SqlSingle GetSqlSingle(int ordinal) => ValueUtilsSmi.GetSqlSingle(_eventSink, _recordBuffer, ordinal, GetSmiMetaData(ordinal)); + public virtual SqlSingle GetSqlSingle(int ordinal) => ValueUtilsSmi.GetSqlSingle(_recordBuffer, ordinal, GetSmiMetaData(ordinal)); /// - public virtual SqlDouble GetSqlDouble(int ordinal) => ValueUtilsSmi.GetSqlDouble(_eventSink, _recordBuffer, ordinal, GetSmiMetaData(ordinal)); + public virtual SqlDouble GetSqlDouble(int ordinal) => ValueUtilsSmi.GetSqlDouble(_recordBuffer, ordinal, GetSmiMetaData(ordinal)); /// - public virtual SqlMoney GetSqlMoney(int ordinal) => ValueUtilsSmi.GetSqlMoney(_eventSink, _recordBuffer, ordinal, GetSmiMetaData(ordinal)); + public virtual SqlMoney GetSqlMoney(int ordinal) => ValueUtilsSmi.GetSqlMoney(_recordBuffer, ordinal, GetSmiMetaData(ordinal)); /// - public virtual SqlDateTime GetSqlDateTime(int ordinal) => ValueUtilsSmi.GetSqlDateTime(_eventSink, _recordBuffer, ordinal, GetSmiMetaData(ordinal)); + public virtual SqlDateTime GetSqlDateTime(int ordinal) => ValueUtilsSmi.GetSqlDateTime(_recordBuffer, ordinal, GetSmiMetaData(ordinal)); /// - public virtual SqlDecimal GetSqlDecimal(int ordinal) => ValueUtilsSmi.GetSqlDecimal(_eventSink, _recordBuffer, ordinal, GetSmiMetaData(ordinal)); + public virtual SqlDecimal GetSqlDecimal(int ordinal) => ValueUtilsSmi.GetSqlDecimal(_recordBuffer, ordinal, GetSmiMetaData(ordinal)); /// - public virtual SqlString GetSqlString(int ordinal) => ValueUtilsSmi.GetSqlString(_eventSink, _recordBuffer, ordinal, GetSmiMetaData(ordinal)); + public virtual SqlString GetSqlString(int ordinal) => ValueUtilsSmi.GetSqlString(_recordBuffer, ordinal, GetSmiMetaData(ordinal)); /// - public virtual SqlGuid GetSqlGuid(int ordinal) => ValueUtilsSmi.GetSqlGuid(_eventSink, _recordBuffer, ordinal, GetSmiMetaData(ordinal)); + public virtual SqlGuid GetSqlGuid(int ordinal) => ValueUtilsSmi.GetSqlGuid(_recordBuffer, ordinal, GetSmiMetaData(ordinal)); /// // ISqlUpdateableRecord Implementation @@ -253,42 +252,42 @@ public virtual int GetSqlValues(object[] values) public virtual void SetValue(int ordinal, object value) => SetValueFrameworkSpecific(ordinal, value); /// - public virtual void SetBoolean(int ordinal, bool value) => ValueUtilsSmi.SetBoolean(_eventSink, _recordBuffer, ordinal, GetSmiMetaData(ordinal), value); + public virtual void SetBoolean(int ordinal, bool value) => ValueUtilsSmi.SetBoolean(_recordBuffer, ordinal, GetSmiMetaData(ordinal), value); /// - public virtual void SetByte(int ordinal, byte value) => ValueUtilsSmi.SetByte(_eventSink, _recordBuffer, ordinal, GetSmiMetaData(ordinal), value); + public virtual void SetByte(int ordinal, byte value) => ValueUtilsSmi.SetByte(_recordBuffer, ordinal, GetSmiMetaData(ordinal), value); /// - public virtual void SetBytes(int ordinal, long fieldOffset, byte[] buffer, int bufferOffset, int length) => ValueUtilsSmi.SetBytes(_eventSink, _recordBuffer, ordinal, GetSmiMetaData(ordinal), fieldOffset, buffer, bufferOffset, length); + public virtual void SetBytes(int ordinal, long fieldOffset, byte[] buffer, int bufferOffset, int length) => ValueUtilsSmi.SetBytes(_recordBuffer, ordinal, GetSmiMetaData(ordinal), fieldOffset, buffer, bufferOffset, length); /// public virtual void SetChar(int ordinal, char value) => throw ADP.NotSupported(); /// - public virtual void SetChars(int ordinal, long fieldOffset, char[] buffer, int bufferOffset, int length) => ValueUtilsSmi.SetChars(_eventSink, _recordBuffer, ordinal, GetSmiMetaData(ordinal), fieldOffset, buffer, bufferOffset, length); + public virtual void SetChars(int ordinal, long fieldOffset, char[] buffer, int bufferOffset, int length) => ValueUtilsSmi.SetChars(_recordBuffer, ordinal, GetSmiMetaData(ordinal), fieldOffset, buffer, bufferOffset, length); /// - public virtual void SetInt16(int ordinal, short value) => ValueUtilsSmi.SetInt16(_eventSink, _recordBuffer, ordinal, GetSmiMetaData(ordinal), value); + public virtual void SetInt16(int ordinal, short value) => ValueUtilsSmi.SetInt16(_recordBuffer, ordinal, GetSmiMetaData(ordinal), value); /// - public virtual void SetInt32(int ordinal, int value) => ValueUtilsSmi.SetInt32(_eventSink, _recordBuffer, ordinal, GetSmiMetaData(ordinal), value); + public virtual void SetInt32(int ordinal, int value) => ValueUtilsSmi.SetInt32(_recordBuffer, ordinal, GetSmiMetaData(ordinal), value); /// - public virtual void SetInt64(int ordinal, long value) => ValueUtilsSmi.SetInt64(_eventSink, _recordBuffer, ordinal, GetSmiMetaData(ordinal), value); + public virtual void SetInt64(int ordinal, long value) => ValueUtilsSmi.SetInt64(_recordBuffer, ordinal, GetSmiMetaData(ordinal), value); /// - public virtual void SetFloat(int ordinal, float value) => ValueUtilsSmi.SetSingle(_eventSink, _recordBuffer, ordinal, GetSmiMetaData(ordinal), value); + public virtual void SetFloat(int ordinal, float value) => ValueUtilsSmi.SetSingle(_recordBuffer, ordinal, GetSmiMetaData(ordinal), value); /// - public virtual void SetDouble(int ordinal, double value) => ValueUtilsSmi.SetDouble(_eventSink, _recordBuffer, ordinal, GetSmiMetaData(ordinal), value); + public virtual void SetDouble(int ordinal, double value) => ValueUtilsSmi.SetDouble(_recordBuffer, ordinal, GetSmiMetaData(ordinal), value); /// - public virtual void SetString(int ordinal, string value) => ValueUtilsSmi.SetString(_eventSink, _recordBuffer, ordinal, GetSmiMetaData(ordinal), value); + public virtual void SetString(int ordinal, string value) => ValueUtilsSmi.SetString(_recordBuffer, ordinal, GetSmiMetaData(ordinal), value); /// - public virtual void SetDecimal(int ordinal, decimal value) => ValueUtilsSmi.SetDecimal(_eventSink, _recordBuffer, ordinal, GetSmiMetaData(ordinal), value); + public virtual void SetDecimal(int ordinal, decimal value) => ValueUtilsSmi.SetDecimal(_recordBuffer, ordinal, GetSmiMetaData(ordinal), value); /// - public virtual void SetDateTime(int ordinal, DateTime value) => ValueUtilsSmi.SetDateTime(_eventSink, _recordBuffer, ordinal, GetSmiMetaData(ordinal), value); + public virtual void SetDateTime(int ordinal, DateTime value) => ValueUtilsSmi.SetDateTime(_recordBuffer, ordinal, GetSmiMetaData(ordinal), value); /// public virtual void SetTimeSpan(int ordinal, TimeSpan value) => SetTimeSpanFrameworkSpecific(ordinal, value); @@ -300,59 +299,59 @@ public virtual int GetSqlValues(object[] values) public virtual void SetDBNull(int ordinal) { ThrowIfInvalidOrdinal(ordinal); - ValueUtilsSmi.SetDBNull(_eventSink, _recordBuffer, ordinal); + ValueUtilsSmi.SetDBNull(_recordBuffer, ordinal); } /// - public virtual void SetGuid(int ordinal, Guid value) => ValueUtilsSmi.SetGuid(_eventSink, _recordBuffer, ordinal, GetSmiMetaData(ordinal), value); + public virtual void SetGuid(int ordinal, Guid value) => ValueUtilsSmi.SetGuid(_recordBuffer, ordinal, GetSmiMetaData(ordinal), value); /// - public virtual void SetSqlBoolean(int ordinal, SqlBoolean value) => ValueUtilsSmi.SetSqlBoolean(_eventSink, _recordBuffer, ordinal, GetSmiMetaData(ordinal), value); + public virtual void SetSqlBoolean(int ordinal, SqlBoolean value) => ValueUtilsSmi.SetSqlBoolean(_recordBuffer, ordinal, GetSmiMetaData(ordinal), value); /// - public virtual void SetSqlByte(int ordinal, SqlByte value) => ValueUtilsSmi.SetSqlByte(_eventSink, _recordBuffer, ordinal, GetSmiMetaData(ordinal), value); + public virtual void SetSqlByte(int ordinal, SqlByte value) => ValueUtilsSmi.SetSqlByte(_recordBuffer, ordinal, GetSmiMetaData(ordinal), value); /// - public virtual void SetSqlInt16(int ordinal, SqlInt16 value) => ValueUtilsSmi.SetSqlInt16(_eventSink, _recordBuffer, ordinal, GetSmiMetaData(ordinal), value); + public virtual void SetSqlInt16(int ordinal, SqlInt16 value) => ValueUtilsSmi.SetSqlInt16(_recordBuffer, ordinal, GetSmiMetaData(ordinal), value); /// - public virtual void SetSqlInt32(int ordinal, SqlInt32 value) => ValueUtilsSmi.SetSqlInt32(_eventSink, _recordBuffer, ordinal, GetSmiMetaData(ordinal), value); + public virtual void SetSqlInt32(int ordinal, SqlInt32 value) => ValueUtilsSmi.SetSqlInt32(_recordBuffer, ordinal, GetSmiMetaData(ordinal), value); /// - public virtual void SetSqlInt64(int ordinal, SqlInt64 value) => ValueUtilsSmi.SetSqlInt64(_eventSink, _recordBuffer, ordinal, GetSmiMetaData(ordinal), value); + public virtual void SetSqlInt64(int ordinal, SqlInt64 value) => ValueUtilsSmi.SetSqlInt64(_recordBuffer, ordinal, GetSmiMetaData(ordinal), value); /// - public virtual void SetSqlSingle(int ordinal, SqlSingle value) => ValueUtilsSmi.SetSqlSingle(_eventSink, _recordBuffer, ordinal, GetSmiMetaData(ordinal), value); + public virtual void SetSqlSingle(int ordinal, SqlSingle value) => ValueUtilsSmi.SetSqlSingle(_recordBuffer, ordinal, GetSmiMetaData(ordinal), value); /// - public virtual void SetSqlDouble(int ordinal, SqlDouble value) => ValueUtilsSmi.SetSqlDouble(_eventSink, _recordBuffer, ordinal, GetSmiMetaData(ordinal), value); + public virtual void SetSqlDouble(int ordinal, SqlDouble value) => ValueUtilsSmi.SetSqlDouble(_recordBuffer, ordinal, GetSmiMetaData(ordinal), value); /// - public virtual void SetSqlMoney(int ordinal, SqlMoney value) => ValueUtilsSmi.SetSqlMoney(_eventSink, _recordBuffer, ordinal, GetSmiMetaData(ordinal), value); + public virtual void SetSqlMoney(int ordinal, SqlMoney value) => ValueUtilsSmi.SetSqlMoney(_recordBuffer, ordinal, GetSmiMetaData(ordinal), value); /// - public virtual void SetSqlDateTime(int ordinal, SqlDateTime value) => ValueUtilsSmi.SetSqlDateTime(_eventSink, _recordBuffer, ordinal, GetSmiMetaData(ordinal), value); + public virtual void SetSqlDateTime(int ordinal, SqlDateTime value) => ValueUtilsSmi.SetSqlDateTime(_recordBuffer, ordinal, GetSmiMetaData(ordinal), value); /// - public virtual void SetSqlXml(int ordinal, SqlXml value) => ValueUtilsSmi.SetSqlXml(_eventSink, _recordBuffer, ordinal, GetSmiMetaData(ordinal), value); + public virtual void SetSqlXml(int ordinal, SqlXml value) => ValueUtilsSmi.SetSqlXml(_recordBuffer, ordinal, GetSmiMetaData(ordinal), value); /// - public virtual void SetSqlDecimal(int ordinal, SqlDecimal value) => ValueUtilsSmi.SetSqlDecimal(_eventSink, _recordBuffer, ordinal, GetSmiMetaData(ordinal), value); + public virtual void SetSqlDecimal(int ordinal, SqlDecimal value) => ValueUtilsSmi.SetSqlDecimal(_recordBuffer, ordinal, GetSmiMetaData(ordinal), value); /// - public virtual void SetSqlString(int ordinal, SqlString value) => ValueUtilsSmi.SetSqlString(_eventSink, _recordBuffer, ordinal, GetSmiMetaData(ordinal), value); + public virtual void SetSqlString(int ordinal, SqlString value) => ValueUtilsSmi.SetSqlString(_recordBuffer, ordinal, GetSmiMetaData(ordinal), value); /// - public virtual void SetSqlBinary(int ordinal, SqlBinary value) => ValueUtilsSmi.SetSqlBinary(_eventSink, _recordBuffer, ordinal, GetSmiMetaData(ordinal), value); + public virtual void SetSqlBinary(int ordinal, SqlBinary value) => ValueUtilsSmi.SetSqlBinary(_recordBuffer, ordinal, GetSmiMetaData(ordinal), value); /// - public virtual void SetSqlGuid(int ordinal, SqlGuid value) => ValueUtilsSmi.SetSqlGuid(_eventSink, _recordBuffer, ordinal, GetSmiMetaData(ordinal), value); + public virtual void SetSqlGuid(int ordinal, SqlGuid value) => ValueUtilsSmi.SetSqlGuid(_recordBuffer, ordinal, GetSmiMetaData(ordinal), value); /// - public virtual void SetSqlChars(int ordinal, SqlChars value) => ValueUtilsSmi.SetSqlChars(_eventSink, _recordBuffer, ordinal, GetSmiMetaData(ordinal), value); + public virtual void SetSqlChars(int ordinal, SqlChars value) => ValueUtilsSmi.SetSqlChars(_recordBuffer, ordinal, GetSmiMetaData(ordinal), value); /// - public virtual void SetSqlBytes(int ordinal, SqlBytes value) => ValueUtilsSmi.SetSqlBytes(_eventSink, _recordBuffer, ordinal, GetSmiMetaData(ordinal), value); + public virtual void SetSqlBytes(int ordinal, SqlBytes value) => ValueUtilsSmi.SetSqlBytes(_recordBuffer, ordinal, GetSmiMetaData(ordinal), value); // SqlDataRecord public API /// @@ -377,13 +376,10 @@ public SqlDataRecord(params SqlMetaData[] metaData) _columnSmiMetaData[i] = MetaDataUtilsSmi.SqlMetaDataToSmiExtendedMetaData(_columnMetaData[i]); } - _eventSink = new SmiEventSink_Default(); - #if NETFRAMEWORK _recordBuffer = new MemoryRecordBuffer(_columnSmiMetaData); + + #if NETFRAMEWORK _usesStringStorageForXml = true; - #else - _recordBuffer = new MemoryRecordBuffer(_columnSmiMetaData); - _eventSink.ProcessMessagesAndThrow(); #endif } diff --git a/src/Microsoft.Data.SqlClient/src/Microsoft/Data/SqlClient/Server/SqlDataRecord.netcore.cs b/src/Microsoft.Data.SqlClient/src/Microsoft/Data/SqlClient/Server/SqlDataRecord.netcore.cs index 7864d2eae4..6449aa6c62 100644 --- a/src/Microsoft.Data.SqlClient/src/Microsoft/Data/SqlClient/Server/SqlDataRecord.netcore.cs +++ b/src/Microsoft.Data.SqlClient/src/Microsoft/Data/SqlClient/Server/SqlDataRecord.netcore.cs @@ -20,18 +20,18 @@ private Type GetFieldTypeFrameworkSpecific(int ordinal) => MetaType.GetMetaTypeFromSqlDbType(GetSqlMetaData(ordinal).SqlDbType, false).ClassType; private object GetValueFrameworkSpecific(int ordinal) => - ValueUtilsSmi.GetValue200(_eventSink, _recordBuffer, ordinal, GetSmiMetaData(ordinal)); + ValueUtilsSmi.GetValue200(_recordBuffer, ordinal, GetSmiMetaData(ordinal)); private object GetSqlValueFrameworkSpecific(int ordinal) => - ValueUtilsSmi.GetSqlValue200(_eventSink, _recordBuffer, ordinal, GetSmiMetaData(ordinal)); + ValueUtilsSmi.GetSqlValue200(_recordBuffer, ordinal, GetSmiMetaData(ordinal)); private SqlBytes GetSqlBytesFrameworkSpecific(int ordinal) => - ValueUtilsSmi.GetSqlBytes(_eventSink, _recordBuffer, ordinal, GetSmiMetaData(ordinal)); + ValueUtilsSmi.GetSqlBytes(_recordBuffer, ordinal, GetSmiMetaData(ordinal)); private SqlXml GetSqlXmlFrameworkSpecific(int ordinal) => - ValueUtilsSmi.GetSqlXml(_eventSink, _recordBuffer, ordinal, GetSmiMetaData(ordinal)); + ValueUtilsSmi.GetSqlXml(_recordBuffer, ordinal, GetSmiMetaData(ordinal)); private SqlChars GetSqlCharsFrameworkSpecific(int ordinal) => - ValueUtilsSmi.GetSqlChars(_eventSink, _recordBuffer, ordinal, GetSmiMetaData(ordinal)); + ValueUtilsSmi.GetSqlChars(_recordBuffer, ordinal, GetSmiMetaData(ordinal)); private int SetValuesFrameworkSpecific(params object[] values) { if (values == null) @@ -64,7 +64,7 @@ private int SetValuesFrameworkSpecific(params object[] values) // the validation loop and here, or if an invalid UDT was sent). for (int i = 0; i < copyLength; i++) { - ValueUtilsSmi.SetCompatibleValueV200(_eventSink, _recordBuffer, i, GetSmiMetaData(i), values[i], typeCodes[i], offset: 0, peekAhead: null); + ValueUtilsSmi.SetCompatibleValueV200(_recordBuffer, i, GetSmiMetaData(i), values[i], typeCodes[i], offset: 0, peekAhead: null); } return copyLength; @@ -84,14 +84,14 @@ private void SetValueFrameworkSpecific(int ordinal, object value) throw ADP.InvalidCast(); } - ValueUtilsSmi.SetCompatibleValueV200(_eventSink, _recordBuffer, ordinal, GetSmiMetaData(ordinal), value, typeCode, offset: 0, peekAhead: null); + ValueUtilsSmi.SetCompatibleValueV200(_recordBuffer, ordinal, GetSmiMetaData(ordinal), value, typeCode, offset: 0, peekAhead: null); } private void SetTimeSpanFrameworkSpecific(int ordinal, TimeSpan value) - => ValueUtilsSmi.SetTimeSpan(_eventSink, _recordBuffer, ordinal, GetSmiMetaData(ordinal), value); + => ValueUtilsSmi.SetTimeSpan(_recordBuffer, ordinal, GetSmiMetaData(ordinal), value); private void SetDateTimeOffsetFrameworkSpecific(int ordinal, DateTimeOffset value) - => ValueUtilsSmi.SetDateTimeOffset(_eventSink, _recordBuffer, ordinal, GetSmiMetaData(ordinal), value); + => ValueUtilsSmi.SetDateTimeOffset(_recordBuffer, ordinal, GetSmiMetaData(ordinal), value); } } diff --git a/src/Microsoft.Data.SqlClient/src/Microsoft/Data/SqlClient/Server/SqlDataRecord.netfx.cs b/src/Microsoft.Data.SqlClient/src/Microsoft/Data/SqlClient/Server/SqlDataRecord.netfx.cs index b238f4d6fe..7f67e951da 100644 --- a/src/Microsoft.Data.SqlClient/src/Microsoft/Data/SqlClient/Server/SqlDataRecord.netfx.cs +++ b/src/Microsoft.Data.SqlClient/src/Microsoft/Data/SqlClient/Server/SqlDataRecord.netfx.cs @@ -28,23 +28,23 @@ private Type GetFieldTypeFrameworkSpecific(int ordinal) private object GetValueFrameworkSpecific(int ordinal) { SmiMetaData metaData = GetSmiMetaData(ordinal); - return ValueUtilsSmi.GetValue200(_eventSink, _recordBuffer, ordinal, metaData); + return ValueUtilsSmi.GetValue200(_recordBuffer, ordinal, metaData); } private object GetSqlValueFrameworkSpecific(int ordinal) { SmiMetaData metaData = GetSmiMetaData(ordinal); - return ValueUtilsSmi.GetSqlValue200(_eventSink, _recordBuffer, ordinal, metaData); + return ValueUtilsSmi.GetSqlValue200(_recordBuffer, ordinal, metaData); } private SqlBytes GetSqlBytesFrameworkSpecific(int ordinal) => - ValueUtilsSmi.GetSqlBytes(_eventSink, _recordBuffer, ordinal, GetSmiMetaData(ordinal)); + ValueUtilsSmi.GetSqlBytes(_recordBuffer, ordinal, GetSmiMetaData(ordinal)); private SqlXml GetSqlXmlFrameworkSpecific(int ordinal) => - ValueUtilsSmi.GetSqlXml(_eventSink, _recordBuffer, ordinal, GetSmiMetaData(ordinal)); + ValueUtilsSmi.GetSqlXml(_recordBuffer, ordinal, GetSmiMetaData(ordinal)); private SqlChars GetSqlCharsFrameworkSpecific(int ordinal) => - ValueUtilsSmi.GetSqlChars(_eventSink, _recordBuffer, ordinal, GetSmiMetaData(ordinal)); + ValueUtilsSmi.GetSqlChars(_recordBuffer, ordinal, GetSmiMetaData(ordinal)); private int SetValuesFrameworkSpecific(params object[] values) { @@ -78,7 +78,6 @@ private int SetValuesFrameworkSpecific(params object[] values) for (int i = 0; i < copyLength; i++) { ValueUtilsSmi.SetCompatibleValueV200( - _eventSink, _recordBuffer, ordinal: i, GetSmiMetaData(i), @@ -105,7 +104,6 @@ private void SetValueFrameworkSpecific(int ordinal, object value) } ValueUtilsSmi.SetCompatibleValueV200( - _eventSink, _recordBuffer, ordinal, GetSmiMetaData(ordinal), @@ -117,7 +115,6 @@ private void SetValueFrameworkSpecific(int ordinal, object value) private void SetTimeSpanFrameworkSpecific(int ordinal, TimeSpan value) => ValueUtilsSmi.SetTimeSpan( - _eventSink, _recordBuffer, ordinal, GetSmiMetaData(ordinal), @@ -126,7 +123,6 @@ private void SetTimeSpanFrameworkSpecific(int ordinal, TimeSpan value) => private void SetDateTimeOffsetFrameworkSpecific(int ordinal, DateTimeOffset value) => ValueUtilsSmi.SetDateTimeOffset( - _eventSink, _recordBuffer, ordinal, GetSmiMetaData(ordinal), diff --git a/src/Microsoft.Data.SqlClient/src/Microsoft/Data/SqlClient/Server/ValueUtilsSmi.cs b/src/Microsoft.Data.SqlClient/src/Microsoft/Data/SqlClient/Server/ValueUtilsSmi.cs index 96c31da63e..39b2494fa0 100644 --- a/src/Microsoft.Data.SqlClient/src/Microsoft/Data/SqlClient/Server/ValueUtilsSmi.cs +++ b/src/Microsoft.Data.SqlClient/src/Microsoft/Data/SqlClient/Server/ValueUtilsSmi.cs @@ -51,20 +51,20 @@ internal static class ValueUtilsSmi // 1) go directly to the source for the requested type if possible // 2) instantiate the value based on the stored type (GetValue), then ask the Clr // to convert. - internal static bool IsDBNull(SmiEventSink_Default sink, ITypedGettersV3 getters, int ordinal) + internal static bool IsDBNull(ITypedGettersV3 getters, int ordinal) { - return IsDBNull_Unchecked(sink, getters, ordinal); + return IsDBNull_Unchecked(getters, ordinal); } - internal static bool GetBoolean(SmiEventSink_Default sink, ITypedGettersV3 getters, int ordinal, SmiMetaData metaData) + internal static bool GetBoolean(ITypedGettersV3 getters, int ordinal, SmiMetaData metaData) { - ThrowIfITypedGettersIsNull(sink, getters, ordinal); + ThrowIfITypedGettersIsNull(getters, ordinal); if (CanAccessGetterDirectly(metaData, ExtendedClrTypeCode.Boolean)) { - return GetBoolean_Unchecked(sink, getters, ordinal); + return GetBoolean_Unchecked(getters, ordinal); } - object result = GetValue(sink, getters, ordinal, metaData); + object result = GetValue(getters, ordinal, metaData); if (result == null) { throw ADP.InvalidCast(); @@ -72,14 +72,14 @@ internal static bool GetBoolean(SmiEventSink_Default sink, ITypedGettersV3 gette return (bool)result; } - internal static byte GetByte(SmiEventSink_Default sink, ITypedGettersV3 getters, int ordinal, SmiMetaData metaData) + internal static byte GetByte(ITypedGettersV3 getters, int ordinal, SmiMetaData metaData) { - ThrowIfITypedGettersIsNull(sink, getters, ordinal); + ThrowIfITypedGettersIsNull(getters, ordinal); if (CanAccessGetterDirectly(metaData, ExtendedClrTypeCode.Byte)) { - return GetByte_Unchecked(sink, getters, ordinal); + return GetByte_Unchecked(getters, ordinal); } - object result = GetValue(sink, getters, ordinal, metaData); + object result = GetValue(getters, ordinal, metaData); if (result == null) { throw ADP.InvalidCast(); @@ -87,9 +87,9 @@ internal static byte GetByte(SmiEventSink_Default sink, ITypedGettersV3 getters, return (byte)result; } - private static long GetBytesConversion(SmiEventSink_Default sink, ITypedGettersV3 getters, int ordinal, SmiMetaData metaData, long fieldOffset, byte[] buffer, int bufferOffset, int length, bool throwOnNull) + private static long GetBytesConversion(ITypedGettersV3 getters, int ordinal, SmiMetaData metaData, long fieldOffset, byte[] buffer, int bufferOffset, int length, bool throwOnNull) { - object obj = GetSqlValue(sink, getters, ordinal, metaData); + object obj = GetSqlValue(getters, ordinal, metaData); if (obj== null) { throw ADP.InvalidCast(); @@ -120,7 +120,7 @@ private static long GetBytesConversion(SmiEventSink_Default sink, ITypedGettersV return length; } - internal static long GetBytes(SmiEventSink_Default sink, ITypedGettersV3 getters, int ordinal, SmiExtendedMetaData metaData, long fieldOffset, byte[] buffer, int bufferOffset, int length, bool throwOnNull) + internal static long GetBytes(ITypedGettersV3 getters, int ordinal, SmiExtendedMetaData metaData, long fieldOffset, byte[] buffer, int bufferOffset, int length, bool throwOnNull) { // Additional exclusions not caught by GetBytesInternal if ( @@ -140,15 +140,15 @@ internal static long GetBytes(SmiEventSink_Default sink, ITypedGettersV3 getters } else { - return GetBytesInternal(sink, getters, ordinal, metaData, fieldOffset, buffer, bufferOffset, length, throwOnNull); + return GetBytesInternal(getters, ordinal, metaData, fieldOffset, buffer, bufferOffset, length, throwOnNull); } } - internal static long GetBytesInternal(SmiEventSink_Default sink, ITypedGettersV3 getters, int ordinal, SmiMetaData metaData, long fieldOffset, byte[] buffer, int bufferOffset, int length, bool throwOnNull) + internal static long GetBytesInternal(ITypedGettersV3 getters, int ordinal, SmiMetaData metaData, long fieldOffset, byte[] buffer, int bufferOffset, int length, bool throwOnNull) { if (CanAccessGetterDirectly(metaData, ExtendedClrTypeCode.ByteArray)) { - if (IsDBNull_Unchecked(sink, getters, ordinal)) + if (IsDBNull_Unchecked(getters, ordinal)) { if (throwOnNull) { @@ -163,7 +163,7 @@ internal static long GetBytesInternal(SmiEventSink_Default sink, ITypedGettersV3 return 0; } } - long actualLength = GetBytesLength_Unchecked(sink, getters, ordinal); + long actualLength = GetBytesLength_Unchecked(getters, ordinal); if (buffer == null) { return actualLength; @@ -181,20 +181,20 @@ internal static long GetBytesInternal(SmiEventSink_Default sink, ITypedGettersV3 Debug.Assert(length >= 0, "Invalid CheckXetParameters return length!"); if (length > 0) { - length = GetBytes_Unchecked(sink, getters, ordinal, fieldOffset, buffer, bufferOffset, length); + length = GetBytes_Unchecked(getters, ordinal, fieldOffset, buffer, bufferOffset, length); } return length; } - return GetBytesConversion(sink, getters, ordinal, metaData, fieldOffset, buffer, bufferOffset, length, throwOnNull); + return GetBytesConversion(getters, ordinal, metaData, fieldOffset, buffer, bufferOffset, length, throwOnNull); } - internal static long GetChars(SmiEventSink_Default sink, ITypedGettersV3 getters, int ordinal, SmiMetaData metaData, long fieldOffset, char[] buffer, int bufferOffset, int length) + internal static long GetChars(ITypedGettersV3 getters, int ordinal, SmiMetaData metaData, long fieldOffset, char[] buffer, int bufferOffset, int length) { - ThrowIfITypedGettersIsNull(sink, getters, ordinal); + ThrowIfITypedGettersIsNull(getters, ordinal); if (CanAccessGetterDirectly(metaData, ExtendedClrTypeCode.CharArray)) { - long actualLength = GetCharsLength_Unchecked(sink, getters, ordinal); + long actualLength = GetCharsLength_Unchecked(getters, ordinal); if (buffer == null) { return actualLength; @@ -203,12 +203,12 @@ internal static long GetChars(SmiEventSink_Default sink, ITypedGettersV3 getters Debug.Assert(length >= 0, "Buffer.Length was invalid!"); if (length > 0) { - length = GetChars_Unchecked(sink, getters, ordinal, fieldOffset, buffer, bufferOffset, length); + length = GetChars_Unchecked(getters, ordinal, fieldOffset, buffer, bufferOffset, length); } return length; } - string value = (string)GetValue(sink, getters, ordinal, metaData); + string value = (string)GetValue(getters, ordinal, metaData); if (value == null) { throw ADP.InvalidCast(); @@ -224,14 +224,14 @@ internal static long GetChars(SmiEventSink_Default sink, ITypedGettersV3 getters return length; } - internal static DateTime GetDateTime(SmiEventSink_Default sink, ITypedGettersV3 getters, int ordinal, SmiMetaData metaData) + internal static DateTime GetDateTime(ITypedGettersV3 getters, int ordinal, SmiMetaData metaData) { - ThrowIfITypedGettersIsNull(sink, getters, ordinal); + ThrowIfITypedGettersIsNull(getters, ordinal); if (CanAccessGetterDirectly(metaData, ExtendedClrTypeCode.DateTime)) { - return GetDateTime_Unchecked(sink, getters, ordinal); + return GetDateTime_Unchecked(getters, ordinal); } - object result = GetValue(sink, getters, ordinal, metaData); + object result = GetValue(getters, ordinal, metaData); if (result == null) { throw ADP.InvalidCast(); @@ -240,24 +240,24 @@ internal static DateTime GetDateTime(SmiEventSink_Default sink, ITypedGettersV3 } // dealing with v200 SMI - internal static DateTimeOffset GetDateTimeOffset(SmiEventSink_Default sink, SmiTypedGetterSetter getters, int ordinal, SmiMetaData metaData) + internal static DateTimeOffset GetDateTimeOffset(SmiTypedGetterSetter getters, int ordinal, SmiMetaData metaData) { - ThrowIfITypedGettersIsNull(sink, getters, ordinal); + ThrowIfITypedGettersIsNull(getters, ordinal); if (CanAccessGetterDirectly(metaData, ExtendedClrTypeCode.DateTimeOffset)) { - return GetDateTimeOffset_Unchecked(sink, getters, ordinal); + return GetDateTimeOffset_Unchecked(getters, ordinal); } - return (DateTimeOffset)GetValue200(sink, getters, ordinal, metaData); + return (DateTimeOffset)GetValue200(getters, ordinal, metaData); } - internal static decimal GetDecimal(SmiEventSink_Default sink, ITypedGettersV3 getters, int ordinal, SmiMetaData metaData) + internal static decimal GetDecimal(ITypedGettersV3 getters, int ordinal, SmiMetaData metaData) { - ThrowIfITypedGettersIsNull(sink, getters, ordinal); + ThrowIfITypedGettersIsNull(getters, ordinal); if (CanAccessGetterDirectly(metaData, ExtendedClrTypeCode.Decimal)) { - return GetDecimal_PossiblyMoney(sink, getters, ordinal, metaData); + return GetDecimal_PossiblyMoney(getters, ordinal, metaData); } - object result = GetValue(sink, getters, ordinal, metaData); + object result = GetValue(getters, ordinal, metaData); if (result == null) { throw ADP.InvalidCast(); @@ -265,14 +265,14 @@ internal static decimal GetDecimal(SmiEventSink_Default sink, ITypedGettersV3 ge return (decimal)result; } - internal static double GetDouble(SmiEventSink_Default sink, ITypedGettersV3 getters, int ordinal, SmiMetaData metaData) + internal static double GetDouble(ITypedGettersV3 getters, int ordinal, SmiMetaData metaData) { - ThrowIfITypedGettersIsNull(sink, getters, ordinal); + ThrowIfITypedGettersIsNull(getters, ordinal); if (CanAccessGetterDirectly(metaData, ExtendedClrTypeCode.Double)) { - return GetDouble_Unchecked(sink, getters, ordinal); + return GetDouble_Unchecked(getters, ordinal); } - object result = GetValue(sink, getters, ordinal, metaData); + object result = GetValue(getters, ordinal, metaData); if (result == null) { throw ADP.InvalidCast(); @@ -280,14 +280,14 @@ internal static double GetDouble(SmiEventSink_Default sink, ITypedGettersV3 gett return (double)result; } - internal static Guid GetGuid(SmiEventSink_Default sink, ITypedGettersV3 getters, int ordinal, SmiMetaData metaData) + internal static Guid GetGuid(ITypedGettersV3 getters, int ordinal, SmiMetaData metaData) { - ThrowIfITypedGettersIsNull(sink, getters, ordinal); + ThrowIfITypedGettersIsNull(getters, ordinal); if (CanAccessGetterDirectly(metaData, ExtendedClrTypeCode.Guid)) { - return GetGuid_Unchecked(sink, getters, ordinal); + return GetGuid_Unchecked(getters, ordinal); } - object result = GetValue(sink, getters, ordinal, metaData); + object result = GetValue(getters, ordinal, metaData); if (result == null) { throw ADP.InvalidCast(); @@ -295,14 +295,14 @@ internal static Guid GetGuid(SmiEventSink_Default sink, ITypedGettersV3 getters, return (Guid)result; } - internal static short GetInt16(SmiEventSink_Default sink, ITypedGettersV3 getters, int ordinal, SmiMetaData metaData) + internal static short GetInt16(ITypedGettersV3 getters, int ordinal, SmiMetaData metaData) { - ThrowIfITypedGettersIsNull(sink, getters, ordinal); + ThrowIfITypedGettersIsNull(getters, ordinal); if (CanAccessGetterDirectly(metaData, ExtendedClrTypeCode.Int16)) { - return GetInt16_Unchecked(sink, getters, ordinal); + return GetInt16_Unchecked(getters, ordinal); } - object obj = GetValue(sink, getters, ordinal, metaData); + object obj = GetValue(getters, ordinal, metaData); if (obj == null) { throw ADP.InvalidCast(); @@ -310,14 +310,14 @@ internal static short GetInt16(SmiEventSink_Default sink, ITypedGettersV3 getter return (short)obj; } - internal static int GetInt32(SmiEventSink_Default sink, ITypedGettersV3 getters, int ordinal, SmiMetaData metaData) + internal static int GetInt32(ITypedGettersV3 getters, int ordinal, SmiMetaData metaData) { - ThrowIfITypedGettersIsNull(sink, getters, ordinal); + ThrowIfITypedGettersIsNull(getters, ordinal); if (CanAccessGetterDirectly(metaData, ExtendedClrTypeCode.Int32)) { - return GetInt32_Unchecked(sink, getters, ordinal); + return GetInt32_Unchecked(getters, ordinal); } - object result = GetValue(sink, getters, ordinal, metaData); + object result = GetValue(getters, ordinal, metaData); if (result == null) { throw ADP.InvalidCast(); @@ -325,14 +325,14 @@ internal static int GetInt32(SmiEventSink_Default sink, ITypedGettersV3 getters, return (int)result; } - internal static long GetInt64(SmiEventSink_Default sink, ITypedGettersV3 getters, int ordinal, SmiMetaData metaData) + internal static long GetInt64(ITypedGettersV3 getters, int ordinal, SmiMetaData metaData) { - ThrowIfITypedGettersIsNull(sink, getters, ordinal); + ThrowIfITypedGettersIsNull(getters, ordinal); if (CanAccessGetterDirectly(metaData, ExtendedClrTypeCode.Int64)) { - return GetInt64_Unchecked(sink, getters, ordinal); + return GetInt64_Unchecked(getters, ordinal); } - object result = GetValue(sink, getters, ordinal, metaData); + object result = GetValue(getters, ordinal, metaData); if (result == null) { throw ADP.InvalidCast(); @@ -340,14 +340,14 @@ internal static long GetInt64(SmiEventSink_Default sink, ITypedGettersV3 getters return (long)result; } - internal static float GetSingle(SmiEventSink_Default sink, ITypedGettersV3 getters, int ordinal, SmiMetaData metaData) + internal static float GetSingle(ITypedGettersV3 getters, int ordinal, SmiMetaData metaData) { - ThrowIfITypedGettersIsNull(sink, getters, ordinal); + ThrowIfITypedGettersIsNull(getters, ordinal); if (CanAccessGetterDirectly(metaData, ExtendedClrTypeCode.Single)) { - return GetSingle_Unchecked(sink, getters, ordinal); + return GetSingle_Unchecked(getters, ordinal); } - object result = GetValue(sink, getters, ordinal, metaData); + object result = GetValue(getters, ordinal, metaData); if (result == null) { throw ADP.InvalidCast(); @@ -355,17 +355,17 @@ internal static float GetSingle(SmiEventSink_Default sink, ITypedGettersV3 gette return (float)result; } - internal static SqlBinary GetSqlBinary(SmiEventSink_Default sink, ITypedGettersV3 getters, int ordinal, SmiMetaData metaData) + internal static SqlBinary GetSqlBinary(ITypedGettersV3 getters, int ordinal, SmiMetaData metaData) { if (CanAccessGetterDirectly(metaData, ExtendedClrTypeCode.SqlBinary)) { - if (IsDBNull_Unchecked(sink, getters, ordinal)) + if (IsDBNull_Unchecked(getters, ordinal)) { return SqlBinary.Null; } - return GetSqlBinary_Unchecked(sink, getters, ordinal); + return GetSqlBinary_Unchecked(getters, ordinal); } - object result = GetSqlValue(sink, getters, ordinal, metaData); + object result = GetSqlValue(getters, ordinal, metaData); if (result == null) { throw ADP.InvalidCast(); @@ -373,17 +373,17 @@ internal static SqlBinary GetSqlBinary(SmiEventSink_Default sink, ITypedGettersV return (SqlBinary)result; } - internal static SqlBoolean GetSqlBoolean(SmiEventSink_Default sink, ITypedGettersV3 getters, int ordinal, SmiMetaData metaData) + internal static SqlBoolean GetSqlBoolean(ITypedGettersV3 getters, int ordinal, SmiMetaData metaData) { if (CanAccessGetterDirectly(metaData, ExtendedClrTypeCode.SqlBoolean)) { - if (IsDBNull_Unchecked(sink, getters, ordinal)) + if (IsDBNull_Unchecked(getters, ordinal)) { return SqlBoolean.Null; } - return new SqlBoolean(GetBoolean_Unchecked(sink, getters, ordinal)); + return new SqlBoolean(GetBoolean_Unchecked(getters, ordinal)); } - object result = GetSqlValue(sink, getters, ordinal, metaData); + object result = GetSqlValue(getters, ordinal, metaData); if (result == null) { throw ADP.InvalidCast(); @@ -391,17 +391,17 @@ internal static SqlBoolean GetSqlBoolean(SmiEventSink_Default sink, ITypedGetter return (SqlBoolean)result; } - internal static SqlByte GetSqlByte(SmiEventSink_Default sink, ITypedGettersV3 getters, int ordinal, SmiMetaData metaData) + internal static SqlByte GetSqlByte(ITypedGettersV3 getters, int ordinal, SmiMetaData metaData) { if (CanAccessGetterDirectly(metaData, ExtendedClrTypeCode.SqlByte)) { - if (IsDBNull_Unchecked(sink, getters, ordinal)) + if (IsDBNull_Unchecked(getters, ordinal)) { return SqlByte.Null; } - return new SqlByte(GetByte_Unchecked(sink, getters, ordinal)); + return new SqlByte(GetByte_Unchecked(getters, ordinal)); } - object result = GetSqlValue(sink, getters, ordinal, metaData); + object result = GetSqlValue(getters, ordinal, metaData); if (result == null) { throw ADP.InvalidCast(); @@ -410,7 +410,6 @@ internal static SqlByte GetSqlByte(SmiEventSink_Default sink, ITypedGettersV3 ge } internal static SqlBytes GetSqlBytes( - SmiEventSink_Default sink, ITypedGettersV3 getters, int ordinal, SmiMetaData metaData) @@ -418,21 +417,21 @@ internal static SqlBytes GetSqlBytes( SqlBytes result; if (CanAccessGetterDirectly(metaData, ExtendedClrTypeCode.SqlBytes)) { - if (IsDBNull_Unchecked(sink, getters, ordinal)) + if (IsDBNull_Unchecked(getters, ordinal)) { result = SqlBytes.Null; } else { - long length = GetBytesLength_Unchecked(sink, getters, ordinal); + long length = GetBytesLength_Unchecked(getters, ordinal); if (length >= 0 && length < MaxByteChunkSize) { - byte[] byteBuffer = GetByteArray_Unchecked(sink, getters, ordinal); + byte[] byteBuffer = GetByteArray_Unchecked(getters, ordinal); result = new SqlBytes(byteBuffer); } else { - Stream s = new SmiGettersStream(sink, getters, ordinal, metaData); + Stream s = new SmiGettersStream(getters, ordinal, metaData); s = CopyIntoNewSmiScratchStream(s); result = new SqlBytes(s); } @@ -440,7 +439,7 @@ internal static SqlBytes GetSqlBytes( } else { - object obj = GetSqlValue(sink, getters, ordinal, metaData); + object obj = GetSqlValue(getters, ordinal, metaData); if (obj == null) { throw ADP.InvalidCast(); @@ -460,7 +459,6 @@ internal static SqlBytes GetSqlBytes( } internal static SqlChars GetSqlChars( - SmiEventSink_Default sink, ITypedGettersV3 getters, int ordinal, SmiMetaData metaData) @@ -468,13 +466,13 @@ internal static SqlChars GetSqlChars( SqlChars result; if (CanAccessGetterDirectly(metaData, ExtendedClrTypeCode.SqlChars)) { - if (IsDBNull_Unchecked(sink, getters, ordinal)) + if (IsDBNull_Unchecked(getters, ordinal)) { result = SqlChars.Null; } else { - char[] charBuffer = GetCharArray_Unchecked(sink, getters, ordinal); + char[] charBuffer = GetCharArray_Unchecked(getters, ordinal); result = new SqlChars(charBuffer); } } @@ -483,7 +481,7 @@ internal static SqlChars GetSqlChars( SqlString stringValue; if (metaData.SqlDbType == SqlDbType.Xml) { - SqlXml xmlValue = GetSqlXml_Unchecked(sink, getters, ordinal); + SqlXml xmlValue = GetSqlXml_Unchecked(getters, ordinal); if (xmlValue.IsNull) { @@ -496,7 +494,7 @@ internal static SqlChars GetSqlChars( } else { - object obj = GetSqlValue(sink, getters, ordinal, metaData); + object obj = GetSqlValue(getters, ordinal, metaData); if (obj == null) { throw ADP.InvalidCast(); @@ -517,24 +515,24 @@ internal static SqlChars GetSqlChars( return result; } - internal static SqlDateTime GetSqlDateTime(SmiEventSink_Default sink, ITypedGettersV3 getters, int ordinal, SmiMetaData metaData) + internal static SqlDateTime GetSqlDateTime(ITypedGettersV3 getters, int ordinal, SmiMetaData metaData) { SqlDateTime result; if (CanAccessGetterDirectly(metaData, ExtendedClrTypeCode.SqlDateTime)) { - if (IsDBNull_Unchecked(sink, getters, ordinal)) + if (IsDBNull_Unchecked(getters, ordinal)) { result = SqlDateTime.Null; } else { - DateTime temp = GetDateTime_Unchecked(sink, getters, ordinal); + DateTime temp = GetDateTime_Unchecked(getters, ordinal); result = new SqlDateTime(temp); } } else { - object obj = GetSqlValue(sink, getters, ordinal, metaData); + object obj = GetSqlValue(getters, ordinal, metaData); if (obj == null) { throw ADP.InvalidCast(); @@ -545,23 +543,23 @@ internal static SqlDateTime GetSqlDateTime(SmiEventSink_Default sink, ITypedGett return result; } - internal static SqlDecimal GetSqlDecimal(SmiEventSink_Default sink, ITypedGettersV3 getters, int ordinal, SmiMetaData metaData) + internal static SqlDecimal GetSqlDecimal(ITypedGettersV3 getters, int ordinal, SmiMetaData metaData) { SqlDecimal result; if (CanAccessGetterDirectly(metaData, ExtendedClrTypeCode.SqlDecimal)) { - if (IsDBNull_Unchecked(sink, getters, ordinal)) + if (IsDBNull_Unchecked(getters, ordinal)) { result = SqlDecimal.Null; } else { - result = GetSqlDecimal_Unchecked(sink, getters, ordinal); + result = GetSqlDecimal_Unchecked(getters, ordinal); } } else { - object obj = GetSqlValue(sink, getters, ordinal, metaData); + object obj = GetSqlValue(getters, ordinal, metaData); if (obj == null) { throw ADP.InvalidCast(); @@ -572,24 +570,24 @@ internal static SqlDecimal GetSqlDecimal(SmiEventSink_Default sink, ITypedGetter return result; } - internal static SqlDouble GetSqlDouble(SmiEventSink_Default sink, ITypedGettersV3 getters, int ordinal, SmiMetaData metaData) + internal static SqlDouble GetSqlDouble(ITypedGettersV3 getters, int ordinal, SmiMetaData metaData) { SqlDouble result; if (CanAccessGetterDirectly(metaData, ExtendedClrTypeCode.SqlDouble)) { - if (IsDBNull_Unchecked(sink, getters, ordinal)) + if (IsDBNull_Unchecked(getters, ordinal)) { result = SqlDouble.Null; } else { - double temp = GetDouble_Unchecked(sink, getters, ordinal); + double temp = GetDouble_Unchecked(getters, ordinal); result = new SqlDouble(temp); } } else { - object obj = GetSqlValue(sink, getters, ordinal, metaData); + object obj = GetSqlValue(getters, ordinal, metaData); if (obj == null) { throw ADP.InvalidCast(); @@ -600,24 +598,24 @@ internal static SqlDouble GetSqlDouble(SmiEventSink_Default sink, ITypedGettersV return result; } - internal static SqlGuid GetSqlGuid(SmiEventSink_Default sink, ITypedGettersV3 getters, int ordinal, SmiMetaData metaData) + internal static SqlGuid GetSqlGuid(ITypedGettersV3 getters, int ordinal, SmiMetaData metaData) { SqlGuid result; if (CanAccessGetterDirectly(metaData, ExtendedClrTypeCode.SqlGuid)) { - if (IsDBNull_Unchecked(sink, getters, ordinal)) + if (IsDBNull_Unchecked(getters, ordinal)) { result = SqlGuid.Null; } else { - Guid temp = GetGuid_Unchecked(sink, getters, ordinal); + Guid temp = GetGuid_Unchecked(getters, ordinal); result = new SqlGuid(temp); } } else { - object obj = GetSqlValue(sink, getters, ordinal, metaData); + object obj = GetSqlValue(getters, ordinal, metaData); if (obj == null) { throw ADP.InvalidCast(); @@ -628,24 +626,24 @@ internal static SqlGuid GetSqlGuid(SmiEventSink_Default sink, ITypedGettersV3 ge return result; } - internal static SqlInt16 GetSqlInt16(SmiEventSink_Default sink, ITypedGettersV3 getters, int ordinal, SmiMetaData metaData) + internal static SqlInt16 GetSqlInt16(ITypedGettersV3 getters, int ordinal, SmiMetaData metaData) { SqlInt16 result; if (CanAccessGetterDirectly(metaData, ExtendedClrTypeCode.SqlInt16)) { - if (IsDBNull_Unchecked(sink, getters, ordinal)) + if (IsDBNull_Unchecked(getters, ordinal)) { result = SqlInt16.Null; } else { - short temp = GetInt16_Unchecked(sink, getters, ordinal); + short temp = GetInt16_Unchecked(getters, ordinal); result = new SqlInt16(temp); } } else { - object obj = GetSqlValue(sink, getters, ordinal, metaData); + object obj = GetSqlValue(getters, ordinal, metaData); if (obj == null) { throw ADP.InvalidCast(); @@ -656,24 +654,24 @@ internal static SqlInt16 GetSqlInt16(SmiEventSink_Default sink, ITypedGettersV3 return result; } - internal static SqlInt32 GetSqlInt32(SmiEventSink_Default sink, ITypedGettersV3 getters, int ordinal, SmiMetaData metaData) + internal static SqlInt32 GetSqlInt32(ITypedGettersV3 getters, int ordinal, SmiMetaData metaData) { SqlInt32 result; if (CanAccessGetterDirectly(metaData, ExtendedClrTypeCode.SqlInt32)) { - if (IsDBNull_Unchecked(sink, getters, ordinal)) + if (IsDBNull_Unchecked(getters, ordinal)) { result = SqlInt32.Null; } else { - int temp = GetInt32_Unchecked(sink, getters, ordinal); + int temp = GetInt32_Unchecked(getters, ordinal); result = new SqlInt32(temp); } } else { - object obj = GetSqlValue(sink, getters, ordinal, metaData); + object obj = GetSqlValue(getters, ordinal, metaData); if (obj == null) { throw ADP.InvalidCast(); @@ -683,24 +681,24 @@ internal static SqlInt32 GetSqlInt32(SmiEventSink_Default sink, ITypedGettersV3 return result; } - internal static SqlInt64 GetSqlInt64(SmiEventSink_Default sink, ITypedGettersV3 getters, int ordinal, SmiMetaData metaData) + internal static SqlInt64 GetSqlInt64(ITypedGettersV3 getters, int ordinal, SmiMetaData metaData) { SqlInt64 result; if (CanAccessGetterDirectly(metaData, ExtendedClrTypeCode.SqlInt64)) { - if (IsDBNull_Unchecked(sink, getters, ordinal)) + if (IsDBNull_Unchecked(getters, ordinal)) { result = SqlInt64.Null; } else { - long temp = GetInt64_Unchecked(sink, getters, ordinal); + long temp = GetInt64_Unchecked(getters, ordinal); result = new SqlInt64(temp); } } else { - object obj = GetSqlValue(sink, getters, ordinal, metaData); + object obj = GetSqlValue(getters, ordinal, metaData); if (obj == null) { throw ADP.InvalidCast(); @@ -711,23 +709,23 @@ internal static SqlInt64 GetSqlInt64(SmiEventSink_Default sink, ITypedGettersV3 return result; } - internal static SqlMoney GetSqlMoney(SmiEventSink_Default sink, ITypedGettersV3 getters, int ordinal, SmiMetaData metaData) + internal static SqlMoney GetSqlMoney(ITypedGettersV3 getters, int ordinal, SmiMetaData metaData) { SqlMoney result; if (CanAccessGetterDirectly(metaData, ExtendedClrTypeCode.SqlMoney)) { - if (IsDBNull_Unchecked(sink, getters, ordinal)) + if (IsDBNull_Unchecked(getters, ordinal)) { result = SqlMoney.Null; } else { - result = GetSqlMoney_Unchecked(sink, getters, ordinal); + result = GetSqlMoney_Unchecked(getters, ordinal); } } else { - object obj = GetSqlValue(sink, getters, ordinal, metaData); + object obj = GetSqlValue(getters, ordinal, metaData); if (obj == null) { throw ADP.InvalidCast(); @@ -738,24 +736,24 @@ internal static SqlMoney GetSqlMoney(SmiEventSink_Default sink, ITypedGettersV3 return result; } - internal static SqlSingle GetSqlSingle(SmiEventSink_Default sink, ITypedGettersV3 getters, int ordinal, SmiMetaData metaData) + internal static SqlSingle GetSqlSingle(ITypedGettersV3 getters, int ordinal, SmiMetaData metaData) { SqlSingle result; if (CanAccessGetterDirectly(metaData, ExtendedClrTypeCode.SqlSingle)) { - if (IsDBNull_Unchecked(sink, getters, ordinal)) + if (IsDBNull_Unchecked(getters, ordinal)) { result = SqlSingle.Null; } else { - float temp = GetSingle_Unchecked(sink, getters, ordinal); + float temp = GetSingle_Unchecked(getters, ordinal); result = new SqlSingle(temp); } } else { - object obj = GetSqlValue(sink, getters, ordinal, metaData); + object obj = GetSqlValue(getters, ordinal, metaData); if (obj == null) { throw ADP.InvalidCast(); @@ -766,24 +764,24 @@ internal static SqlSingle GetSqlSingle(SmiEventSink_Default sink, ITypedGettersV return result; } - internal static SqlString GetSqlString(SmiEventSink_Default sink, ITypedGettersV3 getters, int ordinal, SmiMetaData metaData) + internal static SqlString GetSqlString(ITypedGettersV3 getters, int ordinal, SmiMetaData metaData) { SqlString result; if (CanAccessGetterDirectly(metaData, ExtendedClrTypeCode.SqlString)) { - if (IsDBNull_Unchecked(sink, getters, ordinal)) + if (IsDBNull_Unchecked(getters, ordinal)) { result = SqlString.Null; } else { - string temp = GetString_Unchecked(sink, getters, ordinal); + string temp = GetString_Unchecked(getters, ordinal); result = new SqlString(temp); } } else if (SqlDbType.Xml == metaData.SqlDbType) { - SqlXml xmlValue = GetSqlXml_Unchecked(sink, getters, ordinal); + SqlXml xmlValue = GetSqlXml_Unchecked(getters, ordinal); if (xmlValue.IsNull) { @@ -796,7 +794,7 @@ internal static SqlString GetSqlString(SmiEventSink_Default sink, ITypedGettersV } else { - object obj = GetSqlValue(sink, getters, ordinal, metaData); + object obj = GetSqlValue(getters, ordinal, metaData); if (obj == null) { throw ADP.InvalidCast(); @@ -808,7 +806,6 @@ internal static SqlString GetSqlString(SmiEventSink_Default sink, ITypedGettersV } internal static SqlXml GetSqlXml( - SmiEventSink_Default sink, ITypedGettersV3 getters, int ordinal, SmiMetaData metaData) @@ -816,18 +813,18 @@ internal static SqlXml GetSqlXml( SqlXml result; if (CanAccessGetterDirectly(metaData, ExtendedClrTypeCode.SqlXml)) { - if (IsDBNull_Unchecked(sink, getters, ordinal)) + if (IsDBNull_Unchecked(getters, ordinal)) { result = SqlXml.Null; } else { - result = GetSqlXml_Unchecked(sink, getters, ordinal); + result = GetSqlXml_Unchecked(getters, ordinal); } } else { - object obj = GetSqlValue(sink, getters, ordinal, metaData); + object obj = GetSqlValue(getters, ordinal, metaData); if (obj == null) { throw ADP.InvalidCast(); @@ -838,14 +835,14 @@ internal static SqlXml GetSqlXml( return result; } - internal static string GetString(SmiEventSink_Default sink, ITypedGettersV3 getters, int ordinal, SmiMetaData metaData) + internal static string GetString(ITypedGettersV3 getters, int ordinal, SmiMetaData metaData) { - ThrowIfITypedGettersIsNull(sink, getters, ordinal); + ThrowIfITypedGettersIsNull(getters, ordinal); if (CanAccessGetterDirectly(metaData, ExtendedClrTypeCode.String)) { - return GetString_Unchecked(sink, getters, ordinal); + return GetString_Unchecked(getters, ordinal); } - object obj = GetValue(sink, getters, ordinal, metaData); + object obj = GetValue(getters, ordinal, metaData); if (obj == null) { throw ADP.InvalidCast(); @@ -854,25 +851,24 @@ internal static string GetString(SmiEventSink_Default sink, ITypedGettersV3 gett } // dealing with v200 SMI - internal static TimeSpan GetTimeSpan(SmiEventSink_Default sink, SmiTypedGetterSetter getters, int ordinal, SmiMetaData metaData) + internal static TimeSpan GetTimeSpan(SmiTypedGetterSetter getters, int ordinal, SmiMetaData metaData) { - ThrowIfITypedGettersIsNull(sink, getters, ordinal); + ThrowIfITypedGettersIsNull(getters, ordinal); if (CanAccessGetterDirectly(metaData, ExtendedClrTypeCode.TimeSpan)) { - return GetTimeSpan_Unchecked(sink, getters, ordinal); + return GetTimeSpan_Unchecked(getters, ordinal); } - return (TimeSpan)GetValue200(sink, getters, ordinal, metaData); + return (TimeSpan)GetValue200(getters, ordinal, metaData); } // GetValue() for v200 SMI (2008 Date/Time types) internal static object GetValue200( - SmiEventSink_Default sink, SmiTypedGetterSetter getters, int ordinal, SmiMetaData metaData) { object result; - if (IsDBNull_Unchecked(sink, getters, ordinal)) + if (IsDBNull_Unchecked(getters, ordinal)) { result = DBNull.Value; } @@ -882,22 +878,21 @@ internal static object GetValue200( { case SqlDbType.Variant: // Handle variants specifically for v200, since they could contain v200 types metaData = getters.GetVariantType(ordinal); - sink.ProcessMessagesAndThrow(); Debug.Assert(SqlDbType.Variant != metaData.SqlDbType, "Variant-within-variant causes endless recursion!"); - result = GetValue200(sink, getters, ordinal, metaData); + result = GetValue200(getters, ordinal, metaData); break; case SqlDbType.Date: case SqlDbType.DateTime2: - result = GetDateTime_Unchecked(sink, getters, ordinal); + result = GetDateTime_Unchecked(getters, ordinal); break; case SqlDbType.Time: - result = GetTimeSpan_Unchecked(sink, getters, ordinal); + result = GetTimeSpan_Unchecked(getters, ordinal); break; case SqlDbType.DateTimeOffset: - result = GetDateTimeOffset_Unchecked(sink, getters, ordinal); + result = GetDateTimeOffset_Unchecked(getters, ordinal); break; default: - result = GetValue(sink, getters, ordinal, metaData); + result = GetValue(getters, ordinal, metaData); break; } } @@ -909,13 +904,12 @@ internal static object GetValue200( // implements SqlClient 1.1-compatible GetValue() semantics for everything except output parameters internal static object GetValue( - SmiEventSink_Default sink, ITypedGettersV3 getters, int ordinal, SmiMetaData metaData) { object result = null; - if (IsDBNull_Unchecked(sink, getters, ordinal)) + if (IsDBNull_Unchecked(getters, ordinal)) { result = DBNull.Value; } @@ -924,85 +918,84 @@ internal static object GetValue( switch (metaData.SqlDbType) { case SqlDbType.BigInt: - result = GetInt64_Unchecked(sink, getters, ordinal); + result = GetInt64_Unchecked(getters, ordinal); break; case SqlDbType.Binary: - result = GetByteArray_Unchecked(sink, getters, ordinal); + result = GetByteArray_Unchecked(getters, ordinal); break; case SqlDbType.Bit: - result = GetBoolean_Unchecked(sink, getters, ordinal); + result = GetBoolean_Unchecked(getters, ordinal); break; case SqlDbType.Char: - result = GetString_Unchecked(sink, getters, ordinal); + result = GetString_Unchecked(getters, ordinal); break; case SqlDbType.DateTime: - result = GetDateTime_Unchecked(sink, getters, ordinal); + result = GetDateTime_Unchecked(getters, ordinal); break; case SqlDbType.Decimal: - result = GetSqlDecimal_Unchecked(sink, getters, ordinal).Value; + result = GetSqlDecimal_Unchecked(getters, ordinal).Value; break; case SqlDbType.Float: - result = GetDouble_Unchecked(sink, getters, ordinal); + result = GetDouble_Unchecked(getters, ordinal); break; case SqlDbType.Image: - result = GetByteArray_Unchecked(sink, getters, ordinal); + result = GetByteArray_Unchecked(getters, ordinal); break; case SqlDbType.Int: - result = GetInt32_Unchecked(sink, getters, ordinal); + result = GetInt32_Unchecked(getters, ordinal); break; case SqlDbType.Money: - result = GetSqlMoney_Unchecked(sink, getters, ordinal).Value; + result = GetSqlMoney_Unchecked(getters, ordinal).Value; break; case SqlDbType.NChar: - result = GetString_Unchecked(sink, getters, ordinal); + result = GetString_Unchecked(getters, ordinal); break; case SqlDbType.NText: - result = GetString_Unchecked(sink, getters, ordinal); + result = GetString_Unchecked(getters, ordinal); break; case SqlDbType.NVarChar: - result = GetString_Unchecked(sink, getters, ordinal); + result = GetString_Unchecked(getters, ordinal); break; case SqlDbType.Real: - result = GetSingle_Unchecked(sink, getters, ordinal); + result = GetSingle_Unchecked(getters, ordinal); break; case SqlDbType.UniqueIdentifier: - result = GetGuid_Unchecked(sink, getters, ordinal); + result = GetGuid_Unchecked(getters, ordinal); break; case SqlDbType.SmallDateTime: - result = GetDateTime_Unchecked(sink, getters, ordinal); + result = GetDateTime_Unchecked(getters, ordinal); break; case SqlDbType.SmallInt: - result = GetInt16_Unchecked(sink, getters, ordinal); + result = GetInt16_Unchecked(getters, ordinal); break; case SqlDbType.SmallMoney: - result = GetSqlMoney_Unchecked(sink, getters, ordinal).Value; + result = GetSqlMoney_Unchecked(getters, ordinal).Value; break; case SqlDbType.Text: - result = GetString_Unchecked(sink, getters, ordinal); + result = GetString_Unchecked(getters, ordinal); break; case SqlDbType.Timestamp: - result = GetByteArray_Unchecked(sink, getters, ordinal); + result = GetByteArray_Unchecked(getters, ordinal); break; case SqlDbType.TinyInt: - result = GetByte_Unchecked(sink, getters, ordinal); + result = GetByte_Unchecked(getters, ordinal); break; case SqlDbType.VarBinary: - result = GetByteArray_Unchecked(sink, getters, ordinal); + result = GetByteArray_Unchecked(getters, ordinal); break; case SqlDbType.VarChar: - result = GetString_Unchecked(sink, getters, ordinal); + result = GetString_Unchecked(getters, ordinal); break; case SqlDbType.Variant: metaData = getters.GetVariantType(ordinal); - sink.ProcessMessagesAndThrow(); Debug.Assert(SqlDbType.Variant != metaData.SqlDbType, "Variant-within-variant causes endless recursion!"); - result = GetValue(sink, getters, ordinal, metaData); + result = GetValue(getters, ordinal, metaData); break; case SqlDbType.Xml: - result = GetSqlXml_Unchecked(sink, getters, ordinal).Value; + result = GetSqlXml_Unchecked(getters, ordinal).Value; break; case SqlDbType.Udt: - result = GetUdt_LengthChecked(sink, getters, ordinal, metaData); + result = GetUdt_LengthChecked(getters, ordinal, metaData); break; } } @@ -1012,13 +1005,12 @@ internal static object GetValue( // dealing with v200 SMI internal static object GetSqlValue200( - SmiEventSink_Default sink, SmiTypedGetterSetter getters, int ordinal, SmiMetaData metaData) { object result; - if (IsDBNull_Unchecked(sink, getters, ordinal)) + if (IsDBNull_Unchecked(getters, ordinal)) { if (metaData.SqlDbType == SqlDbType.Udt) { @@ -1035,22 +1027,21 @@ internal static object GetSqlValue200( { case SqlDbType.Variant: // Handle variants specifically for v200, since they could contain v200 types metaData = getters.GetVariantType(ordinal); - sink.ProcessMessagesAndThrow(); Debug.Assert(SqlDbType.Variant != metaData.SqlDbType, "Variant-within-variant causes endless recursion!"); - result = GetSqlValue200(sink, getters, ordinal, metaData); + result = GetSqlValue200(getters, ordinal, metaData); break; case SqlDbType.Date: case SqlDbType.DateTime2: - result = GetDateTime_Unchecked(sink, getters, ordinal); + result = GetDateTime_Unchecked(getters, ordinal); break; case SqlDbType.Time: - result = GetTimeSpan_Unchecked(sink, getters, ordinal); + result = GetTimeSpan_Unchecked(getters, ordinal); break; case SqlDbType.DateTimeOffset: - result = GetDateTimeOffset_Unchecked(sink, getters, ordinal); + result = GetDateTimeOffset_Unchecked(getters, ordinal); break; default: - result = GetSqlValue(sink, getters, ordinal, metaData); + result = GetSqlValue(getters, ordinal, metaData); break; } } @@ -1060,13 +1051,12 @@ internal static object GetSqlValue200( // implements SqlClient 1.1-compatible GetSqlValue() semantics for everything except output parameters internal static object GetSqlValue( - SmiEventSink_Default sink, ITypedGettersV3 getters, int ordinal, SmiMetaData metaData) { object result = null; - if (IsDBNull_Unchecked(sink, getters, ordinal)) + if (IsDBNull_Unchecked(getters, ordinal)) { if ( metaData.SqlDbType ==SqlDbType.Udt) { @@ -1082,85 +1072,84 @@ internal static object GetSqlValue( switch (metaData.SqlDbType) { case SqlDbType.BigInt: - result = new SqlInt64(GetInt64_Unchecked(sink, getters, ordinal)); + result = new SqlInt64(GetInt64_Unchecked(getters, ordinal)); break; case SqlDbType.Binary: - result = GetSqlBinary_Unchecked(sink, getters, ordinal); + result = GetSqlBinary_Unchecked(getters, ordinal); break; case SqlDbType.Bit: - result = new SqlBoolean(GetBoolean_Unchecked(sink, getters, ordinal)); + result = new SqlBoolean(GetBoolean_Unchecked(getters, ordinal)); break; case SqlDbType.Char: - result = new SqlString(GetString_Unchecked(sink, getters, ordinal)); + result = new SqlString(GetString_Unchecked(getters, ordinal)); break; case SqlDbType.DateTime: - result = new SqlDateTime(GetDateTime_Unchecked(sink, getters, ordinal)); + result = new SqlDateTime(GetDateTime_Unchecked(getters, ordinal)); break; case SqlDbType.Decimal: - result = GetSqlDecimal_Unchecked(sink, getters, ordinal); + result = GetSqlDecimal_Unchecked(getters, ordinal); break; case SqlDbType.Float: - result = new SqlDouble(GetDouble_Unchecked(sink, getters, ordinal)); + result = new SqlDouble(GetDouble_Unchecked(getters, ordinal)); break; case SqlDbType.Image: - result = GetSqlBinary_Unchecked(sink, getters, ordinal); + result = GetSqlBinary_Unchecked(getters, ordinal); break; case SqlDbType.Int: - result = new SqlInt32(GetInt32_Unchecked(sink, getters, ordinal)); + result = new SqlInt32(GetInt32_Unchecked(getters, ordinal)); break; case SqlDbType.Money: - result = GetSqlMoney_Unchecked(sink, getters, ordinal); + result = GetSqlMoney_Unchecked(getters, ordinal); break; case SqlDbType.NChar: - result = new SqlString(GetString_Unchecked(sink, getters, ordinal)); + result = new SqlString(GetString_Unchecked(getters, ordinal)); break; case SqlDbType.NText: - result = new SqlString(GetString_Unchecked(sink, getters, ordinal)); + result = new SqlString(GetString_Unchecked(getters, ordinal)); break; case SqlDbType.NVarChar: - result = new SqlString(GetString_Unchecked(sink, getters, ordinal)); + result = new SqlString(GetString_Unchecked(getters, ordinal)); break; case SqlDbType.Real: - result = new SqlSingle(GetSingle_Unchecked(sink, getters, ordinal)); + result = new SqlSingle(GetSingle_Unchecked(getters, ordinal)); break; case SqlDbType.UniqueIdentifier: - result = new SqlGuid(GetGuid_Unchecked(sink, getters, ordinal)); + result = new SqlGuid(GetGuid_Unchecked(getters, ordinal)); break; case SqlDbType.SmallDateTime: - result = new SqlDateTime(GetDateTime_Unchecked(sink, getters, ordinal)); + result = new SqlDateTime(GetDateTime_Unchecked(getters, ordinal)); break; case SqlDbType.SmallInt: - result = new SqlInt16(GetInt16_Unchecked(sink, getters, ordinal)); + result = new SqlInt16(GetInt16_Unchecked(getters, ordinal)); break; case SqlDbType.SmallMoney: - result = GetSqlMoney_Unchecked(sink, getters, ordinal); + result = GetSqlMoney_Unchecked(getters, ordinal); break; case SqlDbType.Text: - result = new SqlString(GetString_Unchecked(sink, getters, ordinal)); + result = new SqlString(GetString_Unchecked(getters, ordinal)); break; case SqlDbType.Timestamp: - result = GetSqlBinary_Unchecked(sink, getters, ordinal); + result = GetSqlBinary_Unchecked(getters, ordinal); break; case SqlDbType.TinyInt: - result = new SqlByte(GetByte_Unchecked(sink, getters, ordinal)); + result = new SqlByte(GetByte_Unchecked(getters, ordinal)); break; case SqlDbType.VarBinary: - result = GetSqlBinary_Unchecked(sink, getters, ordinal); + result = GetSqlBinary_Unchecked(getters, ordinal); break; case SqlDbType.VarChar: - result = new SqlString(GetString_Unchecked(sink, getters, ordinal)); + result = new SqlString(GetString_Unchecked(getters, ordinal)); break; case SqlDbType.Variant: metaData = getters.GetVariantType(ordinal); - sink.ProcessMessagesAndThrow(); Debug.Assert(SqlDbType.Variant != metaData.SqlDbType, "Variant-within-variant causes endless recursion!"); - result = GetSqlValue(sink, getters, ordinal, metaData); + result = GetSqlValue(getters, ordinal, metaData); break; case SqlDbType.Xml: - result = GetSqlXml_Unchecked(sink, getters, ordinal); + result = GetSqlXml_Unchecked(getters, ordinal); break; case SqlDbType.Udt: - result = GetUdt_LengthChecked(sink, getters, ordinal, metaData); + result = GetUdt_LengthChecked(getters, ordinal, metaData); break; } } @@ -1217,24 +1206,24 @@ internal static object NullUdtInstance(SmiMetaData metaData) // Strongly-typed setters are a bit simpler than their corresponding getters. // 1) check to make sure the type is compatible (exception if not) // 2) push the data - internal static void SetDBNull(SmiEventSink_Default sink, ITypedSettersV3 setters, int ordinal) + internal static void SetDBNull(ITypedSettersV3 setters, int ordinal) { - SetDBNull_Unchecked(sink, setters, ordinal); + SetDBNull_Unchecked(setters, ordinal); } - internal static void SetBoolean(SmiEventSink_Default sink, ITypedSettersV3 setters, int ordinal, SmiMetaData metaData, bool value) + internal static void SetBoolean(ITypedSettersV3 setters, int ordinal, SmiMetaData metaData, bool value) { ThrowIfInvalidSetterAccess(metaData, ExtendedClrTypeCode.Boolean); - SetBoolean_Unchecked(sink, setters, ordinal, value); + SetBoolean_Unchecked(setters, ordinal, value); } - internal static void SetByte(SmiEventSink_Default sink, ITypedSettersV3 setters, int ordinal, SmiMetaData metaData, byte value) + internal static void SetByte(ITypedSettersV3 setters, int ordinal, SmiMetaData metaData, byte value) { ThrowIfInvalidSetterAccess(metaData, ExtendedClrTypeCode.Byte); - SetByte_Unchecked(sink, setters, ordinal, value); + SetByte_Unchecked(setters, ordinal, value); } - internal static long SetBytes(SmiEventSink_Default sink, ITypedSettersV3 setters, int ordinal, SmiMetaData metaData, long fieldOffset, byte[] buffer, int bufferOffset, int length) + internal static long SetBytes(ITypedSettersV3 setters, int ordinal, SmiMetaData metaData, long fieldOffset, byte[] buffer, int bufferOffset, int length) { ThrowIfInvalidSetterAccess(metaData, ExtendedClrTypeCode.ByteArray); if (buffer == null) @@ -1252,10 +1241,10 @@ internal static long SetBytes(SmiEventSink_Default sink, ITypedSettersV3 setters fieldOffset = 0; bufferOffset = 0; } - return SetBytes_Unchecked(sink, setters, ordinal, fieldOffset, buffer, bufferOffset, length); + return SetBytes_Unchecked(setters, ordinal, fieldOffset, buffer, bufferOffset, length); } - internal static long SetBytesLength(SmiEventSink_Default sink, ITypedSettersV3 setters, int ordinal, SmiMetaData metaData, long length) + internal static long SetBytesLength(ITypedSettersV3 setters, int ordinal, SmiMetaData metaData, long length) { ThrowIfInvalidSetterAccess(metaData, ExtendedClrTypeCode.ByteArray); @@ -1270,12 +1259,11 @@ internal static long SetBytesLength(SmiEventSink_Default sink, ITypedSettersV3 s } setters.SetBytesLength(ordinal, length); - sink.ProcessMessagesAndThrow(); return length; } - internal static long SetChars(SmiEventSink_Default sink, ITypedSettersV3 setters, int ordinal, SmiMetaData metaData, long fieldOffset, char[] buffer, int bufferOffset, int length) + internal static long SetChars(ITypedSettersV3 setters, int ordinal, SmiMetaData metaData, long fieldOffset, char[] buffer, int bufferOffset, int length) { ThrowIfInvalidSetterAccess(metaData, ExtendedClrTypeCode.CharArray); if (buffer == null) @@ -1293,184 +1281,183 @@ internal static long SetChars(SmiEventSink_Default sink, ITypedSettersV3 setters fieldOffset = 0; bufferOffset = 0; } - return SetChars_Unchecked(sink, setters, ordinal, fieldOffset, buffer, bufferOffset, length); + return SetChars_Unchecked(setters, ordinal, fieldOffset, buffer, bufferOffset, length); } - internal static void SetDateTime(SmiEventSink_Default sink, ITypedSettersV3 setters, int ordinal, SmiMetaData metaData, DateTime value) + internal static void SetDateTime(ITypedSettersV3 setters, int ordinal, SmiMetaData metaData, DateTime value) { ThrowIfInvalidSetterAccess(metaData, ExtendedClrTypeCode.DateTime); - SetDateTime_Checked(sink, setters, ordinal, metaData, value); + SetDateTime_Checked(setters, ordinal, metaData, value); } - internal static void SetDateTimeOffset(SmiEventSink_Default sink, ITypedSettersV3 setters, int ordinal, SmiMetaData metaData, DateTimeOffset value, bool settersSupport2008DateTime = true) + internal static void SetDateTimeOffset(ITypedSettersV3 setters, int ordinal, SmiMetaData metaData, DateTimeOffset value, bool settersSupport2008DateTime = true) { if (!settersSupport2008DateTime) { throw ADP.InvalidCast(); } ThrowIfInvalidSetterAccess(metaData, ExtendedClrTypeCode.DateTimeOffset); - SetDateTimeOffset_Unchecked(sink, (SmiTypedGetterSetter)setters, ordinal, value); + SetDateTimeOffset_Unchecked((SmiTypedGetterSetter)setters, ordinal, value); } - internal static void SetDecimal(SmiEventSink_Default sink, ITypedSettersV3 setters, int ordinal, SmiMetaData metaData, decimal value) + internal static void SetDecimal(ITypedSettersV3 setters, int ordinal, SmiMetaData metaData, decimal value) { ThrowIfInvalidSetterAccess(metaData, ExtendedClrTypeCode.Decimal); - SetDecimal_PossiblyMoney(sink, setters, ordinal, metaData, value); + SetDecimal_PossiblyMoney(setters, ordinal, metaData, value); } - internal static void SetDouble(SmiEventSink_Default sink, ITypedSettersV3 setters, int ordinal, SmiMetaData metaData, double value) + internal static void SetDouble(ITypedSettersV3 setters, int ordinal, SmiMetaData metaData, double value) { ThrowIfInvalidSetterAccess(metaData, ExtendedClrTypeCode.Double); - SetDouble_Unchecked(sink, setters, ordinal, value); + SetDouble_Unchecked(setters, ordinal, value); } - internal static void SetGuid(SmiEventSink_Default sink, ITypedSettersV3 setters, int ordinal, SmiMetaData metaData, Guid value) + internal static void SetGuid(ITypedSettersV3 setters, int ordinal, SmiMetaData metaData, Guid value) { ThrowIfInvalidSetterAccess(metaData, ExtendedClrTypeCode.Guid); - SetGuid_Unchecked(sink, setters, ordinal, value); + SetGuid_Unchecked(setters, ordinal, value); } - internal static void SetInt16(SmiEventSink_Default sink, ITypedSettersV3 setters, int ordinal, SmiMetaData metaData, short value) + internal static void SetInt16(ITypedSettersV3 setters, int ordinal, SmiMetaData metaData, short value) { ThrowIfInvalidSetterAccess(metaData, ExtendedClrTypeCode.Int16); - SetInt16_Unchecked(sink, setters, ordinal, value); + SetInt16_Unchecked(setters, ordinal, value); } - internal static void SetInt32(SmiEventSink_Default sink, ITypedSettersV3 setters, int ordinal, SmiMetaData metaData, int value) + internal static void SetInt32(ITypedSettersV3 setters, int ordinal, SmiMetaData metaData, int value) { ThrowIfInvalidSetterAccess(metaData, ExtendedClrTypeCode.Int32); - SetInt32_Unchecked(sink, setters, ordinal, value); + SetInt32_Unchecked(setters, ordinal, value); } - internal static void SetInt64(SmiEventSink_Default sink, ITypedSettersV3 setters, int ordinal, SmiMetaData metaData, long value) + internal static void SetInt64(ITypedSettersV3 setters, int ordinal, SmiMetaData metaData, long value) { ThrowIfInvalidSetterAccess(metaData, ExtendedClrTypeCode.Int64); - SetInt64_Unchecked(sink, setters, ordinal, value); + SetInt64_Unchecked(setters, ordinal, value); } - internal static void SetSingle(SmiEventSink_Default sink, ITypedSettersV3 setters, int ordinal, SmiMetaData metaData, float value) + internal static void SetSingle(ITypedSettersV3 setters, int ordinal, SmiMetaData metaData, float value) { ThrowIfInvalidSetterAccess(metaData, ExtendedClrTypeCode.Single); - SetSingle_Unchecked(sink, setters, ordinal, value); + SetSingle_Unchecked(setters, ordinal, value); } - internal static void SetSqlBinary(SmiEventSink_Default sink, ITypedSettersV3 setters, int ordinal, SmiMetaData metaData, SqlBinary value) + internal static void SetSqlBinary(ITypedSettersV3 setters, int ordinal, SmiMetaData metaData, SqlBinary value) { ThrowIfInvalidSetterAccess(metaData, ExtendedClrTypeCode.SqlBinary); - SetSqlBinary_LengthChecked(sink, setters, ordinal, metaData, value, 0); + SetSqlBinary_LengthChecked(setters, ordinal, metaData, value, 0); } - internal static void SetSqlBoolean(SmiEventSink_Default sink, ITypedSettersV3 setters, int ordinal, SmiMetaData metaData, SqlBoolean value) + internal static void SetSqlBoolean(ITypedSettersV3 setters, int ordinal, SmiMetaData metaData, SqlBoolean value) { ThrowIfInvalidSetterAccess(metaData, ExtendedClrTypeCode.SqlBoolean); - SetSqlBoolean_Unchecked(sink, setters, ordinal, value); + SetSqlBoolean_Unchecked(setters, ordinal, value); } - internal static void SetSqlByte(SmiEventSink_Default sink, ITypedSettersV3 setters, int ordinal, SmiMetaData metaData, SqlByte value) + internal static void SetSqlByte(ITypedSettersV3 setters, int ordinal, SmiMetaData metaData, SqlByte value) { ThrowIfInvalidSetterAccess(metaData, ExtendedClrTypeCode.SqlByte); - SetSqlByte_Unchecked(sink, setters, ordinal, value); + SetSqlByte_Unchecked(setters, ordinal, value); } - internal static void SetSqlBytes(SmiEventSink_Default sink, ITypedSettersV3 setters, int ordinal, SmiMetaData metaData, SqlBytes value) + internal static void SetSqlBytes(ITypedSettersV3 setters, int ordinal, SmiMetaData metaData, SqlBytes value) { ThrowIfInvalidSetterAccess(metaData, ExtendedClrTypeCode.SqlBytes); - SetSqlBytes_LengthChecked(sink, setters, ordinal, metaData, value, 0); + SetSqlBytes_LengthChecked(setters, ordinal, metaData, value, 0); } - internal static void SetSqlChars(SmiEventSink_Default sink, ITypedSettersV3 setters, int ordinal, SmiMetaData metaData, SqlChars value) + internal static void SetSqlChars(ITypedSettersV3 setters, int ordinal, SmiMetaData metaData, SqlChars value) { ThrowIfInvalidSetterAccess(metaData, ExtendedClrTypeCode.SqlChars); - SetSqlChars_LengthChecked(sink, setters, ordinal, metaData, value, 0); + SetSqlChars_LengthChecked(setters, ordinal, metaData, value, 0); } - internal static void SetSqlDateTime(SmiEventSink_Default sink, ITypedSettersV3 setters, int ordinal, SmiMetaData metaData, SqlDateTime value) + internal static void SetSqlDateTime(ITypedSettersV3 setters, int ordinal, SmiMetaData metaData, SqlDateTime value) { ThrowIfInvalidSetterAccess(metaData, ExtendedClrTypeCode.SqlDateTime); - SetSqlDateTime_Checked(sink, setters, ordinal, metaData, value); + SetSqlDateTime_Checked(setters, ordinal, metaData, value); } - internal static void SetSqlDecimal(SmiEventSink_Default sink, ITypedSettersV3 setters, int ordinal, SmiMetaData metaData, SqlDecimal value) + internal static void SetSqlDecimal(ITypedSettersV3 setters, int ordinal, SmiMetaData metaData, SqlDecimal value) { ThrowIfInvalidSetterAccess(metaData, ExtendedClrTypeCode.SqlDecimal); - SetSqlDecimal_Unchecked(sink, setters, ordinal, value); + SetSqlDecimal_Unchecked(setters, ordinal, value); } - internal static void SetSqlDouble(SmiEventSink_Default sink, ITypedSettersV3 setters, int ordinal, SmiMetaData metaData, SqlDouble value) + internal static void SetSqlDouble(ITypedSettersV3 setters, int ordinal, SmiMetaData metaData, SqlDouble value) { ThrowIfInvalidSetterAccess(metaData, ExtendedClrTypeCode.SqlDouble); - SetSqlDouble_Unchecked(sink, setters, ordinal, value); + SetSqlDouble_Unchecked(setters, ordinal, value); } - internal static void SetSqlGuid(SmiEventSink_Default sink, ITypedSettersV3 setters, int ordinal, SmiMetaData metaData, SqlGuid value) + internal static void SetSqlGuid(ITypedSettersV3 setters, int ordinal, SmiMetaData metaData, SqlGuid value) { ThrowIfInvalidSetterAccess(metaData, ExtendedClrTypeCode.SqlGuid); - SetSqlGuid_Unchecked(sink, setters, ordinal, value); + SetSqlGuid_Unchecked(setters, ordinal, value); } - internal static void SetSqlInt16(SmiEventSink_Default sink, ITypedSettersV3 setters, int ordinal, SmiMetaData metaData, SqlInt16 value) + internal static void SetSqlInt16(ITypedSettersV3 setters, int ordinal, SmiMetaData metaData, SqlInt16 value) { ThrowIfInvalidSetterAccess(metaData, ExtendedClrTypeCode.SqlInt16); - SetSqlInt16_Unchecked(sink, setters, ordinal, value); + SetSqlInt16_Unchecked(setters, ordinal, value); } - internal static void SetSqlInt32(SmiEventSink_Default sink, ITypedSettersV3 setters, int ordinal, SmiMetaData metaData, SqlInt32 value) + internal static void SetSqlInt32(ITypedSettersV3 setters, int ordinal, SmiMetaData metaData, SqlInt32 value) { ThrowIfInvalidSetterAccess(metaData, ExtendedClrTypeCode.SqlInt32); - SetSqlInt32_Unchecked(sink, setters, ordinal, value); + SetSqlInt32_Unchecked(setters, ordinal, value); } - internal static void SetSqlInt64(SmiEventSink_Default sink, ITypedSettersV3 setters, int ordinal, SmiMetaData metaData, SqlInt64 value) + internal static void SetSqlInt64(ITypedSettersV3 setters, int ordinal, SmiMetaData metaData, SqlInt64 value) { ThrowIfInvalidSetterAccess(metaData, ExtendedClrTypeCode.SqlInt64); - SetSqlInt64_Unchecked(sink, setters, ordinal, value); + SetSqlInt64_Unchecked(setters, ordinal, value); } - internal static void SetSqlMoney(SmiEventSink_Default sink, ITypedSettersV3 setters, int ordinal, SmiMetaData metaData, SqlMoney value) + internal static void SetSqlMoney(ITypedSettersV3 setters, int ordinal, SmiMetaData metaData, SqlMoney value) { ThrowIfInvalidSetterAccess(metaData, ExtendedClrTypeCode.SqlMoney); - SetSqlMoney_Checked(sink, setters, ordinal, metaData, value); + SetSqlMoney_Checked(setters, ordinal, metaData, value); } - internal static void SetSqlSingle(SmiEventSink_Default sink, ITypedSettersV3 setters, int ordinal, SmiMetaData metaData, SqlSingle value) + internal static void SetSqlSingle(ITypedSettersV3 setters, int ordinal, SmiMetaData metaData, SqlSingle value) { ThrowIfInvalidSetterAccess(metaData, ExtendedClrTypeCode.SqlSingle); - SetSqlSingle_Unchecked(sink, setters, ordinal, value); + SetSqlSingle_Unchecked(setters, ordinal, value); } - internal static void SetSqlString(SmiEventSink_Default sink, ITypedSettersV3 setters, int ordinal, SmiMetaData metaData, SqlString value) + internal static void SetSqlString(ITypedSettersV3 setters, int ordinal, SmiMetaData metaData, SqlString value) { ThrowIfInvalidSetterAccess(metaData, ExtendedClrTypeCode.SqlString); - SetSqlString_LengthChecked(sink, setters, ordinal, metaData, value, 0); + SetSqlString_LengthChecked(setters, ordinal, metaData, value, 0); } - internal static void SetSqlXml(SmiEventSink_Default sink, ITypedSettersV3 setters, int ordinal, SmiMetaData metaData, SqlXml value) + internal static void SetSqlXml(ITypedSettersV3 setters, int ordinal, SmiMetaData metaData, SqlXml value) { ThrowIfInvalidSetterAccess(metaData, ExtendedClrTypeCode.SqlXml); - SetSqlXml_Unchecked(sink, setters, ordinal, value); + SetSqlXml_Unchecked(setters, ordinal, value); } - internal static void SetString(SmiEventSink_Default sink, ITypedSettersV3 setters, int ordinal, SmiMetaData metaData, string value) + internal static void SetString(ITypedSettersV3 setters, int ordinal, SmiMetaData metaData, string value) { ThrowIfInvalidSetterAccess(metaData, ExtendedClrTypeCode.String); - SetString_LengthChecked(sink, setters, ordinal, metaData, value, 0); + SetString_LengthChecked(setters, ordinal, metaData, value, 0); } - internal static void SetTimeSpan(SmiEventSink_Default sink, ITypedSettersV3 setters, int ordinal, SmiMetaData metaData, TimeSpan value, bool settersSupport2008DateTime = true) + internal static void SetTimeSpan(ITypedSettersV3 setters, int ordinal, SmiMetaData metaData, TimeSpan value, bool settersSupport2008DateTime = true) { if (!settersSupport2008DateTime) { throw ADP.InvalidCast(); } ThrowIfInvalidSetterAccess(metaData, ExtendedClrTypeCode.TimeSpan); - SetTimeSpan_Checked(sink, (SmiTypedGetterSetter)setters, ordinal, metaData, value); + SetTimeSpan_Checked((SmiTypedGetterSetter)setters, ordinal, metaData, value); } // Implements SqlClient 2.0-compatible SetValue() semantics // Assumes caller already validated type against the metadata, other than trimming lengths internal static void SetCompatibleValue( - SmiEventSink_Default sink, ITypedSettersV3 setters, int ordinal, SmiMetaData metaData, // metadata for target setter column @@ -1498,57 +1485,57 @@ value is DataFeed case ExtendedClrTypeCode.Invalid: throw ADP.UnknownDataType(value.GetType()); case ExtendedClrTypeCode.Boolean: - SetBoolean_Unchecked(sink, setters, ordinal, (bool)value); + SetBoolean_Unchecked(setters, ordinal, (bool)value); break; case ExtendedClrTypeCode.Byte: - SetByte_Unchecked(sink, setters, ordinal, (byte)value); + SetByte_Unchecked(setters, ordinal, (byte)value); break; case ExtendedClrTypeCode.Char: { char[] charsValue = new char[] { (char)value }; // recur with array type - SetCompatibleValue(sink, setters, ordinal, metaData, charsValue, ExtendedClrTypeCode.CharArray, 0); + SetCompatibleValue(setters, ordinal, metaData, charsValue, ExtendedClrTypeCode.CharArray, 0); break; } #if NET case ExtendedClrTypeCode.DateOnly: - SetDateTime_Checked(sink, setters, ordinal, metaData, ((DateOnly)value).ToDateTime(new TimeOnly(0, 0))); + SetDateTime_Checked(setters, ordinal, metaData, ((DateOnly)value).ToDateTime(new TimeOnly(0, 0))); break; case ExtendedClrTypeCode.TimeOnly: - SetTimeSpan_Checked(sink, (SmiTypedGetterSetter)setters, ordinal, metaData, ((TimeOnly)value).ToTimeSpan()); + SetTimeSpan_Checked((SmiTypedGetterSetter)setters, ordinal, metaData, ((TimeOnly)value).ToTimeSpan()); break; #endif case ExtendedClrTypeCode.DateTime: - SetDateTime_Checked(sink, setters, ordinal, metaData, (DateTime)value); + SetDateTime_Checked(setters, ordinal, metaData, (DateTime)value); break; case ExtendedClrTypeCode.DBNull: - SetDBNull_Unchecked(sink, setters, ordinal); + SetDBNull_Unchecked(setters, ordinal); break; case ExtendedClrTypeCode.Decimal: - SetDecimal_PossiblyMoney(sink, setters, ordinal, metaData, (decimal)value); + SetDecimal_PossiblyMoney(setters, ordinal, metaData, (decimal)value); break; case ExtendedClrTypeCode.Double: - SetDouble_Unchecked(sink, setters, ordinal, (double)value); + SetDouble_Unchecked(setters, ordinal, (double)value); break; case ExtendedClrTypeCode.Empty: - SetDBNull_Unchecked(sink, setters, ordinal); + SetDBNull_Unchecked(setters, ordinal); break; case ExtendedClrTypeCode.Int16: - SetInt16_Unchecked(sink, setters, ordinal, (short)value); + SetInt16_Unchecked(setters, ordinal, (short)value); break; case ExtendedClrTypeCode.Int32: - SetInt32_Unchecked(sink, setters, ordinal, (int)value); + SetInt32_Unchecked(setters, ordinal, (int)value); break; case ExtendedClrTypeCode.Int64: - SetInt64_Unchecked(sink, setters, ordinal, (long)value); + SetInt64_Unchecked(setters, ordinal, (long)value); break; case ExtendedClrTypeCode.SByte: throw ADP.InvalidCast(); case ExtendedClrTypeCode.Single: - SetSingle_Unchecked(sink, setters, ordinal, (float)value); + SetSingle_Unchecked(setters, ordinal, (float)value); break; case ExtendedClrTypeCode.String: - SetString_LengthChecked(sink, setters, ordinal, metaData, (string)value, offset); + SetString_LengthChecked(setters, ordinal, metaData, (string)value, offset); break; case ExtendedClrTypeCode.UInt16: throw ADP.InvalidCast(); @@ -1557,73 +1544,73 @@ value is DataFeed case ExtendedClrTypeCode.UInt64: throw ADP.InvalidCast(); case ExtendedClrTypeCode.Object: - SetUdt_LengthChecked(sink, setters, ordinal, metaData, value); + SetUdt_LengthChecked(setters, ordinal, metaData, value); break; case ExtendedClrTypeCode.ByteArray: - SetByteArray_LengthChecked(sink, setters, ordinal, metaData, (byte[])value, offset); + SetByteArray_LengthChecked(setters, ordinal, metaData, (byte[])value, offset); break; case ExtendedClrTypeCode.CharArray: - SetCharArray_LengthChecked(sink, setters, ordinal, metaData, (char[])value, offset); + SetCharArray_LengthChecked(setters, ordinal, metaData, (char[])value, offset); break; case ExtendedClrTypeCode.Guid: - SetGuid_Unchecked(sink, setters, ordinal, (Guid)value); + SetGuid_Unchecked(setters, ordinal, (Guid)value); break; case ExtendedClrTypeCode.SqlBinary: - SetSqlBinary_LengthChecked(sink, setters, ordinal, metaData, (SqlBinary)value, offset); + SetSqlBinary_LengthChecked(setters, ordinal, metaData, (SqlBinary)value, offset); break; case ExtendedClrTypeCode.SqlBoolean: - SetSqlBoolean_Unchecked(sink, setters, ordinal, (SqlBoolean)value); + SetSqlBoolean_Unchecked(setters, ordinal, (SqlBoolean)value); break; case ExtendedClrTypeCode.SqlByte: - SetSqlByte_Unchecked(sink, setters, ordinal, (SqlByte)value); + SetSqlByte_Unchecked(setters, ordinal, (SqlByte)value); break; case ExtendedClrTypeCode.SqlDateTime: - SetSqlDateTime_Checked(sink, setters, ordinal, metaData, (SqlDateTime)value); + SetSqlDateTime_Checked(setters, ordinal, metaData, (SqlDateTime)value); break; case ExtendedClrTypeCode.SqlDouble: - SetSqlDouble_Unchecked(sink, setters, ordinal, (SqlDouble)value); + SetSqlDouble_Unchecked(setters, ordinal, (SqlDouble)value); break; case ExtendedClrTypeCode.SqlGuid: - SetSqlGuid_Unchecked(sink, setters, ordinal, (SqlGuid)value); + SetSqlGuid_Unchecked(setters, ordinal, (SqlGuid)value); break; case ExtendedClrTypeCode.SqlInt16: - SetSqlInt16_Unchecked(sink, setters, ordinal, (SqlInt16)value); + SetSqlInt16_Unchecked(setters, ordinal, (SqlInt16)value); break; case ExtendedClrTypeCode.SqlInt32: - SetSqlInt32_Unchecked(sink, setters, ordinal, (SqlInt32)value); + SetSqlInt32_Unchecked(setters, ordinal, (SqlInt32)value); break; case ExtendedClrTypeCode.SqlInt64: - SetSqlInt64_Unchecked(sink, setters, ordinal, (SqlInt64)value); + SetSqlInt64_Unchecked(setters, ordinal, (SqlInt64)value); break; case ExtendedClrTypeCode.SqlMoney: - SetSqlMoney_Checked(sink, setters, ordinal, metaData, (SqlMoney)value); + SetSqlMoney_Checked(setters, ordinal, metaData, (SqlMoney)value); break; case ExtendedClrTypeCode.SqlDecimal: - SetSqlDecimal_Unchecked(sink, setters, ordinal, (SqlDecimal)value); + SetSqlDecimal_Unchecked(setters, ordinal, (SqlDecimal)value); break; case ExtendedClrTypeCode.SqlSingle: - SetSqlSingle_Unchecked(sink, setters, ordinal, (SqlSingle)value); + SetSqlSingle_Unchecked(setters, ordinal, (SqlSingle)value); break; case ExtendedClrTypeCode.SqlString: - SetSqlString_LengthChecked(sink, setters, ordinal, metaData, (SqlString)value, offset); + SetSqlString_LengthChecked(setters, ordinal, metaData, (SqlString)value, offset); break; case ExtendedClrTypeCode.SqlChars: - SetSqlChars_LengthChecked(sink, setters, ordinal, metaData, (SqlChars)value, offset); + SetSqlChars_LengthChecked(setters, ordinal, metaData, (SqlChars)value, offset); break; case ExtendedClrTypeCode.SqlBytes: - SetSqlBytes_LengthChecked(sink, setters, ordinal, metaData, (SqlBytes)value, offset); + SetSqlBytes_LengthChecked(setters, ordinal, metaData, (SqlBytes)value, offset); break; case ExtendedClrTypeCode.SqlXml: - SetSqlXml_Unchecked(sink, setters, ordinal, (SqlXml)value); + SetSqlXml_Unchecked(setters, ordinal, (SqlXml)value); break; case ExtendedClrTypeCode.Stream: - SetStream_Unchecked(sink, setters, ordinal, metaData, (StreamDataFeed)value); + SetStream_Unchecked(setters, ordinal, metaData, (StreamDataFeed)value); break; case ExtendedClrTypeCode.TextReader: - SetTextReader_Unchecked(sink, setters, ordinal, metaData, (TextDataFeed)value); + SetTextReader_Unchecked(setters, ordinal, metaData, (TextDataFeed)value); break; case ExtendedClrTypeCode.XmlReader: - SetXmlReader_Unchecked(sink, setters, ordinal, ((XmlDataFeed)value)._source); + SetXmlReader_Unchecked(setters, ordinal, ((XmlDataFeed)value)._source); break; default: Debug.Fail("Unvalidated extendedtypecode: " + typeCode); @@ -1634,7 +1621,6 @@ value is DataFeed // VSTFDevDiv#479681 - Data corruption when sending 2008 Date types to the server via TVP // Ensures proper handling on DateTime2 sub type for Sql_Variants and TVPs. internal static void SetCompatibleValueV200( - SmiEventSink_Default sink, SmiTypedGetterSetter setters, int ordinal, SmiMetaData metaData, @@ -1659,15 +1645,15 @@ SqlBuffer.StorageType storageType if (typeCode == ExtendedClrTypeCode.DateTime) { if (storageType == SqlBuffer.StorageType.DateTime2) - SetDateTime2_Checked(sink, setters, ordinal, metaData, (DateTime)value); + SetDateTime2_Checked(setters, ordinal, metaData, (DateTime)value); else if (storageType == SqlBuffer.StorageType.Date) - SetDate_Checked(sink, setters, ordinal, metaData, (DateTime)value); + SetDate_Checked(setters, ordinal, metaData, (DateTime)value); else - SetDateTime_Checked(sink, setters, ordinal, metaData, (DateTime)value); + SetDateTime_Checked(setters, ordinal, metaData, (DateTime)value); } else { - SetCompatibleValueV200(sink, setters, ordinal, metaData, value, typeCode, offset, peekAhead); + SetCompatibleValueV200(setters, ordinal, metaData, value, typeCode, offset, peekAhead); } } @@ -1675,7 +1661,6 @@ SqlBuffer.StorageType storageType // Assumes caller already validated basic type against the metadata, other than trimming lengths and // checking individual field values (TVPs) internal static void SetCompatibleValueV200( - SmiEventSink_Default sink, SmiTypedGetterSetter setters, int ordinal, SmiMetaData metaData, @@ -1699,22 +1684,22 @@ ParameterPeekAheadValue peekAhead switch (typeCode) { case ExtendedClrTypeCode.DataTable: - SetDataTable_Unchecked(sink, setters, ordinal, metaData, (DataTable)value); + SetDataTable_Unchecked(setters, ordinal, metaData, (DataTable)value); break; case ExtendedClrTypeCode.DbDataReader: - SetDbDataReader_Unchecked(sink, setters, ordinal, metaData, (DbDataReader)value); + SetDbDataReader_Unchecked(setters, ordinal, metaData, (DbDataReader)value); break; case ExtendedClrTypeCode.IEnumerableOfSqlDataRecord: - SetIEnumerableOfSqlDataRecord_Unchecked(sink, setters, ordinal, metaData, (IEnumerable)value, peekAhead); + SetIEnumerableOfSqlDataRecord_Unchecked(setters, ordinal, metaData, (IEnumerable)value, peekAhead); break; case ExtendedClrTypeCode.TimeSpan: - SetTimeSpan_Checked(sink, setters, ordinal, metaData, (TimeSpan)value); + SetTimeSpan_Checked(setters, ordinal, metaData, (TimeSpan)value); break; case ExtendedClrTypeCode.DateTimeOffset: - SetDateTimeOffset_Unchecked(sink, setters, ordinal, (DateTimeOffset)value); + SetDateTimeOffset_Unchecked(setters, ordinal, (DateTimeOffset)value); break; default: - SetCompatibleValue(sink, setters, ordinal, metaData, value, typeCode, offset); + SetCompatibleValue(setters, ordinal, metaData, value, typeCode, offset); break; } } @@ -1723,13 +1708,13 @@ ParameterPeekAheadValue peekAhead // Supports V200 code path, without damaging backward compat for V100 code. // Main differences are supporting DbDataReader, and for binary, character, decimal and Udt types. // Assumes caller enforces that reader and setter metadata are compatible - internal static void FillCompatibleSettersFromReader(SmiEventSink_Default sink, SmiTypedGetterSetter setters, IList metaData, DbDataReader reader) + internal static void FillCompatibleSettersFromReader(SmiTypedGetterSetter setters, IList metaData, DbDataReader reader) { for (int i = 0; i < metaData.Count; i++) { if (reader.IsDBNull(i)) { - ValueUtilsSmi.SetDBNull_Unchecked(sink, setters, i); + ValueUtilsSmi.SetDBNull_Unchecked(setters, i); } else { @@ -1737,23 +1722,23 @@ internal static void FillCompatibleSettersFromReader(SmiEventSink_Default sink, { case SqlDbType.BigInt: Debug.Assert(CanAccessSetterDirectly(metaData[i], ExtendedClrTypeCode.Int64)); - SetInt64_Unchecked(sink, setters, i, reader.GetInt64(i)); + SetInt64_Unchecked(setters, i, reader.GetInt64(i)); break; case SqlDbType.Binary: Debug.Assert(CanAccessSetterDirectly(metaData[i], ExtendedClrTypeCode.ByteArray)); - SetBytes_FromReader(sink, setters, i, metaData[i], reader, 0); + SetBytes_FromReader(setters, i, metaData[i], reader, 0); break; case SqlDbType.Bit: Debug.Assert(CanAccessSetterDirectly(metaData[i], ExtendedClrTypeCode.Boolean)); - SetBoolean_Unchecked(sink, setters, i, reader.GetBoolean(i)); + SetBoolean_Unchecked(setters, i, reader.GetBoolean(i)); break; case SqlDbType.Char: Debug.Assert(CanAccessSetterDirectly(metaData[i], ExtendedClrTypeCode.CharArray)); - SetCharsOrString_FromReader(sink, setters, i, metaData[i], reader, 0); + SetCharsOrString_FromReader(setters, i, metaData[i], reader, 0); break; case SqlDbType.DateTime: Debug.Assert(CanAccessSetterDirectly(metaData[i], ExtendedClrTypeCode.DateTime)); - SetDateTime_Checked(sink, setters, i, metaData[i], reader.GetDateTime(i)); + SetDateTime_Checked(setters, i, metaData[i], reader.GetDateTime(i)); break; case SqlDbType.Decimal: { // block to scope sqlReader local to avoid conflicts @@ -1761,86 +1746,86 @@ internal static void FillCompatibleSettersFromReader(SmiEventSink_Default sink, // Support full fidelity for SqlDataReader if (reader is SqlDataReader sqlReader) { - SetSqlDecimal_Unchecked(sink, setters, i, sqlReader.GetSqlDecimal(i)); + SetSqlDecimal_Unchecked(setters, i, sqlReader.GetSqlDecimal(i)); } else { - SetSqlDecimal_Unchecked(sink, setters, i, new SqlDecimal(reader.GetDecimal(i))); + SetSqlDecimal_Unchecked(setters, i, new SqlDecimal(reader.GetDecimal(i))); } } break; case SqlDbType.Float: Debug.Assert(CanAccessSetterDirectly(metaData[i], ExtendedClrTypeCode.Double)); - SetDouble_Unchecked(sink, setters, i, reader.GetDouble(i)); + SetDouble_Unchecked(setters, i, reader.GetDouble(i)); break; case SqlDbType.Image: Debug.Assert(CanAccessSetterDirectly(metaData[i], ExtendedClrTypeCode.ByteArray)); - SetBytes_FromReader(sink, setters, i, metaData[i], reader, 0); + SetBytes_FromReader(setters, i, metaData[i], reader, 0); break; case SqlDbType.Int: Debug.Assert(CanAccessSetterDirectly(metaData[i], ExtendedClrTypeCode.Int32)); - SetInt32_Unchecked(sink, setters, i, reader.GetInt32(i)); + SetInt32_Unchecked(setters, i, reader.GetInt32(i)); break; case SqlDbType.Money: Debug.Assert(CanAccessSetterDirectly(metaData[i], ExtendedClrTypeCode.SqlMoney)); - SetSqlMoney_Checked(sink, setters, i, metaData[i], new SqlMoney(reader.GetDecimal(i))); + SetSqlMoney_Checked(setters, i, metaData[i], new SqlMoney(reader.GetDecimal(i))); break; case SqlDbType.NChar: case SqlDbType.NText: case SqlDbType.NVarChar: Debug.Assert(CanAccessSetterDirectly(metaData[i], ExtendedClrTypeCode.CharArray)); - SetCharsOrString_FromReader(sink, setters, i, metaData[i], reader, 0); + SetCharsOrString_FromReader(setters, i, metaData[i], reader, 0); break; case SqlDbType.Real: Debug.Assert(CanAccessSetterDirectly(metaData[i], ExtendedClrTypeCode.Single)); - SetSingle_Unchecked(sink, setters, i, reader.GetFloat(i)); + SetSingle_Unchecked(setters, i, reader.GetFloat(i)); break; case SqlDbType.UniqueIdentifier: Debug.Assert(CanAccessSetterDirectly(metaData[i], ExtendedClrTypeCode.Guid)); - SetGuid_Unchecked(sink, setters, i, reader.GetGuid(i)); + SetGuid_Unchecked(setters, i, reader.GetGuid(i)); break; case SqlDbType.SmallDateTime: Debug.Assert(CanAccessSetterDirectly(metaData[i], ExtendedClrTypeCode.DateTime)); - SetDateTime_Checked(sink, setters, i, metaData[i], reader.GetDateTime(i)); + SetDateTime_Checked(setters, i, metaData[i], reader.GetDateTime(i)); break; case SqlDbType.SmallInt: Debug.Assert(CanAccessSetterDirectly(metaData[i], ExtendedClrTypeCode.Int16)); - SetInt16_Unchecked(sink, setters, i, reader.GetInt16(i)); + SetInt16_Unchecked(setters, i, reader.GetInt16(i)); break; case SqlDbType.SmallMoney: Debug.Assert(CanAccessSetterDirectly(metaData[i], ExtendedClrTypeCode.SqlMoney)); - SetSqlMoney_Checked(sink, setters, i, metaData[i], new SqlMoney(reader.GetDecimal(i))); + SetSqlMoney_Checked(setters, i, metaData[i], new SqlMoney(reader.GetDecimal(i))); break; case SqlDbType.Text: Debug.Assert(CanAccessSetterDirectly(metaData[i], ExtendedClrTypeCode.CharArray)); - SetCharsOrString_FromReader(sink, setters, i, metaData[i], reader, 0); + SetCharsOrString_FromReader(setters, i, metaData[i], reader, 0); break; case SqlDbType.Timestamp: Debug.Assert(CanAccessSetterDirectly(metaData[i], ExtendedClrTypeCode.ByteArray)); - SetBytes_FromReader(sink, setters, i, metaData[i], reader, 0); + SetBytes_FromReader(setters, i, metaData[i], reader, 0); break; case SqlDbType.TinyInt: Debug.Assert(CanAccessSetterDirectly(metaData[i], ExtendedClrTypeCode.Byte)); - SetByte_Unchecked(sink, setters, i, reader.GetByte(i)); + SetByte_Unchecked(setters, i, reader.GetByte(i)); break; case SqlDbType.VarBinary: Debug.Assert(CanAccessSetterDirectly(metaData[i], ExtendedClrTypeCode.ByteArray)); - SetBytes_FromReader(sink, setters, i, metaData[i], reader, 0); + SetBytes_FromReader(setters, i, metaData[i], reader, 0); break; case SqlDbType.VarChar: Debug.Assert(CanAccessSetterDirectly(metaData[i], ExtendedClrTypeCode.String)); - SetCharsOrString_FromReader(sink, setters, i, metaData[i], reader, 0); + SetCharsOrString_FromReader(setters, i, metaData[i], reader, 0); break; case SqlDbType.Xml: { Debug.Assert(CanAccessSetterDirectly(metaData[i], ExtendedClrTypeCode.SqlXml)); if (reader is SqlDataReader sqlReader) { - SetSqlXml_Unchecked(sink, setters, i, sqlReader.GetSqlXml(i)); + SetSqlXml_Unchecked(setters, i, sqlReader.GetSqlXml(i)); } else { - SetBytes_FromReader(sink, setters, i, metaData[i], reader, 0); + SetBytes_FromReader(setters, i, metaData[i], reader, 0); } } break; @@ -1865,11 +1850,11 @@ internal static void FillCompatibleSettersFromReader(SmiEventSink_Default sink, udtType: null); if ((storageType == SqlBuffer.StorageType.DateTime2) || (storageType == SqlBuffer.StorageType.Date)) { - SetCompatibleValueV200(sink, setters, i, metaData[i], o, typeCode, 0, null, storageType); + SetCompatibleValueV200(setters, i, metaData[i], o, typeCode, 0, null, storageType); } else { - SetCompatibleValueV200(sink, setters, i, metaData[i], o, typeCode, 0, null); + SetCompatibleValueV200(setters, i, metaData[i], o, typeCode, 0, null); } } break; @@ -1877,7 +1862,7 @@ internal static void FillCompatibleSettersFromReader(SmiEventSink_Default sink, case SqlDbType.Udt: Debug.Assert(CanAccessSetterDirectly(metaData[i], ExtendedClrTypeCode.ByteArray)); // Skip serialization for Udt types. - SetBytes_FromReader(sink, setters, i, metaData[i], reader, 0); + SetBytes_FromReader(setters, i, metaData[i], reader, 0); break; // SqlDbType.Structured should have been caught before this point for TVPs. SUDTs will still need to implement. @@ -1885,7 +1870,7 @@ internal static void FillCompatibleSettersFromReader(SmiEventSink_Default sink, case SqlDbType.Date: case SqlDbType.DateTime2: Debug.Assert(CanAccessSetterDirectly(metaData[i], ExtendedClrTypeCode.DateTime)); - SetDateTime_Checked(sink, setters, i, metaData[i], reader.GetDateTime(i)); + SetDateTime_Checked(setters, i, metaData[i], reader.GetDateTime(i)); break; case SqlDbType.Time: { @@ -1899,7 +1884,7 @@ internal static void FillCompatibleSettersFromReader(SmiEventSink_Default sink, { ts = (TimeSpan)reader.GetValue(i); } - SetTimeSpan_Checked(sink, setters, i, metaData[i], ts); + SetTimeSpan_Checked(setters, i, metaData[i], ts); } break; case SqlDbType.DateTimeOffset: @@ -1914,7 +1899,7 @@ internal static void FillCompatibleSettersFromReader(SmiEventSink_Default sink, { dto = (DateTimeOffset)reader.GetValue(i); } - SetDateTimeOffset_Unchecked(sink, setters, i, dto); + SetDateTimeOffset_Unchecked(setters, i, dto); } break; @@ -1930,7 +1915,7 @@ internal static void FillCompatibleSettersFromReader(SmiEventSink_Default sink, } } - internal static void FillCompatibleSettersFromRecord(SmiEventSink_Default sink, SmiTypedGetterSetter setters, SmiMetaData[] metaData, SqlDataRecord record, SmiDefaultFieldsProperty useDefaultValues) + internal static void FillCompatibleSettersFromRecord(SmiTypedGetterSetter setters, SmiMetaData[] metaData, SqlDataRecord record, SmiDefaultFieldsProperty useDefaultValues) { for (int i = 0; i < metaData.Length; ++i) { @@ -1940,7 +1925,7 @@ internal static void FillCompatibleSettersFromRecord(SmiEventSink_Default sink, } if (record.IsDBNull(i)) { - ValueUtilsSmi.SetDBNull_Unchecked(sink, setters, i); + ValueUtilsSmi.SetDBNull_Unchecked(setters, i); } else { @@ -1948,107 +1933,107 @@ internal static void FillCompatibleSettersFromRecord(SmiEventSink_Default sink, { case SqlDbType.BigInt: Debug.Assert(CanAccessSetterDirectly(metaData[i], ExtendedClrTypeCode.Int64)); - SetInt64_Unchecked(sink, setters, i, record.GetInt64(i)); + SetInt64_Unchecked(setters, i, record.GetInt64(i)); break; case SqlDbType.Binary: Debug.Assert(CanAccessSetterDirectly(metaData[i], ExtendedClrTypeCode.SqlBytes)); - SetBytes_FromRecord(sink, setters, i, metaData[i], record, 0); + SetBytes_FromRecord(setters, i, metaData[i], record, 0); break; case SqlDbType.Bit: Debug.Assert(CanAccessSetterDirectly(metaData[i], ExtendedClrTypeCode.Boolean)); - SetBoolean_Unchecked(sink, setters, i, record.GetBoolean(i)); + SetBoolean_Unchecked(setters, i, record.GetBoolean(i)); break; case SqlDbType.Char: Debug.Assert(CanAccessSetterDirectly(metaData[i], ExtendedClrTypeCode.SqlChars)); - SetChars_FromRecord(sink, setters, i, metaData[i], record, 0); + SetChars_FromRecord(setters, i, metaData[i], record, 0); break; case SqlDbType.DateTime: Debug.Assert(CanAccessSetterDirectly(metaData[i], ExtendedClrTypeCode.DateTime)); - SetDateTime_Checked(sink, setters, i, metaData[i], record.GetDateTime(i)); + SetDateTime_Checked(setters, i, metaData[i], record.GetDateTime(i)); break; case SqlDbType.Decimal: Debug.Assert(CanAccessSetterDirectly(metaData[i], ExtendedClrTypeCode.SqlDecimal)); - SetSqlDecimal_Unchecked(sink, setters, i, record.GetSqlDecimal(i)); + SetSqlDecimal_Unchecked(setters, i, record.GetSqlDecimal(i)); break; case SqlDbType.Float: Debug.Assert(CanAccessSetterDirectly(metaData[i], ExtendedClrTypeCode.Double)); - SetDouble_Unchecked(sink, setters, i, record.GetDouble(i)); + SetDouble_Unchecked(setters, i, record.GetDouble(i)); break; case SqlDbType.Image: Debug.Assert(CanAccessSetterDirectly(metaData[i], ExtendedClrTypeCode.SqlBytes)); - SetBytes_FromRecord(sink, setters, i, metaData[i], record, 0); + SetBytes_FromRecord(setters, i, metaData[i], record, 0); break; case SqlDbType.Int: Debug.Assert(CanAccessSetterDirectly(metaData[i], ExtendedClrTypeCode.Int32)); - SetInt32_Unchecked(sink, setters, i, record.GetInt32(i)); + SetInt32_Unchecked(setters, i, record.GetInt32(i)); break; case SqlDbType.Money: Debug.Assert(CanAccessSetterDirectly(metaData[i], ExtendedClrTypeCode.SqlMoney)); - SetSqlMoney_Unchecked(sink, setters, i, metaData[i], record.GetSqlMoney(i)); + SetSqlMoney_Unchecked(setters, i, metaData[i], record.GetSqlMoney(i)); break; case SqlDbType.NChar: case SqlDbType.NText: case SqlDbType.NVarChar: Debug.Assert(CanAccessSetterDirectly(metaData[i], ExtendedClrTypeCode.SqlChars)); - SetChars_FromRecord(sink, setters, i, metaData[i], record, 0); + SetChars_FromRecord(setters, i, metaData[i], record, 0); break; case SqlDbType.Real: Debug.Assert(CanAccessSetterDirectly(metaData[i], ExtendedClrTypeCode.Single)); - SetSingle_Unchecked(sink, setters, i, record.GetFloat(i)); + SetSingle_Unchecked(setters, i, record.GetFloat(i)); break; case SqlDbType.UniqueIdentifier: Debug.Assert(CanAccessSetterDirectly(metaData[i], ExtendedClrTypeCode.Guid)); - SetGuid_Unchecked(sink, setters, i, record.GetGuid(i)); + SetGuid_Unchecked(setters, i, record.GetGuid(i)); break; case SqlDbType.SmallDateTime: Debug.Assert(CanAccessSetterDirectly(metaData[i], ExtendedClrTypeCode.DateTime)); - SetDateTime_Checked(sink, setters, i, metaData[i], record.GetDateTime(i)); + SetDateTime_Checked(setters, i, metaData[i], record.GetDateTime(i)); break; case SqlDbType.SmallInt: Debug.Assert(CanAccessSetterDirectly(metaData[i], ExtendedClrTypeCode.Int16)); - SetInt16_Unchecked(sink, setters, i, record.GetInt16(i)); + SetInt16_Unchecked(setters, i, record.GetInt16(i)); break; case SqlDbType.SmallMoney: Debug.Assert(CanAccessSetterDirectly(metaData[i], ExtendedClrTypeCode.SqlMoney)); - SetSqlMoney_Checked(sink, setters, i, metaData[i], record.GetSqlMoney(i)); + SetSqlMoney_Checked(setters, i, metaData[i], record.GetSqlMoney(i)); break; case SqlDbType.Text: Debug.Assert(CanAccessSetterDirectly(metaData[i], ExtendedClrTypeCode.SqlChars)); - SetChars_FromRecord(sink, setters, i, metaData[i], record, 0); + SetChars_FromRecord(setters, i, metaData[i], record, 0); break; case SqlDbType.Timestamp: Debug.Assert(CanAccessSetterDirectly(metaData[i], ExtendedClrTypeCode.SqlBytes)); - SetBytes_FromRecord(sink, setters, i, metaData[i], record, 0); + SetBytes_FromRecord(setters, i, metaData[i], record, 0); break; case SqlDbType.TinyInt: Debug.Assert(CanAccessSetterDirectly(metaData[i], ExtendedClrTypeCode.Byte)); - SetByte_Unchecked(sink, setters, i, record.GetByte(i)); + SetByte_Unchecked(setters, i, record.GetByte(i)); break; case SqlDbType.VarBinary: Debug.Assert(CanAccessSetterDirectly(metaData[i], ExtendedClrTypeCode.SqlBytes)); - SetBytes_FromRecord(sink, setters, i, metaData[i], record, 0); + SetBytes_FromRecord(setters, i, metaData[i], record, 0); break; case SqlDbType.VarChar: Debug.Assert(CanAccessSetterDirectly(metaData[i], ExtendedClrTypeCode.String)); - SetChars_FromRecord(sink, setters, i, metaData[i], record, 0); + SetChars_FromRecord(setters, i, metaData[i], record, 0); break; case SqlDbType.Xml: Debug.Assert(CanAccessSetterDirectly(metaData[i], ExtendedClrTypeCode.SqlXml)); - SetSqlXml_Unchecked(sink, setters, i, record.GetSqlXml(i)); // perf improvement? + SetSqlXml_Unchecked(setters, i, record.GetSqlXml(i)); // perf improvement? break; case SqlDbType.Variant: object o = record.GetSqlValue(i); ExtendedClrTypeCode typeCode = MetaDataUtilsSmi.DetermineExtendedTypeCode(o); - SetCompatibleValueV200(sink, setters, i, metaData[i], o, typeCode, 0, null /* no peekahead */); + SetCompatibleValueV200(setters, i, metaData[i], o, typeCode, 0, null /* no peekahead */); break; case SqlDbType.Udt: Debug.Assert(CanAccessSetterDirectly(metaData[i], ExtendedClrTypeCode.SqlBytes)); - SetBytes_FromRecord(sink, setters, i, metaData[i], record, 0); + SetBytes_FromRecord(setters, i, metaData[i], record, 0); break; case SqlDbType.Date: case SqlDbType.DateTime2: Debug.Assert(CanAccessSetterDirectly(metaData[i], ExtendedClrTypeCode.DateTime)); - SetDateTime_Checked(sink, setters, i, metaData[i], record.GetDateTime(i)); + SetDateTime_Checked(setters, i, metaData[i], record.GetDateTime(i)); break; case SqlDbType.Time: { @@ -2062,7 +2047,7 @@ internal static void FillCompatibleSettersFromRecord(SmiEventSink_Default sink, { ts = (TimeSpan)record.GetValue(i); } - SetTimeSpan_Checked(sink, setters, i, metaData[i], ts); + SetTimeSpan_Checked(setters, i, metaData[i], ts); } break; case SqlDbType.DateTimeOffset: @@ -2077,7 +2062,7 @@ internal static void FillCompatibleSettersFromRecord(SmiEventSink_Default sink, { dto = (DateTimeOffset)record.GetValue(i); } - SetDateTimeOffset_Unchecked(sink, setters, i, dto); + SetDateTimeOffset_Unchecked(setters, i, dto); } break; @@ -2092,10 +2077,10 @@ internal static void FillCompatibleSettersFromRecord(SmiEventSink_Default sink, // // Common utility code to get lengths correct for trimming // - private static object GetUdt_LengthChecked(SmiEventSink_Default sink, ITypedGettersV3 getters, int ordinal, SmiMetaData metaData) + private static object GetUdt_LengthChecked(ITypedGettersV3 getters, int ordinal, SmiMetaData metaData) { object result; - if (IsDBNull_Unchecked(sink, getters, ordinal)) + if (IsDBNull_Unchecked(getters, ordinal)) { Type type = metaData.Type; Debug.Assert(type != null, "Unexpected null of udtType on GetUdt_LengthChecked!"); @@ -2106,35 +2091,35 @@ private static object GetUdt_LengthChecked(SmiEventSink_Default sink, ITypedGett { // Note: do not need to copy getter stream, since it will not be used beyond // deserialization (valid lifetime of getters is limited). - Stream stream = new SmiGettersStream(sink, getters, ordinal, metaData); + Stream stream = new SmiGettersStream(getters, ordinal, metaData); result = SerializationHelperSql9.Deserialize(stream, metaData.Type); } return result; } - private static decimal GetDecimal_PossiblyMoney(SmiEventSink_Default sink, ITypedGettersV3 getters, int ordinal, SmiMetaData metaData) + private static decimal GetDecimal_PossiblyMoney(ITypedGettersV3 getters, int ordinal, SmiMetaData metaData) { if (metaData.SqlDbType == SqlDbType.Decimal) { - return GetSqlDecimal_Unchecked(sink, getters, ordinal).Value; + return GetSqlDecimal_Unchecked(getters, ordinal).Value; } else { Debug.Assert(metaData.SqlDbType == SqlDbType.Money || metaData.SqlDbType == SqlDbType.SmallMoney, "Unexpected sqldbtype=" + metaData.SqlDbType); - return GetSqlMoney_Unchecked(sink, getters, ordinal).Value; + return GetSqlMoney_Unchecked(getters, ordinal).Value; } } - private static void SetDecimal_PossiblyMoney(SmiEventSink_Default sink, ITypedSettersV3 setters, int ordinal, SmiMetaData metaData, decimal value) + private static void SetDecimal_PossiblyMoney(ITypedSettersV3 setters, int ordinal, SmiMetaData metaData, decimal value) { if (metaData.SqlDbType == SqlDbType.Decimal || metaData.SqlDbType == SqlDbType.Variant) { - SetDecimal_Unchecked(sink, setters, ordinal, value); + SetDecimal_Unchecked(setters, ordinal, value); } else { Debug.Assert(metaData.SqlDbType == SqlDbType.Money || metaData.SqlDbType == SqlDbType.SmallMoney, "Unexpected sqldbtype=" + metaData.SqlDbType); - SetSqlMoney_Checked(sink, setters, ordinal, metaData, new SqlMoney(value)); + SetSqlMoney_Checked(setters, ordinal, metaData, new SqlMoney(value)); } } @@ -2159,40 +2144,40 @@ private static void VerifyTimeRange(SqlDbType dbType, TimeSpan value) } } - private static void SetDateTime_Checked(SmiEventSink_Default sink, ITypedSettersV3 setters, int ordinal, SmiMetaData metaData, DateTime value) + private static void SetDateTime_Checked(ITypedSettersV3 setters, int ordinal, SmiMetaData metaData, DateTime value) { VerifyDateTimeRange(metaData.SqlDbType, value); - SetDateTime_Unchecked(sink, setters, ordinal, (metaData.SqlDbType == SqlDbType.Date) ? value.Date : value); + SetDateTime_Unchecked(setters, ordinal, (metaData.SqlDbType == SqlDbType.Date) ? value.Date : value); } - private static void SetTimeSpan_Checked(SmiEventSink_Default sink, SmiTypedGetterSetter setters, int ordinal, SmiMetaData metaData, TimeSpan value) + private static void SetTimeSpan_Checked(SmiTypedGetterSetter setters, int ordinal, SmiMetaData metaData, TimeSpan value) { VerifyTimeRange(metaData.SqlDbType, value); - SetTimeSpan_Unchecked(sink, setters, ordinal, value); + SetTimeSpan_Unchecked(setters, ordinal, value); } - private static void SetSqlDateTime_Checked(SmiEventSink_Default sink, ITypedSettersV3 setters, int ordinal, SmiMetaData metaData, SqlDateTime value) + private static void SetSqlDateTime_Checked(ITypedSettersV3 setters, int ordinal, SmiMetaData metaData, SqlDateTime value) { if (!value.IsNull) { VerifyDateTimeRange(metaData.SqlDbType, value.Value); } - SetSqlDateTime_Unchecked(sink, setters, ordinal, value); + SetSqlDateTime_Unchecked(setters, ordinal, value); } - private static void SetDateTime2_Checked(SmiEventSink_Default sink, ITypedSettersV3 setters, int ordinal, SmiMetaData metaData, DateTime value) + private static void SetDateTime2_Checked(ITypedSettersV3 setters, int ordinal, SmiMetaData metaData, DateTime value) { VerifyDateTimeRange(metaData.SqlDbType, value); - SetDateTime2_Unchecked(sink, setters, ordinal, metaData, value); + SetDateTime2_Unchecked(setters, ordinal, metaData, value); } - private static void SetDate_Checked(SmiEventSink_Default sink, ITypedSettersV3 setters, int ordinal, SmiMetaData metaData, DateTime value) + private static void SetDate_Checked(ITypedSettersV3 setters, int ordinal, SmiMetaData metaData, DateTime value) { VerifyDateTimeRange(metaData.SqlDbType, value); - SetDate_Unchecked(sink, setters, ordinal, metaData, value); + SetDate_Unchecked(setters, ordinal, metaData, value); } - private static void SetSqlMoney_Checked(SmiEventSink_Default sink, ITypedSettersV3 setters, int ordinal, SmiMetaData metaData, SqlMoney value) + private static void SetSqlMoney_Checked(ITypedSettersV3 setters, int ordinal, SmiMetaData metaData, SqlMoney value) { if (!value.IsNull && metaData.SqlDbType == SqlDbType.SmallMoney) { @@ -2202,24 +2187,24 @@ private static void SetSqlMoney_Checked(SmiEventSink_Default sink, ITypedSetters throw SQL.MoneyOverflow(decimalValue.ToString(CultureInfo.InvariantCulture)); } } - SetSqlMoney_Unchecked(sink, setters, ordinal, metaData, value); + SetSqlMoney_Unchecked(setters, ordinal, metaData, value); } - private static void SetByteArray_LengthChecked(SmiEventSink_Default sink, ITypedSettersV3 setters, int ordinal, SmiMetaData metaData, byte[] buffer, int offset) + private static void SetByteArray_LengthChecked(ITypedSettersV3 setters, int ordinal, SmiMetaData metaData, byte[] buffer, int offset) { int length = CheckXetParameters(metaData.SqlDbType, metaData.MaxLength, actualLength: NoLengthLimit, fieldOffset: 0, bufferLength: buffer.Length, bufferOffset: offset, length: buffer.Length - offset); Debug.Assert(length >= 0, "buffer.Length was invalid!"); - SetByteArray_Unchecked(sink, setters, ordinal, buffer, offset, length); + SetByteArray_Unchecked(setters, ordinal, buffer, offset, length); } - private static void SetCharArray_LengthChecked(SmiEventSink_Default sink, ITypedSettersV3 setters, int ordinal, SmiMetaData metaData, char[] buffer, int offset) + private static void SetCharArray_LengthChecked(ITypedSettersV3 setters, int ordinal, SmiMetaData metaData, char[] buffer, int offset) { int length = CheckXetParameters(metaData.SqlDbType, metaData.MaxLength, actualLength: NoLengthLimit, fieldOffset: 0, bufferLength: buffer.Length, bufferOffset: offset, length: buffer.Length - offset); Debug.Assert(length >= 0, "buffer.Length was invalid!"); - SetCharArray_Unchecked(sink, setters, ordinal, buffer, offset, length); + SetCharArray_Unchecked(setters, ordinal, buffer, offset, length); } - private static void SetSqlBinary_LengthChecked(SmiEventSink_Default sink, ITypedSettersV3 setters, int ordinal, SmiMetaData metaData, SqlBinary value, int offset) + private static void SetSqlBinary_LengthChecked(ITypedSettersV3 setters, int ordinal, SmiMetaData metaData, SqlBinary value, int offset) { int length = 0; if (!value.IsNull) @@ -2227,10 +2212,10 @@ private static void SetSqlBinary_LengthChecked(SmiEventSink_Default sink, ITyped length = CheckXetParameters(metaData.SqlDbType, metaData.MaxLength, actualLength: NoLengthLimit, fieldOffset: 0, bufferLength: value.Length, bufferOffset: offset, length: value.Length - offset); Debug.Assert(length >= 0, "value.Length was invalid!"); } - SetSqlBinary_Unchecked(sink, setters, ordinal, value, offset, length); + SetSqlBinary_Unchecked(setters, ordinal, value, offset, length); } - private static void SetBytes_FromRecord(SmiEventSink_Default sink, ITypedSettersV3 setters, int ordinal, SmiMetaData metaData, SqlDataRecord record, int offset) + private static void SetBytes_FromRecord(ITypedSettersV3 setters, int ordinal, SmiMetaData metaData, SqlDataRecord record, int offset) { // Deal with large values by sending bufferLength of NoLengthLimit (== assume // CheckXetParameters will ignore requested-length checks in this case @@ -2264,7 +2249,6 @@ private static void SetBytes_FromRecord(SmiEventSink_Default sink, ITypedSetters ) { bytesWritten = setters.SetBytes(ordinal, currentOffset, buffer, 0, checked((int)bytesRead)); - sink.ProcessMessagesAndThrow(); checked { currentOffset += bytesWritten; @@ -2274,10 +2258,9 @@ private static void SetBytes_FromRecord(SmiEventSink_Default sink, ITypedSetters // Make sure to trim any left-over data setters.SetBytesLength(ordinal, currentOffset); - sink.ProcessMessagesAndThrow(); } - private static void SetBytes_FromReader(SmiEventSink_Default sink, SmiTypedGetterSetter setters, int ordinal, SmiMetaData metaData, DbDataReader reader, int offset) + private static void SetBytes_FromReader(SmiTypedGetterSetter setters, int ordinal, SmiMetaData metaData, DbDataReader reader, int offset) { // Deal with large values by sending bufferLength of NoLengthLimit (== assume // CheckXetParameters will ignore requested-length checks in this case) @@ -2299,7 +2282,6 @@ private static void SetBytes_FromReader(SmiEventSink_Default sink, SmiTypedGette ) { bytesWritten = setters.SetBytes(ordinal, currentOffset, buffer, 0, checked((int)bytesRead)); - sink.ProcessMessagesAndThrow(); checked { currentOffset += bytesWritten; @@ -2309,10 +2291,9 @@ private static void SetBytes_FromReader(SmiEventSink_Default sink, SmiTypedGette // Make sure to trim any left-over data (remember to trim at end of offset, not just the amount written setters.SetBytesLength(ordinal, currentOffset); - sink.ProcessMessagesAndThrow(); } - private static void SetSqlBytes_LengthChecked(SmiEventSink_Default sink, ITypedSettersV3 setters, int ordinal, SmiMetaData metaData, SqlBytes value, int offset) + private static void SetSqlBytes_LengthChecked(ITypedSettersV3 setters, int ordinal, SmiMetaData metaData, SqlBytes value, int offset) { int length = 0; if (!value.IsNull) @@ -2326,10 +2307,10 @@ private static void SetSqlBytes_LengthChecked(SmiEventSink_Default sink, ITypedS } length = CheckXetParameters(metaData.SqlDbType, metaData.MaxLength, actualLength: NoLengthLimit, fieldOffset: 0, bufferLength: checked((int)bufferLength), bufferOffset: offset, length: checked((int)bufferLength)); } - SetSqlBytes_Unchecked(sink, setters, ordinal, value, 0, length); + SetSqlBytes_Unchecked(setters, ordinal, value, 0, length); } - private static void SetChars_FromRecord(SmiEventSink_Default sink, ITypedSettersV3 setters, int ordinal, SmiMetaData metaData, SqlDataRecord record, int offset) + private static void SetChars_FromRecord(ITypedSettersV3 setters, int ordinal, SmiMetaData metaData, SqlDataRecord record, int offset) { // Deal with large values by sending bufferLength of NoLengthLimit // CheckXetParameters will ignore length checks in this case @@ -2370,7 +2351,6 @@ private static void SetChars_FromRecord(SmiEventSink_Default sink, ITypedSetters ) { charsWritten = setters.SetChars(ordinal, currentOffset, buffer, 0, checked((int)charsRead)); - sink.ProcessMessagesAndThrow(); checked { currentOffset += charsWritten; @@ -2380,18 +2360,17 @@ private static void SetChars_FromRecord(SmiEventSink_Default sink, ITypedSetters // Make sure to trim any left-over data setters.SetCharsLength(ordinal, currentOffset); - sink.ProcessMessagesAndThrow(); } // Transfer a character value from a reader when we're not sure which GetXXX method the reader will support. // Prefers to chunk data via GetChars, but falls back to GetString if that fails. // Mainly put in place because DataTableReader doesn't support GetChars on string columns, but others could fail too... - private static void SetCharsOrString_FromReader(SmiEventSink_Default sink, SmiTypedGetterSetter setters, int ordinal, SmiMetaData metaData, DbDataReader reader, int offset) + private static void SetCharsOrString_FromReader(SmiTypedGetterSetter setters, int ordinal, SmiMetaData metaData, DbDataReader reader, int offset) { bool success = false; try { - SetChars_FromReader(sink, setters, ordinal, metaData, reader, offset); + SetChars_FromReader(setters, ordinal, metaData, reader, offset); success = true; } catch (Exception e) @@ -2404,12 +2383,12 @@ private static void SetCharsOrString_FromReader(SmiEventSink_Default sink, SmiTy if (!success) { - SetString_FromReader(sink, setters, ordinal, metaData, reader, offset); + SetString_FromReader(setters, ordinal, metaData, reader, offset); } } // Use chunking via SetChars to transfer a value from a reader to a gettersetter - private static void SetChars_FromReader(SmiEventSink_Default sink, SmiTypedGetterSetter setters, int ordinal, SmiMetaData metaData, DbDataReader reader, int offset) + private static void SetChars_FromReader(SmiTypedGetterSetter setters, int ordinal, SmiMetaData metaData, DbDataReader reader, int offset) { // Deal with large values by sending bufferLength of NoLengthLimit (== assume // CheckXetParameters will ignore requested-length checks in this case) @@ -2439,7 +2418,6 @@ private static void SetChars_FromReader(SmiEventSink_Default sink, SmiTypedGette ) { charsWritten = setters.SetChars(ordinal, currentOffset, buffer, 0, checked((int)charsRead)); - sink.ProcessMessagesAndThrow(); checked { currentOffset += charsWritten; @@ -2449,19 +2427,17 @@ private static void SetChars_FromReader(SmiEventSink_Default sink, SmiTypedGette // Make sure to trim any left-over data (remember to trim at end of offset, not just the amount written setters.SetCharsLength(ordinal, currentOffset); - sink.ProcessMessagesAndThrow(); } - private static void SetString_FromReader(SmiEventSink_Default sink, SmiTypedGetterSetter setters, int ordinal, SmiMetaData metaData, DbDataReader reader, int offset) + private static void SetString_FromReader(SmiTypedGetterSetter setters, int ordinal, SmiMetaData metaData, DbDataReader reader, int offset) { string value = reader.GetString(ordinal); int length = CheckXetParameters(metaData.SqlDbType, metaData.MaxLength, value.Length, fieldOffset: 0, bufferLength: NoLengthLimit, bufferOffset: offset, length: NoLengthLimit); setters.SetString(ordinal, value, offset, length); - sink.ProcessMessagesAndThrow(); } - private static void SetSqlChars_LengthChecked(SmiEventSink_Default sink, ITypedSettersV3 setters, int ordinal, SmiMetaData metaData, SqlChars value, int offset) + private static void SetSqlChars_LengthChecked(ITypedSettersV3 setters, int ordinal, SmiMetaData metaData, SqlChars value, int offset) { int length = 0; if (!value.IsNull) @@ -2475,41 +2451,40 @@ private static void SetSqlChars_LengthChecked(SmiEventSink_Default sink, ITypedS } length = CheckXetParameters(metaData.SqlDbType, metaData.MaxLength, actualLength: NoLengthLimit, fieldOffset: 0, bufferLength: checked((int)bufferLength), bufferOffset: offset, length: checked((int)bufferLength - offset)); } - SetSqlChars_Unchecked(sink, setters, ordinal, value, 0, length); + SetSqlChars_Unchecked(setters, ordinal, value, 0, length); } - private static void SetSqlString_LengthChecked(SmiEventSink_Default sink, ITypedSettersV3 setters, int ordinal, SmiMetaData metaData, SqlString value, int offset) + private static void SetSqlString_LengthChecked(ITypedSettersV3 setters, int ordinal, SmiMetaData metaData, SqlString value, int offset) { if (value.IsNull) { - SetDBNull_Unchecked(sink, setters, ordinal); + SetDBNull_Unchecked(setters, ordinal); } else { string stringValue = value.Value; int length = CheckXetParameters(metaData.SqlDbType, metaData.MaxLength, actualLength: NoLengthLimit, fieldOffset: 0, bufferLength: stringValue.Length, bufferOffset: offset, length: stringValue.Length - offset); Debug.Assert(length >= 0, "value.Length was invalid!"); - SetSqlString_Unchecked(sink, setters, ordinal, metaData, value, offset, length); + SetSqlString_Unchecked(setters, ordinal, metaData, value, offset, length); } } - private static void SetString_LengthChecked(SmiEventSink_Default sink, ITypedSettersV3 setters, int ordinal, SmiMetaData metaData, string value, int offset) + private static void SetString_LengthChecked(ITypedSettersV3 setters, int ordinal, SmiMetaData metaData, string value, int offset) { int length = CheckXetParameters(metaData.SqlDbType, metaData.MaxLength, actualLength: NoLengthLimit, fieldOffset: 0, value.Length, offset, checked(value.Length - offset)); Debug.Assert(length >= 0, "value.Length was invalid!"); - SetString_Unchecked(sink, setters, ordinal, value, offset, length); + SetString_Unchecked(setters, ordinal, value, offset, length); } - private static void SetUdt_LengthChecked(SmiEventSink_Default sink, ITypedSettersV3 setters, int ordinal, SmiMetaData metaData, object value) + private static void SetUdt_LengthChecked(ITypedSettersV3 setters, int ordinal, SmiMetaData metaData, object value) { if (ADP.IsNull(value)) { setters.SetDBNull(ordinal); - sink.ProcessMessagesAndThrow(); } else { - Stream target = new SmiSettersStream(sink, setters, ordinal, metaData); + Stream target = new SmiSettersStream(setters, ordinal, metaData); SerializationHelperSql9.Serialize(target, value); } } @@ -2526,9 +2501,9 @@ private static void ThrowIfInvalidSetterAccess(SmiMetaData metaData, ExtendedClr } } - private static void ThrowIfITypedGettersIsNull(SmiEventSink_Default sink, ITypedGettersV3 getters, int ordinal) + private static void ThrowIfITypedGettersIsNull(ITypedGettersV3 getters, int ordinal) { - if (IsDBNull_Unchecked(sink, getters, ordinal)) + if (IsDBNull_Unchecked(getters, ordinal)) { throw SQL.SqlNullValue(); } @@ -2817,202 +2792,179 @@ int length // Private implementation of common mappings from a given type to corresponding Smi Getter/Setter // These classes do type validation, parameter limit validation, nor coercions // - private static bool IsDBNull_Unchecked(SmiEventSink_Default sink, ITypedGettersV3 getters, int ordinal) + private static bool IsDBNull_Unchecked(ITypedGettersV3 getters, int ordinal) { bool result = getters.IsDBNull(ordinal); - sink.ProcessMessagesAndThrow(); return result; } - private static bool GetBoolean_Unchecked(SmiEventSink_Default sink, ITypedGettersV3 getters, int ordinal) + private static bool GetBoolean_Unchecked(ITypedGettersV3 getters, int ordinal) { - Debug.Assert(!IsDBNull_Unchecked(sink, getters, ordinal)); + Debug.Assert(!IsDBNull_Unchecked(getters, ordinal)); bool result = getters.GetBoolean(ordinal); - sink.ProcessMessagesAndThrow(); return result; } - private static byte GetByte_Unchecked(SmiEventSink_Default sink, ITypedGettersV3 getters, int ordinal) + private static byte GetByte_Unchecked(ITypedGettersV3 getters, int ordinal) { - Debug.Assert(!IsDBNull_Unchecked(sink, getters, ordinal)); + Debug.Assert(!IsDBNull_Unchecked(getters, ordinal)); byte result = getters.GetByte(ordinal); - sink.ProcessMessagesAndThrow(); return result; } - private static byte[] GetByteArray_Unchecked(SmiEventSink_Default sink, ITypedGettersV3 getters, int ordinal) + private static byte[] GetByteArray_Unchecked(ITypedGettersV3 getters, int ordinal) { - Debug.Assert(!IsDBNull_Unchecked(sink, getters, ordinal)); + Debug.Assert(!IsDBNull_Unchecked(getters, ordinal)); long length = getters.GetBytesLength(ordinal); - sink.ProcessMessagesAndThrow(); int len = checked((int)length); byte[] buffer = new byte[len]; getters.GetBytes(ordinal, 0, buffer, 0, len); - sink.ProcessMessagesAndThrow(); return buffer; } - internal static int GetBytes_Unchecked(SmiEventSink_Default sink, ITypedGettersV3 getters, int ordinal, long fieldOffset, byte[] buffer, int bufferOffset, int length) + internal static int GetBytes_Unchecked(ITypedGettersV3 getters, int ordinal, long fieldOffset, byte[] buffer, int bufferOffset, int length) { - Debug.Assert(!IsDBNull_Unchecked(sink, getters, ordinal)); + Debug.Assert(!IsDBNull_Unchecked(getters, ordinal)); Debug.Assert(ordinal >= 0, $"Invalid ordinal: {ordinal}"); - Debug.Assert(sink != null, "Null SmiEventSink"); Debug.Assert(getters != null, "Null getters"); Debug.Assert(fieldOffset >= 0, $"Invalid field offset: {fieldOffset}"); Debug.Assert(buffer != null, "Null buffer"); Debug.Assert(bufferOffset >= 0 && length >= 0 && bufferOffset + length <= buffer.Length, $"Bad offset or length. bufferOffset: {bufferOffset}, length: {length}, buffer.Length{buffer.Length}"); int result = getters.GetBytes(ordinal, fieldOffset, buffer, bufferOffset, length); - sink.ProcessMessagesAndThrow(); return result; } - private static long GetBytesLength_Unchecked(SmiEventSink_Default sink, ITypedGettersV3 getters, int ordinal) + private static long GetBytesLength_Unchecked(ITypedGettersV3 getters, int ordinal) { - Debug.Assert(!IsDBNull_Unchecked(sink, getters, ordinal)); + Debug.Assert(!IsDBNull_Unchecked(getters, ordinal)); long result = getters.GetBytesLength(ordinal); - sink.ProcessMessagesAndThrow(); return result; } - private static char[] GetCharArray_Unchecked(SmiEventSink_Default sink, ITypedGettersV3 getters, int ordinal) + private static char[] GetCharArray_Unchecked(ITypedGettersV3 getters, int ordinal) { - Debug.Assert(!IsDBNull_Unchecked(sink, getters, ordinal)); + Debug.Assert(!IsDBNull_Unchecked(getters, ordinal)); long length = getters.GetCharsLength(ordinal); - sink.ProcessMessagesAndThrow(); int len = checked((int)length); char[] buffer = new char[len]; getters.GetChars(ordinal, 0, buffer, 0, len); - sink.ProcessMessagesAndThrow(); return buffer; } - internal static int GetChars_Unchecked(SmiEventSink_Default sink, ITypedGettersV3 getters, int ordinal, long fieldOffset, char[] buffer, int bufferOffset, int length) + internal static int GetChars_Unchecked(ITypedGettersV3 getters, int ordinal, long fieldOffset, char[] buffer, int bufferOffset, int length) { - Debug.Assert(!IsDBNull_Unchecked(sink, getters, ordinal)); + Debug.Assert(!IsDBNull_Unchecked(getters, ordinal)); Debug.Assert(ordinal >= 0, $"Invalid ordinal: {ordinal}"); - Debug.Assert(sink != null, "Null SmiEventSink"); Debug.Assert(getters != null, "Null getters"); Debug.Assert(fieldOffset >= 0, $"Invalid field offset: {fieldOffset}"); Debug.Assert(buffer != null, "Null buffer"); Debug.Assert(bufferOffset >= 0 && length >= 0 && bufferOffset + length <= buffer.Length, $"Bad offset or length. bufferOffset: {bufferOffset}, length: {length}, buffer.Length{buffer.Length}"); int result = getters.GetChars(ordinal, fieldOffset, buffer, bufferOffset, length); - sink.ProcessMessagesAndThrow(); return result; } - private static long GetCharsLength_Unchecked(SmiEventSink_Default sink, ITypedGettersV3 getters, int ordinal) + private static long GetCharsLength_Unchecked(ITypedGettersV3 getters, int ordinal) { - Debug.Assert(!IsDBNull_Unchecked(sink, getters, ordinal)); + Debug.Assert(!IsDBNull_Unchecked(getters, ordinal)); long result = getters.GetCharsLength(ordinal); - sink.ProcessMessagesAndThrow(); return result; } - private static DateTime GetDateTime_Unchecked(SmiEventSink_Default sink, ITypedGettersV3 getters, int ordinal) + private static DateTime GetDateTime_Unchecked(ITypedGettersV3 getters, int ordinal) { - Debug.Assert(!IsDBNull_Unchecked(sink, getters, ordinal)); + Debug.Assert(!IsDBNull_Unchecked(getters, ordinal)); DateTime result = getters.GetDateTime(ordinal); - sink.ProcessMessagesAndThrow(); return result; } - private static DateTimeOffset GetDateTimeOffset_Unchecked(SmiEventSink_Default sink, SmiTypedGetterSetter getters, int ordinal) + private static DateTimeOffset GetDateTimeOffset_Unchecked(SmiTypedGetterSetter getters, int ordinal) { - Debug.Assert(!IsDBNull_Unchecked(sink, getters, ordinal)); + Debug.Assert(!IsDBNull_Unchecked(getters, ordinal)); DateTimeOffset result = getters.GetDateTimeOffset(ordinal); - sink.ProcessMessagesAndThrow(); return result; } - private static double GetDouble_Unchecked(SmiEventSink_Default sink, ITypedGettersV3 getters, int ordinal) + private static double GetDouble_Unchecked(ITypedGettersV3 getters, int ordinal) { - Debug.Assert(!IsDBNull_Unchecked(sink, getters, ordinal)); + Debug.Assert(!IsDBNull_Unchecked(getters, ordinal)); double result = getters.GetDouble(ordinal); - sink.ProcessMessagesAndThrow(); return result; } - private static Guid GetGuid_Unchecked(SmiEventSink_Default sink, ITypedGettersV3 getters, int ordinal) + private static Guid GetGuid_Unchecked(ITypedGettersV3 getters, int ordinal) { - Debug.Assert(!IsDBNull_Unchecked(sink, getters, ordinal)); + Debug.Assert(!IsDBNull_Unchecked(getters, ordinal)); Guid result = getters.GetGuid(ordinal); - sink.ProcessMessagesAndThrow(); return result; } - private static short GetInt16_Unchecked(SmiEventSink_Default sink, ITypedGettersV3 getters, int ordinal) + private static short GetInt16_Unchecked(ITypedGettersV3 getters, int ordinal) { - Debug.Assert(!IsDBNull_Unchecked(sink, getters, ordinal)); + Debug.Assert(!IsDBNull_Unchecked(getters, ordinal)); short result = getters.GetInt16(ordinal); - sink.ProcessMessagesAndThrow(); return result; } - private static int GetInt32_Unchecked(SmiEventSink_Default sink, ITypedGettersV3 getters, int ordinal) + private static int GetInt32_Unchecked(ITypedGettersV3 getters, int ordinal) { - Debug.Assert(!IsDBNull_Unchecked(sink, getters, ordinal)); + Debug.Assert(!IsDBNull_Unchecked(getters, ordinal)); int result = getters.GetInt32(ordinal); - sink.ProcessMessagesAndThrow(); return result; } - private static long GetInt64_Unchecked(SmiEventSink_Default sink, ITypedGettersV3 getters, int ordinal) + private static long GetInt64_Unchecked(ITypedGettersV3 getters, int ordinal) { - Debug.Assert(!IsDBNull_Unchecked(sink, getters, ordinal)); + Debug.Assert(!IsDBNull_Unchecked(getters, ordinal)); long result = getters.GetInt64(ordinal); - sink.ProcessMessagesAndThrow(); return result; } - private static float GetSingle_Unchecked(SmiEventSink_Default sink, ITypedGettersV3 getters, int ordinal) + private static float GetSingle_Unchecked(ITypedGettersV3 getters, int ordinal) { - Debug.Assert(!IsDBNull_Unchecked(sink, getters, ordinal)); + Debug.Assert(!IsDBNull_Unchecked(getters, ordinal)); float result = getters.GetSingle(ordinal); - sink.ProcessMessagesAndThrow(); return result; } - private static SqlBinary GetSqlBinary_Unchecked(SmiEventSink_Default sink, ITypedGettersV3 getters, int ordinal) + private static SqlBinary GetSqlBinary_Unchecked(ITypedGettersV3 getters, int ordinal) { - Debug.Assert(!IsDBNull_Unchecked(sink, getters, ordinal)); + Debug.Assert(!IsDBNull_Unchecked(getters, ordinal)); - byte[] buffer = GetByteArray_Unchecked(sink, getters, ordinal); + byte[] buffer = GetByteArray_Unchecked(getters, ordinal); return new SqlBinary(buffer); } - private static SqlDecimal GetSqlDecimal_Unchecked(SmiEventSink_Default sink, ITypedGettersV3 getters, int ordinal) + private static SqlDecimal GetSqlDecimal_Unchecked(ITypedGettersV3 getters, int ordinal) { - Debug.Assert(!IsDBNull_Unchecked(sink, getters, ordinal)); + Debug.Assert(!IsDBNull_Unchecked(getters, ordinal)); SqlDecimal result = getters.GetSqlDecimal(ordinal); - sink.ProcessMessagesAndThrow(); return result; } - private static SqlMoney GetSqlMoney_Unchecked(SmiEventSink_Default sink, ITypedGettersV3 getters, int ordinal) + private static SqlMoney GetSqlMoney_Unchecked(ITypedGettersV3 getters, int ordinal) { - Debug.Assert(!IsDBNull_Unchecked(sink, getters, ordinal)); + Debug.Assert(!IsDBNull_Unchecked(getters, ordinal)); long temp = getters.GetInt64(ordinal); - sink.ProcessMessagesAndThrow(); #if NET return SqlMoney.FromTdsValue(temp); #else @@ -3020,57 +2972,52 @@ private static SqlMoney GetSqlMoney_Unchecked(SmiEventSink_Default sink, ITypedG #endif } - private static SqlXml GetSqlXml_Unchecked(SmiEventSink_Default sink, ITypedGettersV3 getters, int ordinal) + private static SqlXml GetSqlXml_Unchecked(ITypedGettersV3 getters, int ordinal) { - Debug.Assert(!IsDBNull_Unchecked(sink, getters, ordinal)); + Debug.Assert(!IsDBNull_Unchecked(getters, ordinal)); // Note: must make a copy of getter stream, since it will be used beyond // this method (valid lifetime of getters is limited). - Stream s = new SmiGettersStream(sink, getters, ordinal, SmiMetaData.DefaultXml); + Stream s = new SmiGettersStream(getters, ordinal, SmiMetaData.DefaultXml); Stream copy = CopyIntoNewSmiScratchStream(s); return new SqlXml(copy); } - private static string GetString_Unchecked(SmiEventSink_Default sink, ITypedGettersV3 getters, int ordinal) + private static string GetString_Unchecked(ITypedGettersV3 getters, int ordinal) { - Debug.Assert(!IsDBNull_Unchecked(sink, getters, ordinal)); + Debug.Assert(!IsDBNull_Unchecked(getters, ordinal)); // Note: depending on different getters, the result string may be truncated, e.g. for // Inproc process, the getter is InProcRecordBuffer (implemented in SqlAcess), string will be // truncated to 4000 (if length is more than 4000). If MemoryRecordBuffer getter is used, data // is not truncated. Please refer VSDD 479655 for more detailed information regarding the string length. string result = getters.GetString(ordinal); - sink.ProcessMessagesAndThrow(); return result; } - private static TimeSpan GetTimeSpan_Unchecked(SmiEventSink_Default sink, SmiTypedGetterSetter getters, int ordinal) + private static TimeSpan GetTimeSpan_Unchecked(SmiTypedGetterSetter getters, int ordinal) { - Debug.Assert(!IsDBNull_Unchecked(sink, getters, ordinal)); + Debug.Assert(!IsDBNull_Unchecked(getters, ordinal)); TimeSpan result = getters.GetTimeSpan(ordinal); - sink.ProcessMessagesAndThrow(); return result; } - private static void SetBoolean_Unchecked(SmiEventSink_Default sink, ITypedSettersV3 setters, int ordinal, bool value) + private static void SetBoolean_Unchecked(ITypedSettersV3 setters, int ordinal, bool value) { setters.SetBoolean(ordinal, value); - sink.ProcessMessagesAndThrow(); } - private static void SetByteArray_Unchecked(SmiEventSink_Default sink, ITypedSettersV3 setters, int ordinal, byte[] buffer, int bufferOffset, int length) + private static void SetByteArray_Unchecked(ITypedSettersV3 setters, int ordinal, byte[] buffer, int bufferOffset, int length) { if (length > 0) { setters.SetBytes(ordinal, 0, buffer, bufferOffset, length); - sink.ProcessMessagesAndThrow(); } setters.SetBytesLength(ordinal, length); - sink.ProcessMessagesAndThrow(); } - private static void SetStream_Unchecked(SmiEventSink_Default sink, ITypedSettersV3 setters, int ordinal, SmiMetaData metadata, StreamDataFeed feed) + private static void SetStream_Unchecked(ITypedSettersV3 setters, int ordinal, SmiMetaData metadata, StreamDataFeed feed) { long len = metadata.MaxLength; byte[] buff = new byte[DefaultBinaryBufferSize]; @@ -3093,16 +3040,14 @@ private static void SetStream_Unchecked(SmiEventSink_Default sink, ITypedSetters } setters.SetBytes(ordinal, nWritten, buff, 0, nRead); - sink.ProcessMessagesAndThrow(); nWritten += nRead; } while (len <= 0 || nWritten < len); setters.SetBytesLength(ordinal, nWritten); - sink.ProcessMessagesAndThrow(); } - private static void SetTextReader_Unchecked(SmiEventSink_Default sink, ITypedSettersV3 setters, int ordinal, SmiMetaData metadata, TextDataFeed feed) + private static void SetTextReader_Unchecked(ITypedSettersV3 setters, int ordinal, SmiMetaData metadata, TextDataFeed feed) { long len = metadata.MaxLength; char[] buff = new char[DefaultTextBufferSize]; @@ -3125,129 +3070,109 @@ private static void SetTextReader_Unchecked(SmiEventSink_Default sink, ITypedSet } setters.SetChars(ordinal, nWritten, buff, 0, nRead); - sink.ProcessMessagesAndThrow(); nWritten += nRead; } while (len <= 0 || nWritten < len); setters.SetCharsLength(ordinal, nWritten); - sink.ProcessMessagesAndThrow(); } - private static void SetByte_Unchecked(SmiEventSink_Default sink, ITypedSettersV3 setters, int ordinal, byte value) + private static void SetByte_Unchecked(ITypedSettersV3 setters, int ordinal, byte value) { setters.SetByte(ordinal, value); - sink.ProcessMessagesAndThrow(); } - private static int SetBytes_Unchecked(SmiEventSink_Default sink, ITypedSettersV3 setters, int ordinal, long fieldOffset, byte[] buffer, int bufferOffset, int length) + private static int SetBytes_Unchecked(ITypedSettersV3 setters, int ordinal, long fieldOffset, byte[] buffer, int bufferOffset, int length) { int result = setters.SetBytes(ordinal, fieldOffset, buffer, bufferOffset, length); - sink.ProcessMessagesAndThrow(); return result; } - private static void SetCharArray_Unchecked(SmiEventSink_Default sink, ITypedSettersV3 setters, int ordinal, char[] buffer, int bufferOffset, int length) + private static void SetCharArray_Unchecked(ITypedSettersV3 setters, int ordinal, char[] buffer, int bufferOffset, int length) { if (length > 0) { setters.SetChars(ordinal, 0, buffer, bufferOffset, length); - sink.ProcessMessagesAndThrow(); } setters.SetCharsLength(ordinal, length); - sink.ProcessMessagesAndThrow(); } - private static int SetChars_Unchecked(SmiEventSink_Default sink, ITypedSettersV3 setters, int ordinal, long fieldOffset, char[] buffer, int bufferOffset, int length) + private static int SetChars_Unchecked(ITypedSettersV3 setters, int ordinal, long fieldOffset, char[] buffer, int bufferOffset, int length) { int result = setters.SetChars(ordinal, fieldOffset, buffer, bufferOffset, length); - sink.ProcessMessagesAndThrow(); return result; } - private static void SetDBNull_Unchecked(SmiEventSink_Default sink, ITypedSettersV3 setters, int ordinal) + private static void SetDBNull_Unchecked(ITypedSettersV3 setters, int ordinal) { setters.SetDBNull(ordinal); - sink.ProcessMessagesAndThrow(); } - private static void SetDecimal_Unchecked(SmiEventSink_Default sink, ITypedSettersV3 setters, int ordinal, decimal value) + private static void SetDecimal_Unchecked(ITypedSettersV3 setters, int ordinal, decimal value) { setters.SetSqlDecimal(ordinal, new SqlDecimal(value)); - sink.ProcessMessagesAndThrow(); } - private static void SetDateTime_Unchecked(SmiEventSink_Default sink, ITypedSettersV3 setters, int ordinal, DateTime value) + private static void SetDateTime_Unchecked(ITypedSettersV3 setters, int ordinal, DateTime value) { setters.SetDateTime(ordinal, value); - sink.ProcessMessagesAndThrow(); } - private static void SetDateTime2_Unchecked(SmiEventSink_Default sink, ITypedSettersV3 setters, int ordinal, SmiMetaData metaData, DateTime value) + private static void SetDateTime2_Unchecked(ITypedSettersV3 setters, int ordinal, SmiMetaData metaData, DateTime value) { Debug.Assert(metaData.SqlDbType == SqlDbType.Variant, "Invalid type. This should be called only when the type is variant."); setters.SetVariantMetaData(ordinal, SmiMetaData.DefaultDateTime2); setters.SetDateTime(ordinal, value); - sink.ProcessMessagesAndThrow(); } - private static void SetDate_Unchecked(SmiEventSink_Default sink, ITypedSettersV3 setters, int ordinal, SmiMetaData metaData, DateTime value) + private static void SetDate_Unchecked(ITypedSettersV3 setters, int ordinal, SmiMetaData metaData, DateTime value) { Debug.Assert(metaData.SqlDbType == SqlDbType.Variant, "Invalid type. This should be called only when the type is variant."); setters.SetVariantMetaData(ordinal, SmiMetaData.DefaultDate); setters.SetDateTime(ordinal, value); - sink.ProcessMessagesAndThrow(); } - private static void SetTimeSpan_Unchecked(SmiEventSink_Default sink, SmiTypedGetterSetter setters, int ordinal, TimeSpan value) + private static void SetTimeSpan_Unchecked(SmiTypedGetterSetter setters, int ordinal, TimeSpan value) { setters.SetTimeSpan(ordinal, value); - sink.ProcessMessagesAndThrow(); } - private static void SetDateTimeOffset_Unchecked(SmiEventSink_Default sink, SmiTypedGetterSetter setters, int ordinal, DateTimeOffset value) + private static void SetDateTimeOffset_Unchecked(SmiTypedGetterSetter setters, int ordinal, DateTimeOffset value) { setters.SetDateTimeOffset(ordinal, value); - sink.ProcessMessagesAndThrow(); } - private static void SetDouble_Unchecked(SmiEventSink_Default sink, ITypedSettersV3 setters, int ordinal, double value) + private static void SetDouble_Unchecked(ITypedSettersV3 setters, int ordinal, double value) { setters.SetDouble(ordinal, value); - sink.ProcessMessagesAndThrow(); } - private static void SetGuid_Unchecked(SmiEventSink_Default sink, ITypedSettersV3 setters, int ordinal, Guid value) + private static void SetGuid_Unchecked(ITypedSettersV3 setters, int ordinal, Guid value) { setters.SetGuid(ordinal, value); - sink.ProcessMessagesAndThrow(); } - private static void SetInt16_Unchecked(SmiEventSink_Default sink, ITypedSettersV3 setters, int ordinal, short value) + private static void SetInt16_Unchecked(ITypedSettersV3 setters, int ordinal, short value) { setters.SetInt16(ordinal, value); - sink.ProcessMessagesAndThrow(); } - private static void SetInt32_Unchecked(SmiEventSink_Default sink, ITypedSettersV3 setters, int ordinal, int value) + private static void SetInt32_Unchecked(ITypedSettersV3 setters, int ordinal, int value) { setters.SetInt32(ordinal, value); - sink.ProcessMessagesAndThrow(); } - private static void SetInt64_Unchecked(SmiEventSink_Default sink, ITypedSettersV3 setters, int ordinal, long value) + private static void SetInt64_Unchecked(ITypedSettersV3 setters, int ordinal, long value) { setters.SetInt64(ordinal, value); - sink.ProcessMessagesAndThrow(); } - private static void SetSingle_Unchecked(SmiEventSink_Default sink, ITypedSettersV3 setters, int ordinal, float value) + private static void SetSingle_Unchecked(ITypedSettersV3 setters, int ordinal, float value) { setters.SetSingle(ordinal, value); - sink.ProcessMessagesAndThrow(); } - private static void SetSqlBinary_Unchecked(SmiEventSink_Default sink, ITypedSettersV3 setters, int ordinal, SqlBinary value, int offset, int length) + private static void SetSqlBinary_Unchecked(ITypedSettersV3 setters, int ordinal, SqlBinary value, int offset, int length) { if (value.IsNull) { @@ -3255,12 +3180,11 @@ private static void SetSqlBinary_Unchecked(SmiEventSink_Default sink, ITypedSett } else { - SetByteArray_Unchecked(sink, setters, ordinal, value.Value, offset, length); + SetByteArray_Unchecked(setters, ordinal, value.Value, offset, length); } - sink.ProcessMessagesAndThrow(); } - private static void SetSqlBoolean_Unchecked(SmiEventSink_Default sink, ITypedSettersV3 setters, int ordinal, SqlBoolean value) + private static void SetSqlBoolean_Unchecked(ITypedSettersV3 setters, int ordinal, SqlBoolean value) { if (value.IsNull) { @@ -3270,10 +3194,9 @@ private static void SetSqlBoolean_Unchecked(SmiEventSink_Default sink, ITypedSet { setters.SetBoolean(ordinal, value.Value); } - sink.ProcessMessagesAndThrow(); } - private static void SetSqlByte_Unchecked(SmiEventSink_Default sink, ITypedSettersV3 setters, int ordinal, SqlByte value) + private static void SetSqlByte_Unchecked(ITypedSettersV3 setters, int ordinal, SqlByte value) { if (value.IsNull) { @@ -3283,16 +3206,14 @@ private static void SetSqlByte_Unchecked(SmiEventSink_Default sink, ITypedSetter { setters.SetByte(ordinal, value.Value); } - sink.ProcessMessagesAndThrow(); } // note: length < 0 indicates write everything - private static void SetSqlBytes_Unchecked(SmiEventSink_Default sink, ITypedSettersV3 setters, int ordinal, SqlBytes value, int offset, long length) + private static void SetSqlBytes_Unchecked(ITypedSettersV3 setters, int ordinal, SqlBytes value, int offset, long length) { if (value.IsNull) { setters.SetDBNull(ordinal); - sink.ProcessMessagesAndThrow(); } else { @@ -3319,7 +3240,6 @@ private static void SetSqlBytes_Unchecked(SmiEventSink_Default sink, ITypedSette ) { bytesWritten = setters.SetBytes(ordinal, currentOffset, buffer, 0, checked((int)bytesRead)); - sink.ProcessMessagesAndThrow(); checked { currentOffset += bytesWritten; @@ -3332,16 +3252,14 @@ private static void SetSqlBytes_Unchecked(SmiEventSink_Default sink, ITypedSette // Make sure to trim any left-over data setters.SetBytesLength(ordinal, currentOffset); - sink.ProcessMessagesAndThrow(); } } - private static void SetSqlChars_Unchecked(SmiEventSink_Default sink, ITypedSettersV3 setters, int ordinal, SqlChars value, int offset, int length) + private static void SetSqlChars_Unchecked(ITypedSettersV3 setters, int ordinal, SqlChars value, int offset, int length) { if (value.IsNull) { setters.SetDBNull(ordinal); - sink.ProcessMessagesAndThrow(); } else { @@ -3368,7 +3286,6 @@ private static void SetSqlChars_Unchecked(SmiEventSink_Default sink, ITypedSette ) { charsWritten = setters.SetChars(ordinal, currentOffset, buffer, 0, checked((int)charsRead)); - sink.ProcessMessagesAndThrow(); checked { currentOffset += charsWritten; @@ -3378,11 +3295,10 @@ private static void SetSqlChars_Unchecked(SmiEventSink_Default sink, ITypedSette // Make sure to trim any left-over data setters.SetCharsLength(ordinal, currentOffset); - sink.ProcessMessagesAndThrow(); } } - private static void SetSqlDateTime_Unchecked(SmiEventSink_Default sink, ITypedSettersV3 setters, int ordinal, SqlDateTime value) + private static void SetSqlDateTime_Unchecked(ITypedSettersV3 setters, int ordinal, SqlDateTime value) { if (value.IsNull) { @@ -3392,10 +3308,9 @@ private static void SetSqlDateTime_Unchecked(SmiEventSink_Default sink, ITypedSe { setters.SetDateTime(ordinal, value.Value); } - sink.ProcessMessagesAndThrow(); } - private static void SetSqlDecimal_Unchecked(SmiEventSink_Default sink, ITypedSettersV3 setters, int ordinal, SqlDecimal value) + private static void SetSqlDecimal_Unchecked(ITypedSettersV3 setters, int ordinal, SqlDecimal value) { if (value.IsNull) { @@ -3405,10 +3320,9 @@ private static void SetSqlDecimal_Unchecked(SmiEventSink_Default sink, ITypedSet { setters.SetSqlDecimal(ordinal, value); } - sink.ProcessMessagesAndThrow(); } - private static void SetSqlDouble_Unchecked(SmiEventSink_Default sink, ITypedSettersV3 setters, int ordinal, SqlDouble value) + private static void SetSqlDouble_Unchecked(ITypedSettersV3 setters, int ordinal, SqlDouble value) { if (value.IsNull) { @@ -3418,10 +3332,9 @@ private static void SetSqlDouble_Unchecked(SmiEventSink_Default sink, ITypedSett { setters.SetDouble(ordinal, value.Value); } - sink.ProcessMessagesAndThrow(); } - private static void SetSqlGuid_Unchecked(SmiEventSink_Default sink, ITypedSettersV3 setters, int ordinal, SqlGuid value) + private static void SetSqlGuid_Unchecked(ITypedSettersV3 setters, int ordinal, SqlGuid value) { if (value.IsNull) { @@ -3431,10 +3344,9 @@ private static void SetSqlGuid_Unchecked(SmiEventSink_Default sink, ITypedSetter { setters.SetGuid(ordinal, value.Value); } - sink.ProcessMessagesAndThrow(); } - private static void SetSqlInt16_Unchecked(SmiEventSink_Default sink, ITypedSettersV3 setters, int ordinal, SqlInt16 value) + private static void SetSqlInt16_Unchecked(ITypedSettersV3 setters, int ordinal, SqlInt16 value) { if (value.IsNull) { @@ -3444,10 +3356,9 @@ private static void SetSqlInt16_Unchecked(SmiEventSink_Default sink, ITypedSette { setters.SetInt16(ordinal, value.Value); } - sink.ProcessMessagesAndThrow(); } - private static void SetSqlInt32_Unchecked(SmiEventSink_Default sink, ITypedSettersV3 setters, int ordinal, SqlInt32 value) + private static void SetSqlInt32_Unchecked(ITypedSettersV3 setters, int ordinal, SqlInt32 value) { if (value.IsNull) { @@ -3457,10 +3368,9 @@ private static void SetSqlInt32_Unchecked(SmiEventSink_Default sink, ITypedSette { setters.SetInt32(ordinal, value.Value); } - sink.ProcessMessagesAndThrow(); } - private static void SetSqlInt64_Unchecked(SmiEventSink_Default sink, ITypedSettersV3 setters, int ordinal, SqlInt64 value) + private static void SetSqlInt64_Unchecked(ITypedSettersV3 setters, int ordinal, SqlInt64 value) { if (value.IsNull) { @@ -3470,10 +3380,9 @@ private static void SetSqlInt64_Unchecked(SmiEventSink_Default sink, ITypedSette { setters.SetInt64(ordinal, value.Value); } - sink.ProcessMessagesAndThrow(); } - private static void SetSqlMoney_Unchecked(SmiEventSink_Default sink, ITypedSettersV3 setters, int ordinal, SmiMetaData metaData, SqlMoney value) + private static void SetSqlMoney_Unchecked(ITypedSettersV3 setters, int ordinal, SmiMetaData metaData, SqlMoney value) { if (value.IsNull) { @@ -3484,7 +3393,6 @@ private static void SetSqlMoney_Unchecked(SmiEventSink_Default sink, ITypedSette if (metaData.SqlDbType == SqlDbType.Variant) { setters.SetVariantMetaData(ordinal, SmiMetaData.DefaultMoney); - sink.ProcessMessagesAndThrow(); } #if NET @@ -3493,10 +3401,9 @@ private static void SetSqlMoney_Unchecked(SmiEventSink_Default sink, ITypedSette setters.SetInt64(ordinal, SqlTypeWorkarounds.SqlMoneyToSqlInternalRepresentation(value)); #endif } - sink.ProcessMessagesAndThrow(); } - private static void SetSqlSingle_Unchecked(SmiEventSink_Default sink, ITypedSettersV3 setters, int ordinal, SqlSingle value) + private static void SetSqlSingle_Unchecked(ITypedSettersV3 setters, int ordinal, SqlSingle value) { if (value.IsNull) { @@ -3506,15 +3413,13 @@ private static void SetSqlSingle_Unchecked(SmiEventSink_Default sink, ITypedSett { setters.SetSingle(ordinal, value.Value); } - sink.ProcessMessagesAndThrow(); } - private static void SetSqlString_Unchecked(SmiEventSink_Default sink, ITypedSettersV3 setters, int ordinal, SmiMetaData metaData, SqlString value, int offset, int length) + private static void SetSqlString_Unchecked(ITypedSettersV3 setters, int ordinal, SmiMetaData metaData, SqlString value, int offset, int length) { if (value.IsNull) { setters.SetDBNull(ordinal); - sink.ProcessMessagesAndThrow(); } else { @@ -3531,26 +3436,24 @@ private static void SetSqlString_Unchecked(SmiEventSink_Default sink, ITypedSett userDefinedType: null ); setters.SetVariantMetaData(ordinal, metaData); - sink.ProcessMessagesAndThrow(); } - SetString_Unchecked(sink, setters, ordinal, value.Value, offset, length); + SetString_Unchecked(setters, ordinal, value.Value, offset, length); } } - private static void SetSqlXml_Unchecked(SmiEventSink_Default sink, ITypedSettersV3 setters, int ordinal, SqlXml value) + private static void SetSqlXml_Unchecked(ITypedSettersV3 setters, int ordinal, SqlXml value) { if (value.IsNull) { setters.SetDBNull(ordinal); - sink.ProcessMessagesAndThrow(); } else { - SetXmlReader_Unchecked(sink, setters, ordinal, value.CreateReader()); + SetXmlReader_Unchecked(setters, ordinal, value.CreateReader()); } } - private static void SetXmlReader_Unchecked(SmiEventSink_Default sink, ITypedSettersV3 setters, int ordinal, XmlReader xmlReader) + private static void SetXmlReader_Unchecked(ITypedSettersV3 setters, int ordinal, XmlReader xmlReader) { // set up writer XmlWriterSettings WriterSettings = new XmlWriterSettings @@ -3561,7 +3464,7 @@ private static void SetXmlReader_Unchecked(SmiEventSink_Default sink, ITypedSett OmitXmlDeclaration = true }; - using (Stream target = new SmiSettersStream(sink, setters, ordinal, SmiMetaData.DefaultXml)) + using (Stream target = new SmiSettersStream(setters, ordinal, SmiMetaData.DefaultXml)) using (XmlWriter xmlWriter = XmlWriter.Create(target, WriterSettings)) { // now spool the data into the writer (WriteNode will call Read()) @@ -3572,19 +3475,16 @@ private static void SetXmlReader_Unchecked(SmiEventSink_Default sink, ITypedSett } xmlWriter.Flush(); } - sink.ProcessMessagesAndThrow(); } - private static void SetString_Unchecked(SmiEventSink_Default sink, ITypedSettersV3 setters, int ordinal, string value, int offset, int length) + private static void SetString_Unchecked(ITypedSettersV3 setters, int ordinal, string value, int offset, int length) { setters.SetString(ordinal, value, offset, length); - sink.ProcessMessagesAndThrow(); } // Set a DbDataReader to a Structured+MultiValued setter (table type) // Assumes metaData correctly describes the reader's shape, and consumes only the current resultset private static void SetDbDataReader_Unchecked( - SmiEventSink_Default sink, SmiTypedGetterSetter setters, int ordinal, SmiMetaData metaData, @@ -3593,23 +3493,19 @@ DbDataReader value { // Get the target gettersetter setters = setters.GetTypedGetterSetter(ordinal); - sink.ProcessMessagesAndThrow(); // Iterate over all rows in the current set of results while (value.Read()) { setters.NewElement(); - sink.ProcessMessagesAndThrow(); - FillCompatibleSettersFromReader(sink, setters, metaData.FieldMetaData, value); + FillCompatibleSettersFromReader(setters, metaData.FieldMetaData, value); } setters.EndElements(); - sink.ProcessMessagesAndThrow(); } private static void SetIEnumerableOfSqlDataRecord_Unchecked( - SmiEventSink_Default sink, SmiTypedGetterSetter setters, int ordinal, SmiMetaData metaData, @@ -3619,7 +3515,6 @@ ParameterPeekAheadValue peekAhead { // Get target gettersetter setters = setters.GetTypedGetterSetter(ordinal); - sink.ProcessMessagesAndThrow(); IEnumerator enumerator = null; try @@ -3640,8 +3535,7 @@ ParameterPeekAheadValue peekAhead // send the first record that was obtained earlier setters.NewElement(); - sink.ProcessMessagesAndThrow(); - FillCompatibleSettersFromRecord(sink, setters, mdFields, peekAhead.FirstRecord, defaults); + FillCompatibleSettersFromRecord(setters, mdFields, peekAhead.FirstRecord, defaults); recordNumber++; } else @@ -3652,7 +3546,6 @@ ParameterPeekAheadValue peekAhead while (enumerator.MoveNext()) { setters.NewElement(); - sink.ProcessMessagesAndThrow(); SqlDataRecord record = enumerator.Current; @@ -3669,12 +3562,11 @@ ParameterPeekAheadValue peekAhead } } - FillCompatibleSettersFromRecord(sink, setters, mdFields, record, defaults); + FillCompatibleSettersFromRecord(setters, mdFields, record, defaults); recordNumber++; } setters.EndElements(); - sink.ProcessMessagesAndThrow(); } finally @@ -3687,7 +3579,6 @@ ParameterPeekAheadValue peekAhead } private static void SetDataTable_Unchecked( - SmiEventSink_Default sink, SmiTypedGetterSetter setters, int ordinal, SmiMetaData metaData, @@ -3696,7 +3587,6 @@ DataTable value { // Get the target gettersetter setters = setters.GetTypedGetterSetter(ordinal); - sink.ProcessMessagesAndThrow(); // iterate over all records // if first record was obtained earlier, use it prior to pulling more @@ -3708,7 +3598,6 @@ DataTable value foreach (DataRow row in value.Rows) { setters.NewElement(); - sink.ProcessMessagesAndThrow(); // Set all columns in the record for (int i = 0; i < metaData.FieldMetaData.Count; i++) @@ -3716,7 +3605,7 @@ DataTable value SmiMetaData fieldMetaData = metaData.FieldMetaData[i]; if (row.IsNull(i)) { - SetDBNull_Unchecked(sink, setters, i); + SetDBNull_Unchecked(setters, i); } else { @@ -3731,13 +3620,12 @@ DataTable value cellValue, fieldMetaData.Type); } - SetCompatibleValueV200(sink, setters, i, fieldMetaData, cellValue, cellTypes[i], 0, null); + SetCompatibleValueV200(setters, i, fieldMetaData, cellValue, cellTypes[i], 0, null); } } } setters.EndElements(); - sink.ProcessMessagesAndThrow(); } // spool a Stream into a scratch stream from the Smi interface and return it as a Stream