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
- VarRefManager.cs
- DomainUpDown.cs
- ServiceElementCollection.cs
- InputReportEventArgs.cs
- Focus.cs
- OneWayBindingElement.cs
- ProjectionAnalyzer.cs
- InternalCache.cs
- BufferBuilder.cs
- AnnotationService.cs
- CompositeCollectionView.cs
- FormDesigner.cs
- MappingSource.cs
- SQLInt16.cs
- DependencyPropertyChangedEventArgs.cs
- NumericUpDownAcceleration.cs
- AttributeEmitter.cs
- RtfNavigator.cs
- PixelFormat.cs
- IApplicationTrustManager.cs
- ListParagraph.cs
- Run.cs
- hebrewshape.cs
- DerivedKeySecurityTokenStub.cs
- OracleInfoMessageEventArgs.cs
- MenuTracker.cs
- relpropertyhelper.cs
- CollectionMarkupSerializer.cs
- BackgroundWorker.cs
- UserValidatedEventArgs.cs
- TopClause.cs
- HtmlToClrEventProxy.cs
- ToolStripStatusLabel.cs
- ResponseBodyWriter.cs
- RoutedEvent.cs
- ACE.cs
- IntegrationExceptionEventArgs.cs
- StringReader.cs
- DataGridViewCellEventArgs.cs
- EntityDataSourceStatementEditorForm.cs
- MimeAnyImporter.cs
- AbstractExpressions.cs
- BitmapMetadataEnumerator.cs
- COAUTHINFO.cs
- EntityDataSourceWrapperPropertyDescriptor.cs
- BasicDesignerLoader.cs
- ViewLoader.cs
- OleAutBinder.cs
- FieldNameLookup.cs
- ToolStripPanelRenderEventArgs.cs
- SystemSounds.cs
- Parser.cs
- TextServicesProperty.cs
- DataGridViewTopLeftHeaderCell.cs
- TextServicesCompartment.cs
- UnsafeNativeMethods.cs
- xml.cs
- DataSourceSelectArguments.cs
- DataGridColumnCollection.cs
- TypeDelegator.cs
- OptimalTextSource.cs
- ReferencedAssemblyResolver.cs
- XmlDataImplementation.cs
- SmtpMail.cs
- XmlParserContext.cs
- UniformGrid.cs
- ColumnWidthChangedEvent.cs
- TypeResolvingOptions.cs
- SystemNetworkInterface.cs
- OracleLob.cs
- Group.cs
- Shape.cs
- figurelength.cs
- PerformanceCounterScope.cs
- SafeNativeMethods.cs
- ProgressBarHighlightConverter.cs
- SecurityCapabilities.cs
- ClientFormsIdentity.cs
- ResourceDefaultValueAttribute.cs
- Deflater.cs
- CodeGroup.cs
- CodeDirectoryCompiler.cs
- BitmapImage.cs
- HttpResponseHeader.cs
- _SingleItemRequestCache.cs
- MouseActionConverter.cs
- DrawItemEvent.cs
- TempEnvironment.cs
- Int32CollectionConverter.cs
- ConfigXmlCDataSection.cs
- SymmetricKey.cs
- UIPermission.cs
- WindowsAltTab.cs
- DataGridItemAutomationPeer.cs
- DataObject.cs
- EncoderParameters.cs
- PngBitmapDecoder.cs
- OdbcTransaction.cs
- BaseParagraph.cs
- UInt16.cs