Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / Data / System / Data / Sql / SqlUserDefinedTypeAttribute.cs / 1305376 / SqlUserDefinedTypeAttribute.cs
//------------------------------------------------------------------------------
//
// Copyright (c) Microsoft Corporation. All Rights Reserved.
// Information Contained Herein is Proprietary and Confidential.
//
// [....]
// [....]
// daltudov
// [....]
// beysims
// [....]
// vadimt
// venkar
// [....]
//-----------------------------------------------------------------------------
namespace Microsoft.SqlServer.Server {
using System;
using System.Data.Common;
public enum Format { //: byte
Unknown = 0,
Native = 1,
UserDefined = 2,
#if WINFSFunctionality
// Only applies to WinFS
Structured = 4
#endif
}
// This custom attribute indicates that the given type is
// a SqlServer udt. The properties on the attribute reflect the
// physical attributes that will be used when the type is registered
// with SqlServer.
[AttributeUsage(AttributeTargets.Class | AttributeTargets.Struct, AllowMultiple=false, Inherited=true)]
public sealed class SqlUserDefinedTypeAttribute: Attribute {
private int m_MaxByteSize;
private bool m_IsFixedLength;
private bool m_IsByteOrdered;
private Format m_format;
private string m_fName;
// The maximum value for the maxbytesize field, in bytes.
internal const int YukonMaxByteSizeValue = 8000;
private String m_ValidationMethodName = null;
// A required attribute on all udts, used to indicate that the
// given type is a udt, and its storage format.
public SqlUserDefinedTypeAttribute(Format format) {
switch(format) {
case Format.Unknown:
throw ADP.NotSupportedUserDefinedTypeSerializationFormat((Microsoft.SqlServer.Server.Format)format, "format");
case Format.Native:
case Format.UserDefined:
#if WINFSFunctionality
case Format.Structured:
#endif
this.m_format = format;
break;
default:
throw ADP.InvalidUserDefinedTypeSerializationFormat((Microsoft.SqlServer.Server.Format)format);
}
}
// The maximum size of this instance, in bytes. Does not have to be
// specified for Native serialization. The maximum value
// for this property is specified by MaxByteSizeValue.
public int MaxByteSize {
get {
return this.m_MaxByteSize;
}
set {
if (value < -1) {
throw ADP.ArgumentOutOfRange("MaxByteSize");
}
this.m_MaxByteSize = value;
}
}
// Are all instances of this udt the same size on disk?
public bool IsFixedLength {
get {
return this.m_IsFixedLength;
}
set {
this.m_IsFixedLength = value;
}
}
// Is this type byte ordered, i.e. is the on disk representation
// consistent with the ordering semantics for this type?
// If true, the binary representation of the type will be used
// in comparison by SqlServer. This property enables indexing on the
// udt and faster comparisons.
public bool IsByteOrdered {
get {
return this.m_IsByteOrdered;
}
set {
this.m_IsByteOrdered = value;
}
}
// The on-disk format for this type.
public Format Format {
get {
return this.m_format;
}
}
// An Optional method used to validate this UDT
// Signature: bool <ValidationMethodName>();
public String ValidationMethodName {
get
{
return this.m_ValidationMethodName;
}
set
{
this.m_ValidationMethodName = value;
}
}
public string Name {
get {
return m_fName;
}
set {
m_fName = value;
}
}
}
}
// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
// Copyright (c) Microsoft Corporation. All rights reserved.
//------------------------------------------------------------------------------
//
// Copyright (c) Microsoft Corporation. All Rights Reserved.
// Information Contained Herein is Proprietary and Confidential.
//
// [....]
// [....]
// daltudov
// [....]
// beysims
// [....]
// vadimt
// venkar
// [....]
//-----------------------------------------------------------------------------
namespace Microsoft.SqlServer.Server {
using System;
using System.Data.Common;
public enum Format { //: byte
Unknown = 0,
Native = 1,
UserDefined = 2,
#if WINFSFunctionality
// Only applies to WinFS
Structured = 4
#endif
}
// This custom attribute indicates that the given type is
// a SqlServer udt. The properties on the attribute reflect the
// physical attributes that will be used when the type is registered
// with SqlServer.
[AttributeUsage(AttributeTargets.Class | AttributeTargets.Struct, AllowMultiple=false, Inherited=true)]
public sealed class SqlUserDefinedTypeAttribute: Attribute {
private int m_MaxByteSize;
private bool m_IsFixedLength;
private bool m_IsByteOrdered;
private Format m_format;
private string m_fName;
// The maximum value for the maxbytesize field, in bytes.
internal const int YukonMaxByteSizeValue = 8000;
private String m_ValidationMethodName = null;
// A required attribute on all udts, used to indicate that the
// given type is a udt, and its storage format.
public SqlUserDefinedTypeAttribute(Format format) {
switch(format) {
case Format.Unknown:
throw ADP.NotSupportedUserDefinedTypeSerializationFormat((Microsoft.SqlServer.Server.Format)format, "format");
case Format.Native:
case Format.UserDefined:
#if WINFSFunctionality
case Format.Structured:
#endif
this.m_format = format;
break;
default:
throw ADP.InvalidUserDefinedTypeSerializationFormat((Microsoft.SqlServer.Server.Format)format);
}
}
// The maximum size of this instance, in bytes. Does not have to be
// specified for Native serialization. The maximum value
// for this property is specified by MaxByteSizeValue.
public int MaxByteSize {
get {
return this.m_MaxByteSize;
}
set {
if (value < -1) {
throw ADP.ArgumentOutOfRange("MaxByteSize");
}
this.m_MaxByteSize = value;
}
}
// Are all instances of this udt the same size on disk?
public bool IsFixedLength {
get {
return this.m_IsFixedLength;
}
set {
this.m_IsFixedLength = value;
}
}
// Is this type byte ordered, i.e. is the on disk representation
// consistent with the ordering semantics for this type?
// If true, the binary representation of the type will be used
// in comparison by SqlServer. This property enables indexing on the
// udt and faster comparisons.
public bool IsByteOrdered {
get {
return this.m_IsByteOrdered;
}
set {
this.m_IsByteOrdered = value;
}
}
// The on-disk format for this type.
public Format Format {
get {
return this.m_format;
}
}
// An Optional method used to validate this UDT
// Signature: bool <ValidationMethodName>();
public String ValidationMethodName {
get
{
return this.m_ValidationMethodName;
}
set
{
this.m_ValidationMethodName = value;
}
}
public string Name {
get {
return m_fName;
}
set {
m_fName = value;
}
}
}
}
// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
// Copyright (c) Microsoft Corporation. All rights reserved.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- ControlBuilderAttribute.cs
- EmptyStringExpandableObjectConverter.cs
- DetailsView.cs
- DataGridColumnCollection.cs
- TableCellCollection.cs
- ToolBarButtonClickEvent.cs
- BorderSidesEditor.cs
- ObjectKeyFrameCollection.cs
- ResourceContainer.cs
- ToolStripContentPanel.cs
- InvalidOleVariantTypeException.cs
- ResourceCollectionInfo.cs
- BidOverLoads.cs
- Int64KeyFrameCollection.cs
- SoundPlayerAction.cs
- CssStyleCollection.cs
- EntityContainer.cs
- COM2PropertyBuilderUITypeEditor.cs
- TimeStampChecker.cs
- SqlSelectStatement.cs
- UIInitializationException.cs
- CrossSiteScriptingValidation.cs
- XsdBuildProvider.cs
- TimeSpanValidatorAttribute.cs
- XmlImplementation.cs
- AccessDataSourceView.cs
- Root.cs
- FileLogRecordHeader.cs
- FastEncoderWindow.cs
- EventDescriptorCollection.cs
- ObjectItemNoOpAssemblyLoader.cs
- OneOfTypeConst.cs
- BindableAttribute.cs
- WmpBitmapDecoder.cs
- SignedXml.cs
- SizeFConverter.cs
- odbcmetadatafactory.cs
- DBDataPermissionAttribute.cs
- TimeSpanParse.cs
- NullableLongSumAggregationOperator.cs
- SynchronizingStream.cs
- ActiveXHost.cs
- HeaderedContentControl.cs
- _ShellExpression.cs
- CodeCompileUnit.cs
- WindowProviderWrapper.cs
- CommandID.cs
- StylusPointPropertyInfo.cs
- Stylesheet.cs
- XPathSelfQuery.cs
- ResourcePermissionBase.cs
- CheckableControlBaseAdapter.cs
- TreeNodeStyle.cs
- LeaseManager.cs
- EventHandlerList.cs
- SignatureResourcePool.cs
- ListViewGroupItemCollection.cs
- PenLineCapValidation.cs
- InternalControlCollection.cs
- CqlErrorHelper.cs
- _Semaphore.cs
- DataPointer.cs
- XmlLanguage.cs
- PageRouteHandler.cs
- ServiceInstallComponent.cs
- CustomErrorsSection.cs
- LockedActivityGlyph.cs
- IgnoreSectionHandler.cs
- GraphicsContext.cs
- Base64Encoder.cs
- WinEventHandler.cs
- QueryReaderSettings.cs
- PropertyGeneratedEventArgs.cs
- sitestring.cs
- TrustLevel.cs
- AppDomainUnloadedException.cs
- versioninfo.cs
- CacheChildrenQuery.cs
- ComponentResourceManager.cs
- BamlStream.cs
- CodePageEncoding.cs
- RegexCapture.cs
- QueryCacheKey.cs
- Timer.cs
- WebPartConnectionsCancelEventArgs.cs
- _SslStream.cs
- AssertSection.cs
- FixedHyperLink.cs
- SQLInt16.cs
- TypeToArgumentTypeConverter.cs
- WindowsClaimSet.cs
- WindowShowOrOpenTracker.cs
- SQLInt64.cs
- OptimizerPatterns.cs
- DescendentsWalkerBase.cs
- AnimationClock.cs
- WebBrowserNavigatedEventHandler.cs
- RequiredFieldValidator.cs
- DistinctQueryOperator.cs
- MethodCallConverter.cs