Return-Path: X-Original-To: apmail-db-ddlutils-dev-archive@www.apache.org Delivered-To: apmail-db-ddlutils-dev-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 110D76C03 for ; Mon, 13 Jun 2011 06:20:28 +0000 (UTC) Received: (qmail 71954 invoked by uid 500); 13 Jun 2011 06:20:28 -0000 Delivered-To: apmail-db-ddlutils-dev-archive@db.apache.org Received: (qmail 71939 invoked by uid 500); 13 Jun 2011 06:20:27 -0000 Mailing-List: contact ddlutils-dev-help@db.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: ddlutils-dev@db.apache.org Delivered-To: mailing list ddlutils-dev@db.apache.org Received: (qmail 71930 invoked by uid 500); 13 Jun 2011 06:20:27 -0000 Delivered-To: apmail-db-ddlutils-commits@db.apache.org Received: (qmail 71924 invoked by uid 99); 13 Jun 2011 06:20:27 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 13 Jun 2011 06:20:27 +0000 X-ASF-Spam-Status: No, hits=-2000.0 required=5.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [140.211.11.4] (HELO eris.apache.org) (140.211.11.4) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 13 Jun 2011 06:20:18 +0000 Received: by eris.apache.org (Postfix, from userid 65534) id CFEF2238896F; Mon, 13 Jun 2011 06:19:55 +0000 (UTC) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r1135031 [1/2] - in /db/ddlutils/trunk/src/site/sphinx: ./ databases/ Date: Mon, 13 Jun 2011 06:19:55 -0000 To: ddlutils-commits@db.apache.org From: tomdz@apache.org X-Mailer: svnmailer-1.0.8 Message-Id: <20110613061955.CFEF2238896F@eris.apache.org> X-Virus-Checked: Checked by ClamAV on apache.org Author: tomdz Date: Mon Jun 13 06:19:54 2011 New Revision: 1135031 URL: http://svn.apache.org/viewvc?rev=1135031&view=rev Log: Finished database detail documentation Added: db/ddlutils/trunk/src/site/sphinx/databases/ db/ddlutils/trunk/src/site/sphinx/databases/axion.rst db/ddlutils/trunk/src/site/sphinx/databases/db2.rst db/ddlutils/trunk/src/site/sphinx/databases/derby.rst db/ddlutils/trunk/src/site/sphinx/databases/firebird.rst db/ddlutils/trunk/src/site/sphinx/databases/hsqldb.rst db/ddlutils/trunk/src/site/sphinx/databases/index.rst db/ddlutils/trunk/src/site/sphinx/databases/interbase.rst db/ddlutils/trunk/src/site/sphinx/databases/maxdb.rst db/ddlutils/trunk/src/site/sphinx/databases/mckoi.rst db/ddlutils/trunk/src/site/sphinx/databases/mysql.rst db/ddlutils/trunk/src/site/sphinx/databases/oracle.rst db/ddlutils/trunk/src/site/sphinx/databases/postgresql.rst db/ddlutils/trunk/src/site/sphinx/databases/sqlserver.rst db/ddlutils/trunk/src/site/sphinx/databases/sybase.rst Modified: db/ddlutils/trunk/src/site/sphinx/index.rst Added: db/ddlutils/trunk/src/site/sphinx/databases/axion.rst URL: http://svn.apache.org/viewvc/db/ddlutils/trunk/src/site/sphinx/databases/axion.rst?rev=1135031&view=auto ============================================================================== --- db/ddlutils/trunk/src/site/sphinx/databases/axion.rst (added) +++ db/ddlutils/trunk/src/site/sphinx/databases/axion.rst Mon Jun 13 06:19:54 2011 @@ -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`` | | ++-----------------+-----------------+----------------------------------------------+ Added: db/ddlutils/trunk/src/site/sphinx/databases/db2.rst URL: http://svn.apache.org/viewvc/db/ddlutils/trunk/src/site/sphinx/databases/db2.rst?rev=1135031&view=auto ============================================================================== --- db/ddlutils/trunk/src/site/sphinx/databases/db2.rst (added) +++ db/ddlutils/trunk/src/site/sphinx/databases/db2.rst Mon Jun 13 06:19:54 2011 @@ -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`` | | ++-----------------+-----------------------------+--------------------------------------+ Added: db/ddlutils/trunk/src/site/sphinx/databases/derby.rst URL: http://svn.apache.org/viewvc/db/ddlutils/trunk/src/site/sphinx/databases/derby.rst?rev=1135031&view=auto ============================================================================== --- db/ddlutils/trunk/src/site/sphinx/databases/derby.rst (added) +++ db/ddlutils/trunk/src/site/sphinx/databases/derby.rst Mon Jun 13 06:19:54 2011 @@ -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`` | | ++-----------------+--------------------------------+---------------------------------------------+ Added: db/ddlutils/trunk/src/site/sphinx/databases/firebird.rst URL: http://svn.apache.org/viewvc/db/ddlutils/trunk/src/site/sphinx/databases/firebird.rst?rev=1135031&view=auto ============================================================================== --- db/ddlutils/trunk/src/site/sphinx/databases/firebird.rst (added) +++ db/ddlutils/trunk/src/site/sphinx/databases/firebird.rst Mon Jun 13 06:19:54 2011 @@ -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`` | | ++-----------------+--------------------------------+---------------------------------------------+ Added: db/ddlutils/trunk/src/site/sphinx/databases/hsqldb.rst URL: http://svn.apache.org/viewvc/db/ddlutils/trunk/src/site/sphinx/databases/hsqldb.rst?rev=1135031&view=auto ============================================================================== --- db/ddlutils/trunk/src/site/sphinx/databases/hsqldb.rst (added) +++ db/ddlutils/trunk/src/site/sphinx/databases/hsqldb.rst Mon Jun 13 06:19:54 2011 @@ -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 | ++-----------------+--------------------------------+---------------------------------------------+ Added: db/ddlutils/trunk/src/site/sphinx/databases/index.rst URL: http://svn.apache.org/viewvc/db/ddlutils/trunk/src/site/sphinx/databases/index.rst?rev=1135031&view=auto ============================================================================== --- db/ddlutils/trunk/src/site/sphinx/databases/index.rst (added) +++ db/ddlutils/trunk/src/site/sphinx/databases/index.rst Mon Jun 13 06:19:54 2011 @@ -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 Added: db/ddlutils/trunk/src/site/sphinx/databases/interbase.rst URL: http://svn.apache.org/viewvc/db/ddlutils/trunk/src/site/sphinx/databases/interbase.rst?rev=1135031&view=auto ============================================================================== --- db/ddlutils/trunk/src/site/sphinx/databases/interbase.rst (added) +++ db/ddlutils/trunk/src/site/sphinx/databases/interbase.rst Mon Jun 13 06:19:54 2011 @@ -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`` | | ++-----------------+--------------------------------+---------------------------------------------+ Added: db/ddlutils/trunk/src/site/sphinx/databases/maxdb.rst URL: http://svn.apache.org/viewvc/db/ddlutils/trunk/src/site/sphinx/databases/maxdb.rst?rev=1135031&view=auto ============================================================================== --- db/ddlutils/trunk/src/site/sphinx/databases/maxdb.rst (added) +++ db/ddlutils/trunk/src/site/sphinx/databases/maxdb.rst Mon Jun 13 06:19:54 2011 @@ -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`` | | ++-----------------+--------------------------------+---------------------------------------------+ Added: db/ddlutils/trunk/src/site/sphinx/databases/mckoi.rst URL: http://svn.apache.org/viewvc/db/ddlutils/trunk/src/site/sphinx/databases/mckoi.rst?rev=1135031&view=auto ============================================================================== --- db/ddlutils/trunk/src/site/sphinx/databases/mckoi.rst (added) +++ db/ddlutils/trunk/src/site/sphinx/databases/mckoi.rst Mon Jun 13 06:19:54 2011 @@ -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`` | | ++-----------------+--------------------------------+---------------------------------------------+ Added: db/ddlutils/trunk/src/site/sphinx/databases/mysql.rst URL: http://svn.apache.org/viewvc/db/ddlutils/trunk/src/site/sphinx/databases/mysql.rst?rev=1135031&view=auto ============================================================================== --- db/ddlutils/trunk/src/site/sphinx/databases/mysql.rst (added) +++ db/ddlutils/trunk/src/site/sphinx/databases/mysql.rst Mon Jun 13 06:19:54 2011 @@ -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`` | | ++-----------------+--------------------------------+---------------------------------------------+