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
- PathGeometry.cs
- ColorMatrix.cs
- PolyBezierSegment.cs
- UserUseLicenseDictionaryLoader.cs
- _HelperAsyncResults.cs
- AnchoredBlock.cs
- CmsInterop.cs
- InputMethodStateTypeInfo.cs
- MetadataItemEmitter.cs
- AttachedPropertyBrowsableAttribute.cs
- PropertyBuilder.cs
- Sql8ConformanceChecker.cs
- HandleCollector.cs
- LayoutTableCell.cs
- DataRecordInfo.cs
- Timeline.cs
- StrokeNodeOperations2.cs
- CatalogZoneBase.cs
- Queue.cs
- DbConnectionFactory.cs
- _ReceiveMessageOverlappedAsyncResult.cs
- ExpressionList.cs
- AnnotationService.cs
- PropertySourceInfo.cs
- EFTableProvider.cs
- ConfigurationStrings.cs
- PointAnimationUsingKeyFrames.cs
- FileIOPermission.cs
- SqlDataSourceFilteringEventArgs.cs
- AddInToken.cs
- BuildProvider.cs
- ObsoleteAttribute.cs
- SHA384.cs
- EmissiveMaterial.cs
- VisualBrush.cs
- Paragraph.cs
- BackoffTimeoutHelper.cs
- WindowsScroll.cs
- SessionPageStateSection.cs
- DataObject.cs
- ClientTargetSection.cs
- WCFBuildProvider.cs
- TextContainerChangeEventArgs.cs
- XmlDataCollection.cs
- DependencyPropertyChangedEventArgs.cs
- SoapSchemaMember.cs
- RunWorkerCompletedEventArgs.cs
- TreeNodeBinding.cs
- CommandField.cs
- ShaderEffect.cs
- QilParameter.cs
- OwnerDrawPropertyBag.cs
- CalloutQueueItem.cs
- Column.cs
- ContextProperty.cs
- SchemaSetCompiler.cs
- ChtmlTextWriter.cs
- safelink.cs
- CellLabel.cs
- PageThemeCodeDomTreeGenerator.cs
- DBCommand.cs
- PageAsyncTaskManager.cs
- ContentOnlyMessage.cs
- ObjectDisposedException.cs
- MetadataStore.cs
- BufferedGraphics.cs
- CodeMethodReturnStatement.cs
- CodeMemberMethod.cs
- WorkflowPersistenceContext.cs
- ParserStreamGeometryContext.cs
- ArrayConverter.cs
- Mutex.cs
- XmlBinaryReaderSession.cs
- ExtenderProvidedPropertyAttribute.cs
- FillBehavior.cs
- XmlComment.cs
- XmlQuerySequence.cs
- TextTreeUndo.cs
- storepermissionattribute.cs
- OdbcReferenceCollection.cs
- CompilerError.cs
- ObjectTokenCategory.cs
- SystemIPGlobalStatistics.cs
- SiblingIterators.cs
- CommonGetThemePartSize.cs
- ActiveXHost.cs
- ScrollEvent.cs
- RemoteHelper.cs
- SafeHandles.cs
- XmlSchemaIdentityConstraint.cs
- _AutoWebProxyScriptWrapper.cs
- EncoderFallback.cs
- SerializableAttribute.cs
- FactoryId.cs
- XmlHelper.cs
- DataControlButton.cs
- selecteditemcollection.cs
- EpmContentDeSerializer.cs
- ViewGenerator.cs
- Encoder.cs