Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / Data / Microsoft / SqlServer / Server / SmiConnection.cs / 1305376 / SmiConnection.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //[....] //[....] //----------------------------------------------------------------------------- namespace Microsoft.SqlServer.Server { using System; using System.Data; internal abstract class SmiConnection : IDisposable { // // Miscellaneous directives / accessors // internal abstract string GetCurrentDatabase( SmiEventSink eventSink ); internal abstract void SetCurrentDatabase ( string databaseName, SmiEventSink eventSink ); // // IDisposable // public virtual void Dispose( ) { // Obsoleting from SMI -- use Close( SmiEventSink ) instead. // Intended to be removed (along with inheriting IDisposable) prior to RTM. // 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-. System.Data.Common.ADP.InternalError( System.Data.Common.ADP.InternalErrorCode.UnimplementedSMIMethod ); } 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+. System.Data.Common.ADP.InternalError( System.Data.Common.ADP.InternalErrorCode.UnimplementedSMIMethod ); } // // Transaction API (should we encapsulate in it's own class or interface?) // internal abstract void BeginTransaction ( string name, IsolationLevel level, SmiEventSink eventSink ); internal abstract void CommitTransaction ( long transactionId, SmiEventSink eventSink ); internal abstract void CreateTransactionSavePoint ( long transactionId, string name, SmiEventSink eventSink ); internal abstract byte[] GetDTCAddress( // better buffer management needed? I.e. non-allocating call needed/possible? SmiEventSink eventSink ); internal abstract void EnlistTransaction ( byte[] token, // better buffer management needed? I.e. non-allocating call needed/possible? SmiEventSink eventSink ); internal abstract byte[] PromoteTransaction ( // better buffer management needed? I.e. non-allocating call needed/possible? long transactionId, SmiEventSink eventSink ); internal abstract void RollbackTransaction ( long transactionId, string savePointName, // only roll back to save point if name non-null SmiEventSink eventSink ); } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. //------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //[....] //[....] //----------------------------------------------------------------------------- namespace Microsoft.SqlServer.Server { using System; using System.Data; internal abstract class SmiConnection : IDisposable { // // Miscellaneous directives / accessors // internal abstract string GetCurrentDatabase( SmiEventSink eventSink ); internal abstract void SetCurrentDatabase ( string databaseName, SmiEventSink eventSink ); // // IDisposable // public virtual void Dispose( ) { // Obsoleting from SMI -- use Close( SmiEventSink ) instead. // Intended to be removed (along with inheriting IDisposable) prior to RTM. // 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-. System.Data.Common.ADP.InternalError( System.Data.Common.ADP.InternalErrorCode.UnimplementedSMIMethod ); } 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+. System.Data.Common.ADP.InternalError( System.Data.Common.ADP.InternalErrorCode.UnimplementedSMIMethod ); } // // Transaction API (should we encapsulate in it's own class or interface?) // internal abstract void BeginTransaction ( string name, IsolationLevel level, SmiEventSink eventSink ); internal abstract void CommitTransaction ( long transactionId, SmiEventSink eventSink ); internal abstract void CreateTransactionSavePoint ( long transactionId, string name, SmiEventSink eventSink ); internal abstract byte[] GetDTCAddress( // better buffer management needed? I.e. non-allocating call needed/possible? SmiEventSink eventSink ); internal abstract void EnlistTransaction ( byte[] token, // better buffer management needed? I.e. non-allocating call needed/possible? SmiEventSink eventSink ); internal abstract byte[] PromoteTransaction ( // better buffer management needed? I.e. non-allocating call needed/possible? long transactionId, SmiEventSink eventSink ); internal abstract void RollbackTransaction ( long transactionId, string savePointName, // only roll back to save point if name non-null SmiEventSink eventSink ); } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- MetadataSerializer.cs
- TimeSpanStorage.cs
- PartManifestEntry.cs
- ObjectItemAttributeAssemblyLoader.cs
- BinaryFormatter.cs
- JavaScriptSerializer.cs
- Converter.cs
- ExpressionConverter.cs
- HtmlTernaryTree.cs
- DataServiceExpressionVisitor.cs
- SymLanguageType.cs
- ParamArrayAttribute.cs
- StateMachineExecutionState.cs
- HttpsChannelListener.cs
- ShutDownListener.cs
- ArrayExtension.cs
- DataFormat.cs
- PersonalizationProvider.cs
- InteropTrackingRecord.cs
- Models.cs
- DefaultValueMapping.cs
- TypeDescriptionProvider.cs
- WebPageTraceListener.cs
- IApplicationTrustManager.cs
- SchemaConstraints.cs
- SiteIdentityPermission.cs
- WebPartActionVerb.cs
- LazyTextWriterCreator.cs
- ArithmeticLiteral.cs
- PerformanceCounterPermissionAttribute.cs
- LinqDataSourceInsertEventArgs.cs
- WsrmFault.cs
- HWStack.cs
- XmlBindingWorker.cs
- UserControl.cs
- ObjectHelper.cs
- ConfigurationConverterBase.cs
- QilChoice.cs
- UserMapPath.cs
- EntitySetDataBindingList.cs
- TextEvent.cs
- _Events.cs
- XmlParser.cs
- PropertyValueUIItem.cs
- Item.cs
- PageBreakRecord.cs
- VectorAnimationBase.cs
- TypeConverterHelper.cs
- BaseParser.cs
- CompiledXpathExpr.cs
- DrawingServices.cs
- LogEntry.cs
- SpeechDetectedEventArgs.cs
- SafeIUnknown.cs
- DetailsViewDeletedEventArgs.cs
- TimeSpanMinutesConverter.cs
- CollectionChangeEventArgs.cs
- StringFormat.cs
- UIElementIsland.cs
- regiisutil.cs
- UserControl.cs
- TableHeaderCell.cs
- AppModelKnownContentFactory.cs
- DataGridViewLinkColumn.cs
- StateBag.cs
- FrameAutomationPeer.cs
- BufferedStream2.cs
- FontUnit.cs
- ResourceProviderFactory.cs
- DuplexChannel.cs
- SplitterPanel.cs
- EndPoint.cs
- SinglePageViewer.cs
- StatementContext.cs
- ReaderWriterLock.cs
- PerfCounters.cs
- ZoomComboBox.cs
- KoreanCalendar.cs
- StrokeCollectionConverter.cs
- ToolStripRenderer.cs
- DataSysAttribute.cs
- HttpStaticObjectsCollectionBase.cs
- WSFederationHttpSecurityElement.cs
- UnsafeNativeMethods.cs
- VerificationException.cs
- BooleanExpr.cs
- InheritanceRules.cs
- FixedElement.cs
- DbgCompiler.cs
- RectValueSerializer.cs
- BitArray.cs
- PtsCache.cs
- SystemIPGlobalProperties.cs
- NativeMethodsOther.cs
- LoginView.cs
- StdValidatorsAndConverters.cs
- LinqDataSourceStatusEventArgs.cs
- ScriptServiceAttribute.cs
- WriteFileContext.cs
- XmlSchemaComplexContentRestriction.cs