Code:
/ Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / whidbey / netfxsp / ndp / fx / src / Data / Microsoft / SqlServer / Server / SmiConnection.cs / 1 / 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
- CodeEntryPointMethod.cs
- X509CertificateInitiatorClientCredential.cs
- Pts.cs
- SessionStateContainer.cs
- DataGridBoolColumn.cs
- UpdateRecord.cs
- ProxyWebPartManager.cs
- MailAddressCollection.cs
- ComPlusTypeValidator.cs
- Pool.cs
- VScrollBar.cs
- CodeSnippetTypeMember.cs
- Action.cs
- Pipe.cs
- Sequence.cs
- Dictionary.cs
- ServiceChannelFactory.cs
- LinqDataSource.cs
- Token.cs
- FullTextLine.cs
- DataObjectMethodAttribute.cs
- ExecutedRoutedEventArgs.cs
- InvalidContentTypeException.cs
- SchemaMerger.cs
- MarkerProperties.cs
- PropertyChangedEventManager.cs
- ToolStripDropDownButton.cs
- Mappings.cs
- SiteMapProvider.cs
- KeyedQueue.cs
- UserControlBuildProvider.cs
- DataGridBoolColumn.cs
- NameValueSectionHandler.cs
- LogReserveAndAppendState.cs
- WindowsListViewItemStartMenu.cs
- HttpModuleActionCollection.cs
- SqlCaseSimplifier.cs
- MetadataItemEmitter.cs
- Assert.cs
- EtwTrace.cs
- TimeSpan.cs
- GetUserPreferenceRequest.cs
- TextAdaptor.cs
- WebPartActionVerb.cs
- PartialToken.cs
- DateTimeParse.cs
- InvalidPropValue.cs
- PriorityQueue.cs
- XmlDataSourceView.cs
- GridToolTip.cs
- SQLInt16Storage.cs
- TCPListener.cs
- RequestChannelBinder.cs
- FontResourceCache.cs
- _HeaderInfoTable.cs
- TableLayoutPanelCellPosition.cs
- ValidationEventArgs.cs
- EventHandlerList.cs
- PersonalizableTypeEntry.cs
- RotateTransform.cs
- Schema.cs
- QueryAccessibilityHelpEvent.cs
- TreeNode.cs
- Calendar.cs
- AttachedPropertyBrowsableForTypeAttribute.cs
- CustomTrackingQuery.cs
- UnionCqlBlock.cs
- ReflectionUtil.cs
- ListView.cs
- DragCompletedEventArgs.cs
- DataControlCommands.cs
- BindingExpressionUncommonField.cs
- PeerApplication.cs
- _ServiceNameStore.cs
- MetadataCacheItem.cs
- Mutex.cs
- ResXDataNode.cs
- SvcMapFile.cs
- ListViewItemEventArgs.cs
- ManagementEventWatcher.cs
- ServiceOperationUIEditor.cs
- TextTrailingWordEllipsis.cs
- XhtmlBasicObjectListAdapter.cs
- DelegateSerializationHolder.cs
- FrameworkElement.cs
- WsatServiceAddress.cs
- Blend.cs
- NumberFunctions.cs
- Cursor.cs
- UserControlCodeDomTreeGenerator.cs
- XmlAutoDetectWriter.cs
- UnmanagedMemoryAccessor.cs
- RealizationDrawingContextWalker.cs
- Perspective.cs
- Function.cs
- DrawingAttributeSerializer.cs
- X509CertificateEndpointIdentity.cs
- SqlServices.cs
- SHA512Cng.cs
- Privilege.cs