Index: features.sgml =================================================================== RCS file: /projects/cvsroot/pgsql/doc/src/sgml/features.sgml,v retrieving revision 2.22 diff -d -c -r2.22 features.sgml *** features.sgml 29 Nov 2003 19:51:37 -0000 2.22 --- features.sgml 21 Nov 2004 23:35:35 -0000 *************** *** 7,31 **** This section attempts to outline to what extent ! PostgreSQL conforms to the SQL standard. ! Full compliance to the standard or a complete statement about the ! compliance to the standard is complicated and not particularly ! useful, so this section can only give an overview. The formal name of the SQL standard is ISO/IEC 9075 Database ! Language SQL. A revised version of the standard is released ! from time to time; the most recent one appearing in 1999. That ! version is referred to as ISO/IEC 9075:1999, or informally as SQL99. ! The version prior to that was SQL92. ! PostgreSQL development tends to aim for conformance with the latest official version of the standard where such conformance does not contradict traditional features or common ! sense. At the time of this writing, balloting is under way for a ! new revision of the standard, which, if approved, will eventually ! become the conformance target for future ! PostgreSQL development. --- 7,40 ---- This section attempts to outline to what extent ! PostgreSQL conforms to the current international ! SQL standard. Overall, PostgreSQL Global Development Group ! (PGDG) supports open standards, particularly the SQL ! standard. In general, PostgreSQL has the majority of features that many ! would recognise as being required for Core SQL conformance, though there are ! a number of smaller differences. The following information is not a full ! statement of conformance, though presents the main topics in as much detail ! as is both reasonable and useful for developers. The formal name of the SQL standard is ISO/IEC 9075 Database ! Language SQL, jointly published by ISO and ANSI. A revised version of ! the standard is released from time to time; the most recent one appearing in ! late 2003. That version is referred to as ISO/IEC 9075:2003, or informally ! as SQL2003. It is also often popularly referred to as ANSI SQL. ! The versions prior to that were SQL99, and before that SQL92. Each version ! replaces the previous one, so claims of conformance to earlier versions have ! no official merit. No current version of any database management system ! currently claims full conformance to Core SQL2003, at time of writing. ! PostgreSQL development aims for conformance with the latest official version of the standard where such conformance does not contradict traditional features or common ! sense. PGDG were not represented on the ISO/IEC 9075 ! Working Group during the preparation of SQL2003. Even so, many of the ! features required by SQL2003 are already supported, though sometimes with ! slightly differing syntax or function. Further moves towards conformance ! may be expected in later releases. *************** *** 38,74 **** ! SQL99 defines a large set of individual features ! rather than the ineffectively broad three levels found in ! SQL92. A large subset of these features ! represents the core features, which every conforming SQL implementation must supply. The rest of the features are purely optional. Some optional features are grouped together to form ! packages, which SQL implementations can claim conformance to, thus claiming conformance to particular groups of features. ! The SQL99 standard is also split into 5 parts: ! Framework, Foundation, Call Level Interface, Persistent Stored ! Modules, and Host Language Bindings. ! PostgreSQL only covers parts 1, 2, and 5. Part 3 is similar to the ODBC interface, and part 4 is similar to the PL/pgSQL programming language, but ! exact conformance is not specifically intended in either case. In the following two sections, we provide a list of those features that PostgreSQL supports, followed by a ! list of the features defined in SQL99 which are not yet supported in ! PostgreSQL. Both of these lists are approximate: There may be minor details that are nonconforming for a feature that is listed as supported, and large parts of an unsupported feature may in fact be implemented. The main body of the documentation always contains the most accurate information ! about what does and does not work. --- 47,117 ---- ! Starting with SQL99, the SQL standard now defines a large ! set of individual features rather than the ineffectively broad three levels ! found in SQL92. A large subset of these features ! represents the Core features, which every conforming SQL implementation must supply. The rest of the features are purely optional. Some optional features are grouped together to form ! Packages, which SQL implementations can claim conformance to, thus claiming conformance to particular groups of features. ! The SQL2003 standard is also split into a number of parts. ! Each is known by a shorthand name, such as SQL/CLI or ! SQL/XML. Note that these parts are not consecutively ! numbered. ! ! ISO/IEC 9075-1 Framework ! (SQL/Framework) ! ! ISO/IEC 9075-2 Foundation ! (SQL/Foundation) ! ! ISO/IEC 9075-3 Call Level Interface ! (SQL/CLI) ! ! ISO/IEC 9075-4 Persistent Stored Modules ! (SQL/PSM) ! ! ISO/IEC 9075-9 Management of External Data ! (SQL/MED) ! ! ISO/IEC 9075-10 Object Language Bindings ! (SQL/OLB) ! ! ISO/IEC 9075-11 Information and Definition Schemas ! (SQL/Schemata) ! ! ISO/IEC 9075-13 Routines and Types using the Java Language ! (SQL/JRT) ! ! ISO/IEC 9075-14 XML-related specifications ! (SQL/XML) ! ! ! ! ! ! PostgreSQL covers parts 1, 2, and 11. Part 3 is similar to the ODBC interface, and part 4 is similar to the PL/pgSQL programming language, but ! exact conformance is not specifically intended in either case. In the following two sections, we provide a list of those features that PostgreSQL supports, followed by a ! list of the features defined in SQL2003 which are not yet ! supported in PostgreSQL. Both of these lists are approximate: There may be minor details that are nonconforming for a feature that is listed as supported, and large parts of an unsupported feature may in fact be implemented. The main body of the documentation always contains the most accurate information ! about what does and does not work. Please submit questions, clarifications ! and documentation changes should you find additional information. *************** *** 79,85 **** ! Supported Features --- 122,128 ---- ! Supported Features *************** *** 101,111 **** ! Unsupported Features ! The following features defined in SQL99 are not implemented in this release of PostgreSQL. In a few cases, equivalent functionality is available. --- 144,154 ---- ! Unsupported Features ! The following features defined in SQL2003 are not implemented in this release of PostgreSQL. In a few cases, equivalent functionality is available.