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
- EntitySetBaseCollection.cs
- DataSourceCache.cs
- SqlCommandAsyncResult.cs
- WindowsContainer.cs
- ADMembershipProvider.cs
- FillBehavior.cs
- ToolStripHighContrastRenderer.cs
- ExtendedProtectionPolicyTypeConverter.cs
- VirtualizingStackPanel.cs
- ConfigurationManager.cs
- AttachedPropertyMethodSelector.cs
- PolyBezierSegmentFigureLogic.cs
- TagMapCollection.cs
- Axis.cs
- CodeTypeReference.cs
- CodeExporter.cs
- DrawingVisualDrawingContext.cs
- LayoutExceptionEventArgs.cs
- DateRangeEvent.cs
- SqlServices.cs
- HtmlUtf8RawTextWriter.cs
- EntityDataSourceReferenceGroup.cs
- OptimizerPatterns.cs
- QuaternionRotation3D.cs
- OrCondition.cs
- TailPinnedEventArgs.cs
- Rfc2898DeriveBytes.cs
- DoubleLinkList.cs
- Model3DCollection.cs
- FixedTextSelectionProcessor.cs
- EncryptedType.cs
- TableCellAutomationPeer.cs
- EncryptionUtility.cs
- InvalidDataException.cs
- xsdvalidator.cs
- newinstructionaction.cs
- StaticExtension.cs
- StringCollectionEditor.cs
- CqlWriter.cs
- FSWPathEditor.cs
- MULTI_QI.cs
- DebugViewWriter.cs
- nulltextcontainer.cs
- WorkflowInvoker.cs
- SystemMulticastIPAddressInformation.cs
- FileNotFoundException.cs
- WindowsListViewScroll.cs
- WebScriptEnablingElement.cs
- OleDbParameter.cs
- NumberEdit.cs
- TextBoxBase.cs
- TextContainerChangeEventArgs.cs
- xdrvalidator.cs
- WorkflowApplicationUnloadedException.cs
- EntityContainerRelationshipSetEnd.cs
- xmlglyphRunInfo.cs
- ConnectionStringSettingsCollection.cs
- ContextMenu.cs
- oledbmetadatacollectionnames.cs
- XPathAxisIterator.cs
- XmlILConstructAnalyzer.cs
- LineBreakRecord.cs
- ObjectStateManagerMetadata.cs
- XmlObjectSerializerContext.cs
- FilteredXmlReader.cs
- TrustManagerPromptUI.cs
- TabletDevice.cs
- Missing.cs
- RepeatBehaviorConverter.cs
- WebBrowserHelper.cs
- PropertyDescriptorCollection.cs
- SafeFindHandle.cs
- X509SecurityToken.cs
- RoleManagerEventArgs.cs
- WeakReadOnlyCollection.cs
- Merger.cs
- Table.cs
- FileClassifier.cs
- DataBoundControlHelper.cs
- AuthenticationException.cs
- LinqDataSourceValidationException.cs
- ACL.cs
- FieldInfo.cs
- EncoderExceptionFallback.cs
- SafeLibraryHandle.cs
- DeadCharTextComposition.cs
- XsdDuration.cs
- EventLogPermissionEntryCollection.cs
- _HelperAsyncResults.cs
- SizeConverter.cs
- EntityCollection.cs
- RSAPKCS1SignatureFormatter.cs
- ScriptBehaviorDescriptor.cs
- AssemblyFilter.cs
- UpdatePanelTriggerCollection.cs
- DocumentStatusResources.cs
- CacheEntry.cs
- MimeObjectFactory.cs
- EntityDataSourceConfigureObjectContext.cs
- BindingGroup.cs