3.1.5.39 proc_GetVersion

The proc_GetVersion stored procedure is invoked to get the component version number string associated with the specified version identifier GUID (using the format major.minor.phase.build; for example, 3.0.106.0).

 PROCEDURE proc_GetVersion(
       @VersionId                     uniqueidentifier,
       @Version                       nvarchar(64)       OUTPUT
 );

@VersionId: The Version Identifier of the component version number to retrieve.

@Version: An output parameter containing the component version number string matching the specified version identifier. This value MUST be unchanged from the input value if the specified @VersionId value does not have a matching component version number.

Return Values: The proc_GetVersion stored procedure returns an integer return code which MUST be listed in the following table.

Value

Description

0

Successful execution.

The proc_GetVersion stored procedure MUST NOT return any result sets.

The client can define one or more version numbers. Each of the version number is identified by a Version Id. When a database is created by the client on the back-end database server, the client stores the version numbers with different version identifiers in the Versions table (section 2.2.7.11) in the back-end database server. When the client connects to a back-end database server, the client SHOULD retrieve the Version Ids using the stored procedure proc_GetVersion<12> to make sure the versions are within an acceptable range defined by the client; otherwise the client MUST refuse to connect to the backend database server.

The version identifiers and the acceptable version numbers for this protocol used when communicating with a content database are listed in the following table.

Version Id GUID

Acceptable version range

'00000000-0000-0000-0000-000000000000'

12.0.6425.1000 – 12.0.6425.1000

'6333368D-85F0-4EF5-8241-5252B12B2E50'

3.1.8.0 – 3.1.8.0

When the protocol is used to communicate with a configuration database, the list of Version Ids used are within the following table:

Version Id GUID

Acceptable version range

'00000000-0000-0000-0000-000000000000'

12.0.6425.1000 – 12.0.6425.1000

'F4D348C4-A6E9-4ed5-BDB2-2358B74EF902'

3.0.9.0 – 3.0.9.0

The acceptable version numbers specified in [table A] and [table B] might change when the client is updated through a service pack. As a result, the updated client might not be able to communicate with the back-end database server any more. In order to re-enable the client to server communication, the client MUST use an upgrade process to modify any data structure on the back-end database server to accommodate any changes that might have occurred to this protocol in the service pack, and update the version numbers to match the new acceptable version numbers. The upgrade logic is application implementation specific.