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
- SqlTrackingService.cs
- WebPartRestoreVerb.cs
- AutomationProperty.cs
- DbConnectionPoolCounters.cs
- DataBinding.cs
- WebBrowserContainer.cs
- ControlSerializer.cs
- DecimalConstantAttribute.cs
- BinaryKeyIdentifierClause.cs
- ReplacementText.cs
- ListViewPagedDataSource.cs
- TemplateFactory.cs
- ByteViewer.cs
- ApplicationTrust.cs
- AggregatePushdown.cs
- RuleCache.cs
- HttpHandlerActionCollection.cs
- RemoteEndpointMessageProperty.cs
- QilLoop.cs
- LayoutInformation.cs
- PngBitmapEncoder.cs
- EntityReference.cs
- RegisteredArrayDeclaration.cs
- DataStorage.cs
- Path.cs
- ManualResetEvent.cs
- ModulesEntry.cs
- XPathDocumentIterator.cs
- _NegoState.cs
- JsonFormatWriterGenerator.cs
- QilUnary.cs
- DateTimeFormat.cs
- DataColumnCollection.cs
- HTMLTextWriter.cs
- GradientPanel.cs
- AlternateViewCollection.cs
- CompositeDataBoundControl.cs
- Resources.Designer.cs
- WmfPlaceableFileHeader.cs
- DrawingAttributes.cs
- WebPartCloseVerb.cs
- QueryCacheEntry.cs
- ServerTooBusyException.cs
- NetworkInterface.cs
- UrlMappingCollection.cs
- LinqDataSource.cs
- HttpCookie.cs
- IPCCacheManager.cs
- TransformedBitmap.cs
- BehaviorEditorPart.cs
- ByteStreamMessageEncoderFactory.cs
- CompilationUtil.cs
- XmlSignatureProperties.cs
- ListControl.cs
- MsmqIntegrationInputMessage.cs
- BaseParaClient.cs
- UpWmlMobileTextWriter.cs
- DetailsViewActionList.cs
- HttpRequestTraceRecord.cs
- SAPICategories.cs
- TypeInitializationException.cs
- XmlDomTextWriter.cs
- CustomValidator.cs
- WindowsSecurityTokenAuthenticator.cs
- TypeDescriptionProvider.cs
- PipelineModuleStepContainer.cs
- DataGridViewUtilities.cs
- CustomMenuItemCollection.cs
- ElementHostAutomationPeer.cs
- XPathAncestorQuery.cs
- TextFindEngine.cs
- MembershipSection.cs
- XMLSyntaxException.cs
- DocumentViewerConstants.cs
- DirectoryRedirect.cs
- XmlChildNodes.cs
- Visual3D.cs
- SQLBytesStorage.cs
- DBSqlParserColumn.cs
- XmlObjectSerializerWriteContext.cs
- FrameDimension.cs
- XmlWrappingReader.cs
- Closure.cs
- DataGridViewBand.cs
- FolderNameEditor.cs
- Rect3D.cs
- ClientConfigurationSystem.cs
- newinstructionaction.cs
- ConfigXmlComment.cs
- BitmapPalettes.cs
- XmlSchemaSimpleTypeRestriction.cs
- Decorator.cs
- XamlToRtfWriter.cs
- NullPackagingPolicy.cs
- ListenerElementsCollection.cs
- XmlWrappingReader.cs
- DefaultTextStore.cs
- DuplexSecurityProtocolFactory.cs
- WebDisplayNameAttribute.cs
- SpecularMaterial.cs