System.Data 2.0.0.0 System.Attribute System.AttributeUsage(System.AttributeTargets.Class | System.AttributeTargets.Struct, AllowMultiple=false, Inherited=false) SQL Server creates a user-defined aggregate that is bound to the class definition that has the 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. 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. Constructor To be added. To be added. 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. 2.0.0.0 Property Microsoft.SqlServer.Server.Format To be added. To be added. The serialization format as a . 2.0.0.0 Property System.Boolean To be added. Used by the query processor, this property is true if the aggregate is invariant to duplicates. That is, the aggregate of S, {X} is the same as aggregate of S when X is already in S. For example, aggregate functions such as MIN and MAX satisfy this property, while SUM does not. Incorrectly setting this property can result in incorrect query results. This property is not an optimizer hint; it affects both the plan selected and the results returned by the query. Indicates whether the aggregate is invariant to duplicates. 2.0.0.0 Property System.Boolean To be added. Used by the query processor, this property is true if the aggregate is invariant to nulls. That is, the aggregate of S, {NULL} is the same as aggregate of S. For example, aggregate functions such as MIN and MAX satisfy this property, while COUNT(*) does not. Incorrectly setting this property can result in incorrect query results. This property is not an optimizer hint; it affects the plan selected and the results returned by the query. Indicates whether the aggregate is invariant to nulls. 2.0.0.0 Property System.Boolean To be added. Reserved for future use. This property is not currently used by the query processor: order is currently not guaranteed. Incorrectly setting this property can result in incorrect query results. This property is not an optimizer hint; it affects the plan selected and the results returned by the query. The default value for this property is false. Indicates whether the aggregate is invariant to order. 2.0.0.0 Property System.Boolean To be added. Used by the query processor, this property is true if the aggregate returns null if no values have been accumulated. Incorrectly setting this property can result in incorrect query results. This property is not an optimizer hint; it affects the plan selected and the results returned by the query. Indicates whether the aggregate returns null if no values have been accumulated. 2.0.0.0 Property System.Int32 To be added. This property does not have to be specified for Native format serialization. You must specify the property with the UserDefined serialization . The maximum allowed value for this property is specified by the field. The maximum size allowed is 2 gigabytes (GB). You can specify a number from 1 to 8000 bytes, or -1 to represent a value larger than 8000 bytes, up to 2 gigabytes. For an aggregate with user-defined serialization specified, refers to the total size of the serialized data. Consider an aggregate serializing a string of 10 characters (). When the string is serialized using a , the total size of the serialized string is 22 bytes: 2 bytes per Unicode UTF-16 character, multiplied by the maximum number of characters, plus 2 control bytes of overhead incurred from serializing a binary stream. So, when determining the value of , the total size of the serialized data must be considered: the size of the data serialized in binary form plus the overhead incurred by serialization. The maximum size, in bytes, of the aggregate instance. 2.0.0.0 Field System.Int32 8000 An value representing the maximum size of the aggregate instance. The maximum size, in bytes, required to store the state of this aggregate instance during computation. 2.0.0.0