Code:
/ Dotnetfx_Win7_3.5.1 / Dotnetfx_Win7_3.5.1 / 3.5.1 / DEVDIV / depot / DevDiv / releases / whidbey / NetFXspW7 / ndp / fx / src / Data / System / Data / Sql / SqlUserDefinedTypeAttribute.cs / 1 / 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
- XmlSchemaComplexContent.cs
- ToolBar.cs
- CommittableTransaction.cs
- HorizontalAlignConverter.cs
- TextFormatter.cs
- CustomPopupPlacement.cs
- XmlNodeList.cs
- ExtensionMethods.cs
- WindowsGraphicsWrapper.cs
- CompilerState.cs
- COM2ExtendedTypeConverter.cs
- DoWorkEventArgs.cs
- ThreadAbortException.cs
- BaseCAMarshaler.cs
- SoapExtension.cs
- DBSqlParserColumnCollection.cs
- CalloutQueueItem.cs
- NullableLongSumAggregationOperator.cs
- StructuredTypeInfo.cs
- SqlCommand.cs
- Variable.cs
- AuthenticationModulesSection.cs
- ContentWrapperAttribute.cs
- WindowsTokenRoleProvider.cs
- HostingEnvironment.cs
- BuildManagerHost.cs
- CompiledXpathExpr.cs
- DataGridCell.cs
- ExceptionHelpers.cs
- Vector3dCollection.cs
- MaterialCollection.cs
- LinqDataSourceDisposeEventArgs.cs
- WorkflowWebService.cs
- DrawingDrawingContext.cs
- EventHandlersStore.cs
- CodeDirectionExpression.cs
- login.cs
- GradientStop.cs
- DispatcherObject.cs
- PenThread.cs
- ContentAlignmentEditor.cs
- MediaScriptCommandRoutedEventArgs.cs
- TypeNameConverter.cs
- DataControlField.cs
- TagPrefixCollection.cs
- RemoteX509AsymmetricSecurityKey.cs
- ScrollChrome.cs
- ArrayTypeMismatchException.cs
- XmlDictionaryWriter.cs
- COM2ExtendedTypeConverter.cs
- XmlAttribute.cs
- SqlTypeConverter.cs
- DesignerOptionService.cs
- RawUIStateInputReport.cs
- SuppressIldasmAttribute.cs
- MDIWindowDialog.cs
- BitmapMetadataBlob.cs
- ElementHost.cs
- QueryOperationResponseOfT.cs
- Timer.cs
- DefaultBinder.cs
- IPPacketInformation.cs
- DoubleConverter.cs
- SqlInfoMessageEvent.cs
- ModifyActivitiesPropertyDescriptor.cs
- RadialGradientBrush.cs
- DoubleCollection.cs
- InputScopeNameConverter.cs
- XmlEncoding.cs
- ObjectKeyFrameCollection.cs
- _HTTPDateParse.cs
- RtfFormatStack.cs
- ApplyImportsAction.cs
- XamlTypeMapper.cs
- TextEndOfParagraph.cs
- Freezable.cs
- Events.cs
- CommunicationObjectManager.cs
- COM2EnumConverter.cs
- XmlSchemaSimpleType.cs
- Transform.cs
- FontStyle.cs
- DynamicQueryableWrapper.cs
- OdbcCommandBuilder.cs
- OleDbParameterCollection.cs
- XmlAttributeProperties.cs
- OpCodes.cs
- BuildProviderCollection.cs
- arclist.cs
- RelatedCurrencyManager.cs
- EventMappingSettings.cs
- TreeNodeMouseHoverEvent.cs
- FilterInvalidBodyAccessException.cs
- CompilationUtil.cs
- TextDecorationCollection.cs
- BitmapEffectState.cs
- PersianCalendar.cs
- TraceContext.cs
- DiagnosticTraceSource.cs
- LineProperties.cs