Road to XML typeToday every commercial DBMS offers more or less powerful support of XML in relational storage. Meanwhile open source relational database systems are weak in this area. The implementation of XML support is obviously a very sophisticated task in general case, it includes a huge amount of problems to be solved, both in logical and physical layers of DMBS. Since 2002 PostgreSQL is shipped with contrib module for work with XML data (its current name is contrib/xml2, it is based on libxml2 library). This module provides only several SQL functions and is intended to solve only basic tasks: it can check XML data on well-formedness, evaluate XPath 1.0 expressions and apply XSLT template to XML data. In the middle of 2006 work on XML type implementation was started. The primary goal was to develop logical layer based on statements from SQL (ISO/ANSI) and XML (W3C) standard papers. As a result, upcoming PostgreSQL release (version 8.3) will include yet not very powerful, but working in standard way implementation of XML type and corresponding functions. This can be considered as a first step on the road to XML type in PostgreSQL. This talk briefly introduces the main points of 14th part of SQL standard (SQL/XML), covers the key aspects of XML type support in relational DBMS and describes the current implementation of XML type in PostgreSQL. At the end of presentation the plans of future work on Postgres' XML type will be presented, and key problems will be discussed.
|