Code:
/ Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / whidbey / netfxsp / 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
- SettingsProviderCollection.cs
- XPathScanner.cs
- DataGridViewHitTestInfo.cs
- RouteCollection.cs
- HandlerWithFactory.cs
- InputLangChangeEvent.cs
- EmptyEnumerable.cs
- Int16KeyFrameCollection.cs
- ObfuscateAssemblyAttribute.cs
- XmlNotation.cs
- assertwrapper.cs
- System.Data_BID.cs
- OleDbPermission.cs
- VarRemapper.cs
- EndOfStreamException.cs
- InputGestureCollection.cs
- CalendarBlackoutDatesCollection.cs
- PermissionSetEnumerator.cs
- DelayedRegex.cs
- TextModifierScope.cs
- WsatConfiguration.cs
- Speller.cs
- ExpressionBindingCollection.cs
- SqlDataReader.cs
- basenumberconverter.cs
- MissingSatelliteAssemblyException.cs
- odbcmetadatafactory.cs
- SafeSystemMetrics.cs
- BamlMapTable.cs
- PageContentCollection.cs
- XamlDesignerSerializationManager.cs
- RoleBoolean.cs
- NeutralResourcesLanguageAttribute.cs
- TreeView.cs
- XPathNodeIterator.cs
- IConvertible.cs
- IntSecurity.cs
- EncodedStreamFactory.cs
- exports.cs
- ChangePassword.cs
- DebugInfo.cs
- StatusBarItem.cs
- PropertyDescriptors.cs
- MembershipValidatePasswordEventArgs.cs
- FactoryGenerator.cs
- ThreadStaticAttribute.cs
- ConstructorExpr.cs
- RIPEMD160Managed.cs
- Inflater.cs
- DateTimePicker.cs
- XPathCompileException.cs
- UnsafeNativeMethods.cs
- DesignBindingPicker.cs
- TextCollapsingProperties.cs
- WebSysDisplayNameAttribute.cs
- ExceptionUtil.cs
- MembershipUser.cs
- Stack.cs
- ExpandoObject.cs
- GlobalItem.cs
- IDQuery.cs
- EdmItemCollection.cs
- TPLETWProvider.cs
- Brushes.cs
- PkcsMisc.cs
- SiteIdentityPermission.cs
- MissingSatelliteAssemblyException.cs
- SizeConverter.cs
- HttpGetProtocolImporter.cs
- CancelEventArgs.cs
- Matrix3DConverter.cs
- configsystem.cs
- PropertyPath.cs
- LogStore.cs
- Membership.cs
- Storyboard.cs
- ProcessHostConfigUtils.cs
- AtomPub10ServiceDocumentFormatter.cs
- IsolatedStoragePermission.cs
- AddressUtility.cs
- CustomAttributeFormatException.cs
- MessageVersion.cs
- Item.cs
- WindowsTreeView.cs
- HMACSHA256.cs
- unsafenativemethodstextservices.cs
- WaitForChangedResult.cs
- LinqDataSourceUpdateEventArgs.cs
- TreeNodeEventArgs.cs
- While.cs
- RequestQueue.cs
- XhtmlBasicCalendarAdapter.cs
- ConnectionPointConverter.cs
- XmlExtensionFunction.cs
- DataRecord.cs
- BaseResourcesBuildProvider.cs
- IODescriptionAttribute.cs
- MergeLocalizationDirectives.cs
- CompModHelpers.cs
- DataGridViewSelectedColumnCollection.cs