1.7 Versioning and Capability Negotiation
This section covers versioning issues in the following areas.
Capability Negotiation: This protocol performs explicit negotiation as described in this section.
This document specifies three catalog versions: 3.00, 4.00, and 5.00. A COMA server and a COMA client perform catalog version negotiation before exchanging configuration data in the catalog. Except where otherwise noted, catalog version negotiation is completed before the client makes any other calls to the server.
Each COMA client and each COMA server can support a range of catalog versions. Catalog version negotiation is initiated by the client by sending the server its supported range. The catalog server selects the negotiated catalog version as the highest catalog version that both the client and the server support and returns the negotiated version to the client, as specified in section 3.1.4.1.
This document specifies two custom marshaling formats for queries, as used in certain server interfaces. One of the custom marshaling formats is optimized for implementations that use a 32-bit address space and the other for implementations that use a 64-bit address space. A COMA client and a COMA server optionally perform capability negotiation for the 64-bit query marshaling format capability, as specified in section 3.1.4.2.
On behalf of a client application that wishes to configure multiple partitions, a COMA client and a COMA server can perform capability negotiation for the multiple-partition support capability, as specified in section 3.1.4.3.
On behalf of a bitness-aware client application, a COMA client and a COMA server perform capability negotiation for the multiple-bitness capability to determine whether the COMA client needs to select bitness when performing configuration, as specified in section 3.1.4.4.