// Check what type current sql_variant value is // valid for SqlDbType.Variant public virtual SmiMetaData GetVariantType(SmiEventSink sink, int ordinal) { if (!CanGet) { throw System.Data.Common.ADP.InternalError(System.Data.Common.ADP.InternalErrorCode.InvalidSmiCall); } else { throw System.Data.Common.ADP.InternalError(System.Data.Common.ADP.InternalErrorCode.UnimplementedSMIMethod); } }
public virtual int GetBytes(SmiEventSink sink, int ordinal, long fieldOffset, byte[] buffer, int bufferOffset, int length) { if (!CanGet) { throw System.Data.Common.ADP.InternalError(System.Data.Common.ADP.InternalErrorCode.InvalidSmiCall); } else { throw System.Data.Common.ADP.InternalError(System.Data.Common.ADP.InternalErrorCode.UnimplementedSMIMethod); } }
public virtual DateTimeOffset GetDateTimeOffset(SmiEventSink sink, int ordinal) { if (!this.CanGet) { throw ADP.InternalError(ADP.InternalErrorCode.InvalidSmiCall); } throw ADP.InternalError(ADP.InternalErrorCode.UnimplementedSMIMethod); }
// valid for SqlDbTypes: Binary, VarBinary, Image, Udt, Xml, Char, VarChar, Text, NChar, NVarChar, NText // (Character type support needed for ExecuteXmlReader handling) public virtual Int64 GetBytesLength(SmiEventSink sink, int ordinal) { if (!CanGet) { throw System.Data.Common.ADP.InternalError(System.Data.Common.ADP.InternalErrorCode.InvalidSmiCall); } else { throw System.Data.Common.ADP.InternalError(System.Data.Common.ADP.InternalErrorCode.UnimplementedSMIMethod); } }
public virtual bool GetBoolean(SmiEventSink sink, int ordinal) { if (!this.CanGet) { throw ADP.InternalError(ADP.InternalErrorCode.InvalidSmiCall); } throw ADP.InternalError(ADP.InternalErrorCode.UnimplementedSMIMethod); }
internal virtual void EndElements(SmiEventSink sink) { if (!this.CanSet) { throw ADP.InternalError(ADP.InternalErrorCode.InvalidSmiCall); } throw ADP.InternalError(ADP.InternalErrorCode.UnimplementedSMIMethod); }
public virtual int GetChars(SmiEventSink sink, int ordinal, long fieldOffset, char[] buffer, int bufferOffset, int length) { if (!this.CanGet) { throw ADP.InternalError(ADP.InternalErrorCode.InvalidSmiCall); } throw ADP.InternalError(ADP.InternalErrorCode.UnimplementedSMIMethod); }
public virtual long GetCharsLength(SmiEventSink sink, int ordinal) { if (!this.CanGet) { throw ADP.InternalError(ADP.InternalErrorCode.InvalidSmiCall); } throw ADP.InternalError(ADP.InternalErrorCode.UnimplementedSMIMethod); }
// Scratch LOB storage region internal virtual SmiStream GetScratchStream( SmiEventSink sink ) { // Adding as of V3 // Implement body with throw because there are only a couple of ways to get to this code: // 1) Client is calling this method even though the server negotiated for V2- and hasn't implemented V3 yet. // 2) Server didn't implement V3, but negotiated V3+. System.Data.Common.ADP.InternalError( System.Data.Common.ADP.InternalErrorCode.UnimplementedSMIMethod ); return null; }
public virtual void Close( SmiEventSink eventSink ) { // Adding as of V3 // Implement body with throw because there are only a couple of ways to get to this code: // 1) Client is calling this method even though the server negotiated for V2- and hasn't implemented V3 yet. // 2) Server didn't implement V3 on some interface, but negotiated V3+. throw System.Data.Common.ADP.InternalError( System.Data.Common.ADP.InternalErrorCode.UnimplementedSMIMethod ); }
internal SqlDataReaderSmi(SmiEventStream eventStream, SqlCommand parent, CommandBehavior behavior, SqlInternalConnectionSmi connection, SmiEventSink parentSink) : base(parent, behavior) { this._eventStream = eventStream; this._currentConnection = connection; this._readerEventSink = new ReaderEventSink(this, parentSink); this._currentPosition = PositionState.BeforeResults; this._isOpen = true; this._indexMap = null; this._visibleColumnCount = 0; }
// valid for SqlDbType.Numeric (uses SqlDecimal since Decimal cannot hold full range) public override SqlDecimal GetSqlDecimal(SmiEventSink sink, int ordinal) { return _buffer[ordinal].SqlDecimal; }
// valid for SqlDbType.Float public override Double GetDouble(SmiEventSink sink, int ordinal) { return _buffer[ordinal].Double; }
// valid for SqlDbType.Real public override Single GetSingle(SmiEventSink sink, int ordinal) { return _buffer[ordinal].Single; }
internal abstract void SendMessageToPipe(string message, SmiEventSink eventSink);
internal virtual void EndElements(SmiEventSink sink) { if (!CanSet) { throw System.Data.Common.ADP.InternalError(System.Data.Common.ADP.InternalErrorCode.InvalidSmiCall); } else { throw System.Data.Common.ADP.InternalError(System.Data.Common.ADP.InternalErrorCode.UnimplementedSMIMethod); } }
// valid for DateTimeOffset public virtual void SetDateTimeOffset(SmiEventSink sink, int ordinal, DateTimeOffset value) { if (!CanSet) { throw System.Data.Common.ADP.InternalError(System.Data.Common.ADP.InternalErrorCode.InvalidSmiCall); } else { throw System.Data.Common.ADP.InternalError(System.Data.Common.ADP.InternalErrorCode.UnimplementedSMIMethod); } }
internal abstract void SendResultsEndToPipe( SmiRecordBuffer recordBuffer, SmiEventSink eventSink );
internal abstract void GetTriggerInfo ( SmiEventSink eventSink, out bool[] columnsUpdated, out TriggerAction action, out SqlXml eventInstanceData );
// valid for structured types // This method called for both get and set. internal virtual SmiTypedGetterSetter GetTypedGetterSetter(SmiEventSink sink, int ordinal) { throw System.Data.Common.ADP.InternalError(System.Data.Common.ADP.InternalErrorCode.UnimplementedSMIMethod); }
internal SmiEventSink_DeferedProcessing(SmiEventSink parent) : base(parent) { }
internal abstract void Close(SmiEventSink sink);
internal abstract SmiRecordBuffer CreateRecordBuffer ( SmiExtendedMetaData[] columnMetaData, // Extended metadata because it requires names, udttypename and xmlschemaname ignored SmiEventSink eventSink );
internal SmiEventSink_Default(SmiEventSink parent) { _parent = parent; }
internal abstract SmiRequestExecutor CreateRequestExecutor ( string commandText, CommandType commandType, SmiParameterMetaData[] parameterMetaData, SmiEventSink eventSink );
internal abstract void ProcessEvent(SmiEventSink sink);
internal abstract void SendMessageToPipe( string message, SmiEventSink eventSink );
internal SmiEventSink_Default ( SmiEventSink parent ) { _parent = parent; }
public virtual void SetCharsLength(SmiEventSink sink, int ordinal, long length) { if (!CanSet) { throw System.Data.Common.ADP.InternalError(System.Data.Common.ADP.InternalErrorCode.InvalidSmiCall); } else { throw System.Data.Common.ADP.InternalError(System.Data.Common.ADP.InternalErrorCode.UnimplementedSMIMethod); } }
internal abstract void SendResultsEndToPipe(SmiRecordBuffer recordBuffer, SmiEventSink eventSink);
// valid for character types: Char, VarChar, Text, NChar, NVarChar, NText public override Int64 GetCharsLength(SmiEventSink sink, int ordinal) { return _buffer[ordinal].CharsLength; }
// valid for character types: Char, VarChar, Text, NChar, NVarChar, NText public virtual void SetString(SmiEventSink sink, int ordinal, string value, int offset, int length) { if (!CanSet) { throw System.Data.Common.ADP.InternalError(System.Data.Common.ADP.InternalErrorCode.InvalidSmiCall); } else { throw System.Data.Common.ADP.InternalError(System.Data.Common.ADP.InternalErrorCode.UnimplementedSMIMethod); } }
public override int GetChars(SmiEventSink sink, int ordinal, long fieldOffset, char[] buffer, int bufferOffset, int length) { return _buffer[ordinal].GetChars(fieldOffset, buffer, bufferOffset, length); }
public virtual void SetVariantMetaData( SmiEventSink sink, int ordinal, SmiMetaData metaData ) { // ******** OBSOLETING from SMI -- this should have been removed from ITypedSettersV3 // Intended to be removed prior to RTM. Sub-classes need not implement // Implement body with throw because there are only a couple of ways to get to this code: // 1) Client is calling this method even though the server negotiated for V3+ and dropped support for V2-. // 2) Server didn't implement V2- on some interface and negotiated V2-. throw System.Data.Common.ADP.InternalError( System.Data.Common.ADP.InternalErrorCode.UnimplementedSMIMethod ); }
internal abstract SmiRequestExecutor CreateRequestExecutor( string commandText, CommandType commandType, SmiParameterMetaData[] parameterMetaData, SmiEventSink eventSink );
public override String GetString(SmiEventSink sink, int ordinal) { return _buffer[ordinal].String; }
internal abstract void GetTriggerInfo( SmiEventSink eventSink, out bool[] columnsUpdated, out TriggerAction action, out SqlXml eventInstanceData );
// valid for SqlDbType.BigInt, SqlDbType.Money, SqlDbType.SmallMoney public override Int64 GetInt64(SmiEventSink sink, int ordinal) { return _buffer[ordinal].Int64; }
internal abstract SmiRecordBuffer CreateRecordBuffer( SmiExtendedMetaData[] columnMetaData, // Extended metadata because it requires names, udttypename and xmlschemaname ignored SmiEventSink eventSink );