// 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);
 }
Ejemplo n.º 9
0
        // 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;
        }
Ejemplo n.º 10
0
        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;
 }
Ejemplo n.º 15
0
 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);
     }
 }
Ejemplo n.º 18
0
 internal abstract void SendResultsEndToPipe( SmiRecordBuffer recordBuffer, SmiEventSink eventSink );
Ejemplo n.º 19
0
 internal abstract void GetTriggerInfo (
     SmiEventSink            eventSink,
     out bool[]              columnsUpdated,
     out TriggerAction       action,
     out SqlXml              eventInstanceData
 );
Ejemplo n.º 20
0
 // 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)
 {
 }
Ejemplo n.º 22
0
 internal abstract void Close(SmiEventSink sink);
Ejemplo n.º 23
0
 internal abstract SmiRecordBuffer CreateRecordBuffer (
     SmiExtendedMetaData[]   columnMetaData,     // Extended metadata because it requires names, udttypename and xmlschemaname ignored
     SmiEventSink            eventSink
 );
Ejemplo n.º 24
0
 internal SmiEventSink_Default(SmiEventSink parent)
 {
     _parent = parent;
 }
Ejemplo n.º 25
0
 internal abstract SmiRequestExecutor CreateRequestExecutor (
     string                  commandText,
     CommandType             commandType,
     SmiParameterMetaData[]  parameterMetaData,
     SmiEventSink            eventSink
 );
Ejemplo n.º 26
0
 internal abstract void ProcessEvent(SmiEventSink sink);
Ejemplo n.º 27
0
 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);
     }
 }
Ejemplo n.º 30
0
 internal abstract void SendResultsEndToPipe(SmiRecordBuffer recordBuffer, SmiEventSink eventSink);
 // 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);
 }
 // 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 );
        }
Ejemplo n.º 36
0
 internal abstract SmiRequestExecutor CreateRequestExecutor(
     string commandText,
     CommandType commandType,
     SmiParameterMetaData[]  parameterMetaData,
     SmiEventSink eventSink
     );
 public override String GetString(SmiEventSink sink, int ordinal) {
     return _buffer[ordinal].String;
 }
Ejemplo n.º 38
0
 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;
 }
Ejemplo n.º 40
0
 internal abstract SmiRecordBuffer CreateRecordBuffer(
     SmiExtendedMetaData[]   columnMetaData,     // Extended metadata because it requires names, udttypename and xmlschemaname ignored
     SmiEventSink eventSink
     );