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
- GrammarBuilderPhrase.cs
- SecondaryIndexDefinition.cs
- ReturnEventArgs.cs
- ModuleBuilder.cs
- ValidatorCompatibilityHelper.cs
- Localizer.cs
- Row.cs
- CheckBoxFlatAdapter.cs
- GACMembershipCondition.cs
- CodeRemoveEventStatement.cs
- QilReplaceVisitor.cs
- TreeViewDesigner.cs
- AutomationPeer.cs
- DispatcherObject.cs
- HttpListenerException.cs
- Blend.cs
- ClientBuildManagerTypeDescriptionProviderBridge.cs
- Parameter.cs
- SqlConnectionHelper.cs
- LayoutTableCell.cs
- DefaultTraceListener.cs
- path.cs
- DataGridLinkButton.cs
- MultilineStringConverter.cs
- TabPanel.cs
- ObjectContextServiceProvider.cs
- ColorTransform.cs
- SHA1CryptoServiceProvider.cs
- QuadraticEase.cs
- Pair.cs
- PathSegment.cs
- SequentialWorkflowRootDesigner.cs
- DataGridViewRowPostPaintEventArgs.cs
- wgx_exports.cs
- FixedSOMLineRanges.cs
- HMACSHA512.cs
- RelationshipFixer.cs
- WebPartEditorOkVerb.cs
- MetadataSection.cs
- RelationshipWrapper.cs
- DoubleKeyFrameCollection.cs
- TypeNameConverter.cs
- FieldDescriptor.cs
- odbcmetadatacolumnnames.cs
- MessageQuerySet.cs
- VisualStyleInformation.cs
- XmlCharType.cs
- MergeFilterQuery.cs
- TextWriter.cs
- SiteMap.cs
- AutomationPropertyInfo.cs
- storepermissionattribute.cs
- CapabilitiesPattern.cs
- ToolbarAUtomationPeer.cs
- SiteMapProvider.cs
- Bitmap.cs
- Condition.cs
- ToolStripHighContrastRenderer.cs
- WebPartConnectionCollection.cs
- ProtectedConfigurationProviderCollection.cs
- XmlNamespaceManager.cs
- Opcode.cs
- TrustSection.cs
- CommandHelper.cs
- DbReferenceCollection.cs
- TransformPattern.cs
- SplineQuaternionKeyFrame.cs
- WorkflowElementDialog.cs
- DebugTraceHelper.cs
- GestureRecognizer.cs
- CLRBindingWorker.cs
- ConfigUtil.cs
- unsafeIndexingFilterStream.cs
- HtmlLiteralTextAdapter.cs
- VirtualizedItemProviderWrapper.cs
- ExpressionBuilder.cs
- StdRegProviderWrapper.cs
- GrammarBuilderWildcard.cs
- Block.cs
- Pen.cs
- AuthenticateEventArgs.cs
- XmlSerializerNamespaces.cs
- NativeMethods.cs
- FontFamilyConverter.cs
- ReadOnlyTernaryTree.cs
- ToolboxBitmapAttribute.cs
- SchemaNotation.cs
- GACIdentityPermission.cs
- SQLMembershipProvider.cs
- RangeBaseAutomationPeer.cs
- OperationCanceledException.cs
- BindingMAnagerBase.cs
- RemotingClientProxy.cs
- Font.cs
- Facet.cs
- SafeWaitHandle.cs
- ModifierKeysValueSerializer.cs
- GetBrowserTokenRequest.cs
- SettingsProperty.cs
- InputReportEventArgs.cs