You are viewing a plain text version of this content. The canonical link for it is here.
Posted to ddlutils-dev@db.apache.org by to...@apache.org on 2006/11/24 09:02:36 UTC
svn commit: r478797 [2/3] - in /db/ddlutils/trunk: ./ src/antdoc/
src/antdoc/templates/html/ src/check/ src/doc/ src/doc/src/documentation/
src/doc/src/documentation/content/xdocs/
src/java/org/apache/ddlutils/platform/axion/ src/java/org/apache/ddluti...
Modified: db/ddlutils/trunk/src/doc/src/documentation/content/xdocs/database-support.xml
URL: http://svn.apache.org/viewvc/db/ddlutils/trunk/src/doc/src/documentation/content/xdocs/database-support.xml?view=diff&rev=478797&r1=478796&r2=478797
==============================================================================
--- db/ddlutils/trunk/src/doc/src/documentation/content/xdocs/database-support.xml (original)
+++ db/ddlutils/trunk/src/doc/src/documentation/content/xdocs/database-support.xml Fri Nov 24 00:02:33 2006
@@ -1,29 +1,32 @@
<?xml version="1.0" encoding="ISO-8859-15"?>
<!--
- Copyright 2002-2006 The Apache Software Foundation
-
- Licensed 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.
+ 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.
-->
<!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V2.0//EN" "http://forrest.apache.org/dtd/document-v20.dtd">
<document>
<header>
<title>Database support in DdlUtils</title>
</header>
- <body>
- <p>
- This document gives a list of supported databases including some details on the level
- of support, e.g. mapping between JDBC types and SQL types, supported options for
- the individual databases, etc.
+ <body>
+ <p>
+ DdlUtils accesses databases via JDBC, esp. the metadata that JDBC provides, as well as by
+ accessing database specific tables and performin database specific SQL. The details of the
+ latter can be found in the support documentation for the individual databases.
</p>
<p>
The main source of information about JDBC is the <a href="ext:java/jdbc/spec">JDBC Specification</a>,
@@ -41,7 +44,7 @@
<table>
<tr>
<th>JDBC data type</th>
- <th>Required minimum limits (range or size)</th>
+ <th>Format, Range, Size</th>
<th>Comments</th>
</tr>
<tr>
@@ -200,3069 +203,5 @@
<td></td>
</tr>
</table>
- <p> </p>
- <section>
- <title>Axion</title>
- <p>
- Info about the datatypes supported by <a href="ext:axion">Axion</a> can be found
- <a href="ext:axion/datatypes">here</a>.
- </p>
- <p> </p>
- <table>
- <tr>
- <td class="platformPropName">DdlUtils can create a database via JDBC</td>
- <td class="platformPropValue">no</td>
- </tr>
- <tr>
- <td class="platformPropName">DdlUtils can drop a database via JDBC</td>
- <td class="platformPropValue">no</td>
- </tr>
- <tr>
- <td class="platformPropName">The database requires <code>NULL</code> when no default value is specified</td>
- <td class="platformPropValue">no</td>
- </tr>
- <tr>
- <td class="platformPropName">The database supports default values for <code>LONG</code> types</td>
- <td class="platformPropValue">yes</td>
- </tr>
- <tr>
- <td class="platformPropName">Primary key definitions are embedded in the table definition</td>
- <td class="platformPropValue">yes</td>
- </tr>
- <tr>
- <td class="platformPropName">Foreign key definitions are embedded in the table definition</td>
- <td class="platformPropValue">no</td>
- </tr>
- <tr>
- <td class="platformPropName">Index definitions are embedded in the table definition</td>
- <td class="platformPropValue">no</td>
- </tr>
- <tr>
- <td class="platformPropName">The database supports non-unique indices</td>
- <td class="platformPropValue">yes</td>
- </tr>
- <tr>
- <td class="platformPropName">IDENTITY specification</td>
- <td class="platformPropValue"><code>IDENTITY</code></td>
- </tr>
- <tr>
- <td class="platformPropName">The IDENTITY (auto-increment) specification is supported for non-primary key columns</td>
- <td class="platformPropValue">yes</td>
- </tr>
- <tr>
- <td class="platformPropName">SQL comments are supported</td>
- <td class="platformPropValue">no</td>
- </tr>
- <tr>
- <td class="platformPropName">Delimited identifiers are supported</td>
- <td class="platformPropValue">no</td>
- </tr>
- <tr>
- <td class="platformPropName">Maximum identifier length</td>
- <td class="platformPropValue">unlimited</td>
- </tr>
- <tr>
- <td class="platformPropName">Quote character</td>
- <td class="platformPropValue">Single quote char <code>'</code></td>
- </tr>
- <tr>
- <td class="platformPropName">Comment format</td>
- <td class="platformPropValue">Single line starting with <code>--</code></td>
- </tr>
- </table>
- <p> </p>
- <table>
- <tr>
- <th class="typeMappingJdbcType">JDBC Type</th>
- <th class="typeMappingNativeType">Database Type</th>
- <th class="typeMappingComments">Additional comments</th>
- </tr>
- <tr>
- <td>ARRAY</td>
- <td><em>BLOB</em></td>
- <td>Not natively supported</td>
- </tr>
- <tr>
- <td>BIGINT</td>
- <td>LONG</td>
- <td>Axion CVS head has support for a BIGINT type</td>
- </tr>
- <tr>
- <td>BINARY</td>
- <td>VARBINARY</td>
- <td></td>
- </tr>
- <tr>
- <td>BIT</td>
- <td>BOOLEAN</td>
- <td></td>
- </tr>
- <tr>
- <td>BLOB</td>
- <td>BLOB</td>
- <td></td>
- </tr>
- <tr>
- <td>BOOLEAN</td>
- <td>BOOLEAN</td>
- <td></td>
- </tr>
- <tr>
- <td>CHAR</td>
- <td>CHAR</td>
- <td></td>
- </tr>
- <tr>
- <td>CLOB</td>
- <td>CLOB</td>
- <td></td>
- </tr>
- <tr>
- <td>DATALINK</td>
- <td><em>VARBINARY</em></td>
- <td>Not natively supported</td>
- </tr>
- <tr>
- <td>DATE</td>
- <td>DATE</td>
- <td>Axion handles DATE, TIME the same as TIMESTAMP</td>
- </tr>
- <tr>
- <td>DECIMAL</td>
- <td>NUMBER</td>
- <td><code>scale</code> is currently fixed to 2 in Axion (though a different one can be specified)</td>
- </tr>
- <tr>
- <td>DISTINCT</td>
- <td><em>VARBINARY</em></td>
- <td>Not natively supported</td>
- </tr>
- <tr>
- <td>DOUBLE</td>
- <td>FLOAT</td>
- <td></td>
- </tr>
- <tr>
- <td>FLOAT</td>
- <td>FLOAT</td>
- <td></td>
- </tr>
- <tr>
- <td>INTEGER</td>
- <td>INTEGER</td>
- <td></td>
- </tr>
- <tr>
- <td>JAVA_OBJECT</td>
- <td>JAVA_OBJECT</td>
- <td></td>
- </tr>
- <tr>
- <td>LONGVARBINARY</td>
- <td>VARBINARY</td>
- <td></td>
- </tr>
- <tr>
- <td>LONGVARCHAR</td>
- <td>VARCHAR</td>
- <td></td>
- </tr>
- <tr>
- <td>NULL</td>
- <td><em>VARBINARY</em></td>
- <td>Not natively supported</td>
- </tr>
- <tr>
- <td>NUMERIC</td>
- <td>NUMBER</td>
- <td><code>scale</code> is currently fixed to 2 (though a different one can be specified)</td>
- </tr>
- <tr>
- <td>OTHER</td>
- <td><em>BLOB</em></td>
- <td>Not natively supported</td>
- </tr>
- <tr>
- <td>REAL</td>
- <td>FLOAT</td>
- <td></td>
- </tr>
- <tr>
- <td>REF</td>
- <td><em>VARBINARY</em></td>
- <td>Not natively supported</td>
- </tr>
- <tr>
- <td>SMALLINT</td>
- <td>SHORT</td>
- <td></td>
- </tr>
- <tr>
- <td>STRUCT</td>
- <td><em>VARBINARY</em></td>
- <td>Not natively supported</td>
- </tr>
- <tr>
- <td>TIME</td>
- <td>TIME</td>
- <td>Axion handles DATE, TIME the same as TIMESTAMP</td>
- </tr>
- <tr>
- <td>TIMESTAMP</td>
- <td>TIMESTAMP</td>
- <td></td>
- </tr>
- <tr>
- <td>TINYINT</td>
- <td>SHORT</td>
- <td></td>
- </tr>
- <tr>
- <td>VARBINARY</td>
- <td>VARBINARY</td>
- <td></td>
- </tr>
- <tr>
- <td>VARCHAR</td>
- <td>VARCHAR</td>
- <td></td>
- </tr>
- </table>
- <p> </p>
- </section>
- <section>
- <title>Cloudscape/Derby</title>
- <p>
- DdlUtils supports <a href="ext:cloudscape">Cloudscape</a> version 10.0. Information about the
- SQL elements and datatypes of Cloudscape is found in the
- <a href="ext:cloudscape/manual">IBM Cloudscape Reference Manual</a>.
- </p>
- <p>
- The <a href="ext:derby">Apache Derby</a> 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 <a href="ext:derby/manual">Reference Manual</a>.
- </p>
- <p> </p>
- <table>
- <tr>
- <td class="platformPropName">DdlUtils can create a database via JDBC</td>
- <td class="platformPropValue">yes</td>
- </tr>
- <tr>
- <td class="platformPropName">DdlUtils can drop a database via JDBC</td>
- <td class="platformPropValue">no</td>
- </tr>
- <tr>
- <td class="platformPropName">The database requires <code>NULL</code> when no default value is specified</td>
- <td class="platformPropValue">no</td>
- </tr>
- <tr>
- <td class="platformPropName">The database supports default values for <code>LONG</code> types</td>
- <td class="platformPropValue">yes</td>
- </tr>
- <tr>
- <td class="platformPropName">Primary key definitions are embedded in the table definition</td>
- <td class="platformPropValue">yes</td>
- </tr>
- <tr>
- <td class="platformPropName">Foreign key definitions are embedded in the table definition</td>
- <td class="platformPropValue">no</td>
- </tr>
- <tr>
- <td class="platformPropName">Index definitions are embedded in the table definition</td>
- <td class="platformPropValue">no</td>
- </tr>
- <tr>
- <td class="platformPropName">The database supports non-unique indices</td>
- <td class="platformPropValue">yes</td>
- </tr>
- <tr>
- <td class="platformPropName">IDENTITY specification</td>
- <td class="platformPropValue">Cloudscape: <code>GENERATED ALWAYS AS IDENTITY</code><br/>
- Derby: <code>GENERATED BY DEFAULT AS IDENTITY</code></td>
- </tr>
- <tr>
- <td class="platformPropName">The IDENTITY (auto-increment) specification is supported for non-primary key columns</td>
- <td class="platformPropValue">yes</td>
- </tr>
- <tr>
- <td class="platformPropName">SQL comments are supported</td>
- <td class="platformPropValue">yes</td>
- </tr>
- <tr>
- <td class="platformPropName">Delimited identifiers are supported</td>
- <td class="platformPropValue">yes</td>
- </tr>
- <tr>
- <td class="platformPropName">Maximum identifier length</td>
- <td class="platformPropValue">128</td>
- </tr>
- <tr>
- <td class="platformPropName">Delimiter token</td>
- <td class="platformPropValue">Double quote char <code>"</code></td>
- </tr>
- <tr>
- <td class="platformPropName">Quote character</td>
- <td class="platformPropValue">Single quote char <code>'</code></td>
- </tr>
- <tr>
- <td class="platformPropName">Comment format</td>
- <td class="platformPropValue">Single line starting with <code>--</code></td>
- </tr>
- </table>
- <p> </p>
- <table>
- <tr>
- <th class="typeMappingJdbcType">JDBC Type</th>
- <th class="typeMappingNativeType">Database Type</th>
- <th class="typeMappingComments">Additional comments</th>
- </tr>
- <tr>
- <td>ARRAY</td>
- <td><em>BLOB</em></td>
- <td>Not natively supported</td>
- </tr>
- <tr>
- <td>BIGINT</td>
- <td>BIGINT</td>
- <td></td>
- </tr>
- <tr>
- <td>BINARY</td>
- <td>CHAR(n) FOR BIT DATA</td>
- <td></td>
- </tr>
- <tr>
- <td>BIT</td>
- <td>SMALLINT</td>
- <td>Cloudscape/Derby have no native boolean type</td>
- </tr>
- <tr>
- <td>BLOB</td>
- <td>BLOB</td>
- <td></td>
- </tr>
- <tr>
- <td>BOOLEAN</td>
- <td>SMALLINT</td>
- <td>Cloudscape/Derby have no native boolean type</td>
- </tr>
- <tr>
- <td>CHAR</td>
- <td>CHAR</td>
- <td></td>
- </tr>
- <tr>
- <td>CLOB</td>
- <td>CLOB</td>
- <td></td>
- </tr>
- <tr>
- <td>DATALINK</td>
- <td><em>LONG VARCHAR FOR BIT DATA</em></td>
- <td>Not natively supported</td>
- </tr>
- <tr>
- <td>DATE</td>
- <td>DATE</td>
- <td></td>
- </tr>
- <tr>
- <td>DECIMAL</td>
- <td>DECIMAL</td>
- <td></td>
- </tr>
- <tr>
- <td>DISTINCT</td>
- <td><em>BLOB</em></td>
- <td>Not natively supported</td>
- </tr>
- <tr>
- <td>DOUBLE</td>
- <td>DOUBLE PRECISION</td>
- <td></td>
- </tr>
- <tr>
- <td>FLOAT</td>
- <td>DOUBLE PRECISION</td>
- <td></td>
- </tr>
- <tr>
- <td>INTEGER</td>
- <td>INTEGER</td>
- <td></td>
- </tr>
- <tr>
- <td>JAVA_OBJECT</td>
- <td><em>BLOB</em></td>
- <td>Not natively supported</td>
- </tr>
- <tr>
- <td>LONGVARBINARY</td>
- <td>LONG VARCHAR FOR BIT DATA</td>
- <td></td>
- </tr>
- <tr>
- <td>LONGVARCHAR</td>
- <td>LONG VARCHAR</td>
- <td></td>
- </tr>
- <tr>
- <td>NULL</td>
- <td><em>LONG VARCHAR FOR BIT DATA</em></td>
- <td>Not natively supported</td>
- </tr>
- <tr>
- <td>NUMERIC</td>
- <td>NUMERIC</td>
- <td></td>
- </tr>
- <tr>
- <td>OTHER</td>
- <td><em>BLOB</em></td>
- <td>Not natively supported</td>
- </tr>
- <tr>
- <td>REAL</td>
- <td>REAL</td>
- <td></td>
- </tr>
- <tr>
- <td>REF</td>
- <td><em>LONG VARCHAR FOR BIT DATA</em></td>
- <td>Not natively supported</td>
- </tr>
- <tr>
- <td>SMALLINT</td>
- <td>SMALLINT</td>
- <td></td>
- </tr>
- <tr>
- <td>STRUCT</td>
- <td><em>BLOB</em></td>
- <td>Not natively supported</td>
- </tr>
- <tr>
- <td>TIME</td>
- <td>TIME</td>
- <td></td>
- </tr>
- <tr>
- <td>TIMESTAMP</td>
- <td>TIMESTAMP</td>
- <td></td>
- </tr>
- <tr>
- <td>TINYINT</td>
- <td>SMALLINT</td>
- <td></td>
- </tr>
- <tr>
- <td>VARBINARY</td>
- <td>VARCHAR(n) FOR BIT DATA</td>
- <td></td>
- </tr>
- <tr>
- <td>VARCHAR</td>
- <td>VARCHAR</td>
- <td></td>
- </tr>
- </table>
- <p> </p>
- </section>
- <section>
- <title>DB 2</title>
- <p>
- The DdlUtils support for <a href="ext:db2">IBM DB2</a> is based upon version <strong>7</strong>.
- The datatypes and SQL elements in DB2 are described in the
- <a href="ext:db2/manual">DB2 SQL Reference V7</a>. Some specifics related to the JDBC driver and
- suggested typemappings can also be found <a href="ext:db2/jdbc-mappings">here</a>.
- </p>
- <p> </p>
- <table>
- <tr>
- <td class="platformPropName">DdlUtils can create a database via JDBC</td>
- <td class="platformPropValue">no</td>
- </tr>
- <tr>
- <td class="platformPropName">DdlUtils can drop a database via JDBC</td>
- <td class="platformPropValue">no</td>
- </tr>
- <tr>
- <td class="platformPropName">The database requires <code>NULL</code> when no default value is specified</td>
- <td class="platformPropValue">no</td>
- </tr>
- <tr>
- <td class="platformPropName">The database supports default values for <code>LONG</code> types</td>
- <td class="platformPropValue">yes</td>
- </tr>
- <tr>
- <td class="platformPropName">Primary key definitions are embedded in the table definition</td>
- <td class="platformPropValue">yes</td>
- </tr>
- <tr>
- <td class="platformPropName">Foreign key definitions are embedded in the table definition</td>
- <td class="platformPropValue">no</td>
- </tr>
- <tr>
- <td class="platformPropName">Index definitions are embedded in the table definition</td>
- <td class="platformPropValue">no</td>
- </tr>
- <tr>
- <td class="platformPropName">The database supports non-unique indices</td>
- <td class="platformPropValue">yes</td>
- </tr>
- <tr>
- <td class="platformPropName">IDENTITY specification</td>
- <td class="platformPropValue"><code>GENERATED BY DEFAULT AS IDENTITY</code></td>
- </tr>
- <tr>
- <td class="platformPropName">The IDENTITY (auto-increment) specification is supported for non-primary key columns</td>
- <td class="platformPropValue">yes</td>
- </tr>
- <tr>
- <td class="platformPropName">SQL comments are supported</td>
- <td class="platformPropValue">yes</td>
- </tr>
- <tr>
- <td class="platformPropName">Delimited identifiers are supported</td>
- <td class="platformPropValue">yes</td>
- </tr>
- <tr>
- <td class="platformPropName">Maximum identifier length</td>
- <td class="platformPropValue">18</td>
- </tr>
- <tr>
- <td class="platformPropName">Delimiter token</td>
- <td class="platformPropValue">Double quote char <code>"</code></td>
- </tr>
- <tr>
- <td class="platformPropName">Quote character</td>
- <td class="platformPropValue">Single quote char <code>'</code></td>
- </tr>
- <tr>
- <td class="platformPropName">Comment format</td>
- <td class="platformPropValue">Single line starting with <code>--</code></td>
- </tr>
- </table>
- <p> </p>
- <table>
- <tr>
- <th class="typeMappingJdbcType">JDBC Type</th>
- <th class="typeMappingNativeType">Database Type</th>
- <th class="typeMappingComments">Additional comments</th>
- </tr>
- <tr>
- <td>ARRAY</td>
- <td><em>BLOB</em></td>
- <td>Not natively supported</td>
- </tr>
- <tr>
- <td>BIGINT</td>
- <td>BIGINT</td>
- <td></td>
- </tr>
- <tr>
- <td>BINARY</td>
- <td>CHAR(n) FOR BIT DATA</td>
- <td></td>
- </tr>
- <tr>
- <td>BIT</td>
- <td>SMALLINT</td>
- <td>DB2 has no native boolean type</td>
- </tr>
- <tr>
- <td>BLOB</td>
- <td>BLOB</td>
- <td></td>
- </tr>
- <tr>
- <td>BOOLEAN</td>
- <td>SMALLINT</td>
- <td>DB2 has no native boolean type</td>
- </tr>
- <tr>
- <td>CHAR</td>
- <td>CHAR</td>
- <td></td>
- </tr>
- <tr>
- <td>CLOB</td>
- <td>CLOB</td>
- <td></td>
- </tr>
- <tr>
- <td>DATALINK</td>
- <td>DATALINK</td>
- <td></td>
- </tr>
- <tr>
- <td>DATE</td>
- <td>DATE</td>
- <td></td>
- </tr>
- <tr>
- <td>DECIMAL</td>
- <td>DECIMAL</td>
- <td></td>
- </tr>
- <tr>
- <td>DISTINCT</td>
- <td>DISTINCT</td>
- <td></td>
- </tr>
- <tr>
- <td>DOUBLE</td>
- <td>DOUBLE</td>
- <td></td>
- </tr>
- <tr>
- <td>FLOAT</td>
- <td>DOUBLE</td>
- <td></td>
- </tr>
- <tr>
- <td>INTEGER</td>
- <td>INTEGER</td>
- <td></td>
- </tr>
- <tr>
- <td>JAVA_OBJECT</td>
- <td><em>BLOB</em></td>
- <td>Not natively supported</td>
- </tr>
- <tr>
- <td>LONGVARBINARY</td>
- <td>LONG VARCHAR FOR BIT DATA</td>
- <td></td>
- </tr>
- <tr>
- <td>LONGVARCHAR</td>
- <td>LONG VARCHAR</td>
- <td></td>
- </tr>
- <tr>
- <td>NULL</td>
- <td><em>LONG VARCHAR FOR BIT DATA</em></td>
- <td>Not natively supported</td>
- </tr>
- <tr>
- <td>NUMERIC</td>
- <td>DECIMAL</td>
- <td></td>
- </tr>
- <tr>
- <td>OTHER</td>
- <td><em>BLOB</em></td>
- <td>Not natively supported</td>
- </tr>
- <tr>
- <td>REAL</td>
- <td>REAL</td>
- <td></td>
- </tr>
- <tr>
- <td>REF</td>
- <td>REF</td>
- <td></td>
- </tr>
- <tr>
- <td>SMALLINT</td>
- <td>SMALLINT</td>
- <td></td>
- </tr>
- <tr>
- <td>STRUCT</td>
- <td><em>BLOB</em></td>
- <td>Not natively supported</td>
- </tr>
- <tr>
- <td>TIME</td>
- <td>TIME</td>
- <td></td>
- </tr>
- <tr>
- <td>TIMESTAMP</td>
- <td>TIMESTAMP</td>
- <td></td>
- </tr>
- <tr>
- <td>TINYINT</td>
- <td>SMALLINT</td>
- <td></td>
- </tr>
- <tr>
- <td>VARBINARY</td>
- <td>VARCHAR(n) FOR BIT DATA</td>
- <td></td>
- </tr>
- <tr>
- <td>VARCHAR</td>
- <td>VARCHAR</td>
- <td></td>
- </tr>
- </table>
- <p> </p>
- </section>
- <section>
- <title>Firebird</title>
- <p>
- DdlUtils supports <a href="ext:firebird">Firebird</a>, version <strong>1</strong> and above.
- </p>
- <p> </p>
- <table>
- <tr>
- <td class="platformPropName">DdlUtils can create a database via JDBC</td>
- <td class="platformPropValue">no</td>
- </tr>
- <tr>
- <td class="platformPropName">DdlUtils can drop a database via JDBC</td>
- <td class="platformPropValue">no</td>
- </tr>
- <tr>
- <td class="platformPropName">The database requires <code>NULL</code> when no default value is specified</td>
- <td class="platformPropValue">no</td>
- </tr>
- <tr>
- <td class="platformPropName">The database supports default values for <code>LONG</code> types</td>
- <td class="platformPropValue">yes</td>
- </tr>
- <tr>
- <td class="platformPropName">Primary key definitions are embedded in the table definition</td>
- <td class="platformPropValue">yes</td>
- </tr>
- <tr>
- <td class="platformPropName">Foreign key definitions are embedded in the table definition</td>
- <td class="platformPropValue">no</td>
- </tr>
- <tr>
- <td class="platformPropName">Index definitions are embedded in the table definition</td>
- <td class="platformPropValue">no</td>
- </tr>
- <tr>
- <td class="platformPropName">The database supports non-unique indices</td>
- <td class="platformPropValue">yes</td>
- </tr>
- <tr>
- <td class="platformPropName">IDENTITY specification</td>
- <td class="platformPropValue">Using an on-insert <code>TRIGGER</code> and a <code>GEN_ID</code> <code>GENERATOR</code></td>
- </tr>
- <tr>
- <td class="platformPropName">The IDENTITY (auto-increment) specification is supported for non-primary key columns</td>
- <td class="platformPropValue">yes</td>
- </tr>
- <tr>
- <td class="platformPropName">SQL comments are supported</td>
- <td class="platformPropValue">yes</td>
- </tr>
- <tr>
- <td class="platformPropName">Delimited identifiers are supported</td>
- <td class="platformPropValue">yes</td>
- </tr>
- <tr>
- <td class="platformPropName">Maximum identifier length</td>
- <td class="platformPropValue">31</td>
- </tr>
- <tr>
- <td class="platformPropName">Delimiter token</td>
- <td class="platformPropValue">Double quote char <code>"</code></td>
- </tr>
- <tr>
- <td class="platformPropName">Quote character</td>
- <td class="platformPropValue">Single quote char <code>'</code></td>
- </tr>
- <tr>
- <td class="platformPropName">Comment format</td>
- <td class="platformPropValue">Text block enclosed in <code>/*</code> and <code>*/</code></td>
- </tr>
- </table>
- <p> </p>
- <table>
- <tr>
- <th class="typeMappingJdbcType">JDBC Type</th>
- <th class="typeMappingNativeType">Database Type</th>
- <th class="typeMappingComments">Additional comments</th>
- </tr>
- <tr>
- <td>ARRAY</td>
- <td><em>BLOB</em></td>
- <td>Not natively supported</td>
- </tr>
- <tr>
- <td>BIGINT</td>
- <td>BIGINT</td>
- <td></td>
- </tr>
- <tr>
- <td>BINARY</td>
- <td>BLOB</td>
- <td></td>
- </tr>
- <tr>
- <td>BIT</td>
- <td>SMALLINT</td>
- <td>Firebird has no native boolean type</td>
- </tr>
- <tr>
- <td>BLOB</td>
- <td>BLOB</td>
- <td></td>
- </tr>
- <tr>
- <td>BOOLEAN</td>
- <td>SMALLINT</td>
- <td>Firebird has no native boolean type</td>
- </tr>
- <tr>
- <td>CHAR</td>
- <td>CHAR</td>
- <td></td>
- </tr>
- <tr>
- <td>CLOB</td>
- <td>BLOB SUB_TYPE TEXT</td>
- <td></td>
- </tr>
- <tr>
- <td>DATALINK</td>
- <td><em>BLOB</em></td>
- <td>Not natively supported</td>
- </tr>
- <tr>
- <td>DATE</td>
- <td>DATE</td>
- <td></td>
- </tr>
- <tr>
- <td>DECIMAL</td>
- <td>DECIMAL</td>
- <td></td>
- </tr>
- <tr>
- <td>DISTINCT</td>
- <td><em>BLOB</em></td>
- <td>Not natively supported</td>
- </tr>
- <tr>
- <td>DOUBLE</td>
- <td>DOUBLE PRECISION</td>
- <td></td>
- </tr>
- <tr>
- <td>FLOAT</td>
- <td>DOUBLE PRECISION</td>
- <td></td>
- </tr>
- <tr>
- <td>INTEGER</td>
- <td>INTEGER</td>
- <td></td>
- </tr>
- <tr>
- <td>JAVA_OBJECT</td>
- <td><em>BLOB</em></td>
- <td>Not natively supported</td>
- </tr>
- <tr>
- <td>LONGVARBINARY</td>
- <td>BLOB</td>
- <td></td>
- </tr>
- <tr>
- <td>LONGVARCHAR</td>
- <td>BLOB SUB_TYPE TEXT</td>
- <td></td>
- </tr>
- <tr>
- <td>NULL</td>
- <td><em>BLOB</em></td>
- <td>Not natively supported</td>
- </tr>
- <tr>
- <td>NUMERIC</td>
- <td>NUMERIC</td>
- <td></td>
- </tr>
- <tr>
- <td>OTHER</td>
- <td><em>BLOB</em></td>
- <td>Not natively supported</td>
- </tr>
- <tr>
- <td>REAL</td>
- <td>FLOAT</td>
- <td></td>
- </tr>
- <tr>
- <td>REF</td>
- <td><em>BLOB</em></td>
- <td>Not natively supported</td>
- </tr>
- <tr>
- <td>SMALLINT</td>
- <td>SMALLINT</td>
- <td></td>
- </tr>
- <tr>
- <td>STRUCT</td>
- <td><em>BLOB</em></td>
- <td>Not natively supported</td>
- </tr>
- <tr>
- <td>TIME</td>
- <td>TIME</td>
- <td></td>
- </tr>
- <tr>
- <td>TIMESTAMP</td>
- <td>TIMESTAMP</td>
- <td></td>
- </tr>
- <tr>
- <td>TINYINT</td>
- <td>SMALLINT</td>
- <td></td>
- </tr>
- <tr>
- <td>VARBINARY</td>
- <td>BLOB</td>
- <td></td>
- </tr>
- <tr>
- <td>VARCHAR</td>
- <td>VARCHAR</td>
- <td></td>
- </tr>
- </table>
- <p> </p>
- </section>
- <section>
- <title>HsqlDB</title>
- <p>
- Support for the <a href="ext:hsqldb">HSQLDB</a> database is based upon the version <strong>1.7.2</strong>.
- SQL Documentation for HSQLDB can be found in the distribution, and for the newest version
- <a href="ext:hsqldb/sql-syntax">here</a>.
- </p>
- <p> </p>
- <table>
- <tr>
- <td class="platformPropName">DdlUtils can create a database via JDBC</td>
- <td class="platformPropValue">no</td>
- </tr>
- <tr>
- <td class="platformPropName">DdlUtils can drop a database via JDBC</td>
- <td class="platformPropValue">no</td>
- </tr>
- <tr>
- <td class="platformPropName">The database requires <code>NULL</code> when no default value is specified</td>
- <td class="platformPropValue">no</td>
- </tr>
- <tr>
- <td class="platformPropName">The database supports default values for <code>LONG</code> types</td>
- <td class="platformPropValue">yes</td>
- </tr>
- <tr>
- <td class="platformPropName">Primary key definitions are embedded in the table definition</td>
- <td class="platformPropValue">yes</td>
- </tr>
- <tr>
- <td class="platformPropName">Foreign key definitions are embedded in the table definition</td>
- <td class="platformPropValue">no</td>
- </tr>
- <tr>
- <td class="platformPropName">Index definitions are embedded in the table definition</td>
- <td class="platformPropValue">no</td>
- </tr>
- <tr>
- <td class="platformPropName">The database supports non-unique indices</td>
- <td class="platformPropValue">yes</td>
- </tr>
- <tr>
- <td class="platformPropName">IDENTITY specification</td>
- <td class="platformPropValue"><code>IDENTITY</code></td>
- </tr>
- <tr>
- <td class="platformPropName">The IDENTITY (auto-increment) specification is supported for non-primary key columns</td>
- <td class="platformPropValue">no</td>
- </tr>
- <tr>
- <td class="platformPropName">SQL comments are supported</td>
- <td class="platformPropValue">yes</td>
- </tr>
- <tr>
- <td class="platformPropName">Delimited identifiers are supported</td>
- <td class="platformPropValue">yes</td>
- </tr>
- <tr>
- <td class="platformPropName">Maximum identifier length</td>
- <td class="platformPropValue">unlimited</td>
- </tr>
- <tr>
- <td class="platformPropName">Delimiter token</td>
- <td class="platformPropValue">Double quote char <code>"</code></td>
- </tr>
- <tr>
- <td class="platformPropName">Quote character</td>
- <td class="platformPropValue">Single quote char <code>'</code></td>
- </tr>
- <tr>
- <td class="platformPropName">Comment format</td>
- <td class="platformPropValue">Single line starting with <code>--</code></td>
- </tr>
- </table>
- <p> </p>
- <table>
- <tr>
- <th class="typeMappingJdbcType">JDBC Type</th>
- <th class="typeMappingNativeType">Database Type</th>
- <th class="typeMappingComments">Additional comments</th>
- </tr>
- <tr>
- <td>ARRAY</td>
- <td><em>LONGVARBINARY</em></td>
- <td>Not natively supported</td>
- </tr>
- <tr>
- <td>BIGINT</td>
- <td>BIGINT</td>
- <td></td>
- </tr>
- <tr>
- <td>BINARY</td>
- <td>BINARY</td>
- <td></td>
- </tr>
- <tr>
- <td>BIT</td>
- <td>BOOLEAN</td>
- <td></td>
- </tr>
- <tr>
- <td>BLOB</td>
- <td>LONGVARBINARY</td>
- <td></td>
- </tr>
- <tr>
- <td>BOOLEAN</td>
- <td>BOOLEAN</td>
- <td>BOOLEAN is supported natively by Hsqldb only since version 1.7.2</td>
- <td></td>
- </tr>
- <tr>
- <td>CHAR</td>
- <td>CHAR</td>
- <td>The size is optional because per default Hsqldb does not enforce it</td>
- </tr>
- <tr>
- <td>CLOB</td>
- <td><em>LONGVARCHAR</em></td>
- <td>Not natively supported</td>
- <td></td>
- </tr>
- <tr>
- <td>DATALINK</td>
- <td><em>LONGVARBINARY</em></td>
- <td>Not natively supported</td>
- </tr>
- <tr>
- <td>DATE</td>
- <td>DATE</td>
- <td></td>
- </tr>
- <tr>
- <td>DECIMAL</td>
- <td>DECIMAL</td>
- <td>Precision and scale are ignored by Hsqldb, as it uses unlimited precision and scale</td>
- </tr>
- <tr>
- <td>DISTINCT</td>
- <td><em>LONGVARBINARY </em></td>
- <td>Not natively supported</td>
- </tr>
- <tr>
- <td>DOUBLE</td>
- <td>DOUBLE</td>
- <td></td>
- </tr>
- <tr>
- <td>FLOAT</td>
- <td>DOUBLE</td>
- <td></td>
- </tr>
- <tr>
- <td>INTEGER</td>
- <td>INTEGER</td>
- <td></td>
- </tr>
- <tr>
- <td>JAVA_OBJECT</td>
- <td>OBJECT</td>
- <td></td>
- </tr>
- <tr>
- <td>LONGVARBINARY</td>
- <td>LONGVARBINARY</td>
- <td></td>
- </tr>
- <tr>
- <td>LONGVARCHAR</td>
- <td>LONGVARCHAR</td>
- <td></td>
- </tr>
- <tr>
- <td>NULL</td>
- <td><em>LONGVARBINARY</em></td>
- <td>Not natively supported</td>
- </tr>
- <tr>
- <td>NUMERIC</td>
- <td>NUMERIC</td>
- <td>Precision and scale are ignored by Hsqldb, as it uses unlimited precision and scale</td>
- </tr>
- <tr>
- <td>OTHER</td>
- <td>OTHER</td>
- <td></td>
- </tr>
- <tr>
- <td>REAL</td>
- <td>REAL</td>
- <td></td>
- </tr>
- <tr>
- <td>REF</td>
- <td><em>LONGVARBINARY</em></td>
- <td>Not natively supported</td>
- </tr>
- <tr>
- <td>SMALLINT</td>
- <td>SMALLINT</td>
- <td></td>
- </tr>
- <tr>
- <td>STRUCT</td>
- <td><em>LONGVARBINARY</em></td>
- <td>Not natively supported</td>
- </tr>
- <tr>
- <td>TIME</td>
- <td>TIME</td>
- <td></td>
- </tr>
- <tr>
- <td>TIMESTAMP</td>
- <td>TIMESTAMP</td>
- <td></td>
- </tr>
- <tr>
- <td>TINYINT</td>
- <td>SMALLINT</td>
- <td>JDBC's TINYINT requires a value range of -255 to 255, but HsqlDb's is only -128 to 127</td>
- </tr>
- <tr>
- <td>VARBINARY</td>
- <td>VARBINARY</td>
- <td></td>
- </tr>
- <tr>
- <td>VARCHAR</td>
- <td>VARCHAR</td>
- <td>The size is optional because per default Hsqldb does not enforce it</td>
- </tr>
- </table>
- <p> </p>
- </section>
- <section>
- <title>Interbase</title>
- <p>
- DdlUtils supports <a href="ext:interbase">Interbase</a> version <strong>7.0</strong> and above.
- </p>
- <p> </p>
- <table>
- <tr>
- <td class="platformPropName">DdlUtils can create a database via JDBC</td>
- <td class="platformPropValue">no</td>
- </tr>
- <tr>
- <td class="platformPropName">DdlUtils can drop a database via JDBC</td>
- <td class="platformPropValue">no</td>
- </tr>
- <tr>
- <td class="platformPropName">The database requires <code>NULL</code> when no default value is specified</td>
- <td class="platformPropValue">no</td>
- </tr>
- <tr>
- <td class="platformPropName">The database supports default values for <code>LONG</code> types</td>
- <td class="platformPropValue">yes</td>
- </tr>
- <tr>
- <td class="platformPropName">Primary key definitions are embedded in the table definition</td>
- <td class="platformPropValue">yes</td>
- </tr>
- <tr>
- <td class="platformPropName">Foreign key definitions are embedded in the table definition</td>
- <td class="platformPropValue">no</td>
- </tr>
- <tr>
- <td class="platformPropName">Index definitions are embedded in the table definition</td>
- <td class="platformPropValue">no</td>
- </tr>
- <tr>
- <td class="platformPropName">The database supports non-unique indices</td>
- <td class="platformPropValue">yes</td>
- </tr>
- <tr>
- <td class="platformPropName">IDENTITY specification</td>
- <td class="platformPropValue">Using an on-insert <code>TRIGGER</code> and a <code>GEN_ID</code> <code>GENERATOR</code></td>
- </tr>
- <tr>
- <td class="platformPropName">The IDENTITY (auto-increment) specification is supported for non-primary key columns</td>
- <td class="platformPropValue">yes</td>
- </tr>
- <tr>
- <td class="platformPropName">SQL comments are supported</td>
- <td class="platformPropValue">yes</td>
- </tr>
- <tr>
- <td class="platformPropName">Delimited identifiers are supported</td>
- <td class="platformPropValue">yes</td>
- </tr>
- <tr>
- <td class="platformPropName">Maximum identifier length</td>
- <td class="platformPropValue">31</td>
- </tr>
- <tr>
- <td class="platformPropName">Delimiter token</td>
- <td class="platformPropValue">Double quote char <code>"</code></td>
- </tr>
- <tr>
- <td class="platformPropName">Quote character</td>
- <td class="platformPropValue">Single quote char <code>'</code></td>
- </tr>
- <tr>
- <td class="platformPropName">Comment format</td>
- <td class="platformPropValue">Text block enclosed in <code>/*</code> and <code>*/</code></td>
- </tr>
- </table>
- <p> </p>
- <table>
- <tr>
- <th class="typeMappingJdbcType">JDBC Type</th>
- <th class="typeMappingNativeType">Database Type</th>
- <th class="typeMappingComments">Additional comments</th>
- </tr>
- <tr>
- <td>ARRAY</td>
- <td><em>BLOB</em></td>
- <td>Not natively supported</td>
- </tr>
- <tr>
- <td>BIGINT</td>
- <td>NUMERIC(18,0)</td>
- <td></td>
- </tr>
- <tr>
- <td>BINARY</td>
- <td>CHAR(n) CHARACTER SET OCTETS</td>
- <td></td>
- </tr>
- <tr>
- <td>BIT</td>
- <td>SMALLINT</td>
- <td>Interbase has no native boolean type</td>
- </tr>
- <tr>
- <td>BLOB</td>
- <td>BLOB</td>
- <td></td>
- </tr>
- <tr>
- <td>BOOLEAN</td>
- <td>SMALLINT</td>
- <td>Interbase has no native boolean type</td>
- </tr>
- <tr>
- <td>CHAR</td>
- <td>CHAR</td>
- <td></td>
- </tr>
- <tr>
- <td>CLOB</td>
- <td>BLOB SUB_TYPE TEXT</td>
- <td></td>
- </tr>
- <tr>
- <td>DATALINK</td>
- <td><em>BLOB</em></td>
- <td>Not natively supported</td>
- </tr>
- <tr>
- <td>DATE</td>
- <td>DATE</td>
- <td></td>
- </tr>
- <tr>
- <td>DECIMAL</td>
- <td>DECIMAL</td>
- <td></td>
- </tr>
- <tr>
- <td>DISTINCT</td>
- <td><em>BLOB</em></td>
- <td>Not natively supported</td>
- </tr>
- <tr>
- <td>DOUBLE</td>
- <td>DOUBLE PRECISION</td>
- <td></td>
- </tr>
- <tr>
- <td>FLOAT</td>
- <td>DOUBLE PRECISION</td>
- <td></td>
- </tr>
- <tr>
- <td>INTEGER</td>
- <td>INTEGER</td>
- <td></td>
- </tr>
- <tr>
- <td>JAVA_OBJECT</td>
- <td><em>BLOB</em></td>
- <td>Not natively supported</td>
- </tr>
- <tr>
- <td>LONGVARBINARY</td>
- <td>BLOB</td>
- <td></td>
- </tr>
- <tr>
- <td>LONGVARCHAR</td>
- <td>BLOB SUB_TYPE TEXT</td>
- <td></td>
- </tr>
- <tr>
- <td>NULL</td>
- <td><em>BLOB</em></td>
- <td>Not natively supported</td>
- </tr>
- <tr>
- <td>NUMERIC</td>
- <td>NUMERIC</td>
- <td></td>
- </tr>
- <tr>
- <td>OTHER</td>
- <td><em>BLOB</em></td>
- <td>Not natively supported</td>
- </tr>
- <tr>
- <td>REAL</td>
- <td>FLOAT</td>
- <td></td>
- </tr>
- <tr>
- <td>REF</td>
- <td><em>BLOB</em></td>
- <td>Not natively supported</td>
- </tr>
- <tr>
- <td>SMALLINT</td>
- <td>SMALLINT</td>
- <td></td>
- </tr>
- <tr>
- <td>STRUCT</td>
- <td><em>BLOB</em></td>
- <td>Not natively supported</td>
- </tr>
- <tr>
- <td>TIME</td>
- <td>TIME</td>
- <td></td>
- </tr>
- <tr>
- <td>TIMESTAMP</td>
- <td>TIMESTAMP</td>
- <td></td>
- </tr>
- <tr>
- <td>TINYINT</td>
- <td>SMALLINT</td>
- <td></td>
- </tr>
- <tr>
- <td>VARBINARY</td>
- <td>VARCHAR(n) CHARACTER SET OCTETS</td>
- <td></td>
- </tr>
- <tr>
- <td>VARCHAR</td>
- <td>VARCHAR</td>
- <td></td>
- </tr>
- </table>
- <p> </p>
- </section>
- <section>
- <title>MaxDB/SapDB</title>
- <p>
- The <a href="ext:sapdb">SapDB</a> database was open-sourced and rebranded <a href="ext:maxdb">MaxDB</a>
- beginning with version 7.4. DdlUtils supports SapDB version <strong>7.2</strong> and MaxDB version
- <strong>7.5</strong>, and newer. Documentation of the SQL supported by SapDB is found in the
- <a href="ext:sapdb/manual">Reference manual</a>. Likewise, documentation for MaxDB is contained in
- the <a href="ext:maxdb/manual">MaxDB documentation</a>.
- </p>
- <p> </p>
- <table>
- <tr>
- <td class="platformPropName">DdlUtils can create a database via JDBC</td>
- <td class="platformPropValue">no</td>
- </tr>
- <tr>
- <td class="platformPropName">DdlUtils can drop a database via JDBC</td>
- <td class="platformPropValue">no</td>
- </tr>
- <tr>
- <td class="platformPropName">The database requires <code>NULL</code> when no default value is specified</td>
- <td class="platformPropValue">no</td>
- </tr>
- <tr>
- <td class="platformPropName">The database supports default values for <code>LONG</code> types</td>
- <td class="platformPropValue">yes</td>
- </tr>
- <tr>
- <td class="platformPropName">Primary key definitions are embedded in the table definition</td>
- <td class="platformPropValue">yes</td>
- </tr>
- <tr>
- <td class="platformPropName">Foreign key definitions are embedded in the table definition</td>
- <td class="platformPropValue">no</td>
- </tr>
- <tr>
- <td class="platformPropName">Index definitions are embedded in the table definition</td>
- <td class="platformPropValue">no</td>
- </tr>
- <tr>
- <td class="platformPropName">The database supports non-unique indices</td>
- <td class="platformPropValue">yes</td>
- </tr>
- <tr>
- <td class="platformPropName">IDENTITY specification</td>
- <td class="platformPropValue"><code>DEFAULT SERIAL(1)</code></td>
- </tr>
- <tr>
- <td class="platformPropName">The IDENTITY (auto-increment) specification is supported for non-primary key columns</td>
- <td class="platformPropValue">yes</td>
- </tr>
- <tr>
- <td class="platformPropName">SQL comments are supported</td>
- <td class="platformPropValue">yes</td>
- </tr>
- <tr>
- <td class="platformPropName">Delimited identifiers are supported</td>
- <td class="platformPropValue">yes</td>
- </tr>
- <tr>
- <td class="platformPropName">Maximum identifier length</td>
- <td class="platformPropValue">32</td>
- </tr>
- <tr>
- <td class="platformPropName">Delimiter token</td>
- <td class="platformPropValue">Double quote char <code>"</code></td>
- </tr>
- <tr>
- <td class="platformPropName">Quote character</td>
- <td class="platformPropValue">Single quote char <code>'</code></td>
- </tr>
- <tr>
- <td class="platformPropName">Comment format</td>
- <td class="platformPropValue">Text block enclosed in <code>/*</code> and <code>*/</code></td>
- </tr>
- </table>
- <p> </p>
- <table>
- <tr>
- <th class="typeMappingJdbcType">JDBC Type</th>
- <th class="typeMappingNativeType">Database Type</th>
- <th class="typeMappingComments">Additional comments</th>
- </tr>
- <tr>
- <td>ARRAY</td>
- <td><em>LONG BYTE</em></td>
- <td>Not natively supported</td>
- </tr>
- <tr>
- <td>BIGINT</td>
- <td><em>FIXED(38,0)</em></td>
- <td>Not natively supported</td>
- </tr>
- <tr>
- <td>BINARY</td>
- <td>CHAR(n) BYTE</td>
- <td></td>
- </tr>
- <tr>
- <td>BIT</td>
- <td>BOOLEAN</td>
- <td></td>
- </tr>
- <tr>
- <td>BLOB</td>
- <td>LONG BYTE</td>
- <td></td>
- </tr>
- <tr>
- <td>BOOLEAN</td>
- <td>BOOLEAN</td>
- <td></td>
- </tr>
- <tr>
- <td>CHAR</td>
- <td>CHAR</td>
- <td></td>
- </tr>
- <tr>
- <td>CLOB</td>
- <td>LONG</td>
- <td></td>
- </tr>
- <tr>
- <td>DATALINK</td>
- <td><em>LONG BYTE</em></td>
- <td>Not natively supported</td>
- </tr>
- <tr>
- <td>DATE</td>
- <td>DATE</td>
- <td></td>
- </tr>
- <tr>
- <td>DECIMAL</td>
- <td>FIXED</td>
- <td></td>
- </tr>
- <tr>
- <td>DISTINCT</td>
- <td><em>LONG BYTE</em></td>
- <td>Not natively supported</td>
- </tr>
- <tr>
- <td>DOUBLE</td>
- <td>FLOAT(38)</td>
- <td></td>
- </tr>
- <tr>
- <td>FLOAT</td>
- <td>FLOAT(38)</td>
- <td></td>
- </tr>
- <tr>
- <td>INTEGER</td>
- <td>INTEGER</td>
- <td></td>
- </tr>
- <tr>
- <td>JAVA_OBJECT</td>
- <td><em>LONG BYTE</em></td>
- <td>Not natively supported</td>
- </tr>
- <tr>
- <td>LONGVARBINARY</td>
- <td>LONG BYTE</td>
- <td></td>
- </tr>
- <tr>
- <td>LONGVARCHAR</td>
- <td>LONG</td>
- <td></td>
- </tr>
- <tr>
- <td>NULL</td>
- <td><em>LONG BYTE</em></td>
- <td>Not natively supported</td>
- </tr>
- <tr>
- <td>NUMERIC</td>
- <td>FIXED</td>
- <td></td>
- </tr>
- <tr>
- <td>OTHER</td>
- <td><em>LONG BYTE</em></td>
- <td>Not natively supported</td>
- </tr>
- <tr>
- <td>REAL</td>
- <td>FLOAT(16)</td>
- <td></td>
- </tr>
- <tr>
- <td>REF</td>
- <td><em>LONG BYTE</em></td>
- <td>Not natively supported</td>
- </tr>
- <tr>
- <td>SMALLINT</td>
- <td>SMALLINT</td>
- <td></td>
- </tr>
- <tr>
- <td>STRUCT</td>
- <td><em>LONG BYTE</em></td>
- <td>Not natively supported</td>
- </tr>
- <tr>
- <td>TIME</td>
- <td>TIME</td>
- <td></td>
- </tr>
- <tr>
- <td>TIMESTAMP</td>
- <td>TIMESTAMP</td>
- <td></td>
- </tr>
- <tr>
- <td>TINYINT</td>
- <td>SMALLINT</td>
- <td></td>
- </tr>
- <tr>
- <td>VARBINARY</td>
- <td>VARCHAR(n) BYTE</td>
- <td></td>
- </tr>
- <tr>
- <td>VARCHAR</td>
- <td>VARCHAR</td>
- <td></td>
- </tr>
- </table>
- <p> </p>
- </section>
- <section>
- <title>Mckoi</title>
- <p>
- The open source database <a href="ext:mckoi">McKoi</a> is supported in version <strong>1.0.3</strong>.
- Details on the supported SQL and datatypes can be found in Chapter 2 of the
- <a href="ext:mckoi/manual">Database Manual</a>.
- </p>
- <p> </p>
- <table>
- <tr>
- <td class="platformPropName">DdlUtils can create a database via JDBC</td>
- <td class="platformPropValue">yes</td>
- </tr>
- <tr>
- <td class="platformPropName">DdlUtils can drop a database via JDBC</td>
- <td class="platformPropValue">no</td>
- </tr>
- <tr>
- <td class="platformPropName">The database requires <code>NULL</code> when no default value is specified</td>
- <td class="platformPropValue">no</td>
- </tr>
- <tr>
- <td class="platformPropName">The database supports default values for <code>LONG</code> types</td>
- <td class="platformPropValue">yes</td>
- </tr>
- <tr>
- <td class="platformPropName">Primary key definitions are embedded in the table definition</td>
- <td class="platformPropValue">yes</td>
- </tr>
- <tr>
- <td class="platformPropName">Foreign key definitions are embedded in the table definition</td>
- <td class="platformPropValue">no</td>
- </tr>
- <tr>
- <td class="platformPropName">Index definitions are embedded in the table definition</td>
- <td class="platformPropValue">yes</td>
- </tr>
- <tr>
- <td class="platformPropName">The database supports non-unique indices</td>
- <td class="platformPropValue">no</td>
- </tr>
- <tr>
- <td class="platformPropName">IDENTITY specification</td>
- <td class="platformPropValue">Via <code>UNIQUEKEY()</code> as the default value</td>
- </tr>
- <tr>
- <td class="platformPropName">The IDENTITY (auto-increment) specification is supported for non-primary key columns</td>
- <td class="platformPropValue">yes</td>
- </tr>
- <tr>
- <td class="platformPropName">SQL comments are supported</td>
- <td class="platformPropValue">yes</td>
- </tr>
- <tr>
- <td class="platformPropName">Delimited identifiers are supported</td>
- <td class="platformPropValue">yes</td>
- </tr>
- <tr>
- <td class="platformPropName">Maximum identifier length</td>
- <td class="platformPropValue">unlimited</td>
- </tr>
- <tr>
- <td class="platformPropName">Delimiter token</td>
- <td class="platformPropValue">Double quote char <code>"</code></td>
- </tr>
- <tr>
- <td class="platformPropName">Quote character</td>
- <td class="platformPropValue">Single quote char <code>'</code></td>
- </tr>
- <tr>
- <td class="platformPropName">Comment format</td>
- <td class="platformPropValue">Single line starting with <code>--</code></td>
- </tr>
- </table>
- <p> </p>
- <table>
- <tr>
- <th class="typeMappingJdbcType">JDBC Type</th>
- <th class="typeMappingNativeType">Database Type</th>
- <th class="typeMappingComments">Additional comments</th>
- </tr>
- <tr>
- <td>ARRAY</td>
- <td><em>BLOB</em></td>
- <td>Not natively supported</td>
- </tr>
- <tr>
- <td>BIGINT</td>
- <td>BIGINT</td>
- <td></td>
- </tr>
- <tr>
- <td>BINARY</td>
- <td>BINARY</td>
- <td></td>
- </tr>
- <tr>
- <td>BIT</td>
- <td>BOOLEAN</td>
- <td></td>
- </tr>
- <tr>
- <td>BLOB</td>
- <td>BLOB</td>
- <td></td>
- </tr>
- <tr>
- <td>BOOLEAN</td>
- <td>BOOLEAN</td>
- <td></td>
- </tr>
- <tr>
- <td>CHAR</td>
- <td>CHAR</td>
- <td></td>
- </tr>
- <tr>
- <td>CLOB</td>
- <td>CLOB</td>
- <td></td>
- </tr>
- <tr>
- <td>DATALINK</td>
- <td><em>BLOB</em></td>
- <td>Not natively supported</td>
- </tr>
- <tr>
- <td>DATE</td>
- <td>DATE</td>
- <td></td>
- </tr>
- <tr>
- <td>DECIMAL</td>
- <td>DECIMAL</td>
- <td></td>
- </tr>
- <tr>
- <td>DISTINCT</td>
- <td><em>BLOB</em></td>
- <td>Not natively supported</td>
- </tr>
- <tr>
- <td>DOUBLE</td>
- <td>DOUBLE</td>
- <td></td>
- </tr>
- <tr>
- <td>FLOAT</td>
- <td>DOUBLE</td>
- <td></td>
- </tr>
- <tr>
- <td>INTEGER</td>
- <td>INTEGER</td>
- <td></td>
- </tr>
- <tr>
- <td>JAVA_OBJECT</td>
- <td>JAVA_OBJECT</td>
- <td></td>
- </tr>
- <tr>
- <td>LONGVARBINARY</td>
- <td>LONGVARBINARY</td>
- <td></td>
- </tr>
- <tr>
- <td>LONGVARCHAR</td>
- <td>LONGVARCHAR</td>
- <td></td>
- </tr>
- <tr>
- <td>NULL</td>
- <td><em>BLOB</em></td>
- <td>Not natively supported</td>
- </tr>
- <tr>
- <td>NUMERIC</td>
- <td>NUMERIC</td>
- <td></td>
- </tr>
- <tr>
- <td>OTHER</td>
- <td><em>BLOB</em></td>
- <td>Not natively supported</td>
- </tr>
- <tr>
- <td>REAL</td>
- <td>REAL</td>
- <td></td>
- </tr>
- <tr>
- <td>REF</td>
- <td><em>BLOB</em></td>
- <td>Not natively supported</td>
- </tr>
- <tr>
- <td>SMALLINT</td>
- <td>SMALLINT</td>
- <td></td>
- </tr>
- <tr>
- <td>STRUCT</td>
- <td><em>BLOB</em></td>
- <td>Not natively supported</td>
- </tr>
- <tr>
- <td>TIME</td>
- <td>TIME</td>
- <td></td>
- </tr>
- <tr>
- <td>TIMESTAMP</td>
- <td>TIMESTAMP</td>
- <td></td>
- </tr>
- <tr>
- <td>TINYINT</td>
- <td>TINYINT</td>
- <td></td>
- </tr>
- <tr>
- <td>VARBINARY</td>
- <td>VARBINARY</td>
- <td></td>
- </tr>
- <tr>
- <td>VARCHAR</td>
- <td>VARCHAR</td>
- <td></td>
- </tr>
- </table>
- <p> </p>
- </section>
- <section>
- <title>MySQL</title>
- <p>
- <a href="ext:mysql">MySQL</a> is supported from version <strong>3.23</strong> 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 <a href="ext:mysql/manual">MySQL Reference Manual</a>.
- </p>
- <p> </p>
- <table>
- <tr>
- <td class="platformPropName">DdlUtils can create a database via JDBC</td>
- <td class="platformPropValue">no</td>
- </tr>
- <tr>
- <td class="platformPropName">DdlUtils can drop a database via JDBC</td>
- <td class="platformPropValue">no</td>
- </tr>
- <tr>
- <td class="platformPropName">The database requires <code>NULL</code> when no default value is specified</td>
- <td class="platformPropValue">yes</td>
- </tr>
- <tr>
- <td class="platformPropName">The database supports default values for <code>LONG</code> types</td>
- <td class="platformPropValue">no</td>
- </tr>
- <tr>
- <td class="platformPropName">Primary key definitions are embedded in the table definition</td>
- <td class="platformPropValue">yes</td>
- </tr>
- <tr>
- <td class="platformPropName">Foreign key definitions are embedded in the table definition</td>
- <td class="platformPropValue">no</td>
- </tr>
- <tr>
- <td class="platformPropName">Index definitions are embedded in the table definition</td>
- <td class="platformPropValue">no</td>
- </tr>
- <tr>
- <td class="platformPropName">The database supports non-unique indices</td>
- <td class="platformPropValue">yes</td>
- </tr>
- <tr>
- <td class="platformPropName">IDENTITY specification</td>
- <td class="platformPropValue"><code>AUTO_INCREMENT</code></td>
- </tr>
- <tr>
- <td class="platformPropName">The IDENTITY (auto-increment) specification is supported for non-primary key columns</td>
- <td class="platformPropValue">no</td>
- </tr>
- <tr>
- <td class="platformPropName">SQL comments are supported</td>
- <td class="platformPropValue">yes</td>
- </tr>
- <tr>
- <td class="platformPropName">Delimited identifiers are supported</td>
- <td class="platformPropValue">yes</td>
- </tr>
- <tr>
- <td class="platformPropName">Maximum identifier length</td>
- <td class="platformPropValue">64</td>
- </tr>
- <tr>
- <td class="platformPropName">Delimiter token</td>
- <td class="platformPropValue">Double quote char <code>"</code></td>
- </tr>
- <tr>
- <td class="platformPropName">Quote character</td>
- <td class="platformPropValue">Single quote char <code>`</code></td>
- </tr>
- <tr>
- <td class="platformPropName">Comment format</td>
- <td class="platformPropValue">Single line starting with <code>#</code></td>
- </tr>
- </table>
- <p> </p>
- <table>
- <tr>
- <th class="typeMappingJdbcType">JDBC Type</th>
- <th class="typeMappingNativeType">Database Type</th>
- <th class="typeMappingComments">Additional comments</th>
- </tr>
- <tr>
- <td>ARRAY</td>
- <td><em>LONGBLOB</em></td>
- <td>Not natively supported</td>
- </tr>
- <tr>
- <td>BIGINT</td>
- <td>BIGINT</td>
- <td></td>
- </tr>
- <tr>
- <td>BINARY</td>
- <td>BINARY</td>
- <td></td>
- </tr>
- <tr>
- <td>BIT</td>
- <td>TINYINT(1)</td>
- <td>MySQL has no native boolean type</td>
- </tr>
- <tr>
- <td>BLOB</td>
- <td>LONGBLOB</td>
- <td></td>
- </tr>
- <tr>
- <td>BOOLEAN</td>
- <td>TINYINT(1)</td>
- <td>MySQL has no native boolean type</td>
- </tr>
- <tr>
- <td>CHAR</td>
- <td>CHAR</td>
- <td></td>
- </tr>
- <tr>
- <td>CLOB</td>
- <td>LONGTEXT</td>
- <td></td>
- </tr>
- <tr>
- <td>DATALINK</td>
- <td><em>MEDIUMBLOB</em></td>
- <td>Not natively supported</td>
- </tr>
- <tr>
- <td>DATE</td>
- <td>DATE</td>
- <td></td>
- </tr>
- <tr>
- <td>DECIMAL</td>
- <td>DECIMAL</td>
- <td></td>
- </tr>
- <tr>
- <td>DISTINCT</td>
- <td><em>LONGBLOB</em></td>
- <td>Not natively supported</td>
- </tr>
- <tr>
- <td>DOUBLE</td>
- <td>DOUBLE</td>
- <td></td>
- </tr>
- <tr>
- <td>FLOAT</td>
- <td>DOUBLE</td>
- <td></td>
- </tr>
- <tr>
- <td>INTEGER</td>
- <td>INTEGER</td>
- <td></td>
- </tr>
- <tr>
- <td>JAVA_OBJECT</td>
- <td><em>LONGBLOB</em></td>
- <td>Not natively supported</td>
- </tr>
- <tr>
- <td>LONGVARBINARY</td>
- <td>MEDIUMBLOB</td>
- <td></td>
- </tr>
- <tr>
- <td>LONGVARCHAR</td>
- <td>MEDIUMTEXT</td>
- <td></td>
- </tr>
- <tr>
- <td>NULL</td>
- <td><em>MEDIUMBLOB</em></td>
- <td>Not natively supported</td>
- </tr>
- <tr>
- <td>NUMERIC</td>
- <td>DECIMAL</td>
- <td></td>
- </tr>
- <tr>
- <td>OTHER</td>
- <td><em>LONGBLOB</em></td>
- <td>Not natively supported</td>
- </tr>
- <tr>
- <td>REAL</td>
- <td>FLOAT</td>
- <td>MySQL has a REAL datatype that is per default an alias for DOUBLE, though it might be mapped to FLOAT
- via configuration of the server. Therefore, DdlUtils explicitly uses FLOAT.</td>
- </tr>
- <tr>
- <td>REF</td>
- <td><em>MEDIUMBLOB</em></td>
- <td>Not natively supported by MySQL</td>
- </tr>
- <tr>
- <td>SMALLINT</td>
- <td>SMALLINT</td>
- <td></td>
- </tr>
- <tr>
- <td>STRUCT</td>
- <td><em>LONGBLOB</em></td>
- <td>Not natively supported</td>
- </tr>
- <tr>
- <td>TIME</td>
- <td>TIME</td>
- <td></td>
- </tr>
- <tr>
- <td>TIMESTAMP</td>
- <td>DATETIME</td>
- <td>TIMESTAMP is not a stable MySQL datatype yet, and it does not support a higher precision
- than DATETIME (year to seconds) as of MySQL 5, DdlUtils maps the JDBC type to DATETIME instead.</td>
- </tr>
- <tr>
- <td>TINYINT</td>
- <td>SMALLINT</td>
- <td></td>
- </tr>
- <tr>
- <td>VARBINARY</td>
- <td>VARBINARY</td>
- <td></td>
- </tr>
- <tr>
- <td>VARCHAR</td>
- <td>VARCHAR</td>
- <td></td>
- </tr>
- </table>
- <p> </p>
- </section>
- <section>
- <title>Oracle</title>
- <p>
- DdlUtils has support for the <a href="ext:oracle">Oracle database</a> for versions <strong>8.1.7</strong>
- and above. There are different platforms for the major versions <strong>8</strong>, <strong>9</strong>,
- and <strong>10</strong>.<br/>
- Info about the datatypes and SQL elements supported in this version can be found in the
- <strong>Oracle8i SQL Reference</strong>. You can access this documentation from the
- <a href="ext:oracle/otn">Oracle Technology Network</a>. Registration to this area is free.
- </p>
- <p>
- Currently there is one limitation with Oracle: DdlUtils can not read back the auto increment status
- from a live database. This is due to the fact that Oracle does not provide a native auto increment
- mechanism (rather, auto increment is provided via triggers and sequences).
- </p>
- <p> </p>
- <table>
- <tr>
- <td class="platformPropName">DdlUtils can create a database via JDBC</td>
- <td class="platformPropValue">no</td>
- </tr>
- <tr>
- <td class="platformPropName">DdlUtils can drop a database via JDBC</td>
- <td class="platformPropValue">no</td>
- </tr>
- <tr>
- <td class="platformPropName">The database requires <code>NULL</code> when no default value is specified</td>
- <td class="platformPropValue">no</td>
- </tr>
- <tr>
- <td class="platformPropName">The database supports default values for <code>LONG</code> types</td>
- <td class="platformPropValue">yes</td>
- </tr>
- <tr>
- <td class="platformPropName">Primary key definitions are embedded in the table definition</td>
- <td class="platformPropValue">yes</td>
- </tr>
- <tr>
- <td class="platformPropName">Foreign key definitions are embedded in the table definition</td>
- <td class="platformPropValue">no</td>
- </tr>
- <tr>
- <td class="platformPropName">Index definitions are embedded in the table definition</td>
- <td class="platformPropValue">no</td>
- </tr>
- <tr>
- <td class="platformPropName">The database supports non-unique indices</td>
- <td class="platformPropValue">yes</td>
- </tr>
- <tr>
- <td class="platformPropName">IDENTITY specification</td>
- <td class="platformPropValue">Via an on-insert <code>TRIGGER</code> and a <code>SEQUENCE</code></td>
- </tr>
- <tr>
- <td class="platformPropName">The IDENTITY (auto-increment) specification is supported for non-primary key columns</td>
- <td class="platformPropValue">yes</td>
- </tr>
- <tr>
- <td class="platformPropName">SQL comments are supported</td>
- <td class="platformPropValue">yes</td>
- </tr>
- <tr>
- <td class="platformPropName">Delimited identifiers are supported</td>
- <td class="platformPropValue">yes</td>
- </tr>
- <tr>
- <td class="platformPropName">Maximum identifier length</td>
- <td class="platformPropValue">30</td>
- </tr>
- <tr>
- <td class="platformPropName">Delimiter token</td>
- <td class="platformPropValue">Double quote char <code>"</code></td>
- </tr>
- <tr>
- <td class="platformPropName">Quote character</td>
- <td class="platformPropValue">Single quote char <code>'</code></td>
- </tr>
- <tr>
- <td class="platformPropName">Comment format</td>
- <td class="platformPropValue">Single line starting with <code>--</code></td>
- </tr>
- </table>
- <p> </p>
- <table>
- <tr>
- <th class="typeMappingJdbcType">JDBC Type</th>
- <th class="typeMappingNativeType">Database Type</th>
- <th class="typeMappingComments">Additional comments</th>
- </tr>
- <tr>
- <td>ARRAY</td>
- <td><em>BLOB</em></td>
- <td>Not natively supported</td>
- </tr>
- <tr>
- <td>BIGINT</td>
- <td>NUMBER(38)</td>
- <td></td>
- </tr>
- <tr>
- <td>BINARY</td>
- <td>RAW</td>
- <td>Oracle requires the specification of the size for <code>RAW</code> columns.
- If no size was specified, then 254 is used.</td>
- </tr>
- <tr>
- <td>BIT</td>
- <td>NUMBER(1)</td>
- <td>Oracle has no native boolean type.</td>
- </tr>
- <tr>
- <td>BLOB</td>
- <td>BLOB</td>
- <td></td>
- </tr>
- <tr>
- <td>BOOLEAN</td>
- <td>NUMBER(1)</td>
- <td>Oracle has no native boolean type.</td>
- </tr>
- <tr>
- <td>CHAR</td>
- <td>CHAR</td>
- <td></td>
- </tr>
- <tr>
- <td>CLOB</td>
- <td>CLOB</td>
- <td></td>
- </tr>
- <tr>
- <td>DATALINK</td>
- <td><em>BLOB</em></td>
- <td>Not natively supported</td>
- </tr>
- <tr>
- <td>DATE</td>
- <td>DATE</td>
- <td></td>
- </tr>
- <tr>
- <td>DECIMAL</td>
- <td>NUMBER</td>
- <td></td>
- </tr>
- <tr>
- <td>DISTINCT</td>
- <td><em>BLOB</em></td>
- <td>Not natively supported</td>
- </tr>
- <tr>
- <td>DOUBLE</td>
- <td>DOUBLE PRECISION</td>
- <td></td>
- </tr>
- <tr>
- <td>FLOAT</td>
- <td>FLOAT</td>
- <td></td>
- </tr>
- <tr>
- <td>INTEGER</td>
- <td>INTEGER</td>
- <td></td>
- </tr>
- <tr>
- <td>JAVA_OBJECT</td>
- <td><em>BLOB</em></td>
- <td>Not natively supported</td>
- </tr>
- <tr>
- <td>LONGVARBINARY</td>
- <td><em>BLOB</em></td>
- <td>Not natively supported</td>
- </tr>
- <tr>
- <td>LONGVARCHAR</td>
- <td><em>CLOB</em></td>
- <td>Not natively supported</td>
- </tr>
- <tr>
- <td>NULL</td>
- <td><em>BLOB</em></td>
- <td>Not natively supported</td>
- </tr>
- <tr>
- <td>NUMERIC</td>
- <td>NUMBER</td>
- <td></td>
- </tr>
- <tr>
- <td>OTHER</td>
- <td><em>BLOB</em></td>
- <td>Not natively supported</td>
- </tr>
- <tr>
- <td>REAL</td>
- <td>REAL</td>
- <td></td>
- </tr>
- <tr>
- <td>REF</td>
- <td><em>BLOB</em></td>
- <td>Not natively supported</td>
- </tr>
- <tr>
- <td>SMALLINT</td>
- <td>NUMBER(5)</td>
- <td></td>
- </tr>
- <tr>
- <td>STRUCT</td>
- <td><em>BLOB</em></td>
- <td>Not natively supported</td>
- </tr>
- <tr>
- <td>TIME</td>
- <td>DATE</td>
- <td></td>
- </tr>
- <tr>
- <td>TIMESTAMP</td>
- <td>DATE in the Oracle8 platform,<br/>TIMESTAMP in the Oracle9 and Oracle10 platforms</td>
- <td>The TIMESTAMP native type is only supported in Oracle 9 and above.</td>
- </tr>
- <tr>
- <td>TINYINT</td>
- <td>NUMBER(3)</td>
- <td></td>
- </tr>
- <tr>
- <td>VARBINARY</td>
- <td>RAW</td>
- <td>Oracle requires the specification of the size for <code>RAW</code> columns.
- If no size was specified, then 254 is used.</td>
- </tr>
- <tr>
- <td>VARCHAR</td>
- <td>VARCHAR2</td>
- <td></td>
- </tr>
- </table>
- <p> </p>
- </section>
- <section>
- <title>PostgreSQL</title>
- <p>
- DdlUtils supports <a href="ext:postgresql">PostgreSQL</a> version <strong>7.2.8</strong> and newer. SQL syntax
- details and supported datatypes are described in the <a href="ext:postgresql/manual">Manual</a>.
- </p>
- <p> </p>
- <table>
- <tr>
- <td class="platformPropName">DdlUtils can create a database via JDBC</td>
- <td class="platformPropValue">yes</td>
- </tr>
- <tr>
- <td class="platformPropName">DdlUtils can drop a database via JDBC</td>
- <td class="platformPropValue">yes</td>
- </tr>
- <tr>
- <td class="platformPropName">The database requires <code>NULL</code> when no default value is specified</td>
- <td class="platformPropValue">no</td>
- </tr>
- <tr>
- <td class="platformPropName">The database supports default values for <code>LONG</code> types</td>
- <td class="platformPropValue">yes</td>
- </tr>
- <tr>
- <td class="platformPropName">Primary key definitions are embedded in the table definition</td>
- <td class="platformPropValue">yes</td>
- </tr>
- <tr>
- <td class="platformPropName">Foreign key definitions are embedded in the table definition</td>
- <td class="platformPropValue">no</td>
- </tr>
- <tr>
- <td class="platformPropName">Index definitions are embedded in the table definition</td>
- <td class="platformPropValue">no</td>
- </tr>
- <tr>
- <td class="platformPropName">The database supports non-unique indices</td>
- <td class="platformPropValue">yes</td>
- </tr>
- <tr>
- <td class="platformPropName">IDENTITY specification</td>
- <td class="platformPropValue">Via a <code>SEQUENCE</code> and <code>UNIQUE DEFAULT nextval()</code> </td>
- </tr>
- <tr>
- <td class="platformPropName">The IDENTITY (auto-increment) specification is supported for non-primary key columns</td>
- <td class="platformPropValue">yes</td>
- </tr>
- <tr>
- <td class="platformPropName">SQL comments are supported</td>
- <td class="platformPropValue">yes</td>
- </tr>
- <tr>
- <td class="platformPropName">Delimited identifiers are supported</td>
- <td class="platformPropValue">yes</td>
- </tr>
- <tr>
- <td class="platformPropName">Maximum identifier length</td>
- <td class="platformPropValue">31</td>
- </tr>
- <tr>
- <td class="platformPropName">Delimiter token</td>
- <td class="platformPropValue">Double quote char <code>"</code></td>
- </tr>
- <tr>
- <td class="platformPropName">Quote character</td>
- <td class="platformPropValue">Single quote char <code>'</code></td>
- </tr>
- <tr>
- <td class="platformPropName">Comment format</td>
- <td class="platformPropValue">Single line starting with <code>--</code></td>
- </tr>
- </table>
- <p> </p>
- <table>
- <tr>
- <th class="typeMappingJdbcType">JDBC Type</th>
- <th class="typeMappingNativeType">Database Type</th>
- <th class="typeMappingComments">Additional comments</th>
- </tr>
- <tr>
- <td>ARRAY</td>
- <td><em>BYTEA</em></td>
- <td>PostgreSQL can work with arrays directly, but this is currently not supported by DdlUtils</td>
- </tr>
- <tr>
- <td>BIGINT</td>
- <td>BIGINT</td>
- <td></td>
- </tr>
- <tr>
- <td>BINARY</td>
- <td>BYTEA</td>
- <td></td>
- </tr>
- <tr>
- <td>BIT</td>
- <td>BOOLEAN</td>
- <td></td>
- </tr>
- <tr>
- <td>BLOB</td>
- <td>BYTEA</td>
- <td></td>
- </tr>
- <tr>
- <td>BOOLEAN</td>
- <td>BOOLEAN</td>
- <td></td>
- </tr>
- <tr>
- <td>CHAR</td>
- <td>CHAR</td>
- <td></td>
- </tr>
- <tr>
- <td>CLOB</td>
- <td>TEXT</td>
- <td></td>
- </tr>
- <tr>
- <td>DATALINK</td>
- <td><em>BYTEA</em></td>
- <td>Not natively supported</td>
- </tr>
- <tr>
- <td>DATE</td>
- <td>DATE</td>
- <td></td>
- </tr>
- <tr>
- <td>DECIMAL</td>
- <td>NUMERIC</td>
- <td></td>
- </tr>
- <tr>
- <td>DISTINCT</td>
- <td><em>BYTEA</em></td>
- <td>Not natively supported</td>
- </tr>
- <tr>
- <td>DOUBLE</td>
- <td>DOUBLE PRECISION</td>
- <td></td>
- </tr>
- <tr>
- <td>FLOAT</td>
- <td>DOUBLE PRECISION</td>
- <td></td>
- </tr>
- <tr>
- <td>INTEGER</td>
- <td>INTEGER</td>
- <td></td>
- </tr>
- <tr>
- <td>JAVA_OBJECT</td>
- <td><em>BYTEA</em></td>
- <td>Not natively supported</td>
- </tr>
- <tr>
- <td>LONGVARBINARY</td>
- <td>BYTEA</td>
- <td></td>
- </tr>
- <tr>
- <td>LONGVARCHAR</td>
- <td>TEXT</td>
- <td></td>
- </tr>
- <tr>
- <td>NULL</td>
- <td><em>BYTEA</em></td>
- <td>Not natively supported</td>
- </tr>
- <tr>
- <td>NUMERIC</td>
- <td>NUMERIC</td>
- <td></td>
- </tr>
- <tr>
- <td>OTHER</td>
- <td><em>BYTEA</em></td>
- <td>Not natively supported</td>
- </tr>
- <tr>
- <td>REAL</td>
- <td>REAL</td>
- <td></td>
- </tr>
- <tr>
- <td>REF</td>
- <td><em>BYTEA</em></td>
- <td>Not natively supported</td>
- </tr>
- <tr>
- <td>SMALLINT</td>
- <td>SMALLINT</td>
- <td></td>
- </tr>
- <tr>
- <td>STRUCT</td>
- <td><em>BYTEA</em></td>
- <td>Not natively supported</td>
- </tr>
- <tr>
- <td>TIME</td>
- <td>TIME</td>
- <td></td>
- </tr>
- <tr>
- <td>TIMESTAMP</td>
- <td>TIMESTAMP</td>
- <td></td>
- </tr>
- <tr>
- <td>TINYINT</td>
- <td>SMALLINT</td>
- <td></td>
- </tr>
- <tr>
- <td>VARBINARY</td>
- <td>BYTEA</td>
- <td></td>
- </tr>
- <tr>
- <td>VARCHAR</td>
- <td>VARCHAR</td>
- <td></td>
- </tr>
- </table>
- <p> </p>
- </section>
- <section>
- <title>SQL Server</title>
- <p>
- The <a href="ext:sqlserver">SQL Server</a> is supported form version <strong>6.5</strong> 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
- <a href="ext:sqlserver/manual-2000">here</a>.
- </p>
- <p>
- 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 new SQL Server 2005 driver is preferred
- and can also work with SQL Server 2000.
- </p>
- <p> </p>
- <table>
- <tr>
- <td class="platformPropName">DdlUtils can create a database via JDBC</td>
- <td class="platformPropValue">no</td>
- </tr>
- <tr>
- <td class="platformPropName">DdlUtils can drop a database via JDBC</td>
- <td class="platformPropValue">no</td>
- </tr>
- <tr>
- <td class="platformPropName">The database requires <code>NULL</code> when no default value is specified</td>
- <td class="platformPropValue">no</td>
- </tr>
- <tr>
- <td class="platformPropName">The database supports default values for <code>LONG</code> types</td>
- <td class="platformPropValue">yes</td>
- </tr>
- <tr>
- <td class="platformPropName">Primary key definitions are embedded in the table definition</td>
- <td class="platformPropValue">yes</td>
- </tr>
- <tr>
- <td class="platformPropName">Foreign key definitions are embedded in the table definition</td>
- <td class="platformPropValue">no</td>
- </tr>
- <tr>
- <td class="platformPropName">Index definitions are embedded in the table definition</td>
- <td class="platformPropValue">no</td>
- </tr>
- <tr>
- <td class="platformPropName">The database supports non-unique indices</td>
- <td class="platformPropValue">yes</td>
- </tr>
- <tr>
- <td class="platformPropName">IDENTITY specification</td>
- <td class="platformPropValue"><code>IDENTITY (1,1)</code></td>
- </tr>
- <tr>
- <td class="platformPropName">The IDENTITY (auto-increment) specification is supported for non-primary key columns</td>
- <td class="platformPropValue">yes</td>
- </tr>
- <tr>
- <td class="platformPropName">SQL comments are supported</td>
- <td class="platformPropValue">yes</td>
- </tr>
- <tr>
- <td class="platformPropName">Delimited identifiers are supported</td>
- <td class="platformPropValue">yes</td>
- </tr>
- <tr>
- <td class="platformPropName">Maximum identifier length</td>
- <td class="platformPropValue">128</td>
- </tr>
- <tr>
- <td class="platformPropName">Delimiter token</td>
- <td class="platformPropValue">Double quote char <code>"</code></td>
- </tr>
- <tr>
- <td class="platformPropName">Quote character</td>
- <td class="platformPropValue">Single quote char <code>'</code></td>
- </tr>
- <tr>
- <td class="platformPropName">Comment format</td>
- <td class="platformPropValue">Single line starting with <code>--</code></td>
- </tr>
- </table>
- <p> </p>
- <table>
- <tr>
- <th class="typeMappingJdbcType">JDBC Type</th>
- <th class="typeMappingNativeType">Database Type</th>
- <th class="typeMappingComments">Additional comments</th>
- </tr>
- <tr>
- <td>ARRAY</td>
- <td><em>IMAGE</em></td>
- <td>Not natively supported</td>
- </tr>
- <tr>
- <td>BIGINT</td>
- <td><em>DECIMAL(19,0)</em></td>
- <td>Natively supported only since SQL Server 2000</td>
- </tr>
- <tr>
- <td>BINARY</td>
- <td>BINARY</td>
- <td></td>
- </tr>
- <tr>
- <td>BIT</td>
- <td>BIT</td>
- <td></td>
- </tr>
- <tr>
- <td>BLOB</td>
- <td>IMAGE</td>
- <td></td>
- </tr>
- <tr>
- <td>BOOLEAN</td>
- <td>BIT</td>
- <td></td>
- </tr>
- <tr>
- <td>CHAR</td>
- <td>CHAR</td>
- <td></td>
- </tr>
- <tr>
- <td>CLOB</td>
- <td>TEXT</td>
- <td></td>
- </tr>
- <tr>
- <td>DATALINK</td>
- <td><em>IMAGE</em></td>
- <td>Not natively supported</td>
- </tr>
- <tr>
- <td>DATE</td>
- <td>DATETIME</td>
- <td></td>
- </tr>
- <tr>
- <td>DECIMAL</td>
- <td>DECIMAL</td>
- <td></td>
- </tr>
- <tr>
[... 336 lines stripped ...]