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
- StaticExtension.cs
- ImportContext.cs
- MarkupCompilePass1.cs
- XXXInfos.cs
- TableRow.cs
- ActivityInstanceReference.cs
- WeakReferenceEnumerator.cs
- PackageRelationship.cs
- __Error.cs
- EllipseGeometry.cs
- BCryptNative.cs
- AppSettingsExpressionEditor.cs
- OperationInvokerBehavior.cs
- Byte.cs
- HttpContext.cs
- Tool.cs
- SeparatorAutomationPeer.cs
- PropertyToken.cs
- ProtocolReflector.cs
- PageHandlerFactory.cs
- CommandEventArgs.cs
- OdbcConnectionStringbuilder.cs
- ExpressionBuilderCollection.cs
- ActivityCodeDomSerializationManager.cs
- CurrentChangedEventManager.cs
- DependencyProperty.cs
- StaticResourceExtension.cs
- ExtensionSurface.cs
- ObjectDataProvider.cs
- DataBoundControl.cs
- FontFamily.cs
- DataServiceKeyAttribute.cs
- PropertyEmitter.cs
- XamlWriter.cs
- DSASignatureDeformatter.cs
- HwndKeyboardInputProvider.cs
- StringDictionaryWithComparer.cs
- XPathBuilder.cs
- SatelliteContractVersionAttribute.cs
- Identity.cs
- IIS7WorkerRequest.cs
- Menu.cs
- ComplexPropertyEntry.cs
- UntrustedRecipientException.cs
- SimpleType.cs
- OpenTypeMethods.cs
- GroupBoxRenderer.cs
- RegisteredDisposeScript.cs
- WindowAutomationPeer.cs
- ZipIOLocalFileBlock.cs
- PackageRelationship.cs
- ResourceDictionary.cs
- GeometryGroup.cs
- X509ChainPolicy.cs
- PointAnimationBase.cs
- OleDbWrapper.cs
- PathGeometry.cs
- ConnectionPoolManager.cs
- ParallelDesigner.cs
- Bidi.cs
- FontStretch.cs
- TrimSurroundingWhitespaceAttribute.cs
- CompositeCollectionView.cs
- CollectionChangedEventManager.cs
- SchemaMapping.cs
- TemplateBindingExtension.cs
- XmlSchemaValidator.cs
- NonBatchDirectoryCompiler.cs
- _CookieModule.cs
- GlyphRunDrawing.cs
- PropertiesTab.cs
- ExtenderHelpers.cs
- CodeStatement.cs
- OverflowException.cs
- ConversionContext.cs
- HostElement.cs
- ConfigurationConverterBase.cs
- WCFServiceClientProxyGenerator.cs
- ClientSession.cs
- QuaternionValueSerializer.cs
- GridViewDeleteEventArgs.cs
- ManipulationDeltaEventArgs.cs
- ServiceModelConfiguration.cs
- TraceUtils.cs
- CryptoApi.cs
- ClockController.cs
- DeclaredTypeElementCollection.cs
- SpecialFolderEnumConverter.cs
- Visual3DCollection.cs
- Freezable.cs
- ReferentialConstraint.cs
- IriParsingElement.cs
- ThreadSafeList.cs
- EventLogger.cs
- DataError.cs
- RangeValueProviderWrapper.cs
- VariableBinder.cs
- AppSettingsExpressionBuilder.cs
- Interfaces.cs
- SQLRoleProvider.cs