SqlUserDefinedAggregateAttribute Class

 

Indicates that the type should be registered as a user-defined aggregate. The properties on the attribute reflect the physical attributes used when the type is registered with SQL Server. This class cannot be inherited.

Namespace:   Microsoft.SqlServer.Server
Assembly:  System.Data (in System.Data.dll)

System.Object
  System.Attribute
    Microsoft.SqlServer.Server.SqlUserDefinedAggregateAttribute

[AttributeUsageAttribute(AttributeTargets.Class | AttributeTargets.Struct, 
	AllowMultiple = false, Inherited = false)]
public sealed class SqlUserDefinedAggregateAttribute : Attribute

NameDescription
System_CAPS_pubmethodSqlUserDefinedAggregateAttribute(Format)

A required attribute on a user-defined aggregate, used to indicate that the given type is a user-defined aggregate and the storage format of the user-defined aggregate.

NameDescription
System_CAPS_pubpropertyFormat

The serialization format as a Format.

System_CAPS_pubpropertyIsInvariantToDuplicates

Indicates whether the aggregate is invariant to duplicates.

System_CAPS_pubpropertyIsInvariantToNulls

Indicates whether the aggregate is invariant to nulls.

System_CAPS_pubpropertyIsInvariantToOrder

Indicates whether the aggregate is invariant to order.

System_CAPS_pubpropertyIsNullIfEmpty

Indicates whether the aggregate returns null if no values have been accumulated.

System_CAPS_pubpropertyMaxByteSize

The maximum size, in bytes, of the aggregate instance.

System_CAPS_pubpropertyName

The name of the aggregate.

System_CAPS_pubpropertyTypeId

When implemented in a derived class, gets a unique identifier for this Attribute.(Inherited from Attribute.)

NameDescription
System_CAPS_pubmethodEquals(Object)

This API supports the product infrastructure and is not intended to be used directly from your code. Returns a value that indicates whether this instance is equal to a specified object.(Inherited from Attribute.)

System_CAPS_pubmethodGetHashCode()

Returns the hash code for this instance.(Inherited from Attribute.)

System_CAPS_pubmethodGetType()

Gets the Type of the current instance.(Inherited from Object.)

System_CAPS_pubmethodIsDefaultAttribute()

When overridden in a derived class, indicates whether the value of this instance is the default value for the derived class.(Inherited from Attribute.)

System_CAPS_pubmethodMatch(Object)

When overridden in a derived class, returns a value that indicates whether this instance equals a specified object.(Inherited from Attribute.)

System_CAPS_pubmethodToString()

Returns a string that represents the current object.(Inherited from Object.)

NameDescription
System_CAPS_pubfieldSystem_CAPS_staticMaxByteSizeValue

The maximum size, in bytes, required to store the state of this aggregate instance during computation.

NameDescription
System_CAPS_pubinterfaceSystem_CAPS_privmethod_Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr)

Maps a set of names to a corresponding set of dispatch identifiers.(Inherited from Attribute.)

System_CAPS_pubinterfaceSystem_CAPS_privmethod_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr)

Retrieves the type information for an object, which can be used to get the type information for an interface.(Inherited from Attribute.)

System_CAPS_pubinterfaceSystem_CAPS_privmethod_Attribute.GetTypeInfoCount(UInt32)

Retrieves the number of type information interfaces that an object provides (either 0 or 1).(Inherited from Attribute.)

System_CAPS_pubinterfaceSystem_CAPS_privmethod_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

Provides access to properties and methods exposed by an object.(Inherited from Attribute.)

SQL Server creates a user-defined aggregate that is bound to the class definition that has the SqlUserDefinedAggregateAttribute custom attribute. Every user-defined aggregate must be annotated with this attribute.

See "CLR User-Defined Aggregates" in SQL Server 2005 Books Online for more information on user-defined aggregates and examples.

The following example shows the SqlUserDefinedAggregateAttribute attribute for a user-defined aggregate. The aggregate uses custom serialization, has a maximum size of 8000 bytes when serialized, and is invariant to nulls, duplicates, and order.

using System;
using System.IO;
using System.Data.Sql;
using System.Data.SqlTypes;
using System.Text;
using Microsoft.SqlServer.Server;


[Serializable]
[Microsoft.SqlServer.Server.SqlUserDefinedAggregate(
   Microsoft.SqlServer.Server.Format.UserDefined, 
   IsInvariantToNulls = true,			
   IsInvariantToDuplicates = false,		
   IsInvariantToOrder = false,			
   MaxByteSize = 8000)				
        ]
public class Concatenate : Microsoft.SqlServer.Server.IBinarySerialize
{

.NET Framework
Available since 2.0

Any public static ( Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

Return to top
Show: