Finished database detail documentation
git-svn-id: https://svn.apache.org/repos/asf/db/ddlutils/trunk@1135031 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/src/site/sphinx/databases/axion.rst b/src/site/sphinx/databases/axion.rst
new file mode 100644
index 0000000..3694273
--- /dev/null
+++ b/src/site/sphinx/databases/axion.rst
@@ -0,0 +1,145 @@
+.. Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements. See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership. The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+
+.. _`Axion`: http://axion.tigris.org/
+.. _`Axion datatypes documentation`: http://axion.tigris.org/datatypes.html
+
+Axion
+=====
+
+Database support for Axion is legacy in DdlUtils because Axion does not appear to
+be actively developed anymore. Also, support for fundamential JDBC functionality necessary
+for DdlUtils (such as database metadata) is lacking to a certain degree in Axion.
+
+Info about the datatypes supported by `Axion`_ can be found in the
+`Axion datatypes documentation`_.
+
+Constraints
+-----------
+
+Platform identifier
+ ``Axion``
+
+Recognized JDBC drivers
+ ``org.axiondb.jdbc.AxionDriver``
+
+Recognized JDBC sub protocols
+ ``jdbc:axiondb``
+
+Supports SQL comments
+ no
+
+Supports delimited identifiers
+ no
+
+Maximum identifier length
+ unlimited
+
+Supports default values for ``LONG`` types
+ yes
+
+Supports non-unique indices
+ yes
+
+Supports non-primary key columns as identity columns
+ yes
+
+Allows ``INSERT``/``UPDATE`` statements to set values for identity columns
+ yes
+
+DdlUtils uses sequences for identity columns
+ no
+
+DdlUtils can read back the auto-generated value of an identity column
+ no
+
+DdlUtils can create a database via JDBC
+ no
+
+DdlUtils can drop a database via JDBC
+ no
+
+Datatypes
+---------
+
++-----------------+-----------------+----------------------------------------------+
+|JDBC Type |Database Type |Additional comments |
++=================+=================+==============================================+
+|``ARRAY`` |``BLOB`` |Will be read back as ``BLOB`` |
++-----------------+-----------------+----------------------------------------------+
+|``BIGINT`` |``BIGINT`` |Requires a recent version |
++-----------------+-----------------+----------------------------------------------+
+|``BINARY`` |``BINARY`` | |
++-----------------+-----------------+----------------------------------------------+
+|``BIT`` |``BOOLEAN`` | |
++-----------------+-----------------+----------------------------------------------+
+|``BLOB`` |``BLOB`` | |
++-----------------+-----------------+----------------------------------------------+
+|``BOOLEAN`` |``BOOLEAN`` | |
++-----------------+-----------------+----------------------------------------------+
+|``CHAR`` |``CHAR`` | |
++-----------------+-----------------+----------------------------------------------+
+|``CLOB`` |``CLOB`` | |
++-----------------+-----------------+----------------------------------------------+
+|``DATALINK`` |``VARBINARY`` |Will be read back as ``VARBINARY`` |
++-----------------+-----------------+----------------------------------------------+
+|``DATE`` |``DATE`` |Axion handles ``DATE``, ``TIME`` the same as |
+| | |``TIMESTAMP`` |
++-----------------+-----------------+----------------------------------------------+
+|``DECIMAL`` |``DECIMAL`` |``scale`` is currently fixed to 2 in Axion |
+| | |(though a different one can be specified) |
++-----------------+-----------------+----------------------------------------------+
+|``DISTINCT`` |``VARBINARY`` |Will be read back as ``VARBINARY`` |
++-----------------+-----------------+----------------------------------------------+
+|``DOUBLE`` |``DOUBLE`` | |
++-----------------+-----------------+----------------------------------------------+
+|``FLOAT`` |``FLOAT`` | |
++-----------------+-----------------+----------------------------------------------+
+|``INTEGER`` |``INTEGER`` | |
++-----------------+-----------------+----------------------------------------------+
+|``JAVA_OBJECT`` |``JAVA_OBJECT`` | |
++-----------------+-----------------+----------------------------------------------+
+|``LONGVARBINARY``|``LONGVARBINARY``| |
++-----------------+-----------------+----------------------------------------------+
+|``LONGVARCHAR`` |``LONGVARCHAR`` | |
++-----------------+-----------------+----------------------------------------------+
+|``NULL`` |``VARBINARY`` |Will be read back as ``VARBINARY`` |
++-----------------+-----------------+----------------------------------------------+
+|``NUMERIC`` |``NUMERIC`` |``scale`` is currently fixed to 2 |
+| | |(though a different one can be specified) |
++-----------------+-----------------+----------------------------------------------+
+|``OTHER`` |``BLOB`` |Will be read back as ``BLOB`` |
++-----------------+-----------------+----------------------------------------------+
+|``REAL`` |``REAL`` |Will be read back as ``FLOAT`` |
++-----------------+-----------------+----------------------------------------------+
+|``REF`` |``VARBINARY`` |Will be read back as ``VARBINARY`` |
++-----------------+-----------------+----------------------------------------------+
+|``SMALLINT`` |``SMALLINT`` | |
++-----------------+-----------------+----------------------------------------------+
+|``STRUCT`` |``VARBINARY`` |Will be read back as ``VARBINARY`` |
++-----------------+-----------------+----------------------------------------------+
+|``TIME`` |``TIME`` |Axion handles ``DATE``, ``TIME`` the same as |
+| | |``TIMESTAMP`` |
++-----------------+-----------------+----------------------------------------------+
+|``TIMESTAMP`` |``TIMESTAMP`` | |
++-----------------+-----------------+----------------------------------------------+
+|``TINYINT`` |``SMALLINT`` |Will be read back as ``SMALLINT`` |
++-----------------+-----------------+----------------------------------------------+
+|``VARBINARY`` |``VARBINARY`` | |
++-----------------+-----------------+----------------------------------------------+
+|``VARCHAR`` |`VARCHAR`` | |
++-----------------+-----------------+----------------------------------------------+
diff --git a/src/site/sphinx/databases/db2.rst b/src/site/sphinx/databases/db2.rst
new file mode 100644
index 0000000..94785b0
--- /dev/null
+++ b/src/site/sphinx/databases/db2.rst
@@ -0,0 +1,151 @@
+.. Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements. See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership. The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+
+.. _`IBM DB2`: http://www-130.ibm.com/developerworks/db2/
+.. _`DB2 SQL Reference V7`: ftp://ftp.software.ibm.com/ps/products/db2/info/vr7/pdf/letter/db2s0e70.pdf
+.. _`DB2 JDBC datatypes documentation`: http://publib.boulder.ibm.com/infocenter/db2luw/v8/topic/com.ibm.db2.udb.doc/ad/rjvjdata.htm
+
+DB 2
+====
+
+The DdlUtils support for `IBM DB2`_ is based upon version *7*. The datatypes and
+SQL elements in DB2 are described in the `DB2 SQL Reference V7`_. Some specifics
+related to the JDBC driver and suggested typemappings can also be found in the
+`DB2 JDBC datatypes documentation`_.
+
+DdlUtils provides two platforms for DB2, one for version 7 and one for version 8 and above, which
+mainly differ in the maximum identifier lengths (see below for details.) Note that you have to
+specify the v8 platform manually as the auto detection currently always selects the v7 platform.
+
+Constraints
+-----------
+
+Platform identifier
+ | ``DB2`` for the v7 platform
+ | ``DB2v8`` for the v8 platform
+
+Recognized JDBC driver
+ | ``com.ibm.db2.jcc.DB2Driver``
+ | ``COM.ibm.db2.jdbc.app.DB2Driver``
+ | ``COM.ibm.db2os390.sqlj.jdbc.DB2SQLJDriver``
+ | ``com.ibm.as400.access.AS400JDBCDriver``
+
+Recognized JDBC sub protocols
+ | ``jdbc:db2``
+ | ``jdbc:db2os390``
+ | ``jdbc:2os390sqlj``
+ | ``jdbc:as400``
+
+Supports SQL comments
+ yes
+
+Supports delimited identifiers
+ yes
+
+Maximum identifier length
+ | 18 for the v7 platform
+ | The v8 platform supports 128 characters for identifiers (e.g. table names), 30 characters for column names, and 18 for constraints and foreign keys
+
+Supports default values for ``LONG`` types
+ yes
+
+Supports non-unique indices
+ yes
+
+Supports non-primary key columns as identity columns
+ yes
+
+Allows ``INSERT``/``UPDATE`` statements to set values for identity columns
+ yes
+
+DdlUtils uses sequences for identity columns
+ no
+
+DdlUtils can read back the auto-generated value of an identity column
+ yes
+
+DdlUtils can create a database via JDBC
+ no
+
+DdlUtils can drop a database via JDBC
+ no
+
++-----------------+-----------------------------+--------------------------------------+
+|JDBC Type |Database Type |Additional comments |
++=================+=============================+======================================+
+|``ARRAY`` |``BLOB`` |Will be read back as ``BLOB`` |
++-----------------+-----------------------------+--------------------------------------+
+|``BIGINT`` |``BIGINT`` | |
++-----------------+-----------------------------+--------------------------------------+
+|``BINARY`` |``CHAR(n) FOR BIT DATA`` | |
++-----------------+-----------------------------+--------------------------------------+
+|``BIT`` |``SMALLINT`` |DB2 has no native boolean type. |
+| | |Will be read back as ``SMALLINT`` |
++-----------------+-----------------------------+--------------------------------------+
+|``BLOB`` |``BLOB`` | |
++-----------------+-----------------------------+--------------------------------------+
+|``BOOLEAN`` |``SMALLINT`` |DB2 has no native boolean type. |
+| | |Will be read back as ``SMALLINT`` |
++-----------------+-----------------------------+--------------------------------------+
+|``CHAR`` |``CHAR`` | |
++-----------------+-----------------------------+--------------------------------------+
+|``CLOB`` |``CLOB`` | |
++-----------------+-----------------------------+--------------------------------------+
+|``DATALINK`` |``DATALINK`` | |
++-----------------+-----------------------------+--------------------------------------+
+|``DATE`` |``DATE`` | |
++-----------------+-----------------------------+--------------------------------------+
+|``DECIMAL`` |``DECIMAL`` | |
++-----------------+-----------------------------+--------------------------------------+
+|``DISTINCT`` |``DISTINCT`` | |
++-----------------+-----------------------------+--------------------------------------+
+|``DOUBLE`` |``DOUBLE`` | |
++-----------------+-----------------------------+--------------------------------------+
+|``FLOAT`` |``DOUBLE`` | |
++-----------------+-----------------------------+--------------------------------------+
+|``INTEGER`` |``INTEGER`` | |
++-----------------+-----------------------------+--------------------------------------+
+|``JAVA_OBJECT`` |``BLOB`` |Will be read back as ``BLOB`` |
++-----------------+-----------------------------+--------------------------------------+
+|``LONGVARBINARY``|``LONG VARCHAR FOR BIT DATA``| |
++-----------------+-----------------------------+--------------------------------------+
+|``LONGVARCHAR`` |``LONG VARCHAR`` | |
++-----------------+-----------------------------+--------------------------------------+
+|``NULL`` |``LONG VARCHAR FOR BIT DATA``|Will be read back as ``LONGVARBINARY``|
++-----------------+-----------------------------+--------------------------------------+
+|``NUMERIC`` |``DECIMAL`` |Will be read back as ``DECIMAL`` |
++-----------------+-----------------------------+--------------------------------------+
+|``OTHER`` |``BLOB`` |Will be read back as ``BLOB`` |
++-----------------+-----------------------------+--------------------------------------+
+|``REAL`` |``REAL`` | |
++-----------------+-----------------------------+--------------------------------------+
+|``REF`` |``REF`` | |
++-----------------+-----------------------------+--------------------------------------+
+|``SMALLINT`` |``SMALLINT`` | |
++-----------------+-----------------------------+--------------------------------------+
+|``STRUCT`` |``BLOB`` |Will be read back as ``BLOB`` |
++-----------------+-----------------------------+--------------------------------------+
+|``TIME`` |``TIME`` | |
++-----------------+-----------------------------+--------------------------------------+
+|``TIMESTAMP`` |``TIMESTAMP`` | |
++-----------------+-----------------------------+--------------------------------------+
+|``TINYINT`` |``SMALLINT`` |Will be read back as ``SMALLINT`` |
++-----------------+-----------------------------+--------------------------------------+
+|``VARBINARY`` |``VARCHAR(n) FOR BIT DATA`` | |
++-----------------+-----------------------------+--------------------------------------+
+|``VARCHAR`` |``VARCHAR`` | |
++-----------------+-----------------------------+--------------------------------------+
diff --git a/src/site/sphinx/databases/derby.rst b/src/site/sphinx/databases/derby.rst
new file mode 100644
index 0000000..7834dbf
--- /dev/null
+++ b/src/site/sphinx/databases/derby.rst
@@ -0,0 +1,154 @@
+.. Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements. See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership. The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+
+.. _`Cloudscape`: http://www-306.ibm.com/software/data/cloudscape/
+.. _`Cloudscape Reference Manual`: ftp://publib.boulder.ibm.com/epubs/pdf/c1892480.pdf
+.. _`Apache Derby`: http://db.apache.org/derby/
+.. _`Reference Manual`: http://db.apache.org/derby/manuals/index.html
+
+Derby/Java DB/Cloudscape
+========================
+
+The `Apache Derby`_ project is based upon `Cloudscape`_ version 10, which IBM
+contributed to Apache in 2004. The SQL syntax and datatypes supported by Derby are described in
+the Datatypes section in the `Reference Manual`_.
+
+DdlUtils currently supports Cloudscape version 10.0. Information about the SQL elements and
+datatypes of Cloudscape is found in the `Cloudscape Reference Manual`_. Because development and
+support of Cloudscape has ended in favor of Derby, the DdlUtils support for Cloudscape is legacy
+and will likely be removed in future versions. If you use Cloudscape we strongly suggest that you
+update to Derby.
+
+Constraints
+-----------
+
+Platform identifier
+ | ``Derby`` for the Derby platform
+ | ``Cloudscape`` for the Cloudscape platform
+
+Recognized JDBC drivers
+ | ``org.apache.derby.jdbc.ClientDriver`` (Derby)
+ | ``org.apache.derby.jdbc.EmbeddedDriver`` (Derby)
+
+Recognized JDBC sub protocols
+ | ``jdbc:derby`` (Derby)
+ | ``jdbc:db2j:net`` (Cloudscape)
+ | ``jdbc:cloudscape:net`` (Cloudscape)
+
+Supports SQL comments
+ yes
+
+Supports delimited identifiers
+ yes
+
+Maximum identifier length
+ 128
+
+Supports default values for ``LONG`` types
+ yes
+
+Supports non-unique indices
+ yes
+
+Supports non-primary key columns as identity columns
+ yes
+
+Allows ``INSERT``/``UPDATE`` statements to set values for identity columns
+ yes
+
+DdlUtils uses sequences for identity columns
+ yes
+
+DdlUtils can read back the auto-generated value of an identity column
+ no
+
+DdlUtils can create a database via JDBC
+ yes
+
+DdlUtils can drop a database via JDBC
+ no
+
+Datatypes
+---------
+
++-----------------+--------------------------------+---------------------------------------------+
+|JDBC Type |Database Type |Additional comments |
++=================+================================+=============================================+
+|``ARRAY`` |``BLOB`` |Will be read back as ``BLOB`` |
++-----------------+--------------------------------+---------------------------------------------+
+|``BIGINT`` |``BIGINT`` | |
++-----------------+--------------------------------+---------------------------------------------+
+|``BINARY`` |``CHAR(n) FOR BIT DATA`` | |
++-----------------+--------------------------------+---------------------------------------------+
+|``BIT`` |``SMALLINT`` |Cloudscape/Derby have no native boolean type.|
+| | |Will be read back as ``SMALLINT`` |
++-----------------+--------------------------------+---------------------------------------------+
+|``BLOB`` |``BLOB`` | |
++-----------------+--------------------------------+---------------------------------------------+
+|``BOOLEAN`` |``SMALLINT`` |Cloudscape/Derby have no native boolean type.|
+| | |Will be read back as ``SMALLINT`` |
++-----------------+--------------------------------+---------------------------------------------+
+|``CHAR`` |``CHAR`` | |
++-----------------+--------------------------------+---------------------------------------------+
+|``CLOB`` |``CLOB`` | |
++-----------------+--------------------------------+---------------------------------------------+
+|``DATALINK`` |``LONG VARCHAR FOR BIT DATA`` |Will be read back as ``LONGVARBINARY`` |
++-----------------+--------------------------------+---------------------------------------------+
+|``DATE`` |``DATE`` | |
++-----------------+--------------------------------+---------------------------------------------+
+|``DECIMAL`` |``DECIMAL`` | |
++-----------------+--------------------------------+---------------------------------------------+
+|``DISTINCT`` |``BLOB`` |Will be read back as ``BLOB`` |
++-----------------+--------------------------------+---------------------------------------------+
+|``DOUBLE`` |Cloudscape: ``DOUBLE PRECISION``| |
+| |Derby: ``DOUBLE`` | |
++-----------------+--------------------------------+---------------------------------------------+
+|``FLOAT`` |Cloudscape: ``DOUBLE PRECISION``|Will be read back as ``DOUBLE`` |
+| |Derby: ``DOUBLE`` | |
++-----------------+--------------------------------+---------------------------------------------+
+|``INTEGER`` |``INTEGER`` | |
++-----------------+--------------------------------+---------------------------------------------+
+|``JAVA_OBJECT`` |``BLOB`` |Will be read back as ``BLOB`` |
++-----------------+--------------------------------+---------------------------------------------+
+|``LONGVARBINARY``|``LONG VARCHAR FOR BIT DATA`` | |
++-----------------+--------------------------------+---------------------------------------------+
+|``LONGVARCHAR`` |``LONG VARCHAR`` | |
++-----------------+--------------------------------+---------------------------------------------+
+|``NULL`` |``LONG VARCHAR FOR BIT DATA`` |Will be read back as ``LONGVARBINARY`` |
++-----------------+--------------------------------+---------------------------------------------+
+|``NUMERIC`` |``NUMERIC`` | |
++-----------------+--------------------------------+---------------------------------------------+
+|``OTHER`` |``BLOB`` |Will be read back as ``BLOB`` |
++-----------------+--------------------------------+---------------------------------------------+
+|``REAL`` |``REAL`` | |
++-----------------+--------------------------------+---------------------------------------------+
+|``REF`` |``LONG VARCHAR FOR BIT DATA`` |Will be read back as ``LONGVARBINARY`` |
++-----------------+--------------------------------+---------------------------------------------+
+|``SMALLINT`` |``SMALLINT`` | |
++-----------------+--------------------------------+---------------------------------------------+
+|``STRUCT`` |``BLOB`` |Will be read back as ``BLOB`` |
++-----------------+--------------------------------+---------------------------------------------+
+|``TIME`` |``TIME`` | |
++-----------------+--------------------------------+---------------------------------------------+
+|``TIMESTAMP`` |``TIMESTAMP`` | |
++-----------------+--------------------------------+---------------------------------------------+
+|``TINYINT`` |``SMALLINT`` |Will be read back as ``SMALLINT`` |
++-----------------+--------------------------------+---------------------------------------------+
+|``VARBINARY`` |``VARCHAR(n) FOR BIT DATA`` | |
++-----------------+--------------------------------+---------------------------------------------+
+|``VARCHAR`` |``VARCHAR`` | |
++-----------------+--------------------------------+---------------------------------------------+
diff --git a/src/site/sphinx/databases/firebird.rst b/src/site/sphinx/databases/firebird.rst
new file mode 100644
index 0000000..2fcb919
--- /dev/null
+++ b/src/site/sphinx/databases/firebird.rst
@@ -0,0 +1,137 @@
+.. Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements. See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership. The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+
+.. _`Firebird`: http://www.firebirdsql.org/
+
+Firebird
+========
+
+DdlUtils supports `Firebird`_, version 1 and above.
+
+Constraints
+-----------
+
+Platform identifier
+ ``Firebird``
+
+Recognized JDBC drivers
+ ``org.firebirdsql.jdbc.FBDriver``
+
+Recognized JDBC sub protocols
+ ``jdbc:firebirdsql``
+
+Supports SQL comments
+ yes
+
+Supports delimited identifiers
+ yes
+
+Maximum identifier length
+ 31
+
+Supports default values for ``LONG`` types
+ yes
+
+Supports non-unique indices
+ yes
+
+Supports non-primary key columns as identity columns
+ yes
+
+Allows ``INSERT``/``UPDATE`` statements to set values for identity columns
+ yes
+
+DdlUtils uses sequences for identity columns
+ yes
+
+DdlUtils can read back the auto-generated value of an identity column
+ yes
+
+DdlUtils can create a database via JDBC
+ no
+
+DdlUtils can drop a database via JDBC
+ no
+
+Datatypes
+---------
+
++-----------------+--------------------------------+---------------------------------------------+
+|JDBC Type |Database Type |Additional comments |
++=================+================================+=============================================+
+|``ARRAY`` |``BLOB`` |Will be read back as ``LONGVARBINARY`` |
++-----------------+--------------------------------+---------------------------------------------+
+|``BIGINT`` |``BIGINT`` | |
++-----------------+--------------------------------+---------------------------------------------+
+|``BINARY`` |``BLOB`` |Will be read back as ``LONGVARBINARY`` |
++-----------------+--------------------------------+---------------------------------------------+
+|``BIT`` |``SMALLINT`` |Firebird has no native boolean type. |
+| | |Will be read back as ``SMALLINT`` |
++-----------------+--------------------------------+---------------------------------------------+
+|``BLOB`` |``BLOB`` |Will be read back as ``LONGVARBINARY`` |
++-----------------+--------------------------------+---------------------------------------------+
+|``BOOLEAN`` |``SMALLINT`` |Firebird has no native boolean type. |
+| | |Will be read back as ``SMALLINT`` |
++-----------------+--------------------------------+---------------------------------------------+
+|``CHAR`` |``CHAR`` | |
++-----------------+--------------------------------+---------------------------------------------+
+|``CLOB`` |``BLOB SUB_TYPE TEXT`` |Will be read back as ``LONGVARCHAR`` |
++-----------------+--------------------------------+---------------------------------------------+
+|``DATALINK`` |``BLOB`` |Will be read back as ``LONGVARBINARY`` |
++-----------------+--------------------------------+---------------------------------------------+
+|``DATE`` |``DATE`` | |
++-----------------+--------------------------------+---------------------------------------------+
+|``DECIMAL`` |``DECIMAL`` | |
++-----------------+--------------------------------+---------------------------------------------+
+|``DISTINCT`` |``BLOB`` |Will be read back as ``LONGVARBINARY`` |
++-----------------+--------------------------------+---------------------------------------------+
+|``DOUBLE`` |``DOUBLE PRECISION`` | |
++-----------------+--------------------------------+---------------------------------------------+
+|``FLOAT`` |``DOUBLE PRECISION`` |Will be read back as ``DOUBLE`` |
++-----------------+--------------------------------+---------------------------------------------+
+|``INTEGER`` |``INTEGER`` | |
++-----------------+--------------------------------+---------------------------------------------+
+|``JAVA_OBJECT`` |``BLOB`` |Will be read back as ``LONGVARBINARY`` |
++-----------------+--------------------------------+---------------------------------------------+
+|``LONGVARBINARY``|``BLOB`` | |
++-----------------+--------------------------------+---------------------------------------------+
+|``LONGVARCHAR`` |``BLOB SUB_TYPE TEXT`` | |
++-----------------+--------------------------------+---------------------------------------------+
+|``NULL`` |``BLOB`` |Will be read back as ``LONGVARBINARY`` |
++-----------------+--------------------------------+---------------------------------------------+
+|``NUMERIC`` |``NUMERIC`` | |
++-----------------+--------------------------------+---------------------------------------------+
+|``OTHER`` |``BLOB`` |Will be read back as ``LONGVARBINARY`` |
++-----------------+--------------------------------+---------------------------------------------+
+|``REAL`` |``FLOAT`` | |
++-----------------+--------------------------------+---------------------------------------------+
+|``REF`` |``BLOB`` |Will be read back as ``LONGVARBINARY`` |
++-----------------+--------------------------------+---------------------------------------------+
+|``SMALLINT`` |``SMALLINT`` | |
++-----------------+--------------------------------+---------------------------------------------+
+|``STRUCT`` |``BLOB`` |Will be read back as ``LONGVARBINARY`` |
++-----------------+--------------------------------+---------------------------------------------+
+|``TIME`` |``TIME`` | |
++-----------------+--------------------------------+---------------------------------------------+
+|``TIMESTAMP`` |``TIMESTAMP`` | |
++-----------------+--------------------------------+---------------------------------------------+
+|``TINYINT`` |``SMALLINT`` |Will be read back as ``SMALLINT`` |
++-----------------+--------------------------------+---------------------------------------------+
+|``VARBINARY`` |``BLOB`` |Will be read back as ``LONGVARBINARY`` |
++-----------------+--------------------------------+---------------------------------------------+
+|``VARCHAR`` |``VARCHAR`` | |
++-----------------+--------------------------------+---------------------------------------------+
diff --git a/src/site/sphinx/databases/hsqldb.rst b/src/site/sphinx/databases/hsqldb.rst
new file mode 100644
index 0000000..f516231
--- /dev/null
+++ b/src/site/sphinx/databases/hsqldb.rst
@@ -0,0 +1,145 @@
+.. Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements. See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership. The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+
+.. _`HSQLDB`: http://www.hsqldb.org/
+.. _`HSQLDB SQL manual`: http://www.hsqldb.org/doc/guide/ch09.html
+
+HsqlDB
+======
+
+DdlUtils supports the `HSQLDB`_ database, version 1.7.2 or newer. SQL Documentation for
+HSQLDB can be found in the distribution, and for the newest version in the
+`HSQLDB SQL manual`_.
+
+Constraints
+-----------
+
+Platform identifier
+ ``HsqlDb``
+
+Recognized JDBC drivers
+ ``org.hsqldb.jdbcDriver``
+
+Recognized JDBC sub protocols
+ ``jdbc:hsqldb``
+
+Supports SQL comments
+ yes
+
+Supports delimited identifiers
+ yes
+
+Maximum identifier length
+ unlimited
+
+Supports default values for ``LONG`` types
+ yes
+
+Supports non-unique indices
+ yes
+
+Supports non-primary key columns as identity columns
+ no
+
+Allows ``INSERT``/``UPDATE`` statements to set values for identity columns
+ yes
+
+DdlUtils uses sequences for identity columns
+ no
+
+DdlUtils can read back the auto-generated value of an identity column
+ yes
+
+DdlUtils can create a database via JDBC
+ no
+
+DdlUtils can drop a database via JDBC
+ no
+
+Datatypes
+---------
+
++-----------------+--------------------------------+---------------------------------------------+
+|JDBC Type |Database Type |Additional comments |
++=================+================================+=============================================+
+|``ARRAY`` |``LONGVARBINARY`` |Will be read back as ``LONGVARBINARY`` |
++-----------------+--------------------------------+---------------------------------------------+
+|``BIGINT`` |``BIGINT`` | |
++-----------------+--------------------------------+---------------------------------------------+
+|``BINARY`` |``BINARY`` | |
++-----------------+--------------------------------+---------------------------------------------+
+|``BIT`` |``BOOLEAN`` |Will be read back as ``BOOLEAN`` |
++-----------------+--------------------------------+---------------------------------------------+
+|``BLOB`` |``LONGVARBINARY`` |Will be read back as ``LONGVARBINARY`` |
++-----------------+--------------------------------+---------------------------------------------+
+|``BOOLEAN`` |``BOOLEAN`` |``BOOLEAN`` is supported natively by Hsqldb |
+| | |only since version 1.7.2 |
++-----------------+--------------------------------+---------------------------------------------+
+|``CHAR`` |``CHAR`` |The size is optional, by default Hsqldb does |
+| | |not enforce it |
++-----------------+--------------------------------+---------------------------------------------+
+|``CLOB`` |``LONGVARCHAR`` |Will be read back as ``LONGVARCHAR`` |
++-----------------+--------------------------------+---------------------------------------------+
+|``DATALINK`` |``LONGVARBINARY`` |Will be read back as ``LONGVARBINARY`` |
++-----------------+--------------------------------+---------------------------------------------+
+|``DATE`` |``DATE`` | |
++-----------------+--------------------------------+---------------------------------------------+
+|``DECIMAL`` |``DECIMAL`` |Precision and scale are ignored by Hsqldb, as|
+| | |it uses unlimited precision and scale |
++-----------------+--------------------------------+---------------------------------------------+
+|``DISTINCT`` |``LONGVARBINARY`` |Will be read back as ``LONGVARBINARY`` |
++-----------------+--------------------------------+---------------------------------------------+
+|``DOUBLE`` |``DOUBLE`` | |
++-----------------+--------------------------------+---------------------------------------------+
+|``FLOAT`` |``DOUBLE`` |Will be read back as ``DOUBLE`` |
++-----------------+--------------------------------+---------------------------------------------+
+|``INTEGER`` |``INTEGER`` | |
++-----------------+--------------------------------+---------------------------------------------+
+|``JAVA_OBJECT`` |``OBJECT`` | |
++-----------------+--------------------------------+---------------------------------------------+
+|``LONGVARBINARY``|``LONGVARBINARY`` | |
++-----------------+--------------------------------+---------------------------------------------+
+|``LONGVARCHAR`` |``LONGVARCHAR`` | |
++-----------------+--------------------------------+---------------------------------------------+
+|``NULL`` |``LONGVARBINARY`` |Will be read back as ``LONGVARBINARY`` |
++-----------------+--------------------------------+---------------------------------------------+
+|``NUMERIC`` |``NUMERIC`` |Precision and scale are ignored by Hsqldb, as|
+| | |it uses unlimited precision and scale |
++-----------------+--------------------------------+---------------------------------------------+
+|``OTHER`` |``OTHER`` | |
++-----------------+--------------------------------+---------------------------------------------+
+|``REAL`` |``REAL`` | |
++-----------------+--------------------------------+---------------------------------------------+
+|``REF`` |``LONGVARBINARY`` |Will be read back as ``LONGVARBINARY`` |
++-----------------+--------------------------------+---------------------------------------------+
+|``SMALLINT`` |``SMALLINT`` | |
++-----------------+--------------------------------+---------------------------------------------+
+|``STRUCT`` |``LONGVARBINARY`` |Will be read back as ``LONGVARBINARY`` |
++-----------------+--------------------------------+---------------------------------------------+
+|``TIME`` |``TIME`` | |
++-----------------+--------------------------------+---------------------------------------------+
+|``TIMESTAMP`` |``TIMESTAMP`` | |
++-----------------+--------------------------------+---------------------------------------------+
+|``TINYINT`` |``SMALLINT`` |JDBC's ``TINYINT`` requires a value range of |
+| | |-255 to 255, but HsqlDb's is only -128 to |
+| | |127. Will be read back as ``SMALLINT`` |
++-----------------+--------------------------------+---------------------------------------------+
+|``VARBINARY`` |``VARBINARY`` | |
++-----------------+--------------------------------+---------------------------------------------+
+|``VARCHAR`` |``VARCHAR`` |The size is optional, by default Hsqldb does |
+| | |not enforce it |
++-----------------+--------------------------------+---------------------------------------------+
diff --git a/src/site/sphinx/databases/index.rst b/src/site/sphinx/databases/index.rst
new file mode 100644
index 0000000..b092393
--- /dev/null
+++ b/src/site/sphinx/databases/index.rst
@@ -0,0 +1,36 @@
+.. Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements. See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership. The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+
+Database details
+================
+
+.. toctree::
+ :maxdepth: 2
+
+ axion
+ db2
+ derby
+ firebird
+ hsqldb
+ interbase
+ maxdb
+ mckoi
+ mysql
+ oracle
+ postgresql
+ sqlserver
+ sybase
\ No newline at end of file
diff --git a/src/site/sphinx/databases/interbase.rst b/src/site/sphinx/databases/interbase.rst
new file mode 100644
index 0000000..5c87910
--- /dev/null
+++ b/src/site/sphinx/databases/interbase.rst
@@ -0,0 +1,143 @@
+.. Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements. See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership. The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+
+.. _`Interbase`: http://www.codegear.com/tabid/125/Default.aspx
+
+Interbase
+=========
+
+DdlUtils supports `Interbase`_ version 7.0 and above.
+
+Constraints
+-----------
+
+Platform identifier
+ ``Interbase``
+
+Recognized JDBC drivers
+ ``interbase.interclient.Driver``
+
+Recognized JDBC sub protocols
+ ``jdbc:interbase``
+
+Supports SQL comments
+ yes
+
+Supports delimited identifiers
+ yes
+
+Maximum identifier length
+ 31
+
+Supports default values for ``LONG`` types
+ yes
+
+Supports non-unique indices
+ yes
+
+Supports non-primary key columns as identity columns
+ yes
+
+Allows ``INSERT``/``UPDATE`` statements to set values for identity columns
+ yes
+
+DdlUtils uses sequences for identity columns
+ DdlUtils uses a ``GENERATOR``
+
+DdlUtils can read back the auto-generated value of an identity column
+ yes
+
+DdlUtils can create a database via JDBC
+ no
+
+DdlUtils can drop a database via JDBC
+ no
+
+Datatypes
+---------
+
++-----------------+--------------------------------+---------------------------------------------+
+|JDBC Type |Database Type |Additional comments |
++=================+================================+=============================================+
+|``ARRAY`` |``BLOB`` |Will be read back as ``LONGVARBINARY`` |
++-----------------+--------------------------------+---------------------------------------------+
+|``BIGINT`` |``NUMERIC(18,0)`` | |
++-----------------+--------------------------------+---------------------------------------------+
+|``BINARY`` |``BLOB`` |We could use ``CHAR(n) CHARACTER SET OCTETS``|
+| | |but the JDBC driver cannot handle these types|
+| | |properly. Will be read back as |
+| | |``LONGVARBINARY`` |
++-----------------+--------------------------------+---------------------------------------------+
+|``BIT`` |``SMALLINT`` |Interbase has no native boolean type. |
+| | |Will be read back as ``SMALLINT`` |
++-----------------+--------------------------------+---------------------------------------------+
+|``BLOB`` |``BLOB`` |Will be read back as ``LONGVARBINARY`` |
++-----------------+--------------------------------+---------------------------------------------+
+|``BOOLEAN`` |``SMALLINT`` |Interbase has no native boolean type. |
+| | |Will be read back as ``SMALLINT`` |
++-----------------+--------------------------------+---------------------------------------------+
+|``CHAR`` |``CHAR`` | |
++-----------------+--------------------------------+---------------------------------------------+
+|``CLOB`` |``BLOB SUB_TYPE TEXT`` | |
++-----------------+--------------------------------+---------------------------------------------+
+|``DATALINK`` |``BLOB`` |Will be read back as ``LONGVARBINARY`` |
++-----------------+--------------------------------+---------------------------------------------+
+|``DATE`` |``DATE`` | |
++-----------------+--------------------------------+---------------------------------------------+
+|``DECIMAL`` |``DECIMAL`` | |
++-----------------+--------------------------------+---------------------------------------------+
+|``DISTINCT`` |``BLOB`` |Will be read back as ``LONGVARBINARY`` |
++-----------------+--------------------------------+---------------------------------------------+
+|``DOUBLE`` |``DOUBLE PRECISION`` | |
++-----------------+--------------------------------+---------------------------------------------+
+|``FLOAT`` |``DOUBLE PRECISION`` |Will be read back as ``DOUBLE`` |
++-----------------+--------------------------------+---------------------------------------------+
+|``INTEGER`` |``INTEGER`` | |
++-----------------+--------------------------------+---------------------------------------------+
+|``JAVA_OBJECT`` |``BLOB`` |Will be read back as ``LONGVARBINARY`` |
++-----------------+--------------------------------+---------------------------------------------+
+|``LONGVARBINARY``|``BLOB`` | |
++-----------------+--------------------------------+---------------------------------------------+
+|``LONGVARCHAR`` |``BLOB SUB_TYPE TEXT`` |Will be read back as ``CLOB`` |
++-----------------+--------------------------------+---------------------------------------------+
+|``NULL`` |``BLOB`` |Will be read back as ``LONGVARBINARY`` |
++-----------------+--------------------------------+---------------------------------------------+
+|``NUMERIC`` |``NUMERIC`` | |
++-----------------+--------------------------------+---------------------------------------------+
+|``OTHER`` |``BLOB`` |Will be read back as ``LONGVARBINARY`` |
++-----------------+--------------------------------+---------------------------------------------+
+|``REAL`` |``FLOAT`` | |
++-----------------+--------------------------------+---------------------------------------------+
+|``REF`` |``BLOB`` |Will be read back as ``LONGVARBINARY`` |
++-----------------+--------------------------------+---------------------------------------------+
+|``SMALLINT`` |``SMALLINT`` | |
++-----------------+--------------------------------+---------------------------------------------+
+|``STRUCT`` |``BLOB`` |Will be read back as ``LONGVARBINARY`` |
++-----------------+--------------------------------+---------------------------------------------+
+|``TIME`` |``TIME`` | |
++-----------------+--------------------------------+---------------------------------------------+
+|``TIMESTAMP`` |``TIMESTAMP`` | |
++-----------------+--------------------------------+---------------------------------------------+
+|``TINYINT`` |``SMALLINT`` |Will be read back as ``SMALLINT`` |
++-----------------+--------------------------------+---------------------------------------------+
+|``VARBINARY`` |``BLOB`` |We could use ``VARCHAR(n) CHARACTER SET |
+| | |OCTETS`` but the JDBC driver cannot handle |
+| | |these types properly. Will be read back as |
+| | |``LONGVARBINARY`` |
++-----------------+--------------------------------+---------------------------------------------+
+|``VARCHAR`` |``VARCHAR`` | |
++-----------------+--------------------------------+---------------------------------------------+
diff --git a/src/site/sphinx/databases/maxdb.rst b/src/site/sphinx/databases/maxdb.rst
new file mode 100644
index 0000000..bd90004
--- /dev/null
+++ b/src/site/sphinx/databases/maxdb.rst
@@ -0,0 +1,142 @@
+.. Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements. See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership. The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+
+.. _`SapDB`: http://www.sapdb.org/
+.. _`SapDB Reference manual`: http://www.sapdb.org/pdf/reference_72_73eng.pdf
+.. _`MaxDB`: http://www.mysql.com/products/maxdb/
+.. _`MaxDB documentation`: http://dev.mysql.com/get/Downloads/MaxDB/7.5.00/maxdb-chmdoc-75.chm/from/pick
+
+MaxDB/SapDB
+===========
+
+The `SapDB`_ database had been open-sourced and rebranded as `MaxDB`_ in version 7.4. DdlUtils supports
+SapDB version 7.2 and newer, and MaxDB version 7.5, and newer. Documentation of the SQL supported by
+SapDB can be found in the `SapDB Reference manual`_. Documentation for MaxDB is found in the
+`MaxDB documentation`_.
+
+Constraints
+-----------
+
+Platform identifier
+ | ``MaxDB``
+ | ``SapDB``
+
+Recognized JDBC drivers
+ ``com.sap.dbtech.jdbc.DriverSapDB``
+
+Recognized JDBC sub protocols
+ ``jdbc:sapdb``
+
+Supports SQL comments
+ yes
+
+Supports delimited identifiers
+ yes
+
+Maximum identifier length
+ 32
+
+Supports default values for ``LONG`` types
+ yes
+
+Supports non-unique indices
+ yes
+
+Supports non-primary key columns as identity columns
+ yes
+
+Allows ``INSERT``/``UPDATE`` statements to set values for identity columns
+ yes
+
+DdlUtils uses sequences for identity columns
+ no
+
+DdlUtils can read back the auto-generated value of an identity column
+ yes
+
+DdlUtils can create a database via JDBC
+ no
+
+DdlUtils can drop a database via JDBC
+ no
+
+Datatypes
+---------
+
++-----------------+--------------------------------+---------------------------------------------+
+|JDBC Type |Database Type |Additional comments |
++=================+================================+=============================================+
+|``ARRAY`` |``LONG BYTE`` |Will be read back as ``LONGVARBINARY`` |
++-----------------+--------------------------------+---------------------------------------------+
+|``BIGINT`` |``FIXED(38,0)`` | |
++-----------------+--------------------------------+---------------------------------------------+
+|``BINARY`` |``CHAR(n) BYTE`` | |
++-----------------+--------------------------------+---------------------------------------------+
+|``BIT`` |``BOOLEAN`` | |
++-----------------+--------------------------------+---------------------------------------------+
+|``BLOB`` |``LONG BYTE`` |Will be read back as ``LONGVARBINARY`` |
++-----------------+--------------------------------+---------------------------------------------+
+|``BOOLEAN`` |``BOOLEAN`` |Will be read back as ``BIT`` |
++-----------------+--------------------------------+---------------------------------------------+
+|``CHAR`` |``CHAR`` | |
++-----------------+--------------------------------+---------------------------------------------+
+|``CLOB`` |``LONG`` |Will be read back as ``LONGVARCHAR`` |
++-----------------+--------------------------------+---------------------------------------------+
+|``DATALINK`` |``LONG BYTE`` |Will be read back as ``LONGVARBINARY`` |
++-----------------+--------------------------------+---------------------------------------------+
+|``DATE`` |``DATE`` | |
++-----------------+--------------------------------+---------------------------------------------+
+|``DECIMAL`` |``FIXED`` | |
++-----------------+--------------------------------+---------------------------------------------+
+|``DISTINCT`` |``LONG BYTE`` |Will be read back as ``LONGVARBINARY`` |
++-----------------+--------------------------------+---------------------------------------------+
+|``DOUBLE`` |``FLOAT(38)`` |Will be read back as ``FLOAT`` |
++-----------------+--------------------------------+---------------------------------------------+
+|``FLOAT`` |``FLOAT(38)`` | |
++-----------------+--------------------------------+---------------------------------------------+
+|``INTEGER`` |``INTEGER`` | |
++-----------------+--------------------------------+---------------------------------------------+
+|``JAVA_OBJECT`` |``LONG BYTE`` |Will be read back as ``LONGVARBINARY`` |
++-----------------+--------------------------------+---------------------------------------------+
+|``LONGVARBINARY``|``LONG BYTE`` | |
++-----------------+--------------------------------+---------------------------------------------+
+|``LONGVARCHAR`` |``LONG`` | |
++-----------------+--------------------------------+---------------------------------------------+
+|``NULL`` |``LONG BYTE`` |Will be read back as ``LONGVARBINARY`` |
++-----------------+--------------------------------+---------------------------------------------+
+|``NUMERIC`` |``FIXED`` |Will be read back as ``DECIMAL`` |
++-----------------+--------------------------------+---------------------------------------------+
+|``OTHER`` |``LONG BYTE`` |Will be read back as ``LONGVARBINARY`` |
++-----------------+--------------------------------+---------------------------------------------+
+|``REAL`` |``FLOAT(16)`` |Will be read back as ``FLOAT`` |
++-----------------+--------------------------------+---------------------------------------------+
+|``REF`` |``LONG BYTE`` |Will be read back as ``LONGVARBINARY`` |
++-----------------+--------------------------------+---------------------------------------------+
+|``SMALLINT`` |``SMALLINT`` | |
++-----------------+--------------------------------+---------------------------------------------+
+|``STRUCT`` |``LONG BYTE`` |Will be read back as ``LONGVARBINARY`` |
++-----------------+--------------------------------+---------------------------------------------+
+|``TIME`` |``TIME`` | |
++-----------------+--------------------------------+---------------------------------------------+
+|``TIMESTAMP`` |``TIMESTAMP`` | |
++-----------------+--------------------------------+---------------------------------------------+
+|``TINYINT`` |``SMALLINT`` |Will be read back as ``SMALLINT`` |
++-----------------+--------------------------------+---------------------------------------------+
+|``VARBINARY`` |``VARCHAR(n) BYTE`` | |
++-----------------+--------------------------------+---------------------------------------------+
+|``VARCHAR`` |``VARCHAR`` | |
++-----------------+--------------------------------+---------------------------------------------+
diff --git a/src/site/sphinx/databases/mckoi.rst b/src/site/sphinx/databases/mckoi.rst
new file mode 100644
index 0000000..afebd10
--- /dev/null
+++ b/src/site/sphinx/databases/mckoi.rst
@@ -0,0 +1,138 @@
+.. Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements. See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership. The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+
+.. _`McKoi`: http://www.mckoi.com/database/
+.. _`Database manual`: http://www.mckoi.com/database/docindex.html
+
+McKoi
+=====
+
+The open source database `McKoi`_ is supported beginning with version 1.0.3.
+Details on the supported SQL and datatypes can be found in Chapter 2 of the
+`Database Manual`_.
+
+Constraints
+-----------
+
+Platform identifier
+ ``McKoi``
+
+Recognized JDBC drivers
+ ``com.mckoi.JDBCDriver``
+
+Recognized JDBC sub protocols
+ ``jdbc:mckoi``
+
+Supports SQL comments
+ yes
+
+Supports delimited identifiers
+ yes
+
+Maximum identifier length
+ unlimited
+
+Supports default values for ``LONG`` types
+ yes
+
+Supports non-unique indices
+ no
+
+Supports non-primary key columns as identity columns
+ yes
+
+Allows ``INSERT``/``UPDATE`` statements to set values for identity columns
+ yes
+
+DdlUtils uses sequences for identity columns
+ yes
+
+DdlUtils can read back the auto-generated value of an identity column
+ yes
+
+DdlUtils can create a database via JDBC
+ yes
+
+DdlUtils can drop a database via JDBC
+ no
+
+Datatypes
+---------
+
++-----------------+--------------------------------+---------------------------------------------+
+|JDBC Type |Database Type |Additional comments |
++=================+================================+=============================================+
+|``ARRAY`` |``BLOB`` |Will be read back as ``BLOB`` |
++-----------------+--------------------------------+---------------------------------------------+
+|``BIGINT`` |``BIGINT`` | |
++-----------------+--------------------------------+---------------------------------------------+
+|``BINARY`` |``BINARY`` | |
++-----------------+--------------------------------+---------------------------------------------+
+|``BIT`` |``BOOLEAN`` |Will be read back as ``BOOLEAN`` |
++-----------------+--------------------------------+---------------------------------------------+
+|``BLOB`` |``BLOB`` | |
++-----------------+--------------------------------+---------------------------------------------+
+|``BOOLEAN`` |``BOOLEAN`` | |
++-----------------+--------------------------------+---------------------------------------------+
+|``CHAR`` |``CHAR`` | |
++-----------------+--------------------------------+---------------------------------------------+
+|``CLOB`` |``CLOB`` | |
++-----------------+--------------------------------+---------------------------------------------+
+|``DATALINK`` |``BLOB`` |Will be read back as ``BLOB`` |
++-----------------+--------------------------------+---------------------------------------------+
+|``DATE`` |``DATE`` | |
++-----------------+--------------------------------+---------------------------------------------+
+|``DECIMAL`` |``DECIMAL`` | |
++-----------------+--------------------------------+---------------------------------------------+
+|``DISTINCT`` |``BLOB`` |Will be read back as ``BLOB`` |
++-----------------+--------------------------------+---------------------------------------------+
+|``DOUBLE`` |``DOUBLE`` | |
++-----------------+--------------------------------+---------------------------------------------+
+|``FLOAT`` |``DOUBLE`` |Will be read back as ``DOUBLE`` |
++-----------------+--------------------------------+---------------------------------------------+
+|``INTEGER`` |``INTEGER`` | |
++-----------------+--------------------------------+---------------------------------------------+
+|``JAVA_OBJECT`` |``JAVA_OBJECT`` | |
++-----------------+--------------------------------+---------------------------------------------+
+|``LONGVARBINARY``|``LONGVARBINARY`` | |
++-----------------+--------------------------------+---------------------------------------------+
+|``LONGVARCHAR`` |``LONGVARCHAR`` | |
++-----------------+--------------------------------+---------------------------------------------+
+|``NULL`` |``BLOB`` |Will be read back as ``BLOB`` |
++-----------------+--------------------------------+---------------------------------------------+
+|``NUMERIC`` |``NUMERIC`` | |
++-----------------+--------------------------------+---------------------------------------------+
+|``OTHER`` |``BLOB`` |Will be read back as ``BLOB`` |
++-----------------+--------------------------------+---------------------------------------------+
+|``REAL`` |``REAL`` | |
++-----------------+--------------------------------+---------------------------------------------+
+|``REF`` |``BLOB`` |Will be read back as ``BLOB`` |
++-----------------+--------------------------------+---------------------------------------------+
+|``SMALLINT`` |``SMALLINT`` | |
++-----------------+--------------------------------+---------------------------------------------+
+|``STRUCT`` |``BLOB`` |Will be read back as ``BLOB`` |
++-----------------+--------------------------------+---------------------------------------------+
+|``TIME`` |``TIME`` | |
++-----------------+--------------------------------+---------------------------------------------+
+|``TIMESTAMP`` |``TIMESTAMP`` | |
++-----------------+--------------------------------+---------------------------------------------+
+|``TINYINT`` |``TINYINT`` | |
++-----------------+--------------------------------+---------------------------------------------+
+|``VARBINARY`` |``VARBINARY`` | |
++-----------------+--------------------------------+---------------------------------------------+
+|``VARCHAR`` |``VARCHAR`` | |
++-----------------+--------------------------------+---------------------------------------------+
diff --git a/src/site/sphinx/databases/mysql.rst b/src/site/sphinx/databases/mysql.rst
new file mode 100644
index 0000000..9616292
--- /dev/null
+++ b/src/site/sphinx/databases/mysql.rst
@@ -0,0 +1,156 @@
+.. Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements. See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership. The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+
+.. _`MySQL`: http://www.mysql.com/products/mysql/
+.. _`MySQL Reference Manual`: http://dev.mysql.com/doc/mysql/en/index.html
+
+MySQL
+=====
+
+`MySQL`_ is supported from version 3.23 onwards. Note that the major versions
+(3, 4, 5) differ in their datatype support. The supported SQL syntax and datatypes
+can be found in the `MySQL Reference Manual`_.
+
+DdlUtils provides two platforms, one for MySql versions 3 and 4, and one for MySql version 5 and above.
+The latter implements some aspects of reading back a model from the database differently to address
+some changes in MySql 5.
+
+Constraints
+-----------
+
+Platform identifier
+ | ``MySQL`` for MySql 3 and 4
+ | ``MySQL5`` for MySql 5
+
+Recognized JDBC drivers
+ | ``com.mysql.jdbc.Driver``
+ | ``org.gjt.mm.mysql.Driver``
+
+Recognized JDBC sub protocols
+ ``jdbc:mysql``
+
+Supports SQL comments
+ yes
+
+Supports delimited identifiers
+ yes
+
+Maximum identifier length
+ 64
+
+Supports default values for ``LONG`` types
+ no
+
+Supports non-unique indices
+ yes
+
+Supports non-primary key columns as identity columns
+ no
+
+Allows ``INSERT``/``UPDATE`` statements to set values for identity columns
+ yes
+
+DdlUtils uses sequences for identity columns
+ no
+
+DdlUtils can read back the auto-generated value of an identity column
+ yes
+
+DdlUtils can create a database via JDBC
+ no
+
+DdlUtils can drop a database via JDBC
+ no
+
+Datatypes
+---------
+
++-----------------+--------------------------------+---------------------------------------------+
+|JDBC Type |Database Type |Additional comments |
++=================+================================+=============================================+
+|``ARRAY`` |``LONGBLOB`` |Will be read back as ``LONGVARBINARY`` |
++-----------------+--------------------------------+---------------------------------------------+
+|``BIGINT`` |``BIGINT`` | |
++-----------------+--------------------------------+---------------------------------------------+
+|``BINARY`` |``BINARY`` | |
++-----------------+--------------------------------+---------------------------------------------+
+|``BIT`` |``TINYINT(1)`` |MySql has no native boolean type. |
++-----------------+--------------------------------+---------------------------------------------+
+|``BLOB`` |``LONGBLOB`` |Will be read back as ``LONGVARBINARY`` |
++-----------------+--------------------------------+---------------------------------------------+
+|``BOOLEAN`` |``TINYINT(1)`` |MySql has no native boolean type. |
+| | |Will be read back as ``BIT`` |
++-----------------+--------------------------------+---------------------------------------------+
+|``CHAR`` |``CHAR`` | |
++-----------------+--------------------------------+---------------------------------------------+
+|``CLOB`` |``LONGTEXT`` |Will be read back as ``LONGVARCHAR`` |
++-----------------+--------------------------------+---------------------------------------------+
+|``DATALINK`` |``MEDIUMBLOB`` |Will be read back as ``LONGVARBINARY`` |
++-----------------+--------------------------------+---------------------------------------------+
+|``DATE`` |``DATE`` | |
++-----------------+--------------------------------+---------------------------------------------+
+|``DECIMAL`` |``DECIMAL`` | |
++-----------------+--------------------------------+---------------------------------------------+
+|``DISTINCT`` |``LONGBLOB`` |Will be read back as ``LONGVARBINARY`` |
++-----------------+--------------------------------+---------------------------------------------+
+|``DOUBLE`` |``DOUBLE`` | |
++-----------------+--------------------------------+---------------------------------------------+
+|``FLOAT`` |``DOUBLE`` |Will be read back as ``DOUBLE`` |
++-----------------+--------------------------------+---------------------------------------------+
+|``INTEGER`` |``INTEGER`` | |
++-----------------+--------------------------------+---------------------------------------------+
+|``JAVA_OBJECT`` |``LONGBLOB`` |Will be read back as ``LONGVARBINARY`` |
++-----------------+--------------------------------+---------------------------------------------+
+|``LONGVARBINARY``|``MEDIUMBLOB`` | |
++-----------------+--------------------------------+---------------------------------------------+
+|``LONGVARCHAR`` |``MEDIUMTEXT`` | |
++-----------------+--------------------------------+---------------------------------------------+
+|``NULL`` |``MEDIUMTEXT`` |Will be read back as ``LONGVARBINARY`` |
++-----------------+--------------------------------+---------------------------------------------+
+|``NUMERIC`` |``DECIMAL`` |Will be read back as ``DECIMAL`` |
++-----------------+--------------------------------+---------------------------------------------+
+|``OTHER`` |``LONGBLOB`` |Will be read back as ``LONGVARBINARY`` |
++-----------------+--------------------------------+---------------------------------------------+
+|``REAL`` |``FLOAT`` |MySQL has a ``REAL`` datatype that is by |
+| | |default an alias for ``DOUBLE``, though it |
+| | |might be mapped to ``FLOAT`` via server |
+| | |configuration. Therefore, DdlUtils explicitly|
+| | |uses ``FLOAT``. Will be read back as |
+| | |``FLOAT`` |
++-----------------+--------------------------------+---------------------------------------------+
+|``REF`` |``MEDIUMBLOB`` |Will be read back as ``LONGVARBINARY`` |
++-----------------+--------------------------------+---------------------------------------------+
+|``SMALLINT`` |``SMALLINT`` | |
++-----------------+--------------------------------+---------------------------------------------+
+|``STRUCT`` |``LONGBLOB`` |Will be read back as ``LONGVARBINARY`` |
++-----------------+--------------------------------+---------------------------------------------+
+|``TIME`` |``TIME`` | |
++-----------------+--------------------------------+---------------------------------------------+
+|``TIMESTAMP`` |``DATETIME`` |``TIMESTAMP`` is not a stable MySQL datatype |
+| | |yet, and it does not support a higher |
+| | |precision than ``DATETIME`` (year - seconds) |
+| | |as of MySQL 5. DdlUtils thus maps the JDBC |
+| | |type to ``DATETIME`` instead. |
++-----------------+--------------------------------+---------------------------------------------+
+|``TINYINT`` |``SMALLINT`` |In MySQL, ``TINYINT`` only has a range of |
+| | |-128 to +127. Thus DdlUtils uses ``SMALLINT``|
+| | |instead. Will be read back as ``SMALLINT`` |
++-----------------+--------------------------------+---------------------------------------------+
+|``VARBINARY`` |``VARBINARY`` | |
++-----------------+--------------------------------+---------------------------------------------+
+|``VARCHAR`` |``VARCHAR`` | |
++-----------------+--------------------------------+---------------------------------------------+
diff --git a/src/site/sphinx/databases/oracle.rst b/src/site/sphinx/databases/oracle.rst
new file mode 100644
index 0000000..ede82e1
--- /dev/null
+++ b/src/site/sphinx/databases/oracle.rst
@@ -0,0 +1,158 @@
+.. Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements. See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership. The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+
+.. _`Oracle database`: http://www.oracle.com/us/products/database/index.html
+.. _`Oracle database documentation`: http://www.oracle.com/technetwork/indexes/documentation/index.html#database
+
+Oracle
+======
+
+DdlUtils has support for the `Oracle database`_ for versions 8.1.7 and above.
+
+Info about the datatypes and SQL elements supported in the individual versions can be found in the
+Oracle SQL Reference which can be accessed via the `Oracle database documentation`_.
+
+DdlUtils provides different platforms for Oracle v8, v9, and v10. The v9 platform adds support for
+the native ``TIMESTAMP`` type, and the v10 platform handles the recycle bin that was introduced in
+version 10 of the Oracle database.
+
+Note that DdlUtils currently does not automatically detect the database version, so it will always
+choose the v8 version. If you want to make use of the additional features, then you have to
+specify the platform identifier manually.
+
+Constraints
+-----------
+
+Platform identifier
+ | ``Oracle``
+ | ``Oracle9``
+ | ``Oracle10``
+
+Recognized JDBC drivers
+ | ``oracle.jdbc.driver.OracleDriver``
+ | ``oracle.jdbc.dnlddriver.OracleDriver``
+
+Recognized JDBC sub protocols
+ | ``jdbc:oracle:thin``
+ | ``jdbc:oracle:oci8``
+ | ``jdbc:oracle:dnldthin``
+
+Supports SQL comments
+ yes
+
+Supports delimited identifiers
+ yes
+
+Maximum identifier length
+ 30
+
+Supports default values for ``LONG`` types
+ yes
+
+Supports non-unique indices
+ yes
+
+Supports non-primary key columns as identity columns
+ yes
+
+Allows ``INSERT``/``UPDATE`` statements to set values for identity columns
+ yes
+
+DdlUtils uses sequences for identity columns
+ yes
+
+DdlUtils can read back the auto-generated value of an identity column
+ yes
+
+DdlUtils can create a database via JDBC
+ no
+
+DdlUtils can drop a database via JDBC
+ no
+
+Datatypes
+---------
+
++-----------------+--------------------------------+---------------------------------------------+
+|JDBC Type |Database Type |Additional comments |
++=================+================================+=============================================+
+|``ARRAY`` |``BLOB`` |Will be read back as ``BLOB`` |
++-----------------+--------------------------------+---------------------------------------------+
+|``BIGINT`` |``NUMBER(38)`` | |
++-----------------+--------------------------------+---------------------------------------------+
+|``BINARY`` |``RAW`` |Oracle requires the specification of the size|
+| | |for ``RAW`` columns. If no size was |
+| | |specified, then 254 is used. Will be read |
+| | |back as ``VARBINARY`` |
++-----------------+--------------------------------+---------------------------------------------+
+|``BIT`` |``NUMBER(1)`` |Oracle has no native boolean type. |
++-----------------+--------------------------------+---------------------------------------------+
+|``BLOB`` |``BLOB`` | |
++-----------------+--------------------------------+---------------------------------------------+
+|``BOOLEAN`` |``NUMBER(1)`` |Oracle has no native boolean type. |
++-----------------+--------------------------------+---------------------------------------------+
+|``CHAR`` |``CHAR`` | |
++-----------------+--------------------------------+---------------------------------------------+
+|``CLOB`` |``CLOB`` | |
++-----------------+--------------------------------+---------------------------------------------+
+|``DATALINK`` |``BLOB`` |Will be read back as ``BLOB`` |
++-----------------+--------------------------------+---------------------------------------------+
+|``DATE`` |``DATE`` | |
++-----------------+--------------------------------+---------------------------------------------+
+|``DECIMAL`` |``NUMBER`` | |
++-----------------+--------------------------------+---------------------------------------------+
+|``DISTINCT`` |``BLOB`` |Will be read back as ``BLOB`` |
++-----------------+--------------------------------+---------------------------------------------+
+|``DOUBLE`` |``DOUBLE PRECISION`` | |
++-----------------+--------------------------------+---------------------------------------------+
+|``FLOAT`` |``FLOAT`` |Will be read back as ``DOUBLE`` |
++-----------------+--------------------------------+---------------------------------------------+
+|``INTEGER`` |``INTEGER`` | |
++-----------------+--------------------------------+---------------------------------------------+
+|``JAVA_OBJECT`` |``BLOB`` |Will be read back as ``BLOB`` |
++-----------------+--------------------------------+---------------------------------------------+
+|``LONGVARBINARY``|``BLOB`` |Will be read back as ``BLOB`` |
++-----------------+--------------------------------+---------------------------------------------+
+|``LONGVARCHAR`` |``CLOB`` |Will be read back as ``CLOB`` |
++-----------------+--------------------------------+---------------------------------------------+
+|``NULL`` |``BLOB`` |Will be read back as ``BLOB`` |
++-----------------+--------------------------------+---------------------------------------------+
+|``NUMERIC`` |``NUMBER`` |Will be read back as ``DECIMAL`` |
++-----------------+--------------------------------+---------------------------------------------+
+|``OTHER`` |``BLOB`` |Will be read back as ``BLOB`` |
++-----------------+--------------------------------+---------------------------------------------+
+|``REAL`` |``REAL`` | |
++-----------------+--------------------------------+---------------------------------------------+
+|``REF`` |``BLOB`` |Will be read back as ``BLOB`` |
++-----------------+--------------------------------+---------------------------------------------+
+|``SMALLINT`` |``NUMBER(5)`` | |
++-----------------+--------------------------------+---------------------------------------------+
+|``STRUCT`` |``BLOB`` |Will be read back as ``BLOB`` |
++-----------------+--------------------------------+---------------------------------------------+
+|``TIME`` |``DATE`` |Will be read back as ``TIMESTAMP`` |
++-----------------+--------------------------------+---------------------------------------------+
+|``TIMESTAMP`` |Oracle8: ``DATE`` |The TIMESTAMP native type is only supported |
+| |Oracle9/10: ``TIMESTAMP`` |in Oracle 9 and above. |
++-----------------+--------------------------------+---------------------------------------------+
+|``TINYINT`` |``NUMBER(3)`` | |
++-----------------+--------------------------------+---------------------------------------------+
+|``VARBINARY`` |``RAW`` |Oracle requires the specification of the size|
+| | |for ``RAW`` columns. If no size was |
+| | |specified, then 254 is used. |
++-----------------+--------------------------------+---------------------------------------------+
+|``VARCHAR`` |``VARCHAR2`` | |
++-----------------+--------------------------------+---------------------------------------------+
diff --git a/src/site/sphinx/databases/postgresql.rst b/src/site/sphinx/databases/postgresql.rst
new file mode 100644
index 0000000..511e3bb
--- /dev/null
+++ b/src/site/sphinx/databases/postgresql.rst
@@ -0,0 +1,137 @@
+.. Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements. See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership. The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+
+.. _`PostgreSQL`: http://www.postgresql.org/
+.. _`Manual`: http://www.postgresql.org/docs/7.4/interactive/index.html
+
+PostgreSQL
+==========
+
+DdlUtils supports `PostgreSQL`_ version 7.2.8 and newer. SQL syntax details and supported
+datatypes are described in the `Manual`_.
+
+Constraints
+-----------
+
+Platform identifier
+ ``PostgreSql``
+
+Recognized JDBC drivers
+ ``org.postgresql.Driver``
+
+Recognized JDBC sub protocols
+ ``jdbc:oracle:postgresql``
+
+Supports SQL comments
+ yes
+
+Supports delimited identifiers
+ yes
+
+Maximum identifier length
+ 31
+
+Supports default values for ``LONG`` types
+ yes
+
+Supports non-unique indices
+ yes
+
+Supports non-primary key columns as identity columns
+ yes
+
+Allows ``INSERT``/``UPDATE`` statements to set values for identity columns
+ yes
+
+DdlUtils uses sequences for identity columns
+ yes
+
+DdlUtils can read back the auto-generated value of an identity column
+ yes
+
+DdlUtils can create a database via JDBC
+ yes
+
+DdlUtils can drop a database via JDBC
+ yes
+
+Datatypes
+---------
+
++-----------------+--------------------------------+---------------------------------------------+
+|JDBC Type |Database Type |Additional comments |
++=================+================================+=============================================+
+|``ARRAY`` |``BYTEA`` |Will be read back as ``LONGVARBINARY`` |
++-----------------+--------------------------------+---------------------------------------------+
+|``BIGINT`` |``BIGINT`` | |
++-----------------+--------------------------------+---------------------------------------------+
+|``BINARY`` |``BYTEA`` |Will be read back as ``LONGVARBINARY`` |
++-----------------+--------------------------------+---------------------------------------------+
+|``BIT`` |``BOOLEAN`` | |
++-----------------+--------------------------------+---------------------------------------------+
+|``BLOB`` |``BYTEA`` | |
++-----------------+--------------------------------+---------------------------------------------+
+|``BOOLEAN`` |``BOOLEAN`` |Will be read back as ``BIT`` |
++-----------------+--------------------------------+---------------------------------------------+
+|``CHAR`` |``CHAR`` | |
++-----------------+--------------------------------+---------------------------------------------+
+|``CLOB`` |``TEXT`` |Will be read back as ``LONGVARCHAR`` |
++-----------------+--------------------------------+---------------------------------------------+
+|``DATALINK`` |``BYTEA`` |Will be read back as ``LONGVARBINARY`` |
++-----------------+--------------------------------+---------------------------------------------+
+|``DATE`` |``DATE`` | |
++-----------------+--------------------------------+---------------------------------------------+
+|``DECIMAL`` |``NUMERIC`` |Will be read back as ``NUMERIC`` |
++-----------------+--------------------------------+---------------------------------------------+
+|``DISTINCT`` |``BYTEA`` |Will be read back as ``LONGVARBINARY`` |
++-----------------+--------------------------------+---------------------------------------------+
+|``DOUBLE`` |``DOUBLE PRECISION`` | |
++-----------------+--------------------------------+---------------------------------------------+
+|``FLOAT`` |``DOUBLE PRECISION`` |Will be read back as ``DOUBLE`` |
++-----------------+--------------------------------+---------------------------------------------+
+|``INTEGER`` |``INTEGER`` | |
++-----------------+--------------------------------+---------------------------------------------+
+|``JAVA_OBJECT`` |``BYTEA`` |Will be read back as ``LONGVARBINARY`` |
++-----------------+--------------------------------+---------------------------------------------+
+|``LONGVARBINARY``|``BYTEA`` | |
++-----------------+--------------------------------+---------------------------------------------+
+|``LONGVARCHAR`` |``TEXT`` | |
++-----------------+--------------------------------+---------------------------------------------+
+|``NULL`` |``BYTEA`` |Will be read back as ``LONGVARBINARY`` |
++-----------------+--------------------------------+---------------------------------------------+
+|``NUMERIC`` |``NUMERIC`` | |
++-----------------+--------------------------------+---------------------------------------------+
+|``OTHER`` |``BYTEA`` |Will be read back as ``LONGVARBINARY`` |
++-----------------+--------------------------------+---------------------------------------------+
+|``REAL`` |``REAL`` | |
++-----------------+--------------------------------+---------------------------------------------+
+|``REF`` |``BYTEA`` |Will be read back as ``LONGVARBINARY`` |
++-----------------+--------------------------------+---------------------------------------------+
+|``SMALLINT`` |``SMALLINT`` | |
++-----------------+--------------------------------+---------------------------------------------+
+|``STRUCT`` |``BYTEA`` |Will be read back as ``LONGVARBINARY`` |
++-----------------+--------------------------------+---------------------------------------------+
+|``TIME`` |``TIME`` | |
++-----------------+--------------------------------+---------------------------------------------+
+|``TIMESTAMP`` |``TIMESTAMP`` | |
++-----------------+--------------------------------+---------------------------------------------+
+|``TINYINT`` |``SMALLINT`` |Will be read back as ``SMALLINT`` |
++-----------------+--------------------------------+---------------------------------------------+
+|``VARBINARY`` |``BYTEA`` |Will be read back as ``LONGVARBINARY`` |
++-----------------+--------------------------------+---------------------------------------------+
+|``VARCHAR`` |``VARCHAR`` | |
++-----------------+--------------------------------+---------------------------------------------+
diff --git a/src/site/sphinx/databases/sqlserver.rst b/src/site/sphinx/databases/sqlserver.rst
new file mode 100644
index 0000000..2f755ef
--- /dev/null
+++ b/src/site/sphinx/databases/sqlserver.rst
@@ -0,0 +1,152 @@
+.. Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements. See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership. The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+
+.. _`Microsoft SQL Server`: http://msdn2.microsoft.com/en-us/sql/default.aspx
+.. _`Transact-SQL manual`: http://msdn.microsoft.com/en-us/library/Aa260642
+
+SQL Server
+==========
+
+The `Microsoft SQL Server`_ is supported form version 6.5 onwards. Information about the
+versions prior to SQL Server 2000 however is difficult to find online, you'll have to resort
+to the documentation accompanying the database. Information for version 2000 can be found
+in the `Transact-SQL manual`_.
+
+If possible, you should use the newest driver available. The older JDBC drivers (for SQL Server 2000 and
+older) provided my Microsoft, are known to be buggy and slow. The newer SQL Server drivers (2005 and newer)
+are preferred and can also work with SQL Server 2000.
+
+Constraints
+-----------
+
+Platform identifier
+ ``MsSql``
+
+Recognized JDBC drivers
+ | ``com.microsoft.jdbc.sqlserver.SQLServerDriver``
+ | ``com.microsoft.sqlserver.jdbc.SQLServerDriver``
+
+Recognized JDBC sub protocols
+ | ``jdbc:microsoft:sqlserver``
+ | ``jdbc:sqlserver``
+ | ``jdbc:sqljdbc``
+
+Supports SQL comments
+ yes
+
+Supports delimited identifiers
+ yes
+
+Maximum identifier length
+ 128
+
+Supports default values for ``LONG`` types
+ yes
+
+Supports non-unique indices
+ yes
+
+Supports non-primary key columns as identity columns
+ yes
+
+Allows ``INSERT``/``UPDATE`` statements to set values for identity columns
+ yes
+
+DdlUtils uses sequences for identity columns
+ yes
+
+DdlUtils can read back the auto-generated value of an identity column
+ yes
+
+DdlUtils can create a database via JDBC
+ no
+
+DdlUtils can drop a database via JDBC
+ no
+
+Datatypes
+---------
+
++-----------------+--------------------------------+---------------------------------------------+
+|JDBC Type |Database Type |Additional comments |
++=================+================================+=============================================+
+|``ARRAY`` |``IMAGE`` |Will be read back as ``LONGVARBINARY`` |
++-----------------+--------------------------------+---------------------------------------------+
+|``BIGINT`` |``DECIMAL(19,0)`` |A native BIGINT type is supported only since |
+| | |SQL Server 2000 |
++-----------------+--------------------------------+---------------------------------------------+
+|``BINARY`` |``BINARY`` | |
++-----------------+--------------------------------+---------------------------------------------+
+|``BIT`` |``BIT`` | |
++-----------------+--------------------------------+---------------------------------------------+
+|``BLOB`` |``IMAGE`` | |
++-----------------+--------------------------------+---------------------------------------------+
+|``BOOLEAN`` |``BIT`` |Will be read back as ``BIT`` |
++-----------------+--------------------------------+---------------------------------------------+
+|``CHAR`` |``CHAR`` | |
++-----------------+--------------------------------+---------------------------------------------+
+|``CLOB`` |``TEXT`` |Will be read back as ``LONGVARCHAR`` |
++-----------------+--------------------------------+---------------------------------------------+
+|``DATALINK`` |``IMAGE`` |Will be read back as ``LONGVARBINARY`` |
++-----------------+--------------------------------+---------------------------------------------+
+|``DATE`` |``DATETIME`` |Will be read back as ``TIMESTAMP`` |
++-----------------+--------------------------------+---------------------------------------------+
+|``DECIMAL`` |``DECIMAL`` | |
++-----------------+--------------------------------+---------------------------------------------+
+|``DISTINCT`` |``IMAGE`` |Will be read back as ``LONGVARBINARY`` |
++-----------------+--------------------------------+---------------------------------------------+
+|``DOUBLE`` |``FLOAT`` |Will be read back as ``FLOAT`` |
++-----------------+--------------------------------+---------------------------------------------+
+|``FLOAT`` |``FLOAT`` | |
++-----------------+--------------------------------+---------------------------------------------+
+|``INTEGER`` |``INT`` | |
++-----------------+--------------------------------+---------------------------------------------+
+|``JAVA_OBJECT`` |``IMAGE`` |Will be read back as ``LONGVARBINARY`` |
++-----------------+--------------------------------+---------------------------------------------+
+|``LONGVARBINARY``|``IMAGE`` | |
++-----------------+--------------------------------+---------------------------------------------+
+|``LONGVARCHAR`` |``TEXT`` | |
++-----------------+--------------------------------+---------------------------------------------+
+|``NULL`` |``IMAGE`` |Will be read back as ``LONGVARBINARY`` |
++-----------------+--------------------------------+---------------------------------------------+
+|``NUMERIC`` |``NUMERIC`` | |
++-----------------+--------------------------------+---------------------------------------------+
+|``OTHER`` |``IMAGE`` |Will be read back as ``LONGVARBINARY`` |
++-----------------+--------------------------------+---------------------------------------------+
+|``REAL`` |``REAL`` | |
++-----------------+--------------------------------+---------------------------------------------+
+|``REF`` |``IMAGE`` |Will be read back as ``LONGVARBINARY`` |
++-----------------+--------------------------------+---------------------------------------------+
+|``SMALLINT`` |``SMALLINT`` | |
++-----------------+--------------------------------+---------------------------------------------+
+|``STRUCT`` |``IMAGE`` |Will be read back as ``LONGVARBINARY`` |
++-----------------+--------------------------------+---------------------------------------------+
+|``TIME`` |``DATETIME`` |Will be read back as ``TIMESTAMP`` |
++-----------------+--------------------------------+---------------------------------------------+
+|``TIMESTAMP`` |``DATETIME`` |The native ``TIMESTAMP`` type of SQL Server |
+| | |serves a different purpose: it provides a |
+| | |counter that automatically increments upon |
+| | |each insertion or update of the table. |
++-----------------+--------------------------------+---------------------------------------------+
+|``TINYINT`` |``SMALLINT`` |The native ``TINYINT`` type only supports |
+| | |values between 0 and 255. Will be read back |
+| | |as ``SMALLINT`` |
++-----------------+--------------------------------+---------------------------------------------+
+|``VARBINARY`` |``VARBINARY`` | |
++-----------------+--------------------------------+---------------------------------------------+
+|``VARCHAR`` |``VARCHAR`` | |
++-----------------+--------------------------------+---------------------------------------------+
diff --git a/src/site/sphinx/databases/sybase.rst b/src/site/sphinx/databases/sybase.rst
new file mode 100644
index 0000000..26f0a2a
--- /dev/null
+++ b/src/site/sphinx/databases/sybase.rst
@@ -0,0 +1,150 @@
+.. Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements. See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership. The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+
+.. _`SQL Server`: http://www.sybase.com/products/archivedproducts/sqlserver
+.. _`Adaptive Server Enterprise`: http://www.sybase.com/products/databasemanagement/adaptiveserverenterprise
+.. _`Documentation search`: http://sybooks.sybase.com/nav/base.do
+.. _`Documentation archive`: http://sybooks.sybase.com/nav/base.do?archive=1
+
+Sybase
+======
+
+DdlUtils supports the Sybase products `SQL Server`_ from version 10.0 on, and
+`Adaptive Server Enterprise`_ from version 11.5 on. The Sybase documentation for old versions
+can be found in the `Documentation archive`_. The manuals for the current versions can be
+found via the `Documentation search`_.
+
+Constraints
+-----------
+
+Platform identifier
+ ``Sybase``
+
+Recognized JDBC drivers
+ | ``com.sybase.jdbc2.jdbc.SybDriver``
+ | ``com.sybase.jdbc.SybDriver``
+
+Recognized JDBC sub protocols
+ ``jdbc:sybase:Tds``
+
+Supports SQL comments
+ yes
+
+Supports delimited identifiers
+ yes
+
+Maximum identifier length
+ 28
+
+Supports default values for ``LONG`` types
+ yes
+
+Supports non-unique indices
+ yes
+
+Supports non-primary key columns as identity columns
+ yes
+
+Allows ``INSERT``/``UPDATE`` statements to set values for identity columns
+ yes
+
+DdlUtils uses sequences for identity columns
+ no
+
+DdlUtils can read back the auto-generated value of an identity column
+ yes
+
+DdlUtils can create a database via JDBC
+ no
+
+DdlUtils can drop a database via JDBC
+ no
+
+Datatypes
+---------
+
++-----------------+--------------------------------+---------------------------------------------+
+|JDBC Type |Database Type |Additional comments |
++=================+================================+=============================================+
+|``ARRAY`` |``IMAGE`` |Will be read back as ``LONGVARBINARY`` |
++-----------------+--------------------------------+---------------------------------------------+
+|``BIGINT`` |``DECIMAL(19,0)`` | |
++-----------------+--------------------------------+---------------------------------------------+
+|``BINARY`` |``BINARY`` | |
++-----------------+--------------------------------+---------------------------------------------+
+|``BIT`` |``SMALLINT`` |The native ``BIT`` type is rather limited |
+| | |(cannot be NULL, cannot be indexed), hence |
+| | |DdlUtils uses ``SMALLINT`` instead. Will be |
+| | |read back as ``SMALLINT`` |
++-----------------+--------------------------------+---------------------------------------------+
+|``BLOB`` |``IMAGE`` | |
++-----------------+--------------------------------+---------------------------------------------+
+|``BOOLEAN`` |``SMALLINT`` |The native ``BIT`` type is rather limited |
+| | |(cannot be NULL, cannot be indexed), hence |
+| | |DdlUtils uses ``SMALLINT`` instead. Will be |
+| | |read back as ``SMALLINT`` |
++-----------------+--------------------------------+---------------------------------------------+
+|``CHAR`` |``CHAR`` | |
++-----------------+--------------------------------+---------------------------------------------+
+|``CLOB`` |``TEXT`` |Will be read back as ``LONGVARCHAR`` |
++-----------------+--------------------------------+---------------------------------------------+
+|``DATALINK`` |``IMAGE`` |Will be read back as ``LONGVARBINARY`` |
++-----------------+--------------------------------+---------------------------------------------+
+|``DATE`` |``DATETIME`` |Will be read back as ``TIMESTAMP`` |
++-----------------+--------------------------------+---------------------------------------------+
+|``DECIMAL`` |``DECIMAL`` | |
++-----------------+--------------------------------+---------------------------------------------+
+|``DISTINCT`` |``IMAGE`` |Will be read back as ``LONGVARBINARY`` |
++-----------------+--------------------------------+---------------------------------------------+
+|``DOUBLE`` |``DOUBLE PRECISION`` | |
++-----------------+--------------------------------+---------------------------------------------+
+|``FLOAT`` |``DOUBLE PRECISION`` |Will be read back as ``FLOAT`` |
++-----------------+--------------------------------+---------------------------------------------+
+|``INTEGER`` |``INT`` | |
++-----------------+--------------------------------+---------------------------------------------+
+|``JAVA_OBJECT`` |``IMAGE`` |Will be read back as ``LONGVARBINARY`` |
++-----------------+--------------------------------+---------------------------------------------+
+|``LONGVARBINARY``|``IMAGE`` | |
++-----------------+--------------------------------+---------------------------------------------+
+|``LONGVARCHAR`` |``TEXT`` | |
++-----------------+--------------------------------+---------------------------------------------+
+|``NULL`` |``IMAGE`` |Will be read back as ``LONGVARBINARY`` |
++-----------------+--------------------------------+---------------------------------------------+
+|``NUMERIC`` |``NUMERIC`` | |
++-----------------+--------------------------------+---------------------------------------------+
+|``OTHER`` |``IMAGE`` |Will be read back as ``LONGVARBINARY`` |
++-----------------+--------------------------------+---------------------------------------------+
+|``REAL`` |``REAL`` | |
++-----------------+--------------------------------+---------------------------------------------+
+|``REF`` |``IMAGE`` |Will be read back as ``LONGVARBINARY`` |
++-----------------+--------------------------------+---------------------------------------------+
+|``SMALLINT`` |``SMALLINT`` | |
++-----------------+--------------------------------+---------------------------------------------+
+|``STRUCT`` |``IMAGE`` |Will be read back as ``LONGVARBINARY`` |
++-----------------+--------------------------------+---------------------------------------------+
+|``TIME`` |``DATETIME`` |Will be read back as ``TIMESTAMP`` |
++-----------------+--------------------------------+---------------------------------------------+
+|``TIMESTAMP`` |``DATETIME`` |Will be read back as ``TIMESTAMP`` |
++-----------------+--------------------------------+---------------------------------------------+
+|``TINYINT`` |``SMALLINT`` |The native ``TINYINT`` type only supports |
+| | |values between 0 and 255. Will be read back |
+| | |as ``SMALLINT`` |
++-----------------+--------------------------------+---------------------------------------------+
+|``VARBINARY`` |``VARBINARY`` | |
++-----------------+--------------------------------+---------------------------------------------+
+|``VARCHAR`` |``VARCHAR`` | |
++-----------------+--------------------------------+---------------------------------------------+
diff --git a/src/site/sphinx/index.rst b/src/site/sphinx/index.rst
index 582d330..333ee82 100644
--- a/src/site/sphinx/index.rst
+++ b/src/site/sphinx/index.rst
@@ -26,4 +26,5 @@
api-usage
ant-tasks
database-support
+ databases/index
schema
\ No newline at end of file