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
- OracleRowUpdatedEventArgs.cs
- MailWriter.cs
- XmlResolver.cs
- ProcessExitedException.cs
- HasCopySemanticsAttribute.cs
- StackOverflowException.cs
- CodeConditionStatement.cs
- DataGridParentRows.cs
- DependencySource.cs
- SoapSchemaExporter.cs
- ProfileSection.cs
- ToolStripContentPanel.cs
- LassoSelectionBehavior.cs
- KeyTime.cs
- IncrementalReadDecoders.cs
- XmlRawWriter.cs
- ReflectionTypeLoadException.cs
- ControllableStoryboardAction.cs
- ChoiceConverter.cs
- MatrixIndependentAnimationStorage.cs
- XmlCharCheckingReader.cs
- OpacityConverter.cs
- OdbcUtils.cs
- ViewStateException.cs
- DbModificationClause.cs
- FormParameter.cs
- RequestFactory.cs
- OleAutBinder.cs
- ImageClickEventArgs.cs
- HtmlLink.cs
- ProtectedConfigurationSection.cs
- DecimalFormatter.cs
- PointIndependentAnimationStorage.cs
- SettingsAttributes.cs
- XmlQueryContext.cs
- XPathExpr.cs
- ArrayWithOffset.cs
- AxisAngleRotation3D.cs
- StickyNoteContentControl.cs
- ImageButton.cs
- EmptyWorkItem.cs
- AppSettingsExpressionBuilder.cs
- HexParser.cs
- AssemblySettingAttributes.cs
- CultureMapper.cs
- XmlDownloadManager.cs
- UnicodeEncoding.cs
- XmlSignatureProperties.cs
- TreeBuilder.cs
- IntSecurity.cs
- HtmlWindow.cs
- MenuCommandsChangedEventArgs.cs
- RecipientInfo.cs
- BaseCAMarshaler.cs
- SplitterPanel.cs
- QuaternionRotation3D.cs
- PopOutPanel.cs
- PostBackTrigger.cs
- RefExpr.cs
- SmtpDigestAuthenticationModule.cs
- StringWriter.cs
- SiteMap.cs
- ListViewContainer.cs
- KernelTypeValidation.cs
- MulticastDelegate.cs
- LambdaCompiler.Generated.cs
- ExpressionNode.cs
- BindingList.cs
- ImmComposition.cs
- EnumCodeDomSerializer.cs
- TranslateTransform3D.cs
- DesignerDataSchemaClass.cs
- Timer.cs
- InputReportEventArgs.cs
- BrowserCapabilitiesFactoryBase.cs
- ExpressionBuilder.cs
- TextEndOfLine.cs
- ExpandableObjectConverter.cs
- DeobfuscatingStream.cs
- Classification.cs
- BinaryParser.cs
- MenuAutomationPeer.cs
- XmlAttribute.cs
- OneOfElement.cs
- ListViewCancelEventArgs.cs
- VisualBrush.cs
- ValidationEventArgs.cs
- FreeFormDragDropManager.cs
- TreeIterator.cs
- ConnectionInterfaceCollection.cs
- SqlAggregateChecker.cs
- HttpServerVarsCollection.cs
- DataViewSetting.cs
- FixedElement.cs
- ScriptingSectionGroup.cs
- FrameworkContentElement.cs
- DockAndAnchorLayout.cs
- RijndaelManagedTransform.cs
- StorageComplexPropertyMapping.cs
- DateTimeFormatInfoScanner.cs