3.1.5 Message Processing Events and Sequencing Rules

The T-SQL syntax for each Stored Procedure and Result Set, and the variables they are composed of, is defined using the T-SQL language specified in [TSQL-Ref]. In the T-SQL syntax, the variable name is followed by the type of the variable, which can optionally have a length value in brackets and can optionally have a default value indicated by an equal sign followed by the default value. Unless otherwise specified, all Stored Procedures defined in this section are located in the Content Database.

For definitional clarity, a name has been assigned to any columns in the result sets that do not have a defined name in their current implementation. This does not affect the operation of the result set, because the front-end Web server can access any column with no defined name by ordinal position. Such names are designated in the text using braces in the form {name}. For interoperability, named columns in Result Sets are specified with what they SHOULD be named, and columns marked with braces SHOULD have no defined name. front-end Web server implementations MUST NOT rely on any column name in a Result Set.

The logical sequence of returned values and result sets are indicated in each of the individual Stored Procedures defined in this section. The TDS protocol controls the actual order and structure of how the T-SQL language formatted information is transported over the wire.

All functions, result sets, and stored procedures are defined using T-SQL. The following table lists the functions, result sets, and stored procedures in this section.

Name

Description

fn_GetFullUrl

Constructs a full URL from two component parts.

proc_AddBuildDependency

Associates a build dependency with a specified document.

proc_AddDocument

Adds a document to the back-end database server with the specified parameters.

procĀ­_AddListItem

Adds a list item to a list.

proc_ChangeLevelForDoc

Updates the publishing level of a document.

proc_CheckRbsInstalled

Tests whether the back-end database server can support remote BLOB storage.

proc_CheckoutDocument

Places a short-term lock on a document, refreshes, converts or releases an existing short-term lock, or checks out a document.

proc_ClearLinks

Deletes all link information associated with a particular field in a list item as part of a list item or document update.

proc_CreateDir

Creates a directory or folder with a specified name at a specified location.

proc_DeleteAllDocumentVersions

Deletes either the draft versions or older published versions of a document and optionally places them in the recycle bin.

proc_DeleteDocBuildDependencySet

Deletes a build dependency set for a specified document.

proc_DeleteDocumentVersion

Deletes a document version and optionally places it in the recycle bin.

proc_DeleteUrl

Deletes a document.

proc_DisableRbs

Prepares the back-end database server to stop storing content in remote BLOB storage, and reclaims any back-end database server resources allocated with proc_EnableRbs.

proc_DirtyDependents

Marks all items that depend on a given document, configuration setting, navigation structure, or usage statistic as "dirty", so that subsequent action can be taken to update them as necessary.

proc_EnableRbs

Prepares the back-end database server to store content in remote BLOB storage.

proc_EnumLists

Returns a list of the lists (1) in a site (2), along with their associated metadata.

proc_ReadStream

Reads a specific range of data from a document's stream binary piece.

proc_FetchDocForHttpGet

Fetches a document stream and provides information necessary to render the document on a front-end Web server.

proc_FetchDocForRead

Requests the metadata information and document stream of a document.

proc_FetchDocForUpdate

Requests document content and metadata information. It also updates the CacheParseId flag for the requested document if the @CacheParse parameter is set to 1.

proc_FetchWelcomeNames

Lists all the names of the default welcome pages used as redirection targets when folders are requested by an HTTP GET in all site collections in the back-end database server.

proc_GenerateNextId

Returns an identifier to be used for a new list item in a specified list, and to increment the value of the identifier returned by the next call to this procedure for the same List.

proc_GetAllRolesForUser

Retrieves the role identifiers for the roles assigned to a set of principals in a given security scope.

proc_GetAuditMask

Identifies Audit Flags (section 2.2.2.1) information for a specified object.

proc_GetAuditMaskOutput

Gets Audit Flags (section 2.2.2.1) information about an object.

proc_GetContainingList

Gets metadata and event receiver information about the list containing a specified URL.

proc_GetContainingListCore

Gets metadata and event receiver information about the list containing a specified URL.

proc_GetDocsMetaInfo

Requests document metadata information for up to ten documents within a specified site (2).

proc_GetLinkInfoSingleDoc

Provides link information and status for all forward links within a specified document and for all backward links within the specified site collection to the document.

proc_GetListCheckedOutFiles

Retrieves a list of all documents with a Document Store Type (section 2.2.2.4) of 0 (File) within a specified list, folder, or its subfolders, which are checked out and do not have checked in draft or published versions.

proc_GetListFields

Gets the mapping of fields in a list.

proc_GetListMetaDataAndEventReceivers

Retrieves information about the metadata, security scopes, Web Parts, and event receivers for a specified list.

proc_getObject

Retrieves a single Configuration Object (section 2.2.5.1) from the Configuration Database (section 3.1.1).

proc_getObjectsByBaseClass

Returns a list of GUIDs for child Configuration Objects (section 2.2.5.1) of the specified parent Configuration Object that inherit from the specified base Class (section 2.2.5.1.1).

proc_getObjectsByClass

Retrieves the GUIDs of Configuration Objects (section 2.2.5.1) based upon the Class type (section 2.2.5.1.1), the parent Configuration Object, and the Name (section 2.2.5.1.3) of the Configuration Object.

proc_GetSiteFlags

Returns the Site Collection Flags (section 2.2.2.9) set for a specified site collection.

proc_getSiteMap

Determines the Site Map (section 3.1.5.38.1) information for a site collection.

proc_getSiteMapById

Determines the complete Site Map (section 3.1.5.38.1) information for a site collection.

proc_GetTpWebMetaDataAndListMetaData

Retrieves metadata for a particular site (2) or list (1).

proc_GetUniqueScopesInList

Gets the WSS ACL Format (section 2.2.3.6) information for all the unique security scopes of folders and list items contained in a specified list.

proc_GetVersion

Gets the component version number string associated with the specified version identifier GUID.

proc_GetWebMetaInfo

Requests metadata information for a site (2).

proc_GetWebMetainfoByUrl

Requests site metadata information for the site (2) containing a specified Uniform Resource Locator (URL).

proc_ListDocumentVersions

Lists all available version history information for a specified document.

proc_ListRbsStores

Enumerates the remote BLOB storage stores with which the back-end database server has been configured, if any.

proc_ListUrls

Retrieves metadata for a document specified by a URL and the documents contained within it, if any.

proc_RenameUrl

Renames a document or folder within a specified site (2).

proc_SecAddPrincipalToRole

Adds a security principal to a role defined within a site collection.

proc_SecAddRoleDef

Creates a new role definition for a specified site (2) within a site collection.

proc_SecAddUser

Adds a new entry for a security principal to the UserInfo Table (section 2.2.6.10) that contains descriptive properties and security information about security principals (2), and is stored in the back-end database server.

proc_SecAddUserToSiteGroup

Adds a user to a permission level in the site collection.

proc_SecAddWebMembership

Associates an existing user within a site collection to a site (2) within the same site collection.

proc_SecChangeToInheritedList

Changes the scope of the specified list to the specified site (2) and remove any role assignments and permission settings specific to the list.

proc_SecChangeToInheritedWeb

Changes a site (2) from having its own unique permissions to instead use the permissions inherited from its nearest ancestor with unique permissions.

proc_SecChangeToUniqueScope

Sets a securable object such as a site (2), list, or document library to use its own unique security scope, instead of inheriting its security scope from the first ancestor with uniquely permissions.

proc_SecCheckDeletedAccounts

Checks whether a login name exists in the site collection.

proc_SecCloneRoleDefinitions

Creates a copy of the current role definition for a site (2).

proc_SecCreateSiteGroup

Adds a new permission level to a site collection.

proc_SecDecCurrentUsersCount

Reduces by one the total number of users in the specified site collection when configured to use Active Directory account creation mode.

proc_SecGetAccountStatus

Provides status information for a site collection's users, which are not marked as deleted, and match the specified login name or email address.

proc_SecGetAclFromScope

Obtains the Access Control List and the anonymous User permissions for a given scope.

proc_SecGetAllAclsForSite

Lists all Scope Identifiers and their associated ACL and anonymous permission masks in a site collection.

proc_SecGetAllGroupsAndMembershipInfo

Returns information about all site groups and site group members within a site collection.

proc_SecGetApplicationPrincipalAndUserToken

Returns information about a principal (1) based on the principal's login name and user identifier.

proc_SecGetCompleteWebRoleMemberList

Lists all role assignments for all the principals with permissions on a specified Site.

proc_SecGetCurrentUsersCount

Returns a result set containing a count of Users in the specified site collection.

proc_SecGetDomainGroupMapData

Retrieves the domain group map cache information for a site collection.

proc_SecGetGroupById

Checks whether the specified Group (either a site group or a domain group) exists in the specified site collection.

proc_SecGetGroupOwner

Retrieves the User Identifier or Site Group Identifier for the owner of a site group.

proc_SecGetGroupSecurityScopes

Retrieves a site group's role assignments information on all security scopes within a given site collection.

proc_SecGetIndividualUrlSecurityCheckEventReceivers

Requests security information and event receiver information about a document at a specified location.

proc_SecGetItemsWithUniquePermissions

Returns information about list items with unique permissions.

proc_SecGetPrincipalByEmail

Returns user information about a user associated with a specified email address.

proc_SecGetPrincipalById

Returns information about a principal or collection of principals based on a specified site group identifier or user identifier.

proc_SecGetPrincipalByIdEx

Returns information about a principal based on a specified user identifier or a collection of principals based on a specified site group identifier.

proc_SecGetPrincipalByLogin

Returns security and attribute information for a principal (a user or domain group) identified by a specified login name.

proc_SecGetPrincipalByLogin20

Returns security principal (2) information based on up to 20 separate login names.

proc_SecGetPrincipalDisplayInformation20

Returns security principal (2) or site group information for up to 20 principal identifiers.

proc_SecGetRoleAssignments

Requests the WSS ACE (section 2.2.3.5) for a specified security scope in a site collection.

proc_SecGetRoleBindingsForAllPrincipals

Lists the role assignments for all principals in a security scope.

proc_SecGetRoleDefs

Retrieves role definition information for items in the specified site collection and scope.

proc_SecGetSecurityInfo

Retrieves security permissions information about a document.

proc_SecGetSiteAdmins

Returns a list of all site collection administrators not marked as deleted.

proc_SecGetSiteGroupById

Gets information about a site group given its ID.

proc_SecGetSiteGroupByTitle

Gets site group information for the site group with the specified user-friendly name.

proc_SecGetSiteGroupByTitle20

Provides information about site groups in bulk, as specified by a set of up to 20 site group titles.

proc_SecGetUserAccountDirectoryPath

Returns the User Account Directory Path of a specified site collection.

proc_SecGetUserPermissionOnGroup

Determines what permissions the requesting user has within a specified site group.

proc_SecGetWebsAndListWithUniquePermissions

Returns a list of sites and lists that have unique permissions.

proc_SecListAllSiteMembers

Provides information about all non-deleted security principals (2) in the specified site collection.

proc_SecListAllWebMembers

Lists all non-deleted user and domain group accounts registered with a specified site (2).

proc_SecListGroupsInRole

Lists all site groups that have the specified role.

proc_SecListScopeGroups

Lists all site groups that have role assignments in a specified scope.

proc_SecListScopeUsers

Lists information about users and domain groups with a direct role assignment association with the specified scope, rather than by membership in a site group with a role assignment association with the scope.

proc_SecListSiteGroupMembership

Lists members in a specified site group.

proc_SecListSiteGroups

Lists site group information for a specified site collection.

proc_SecListSiteGroupsContainingUser

Lists the site groups in which the user is a member.

proc_SecListSiteGroupsWhichUserOwns

Returns site group information for the site groups owned by the specified principal.

proc_SecListUsersInRole

Lists the non-deleted principals assigned to a specified role in the specified scope.

proc_SecMigrateUser

Updates the SystemID and login name for a principal in the UserInfo Table (section 2.2.6.10) and AllUserData Table (section 2.2.6.2).

proc_SecReCalculateWebFGP

Updates the bit at 0x00000400 of the Site Property Flags (section 2.2.2.11) to indicate whether the site (2) has at least one uniquely secured object within it.

proc_SecRefreshToken

Updates the UserInfo Table (section 2.2.6.10) with information about a specified user's membership in external groups.

proc_SecRemoveGroup

Removes a site group from a site collection.

proc_SecMarkGroupForWebDelete

Marks a site group for later removal from a site collection.

proc_SecRemovePrincipalFromScope

Removes a principal from a security role associated with a site in a specified security scope.

proc_SecRemoveRoleDef

Removes a role definition, and any role assignments which use that role definition, from a specified site (2).

proc_SecRemoveUserFromScopeByLogin

Removes a user, specified by login name, from a role in a specified security scope.

proc_SecRemoveUserFromSite

Removes a user from a site collection.

proc_SecRemoveUserFromSiteGroup

Removes a user from a site group in a site collection.

proc_SecRemoveUserFromSiteGroupByLogin

Removes a user identified by login name from a specified site group.

proc_SecResetItemPerm

Causes a list item to revert its set of permissions so that it inherits permissions from its parent rather than has its own.

proc_SecResetWebToDefaultRoleDefinition

Replaces existing roles, role assignments, and Permissions for a specified site (2) and its subsites with a default set of role definitions, as specified by input parameters.

proc_SecResolvePrincipal

Retrieves information about a principal or site group in the specified site collection, given the principal's login name, e-mail address, or display name.

proc_SecSetSiteGroupProperties

Updates properties of a site group.

proc_SecSetUserAcountDirectoryPath

Sets or clears the user account directory path for a specified site collection.

proc_SecSetWebRequestAccess

Sets the request access email address for a specified site (2).

proc_SecUpdateAnonymousPermMask

Modifies the permissions for the anonymous user.

proc_SecUpdateDomainGroupMapData

Updates the domain group map cache of a specified site collection.

proc_SecUpdateRoleDef

Updates a role definition with a new title, description, display order, Role Definition Type (section 2.2.1.2.16), and WSS Rights Mask (section 2.2.2.15).

proc_SecUpdateUser

Updates the display name, e-mail address, notes, or administrative privileges listed in the user information associated with a principal.

proc_SecUpdateUserActiveStatus

Marks a user as an active user in a site collection.

proc_TakeOverCheckOut

Overrides checkout for a document that is checked out and has no checked-in draft or published version.

proc_UncheckoutDocument

Releases a checked out document.

proc_UpdateDocBuildDependencySet

Stores an updated version of a build dependency set for a specified document.

proc_UpdateDocument

Updates the metadata and stream of a document.

proc_UpdateListItem

Updates a list item in a document library or list.

proc_UpdateListSettings

Updates list (1) metadata.

proc_UpdateUserInfoInTableFromRowUpdater

Updates the user information data for the specified user.

proc_UrlToWebUrl

Returns the store-relative form URL of the site (2) that contains a specified store-relative form URL and is inside a specific site collection.

proc_WriteChunkToAllDocStreams

Establishes new document content associated with the document specified by @DocId or appends to already existing document content established by an earlier invocation of proc_WriteChunkToAllDocStreams.

proc_WriteStreamToRBS

Establishes the remote BLOB storage identifier representing a new stream binary piece for a document.

proc_WriteStreams

Creates a new stream binary piece for a document.

proc_WriteStreamToSQL

Creates a new stream binary piece for a document.

proc_SetStreamsToDoc

Associates stream binary pieces with a document.

proc_SetStreamsToDocNoTVP

Associates stream binary pieces with a document.

TVF_Docs_Url_Level

Returns a subset of rows from the Docs View (section 2.2.6.3).

TVF_UserData_ListItemLevelRow

Returns a subset of rows from the UserData View (section 2.2.6.8).

TVF_UserData_PId_DId_Level_Row

Returns a subset of rows from the UserData View (section 2.2.6.8).

proc_HasCurrentPublishVersion

Tests whether the specified list item has a current published version.

proc_GetSiteDenyPermMask

Returns a WSS Rights Mask (section 2.2.2.15) specifying the rights to deny the current user in the specified site collection.

proc_GetNewListItemId

Gets the next available row identifier of a list (1) and the number of rows that will be copied or moved when copying or moving a URL to that list (1).

proc_UpdateDiskUsed

Updates the disk-used size, in Bytes, of a site collection.