The primary objective of the SPIRIT SQL profile is to provide a clear definition of an SQL language that is available for procurement in the SPIRIT timeframes. This objective includes a requirement that Service Providers be able to readily write meaningful applications that are portable, without any recoding, among conforming implementations of this profile.
Other objectives include alignment with the X/Open SQL Specifications1 and the de jure standards for SQL, as well as character internationalisation support required by applications written by Service Providers in North America, Europe and Japan. Vendors are always free to provide facilities beyond those required by this document, including minimum limits on the size of various items, but applications should not use any facilities not required by this document in order to maximise portability.
The SPIRIT profile comprises a profile of ISO/IEC 9075:1992, Database Language SQL, as amended by the Technical Corrigendum No.1.2 This is sometimes informally known as SQL-92. It uses the format of the NIST FIPS for SQL.3 The structure of this profile is primarily identification of features in SQL-92, but it also identifies features in the X/Open SQL Specification.
Internationalisation features include a subset of SQL-92 internationalisation with minor extensions to the host language bindings which are derived from the MIA SQL Specification. These are copied into the present document without pointing to the MIA SQL Specification itself because the specification is not widely available); these internationalisation features now depend on the character set profiles defined in SPIRIT Part 1, Overview and Core Specifications, referenced in this profile as the "SPIRIT Character Set Profile").
The SPIRIT Issue 2.0 SQL profile is intended to be used for procurements by SPIRIT Service Providers to specify characteristics of SQL database management systems (from Summer 1995). Similarly, SPIRIT Issue 3.0 SQL procurements are intended to start Summer of 1996 with the exception of the enhanced internationalisation features in Section E.3 of the X/Open SQL, Version 2 Specification that are intended to become mandatory after Summer of 1997.
The cooperation between SPIRIT and X/Open has enabled them to agree on a common way forward.
To ease the work of the application writers and implementors of database systems, the SPIRIT SQL profiles are included in the new X/Open SQL, Version 2 Specification. The actual requirements for SPIRIT Issue 2.0 are to be found in Appendix D, and for SPIRIT Issue 3.0 in Appendix E. The implementation limits are specified in Chapter 7.
SPIRIT and X/Open intend to work together to eliminate all differences between X/Open SQL and SPIRIT SQL. In particular, X/Open intends to add internationalisation features, currently specified in SPIRIT, before publishing the X/Open SQL, Version 2 Specification as a CAE Specification in March 1996.
SPIRIT SQL adopts provisions of ISO/IEC 9075:1992, Database Language SQL, as described below:
SPIRIT Issue 2.0 SQL requires conformance to Entry SQL and to additional aspects of the language as specified in Section D.1 of the X/Open SQL, Version 2 Specification. Conformance is further constrained by the limits specified in Chapter 7 and the definition of various items that SQL-92 leaves implementation-defined or unclear in Sections D.3 and D.4 of the same document. SPIRIT Issue 2.0 approximates to the X/Open SQL, Version 2 Specification. Section D.5 states the differences between SPIRIT SQL and X/Open SQL.
SPIRIT Issue 3.0 SQL requires conformance to Entry SQL and to additional aspects of the language as specified in Appendix E of the X/Open SQL, Version 2 Specification. SPIRIT Issue 3.0 approximates to the so-called "Transitional SQL" level, but keeping the X/Open-specific extensions to the language.
The term "deprecated", as used in SQL-92 and in this profile, means that a feature so labelled may not be supported in some future version of the standard, but is still fully supported and a required feature of the existing standard. Service Providers should avoid the use of deprecated features in new applications, although existing applications that use such features continue to be supported.
X/Open Preliminary Specification, April 1995, Data Management: Structured Query Language (SQL), Version 2 (ISBN: 1-85912-093-8, P446).
SQL Technical Corrigendum, December 1994, to ISO/IEC 9075:1992, Information Technology - Database Language SQL.
Note: All future technical corrigenda that affect specific items in SPIRIT SQL are implicitly included as part of these profiles, as they are implicitly part of ISO/IEC 9075:1992. Conformance to these corrections is required in a reasonable timeframe following their publication.