You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openjpa.apache.org by aw...@apache.org on 2006/10/04 01:00:18 UTC

svn commit: r452672 [3/3] - in /incubator/openjpa/trunk: openjpa-persistence/src/main/java/org/apache/openjpa/persistence/ openjpa-project/src/doc/manual/

Modified: incubator/openjpa/trunk/openjpa-project/src/doc/manual/supported_databases.xml
URL: http://svn.apache.org/viewvc/incubator/openjpa/trunk/openjpa-project/src/doc/manual/supported_databases.xml?view=diff&rev=452672&r1=452671&r2=452672
==============================================================================
--- incubator/openjpa/trunk/openjpa-project/src/doc/manual/supported_databases.xml (original)
+++ incubator/openjpa/trunk/openjpa-project/src/doc/manual/supported_databases.xml Tue Oct  3 16:00:18 2006
@@ -68,9 +68,7 @@
                         6.0
                     </entry>
                     <entry colname="drivname">
-                        
-            Borland JDataStore
-          
+                        Borland JDataStore
                     </entry>
                     <entry colname="drivversion">
                         6.0
@@ -84,9 +82,7 @@
                         8.1
                     </entry>
                     <entry colname="drivname">
-                        
-            IBM DB2 JDBC Universal Driver
-          
+                        IBM DB2 JDBC Universal Driver
                     </entry>
                     <entry colname="drivversion">
                         1.0.581
@@ -100,9 +96,7 @@
                         8.62
                     </entry>
                     <entry colname="drivname">
-                        
-            Empress Category 2 JDBC Driver
-          
+                        Empress Category 2 JDBC Driver
                     </entry>
                     <entry colname="drivversion">
                         8.62
@@ -172,9 +166,7 @@
                         9.0 (a.k.a. "2000")
                     </entry>
                     <entry colname="drivname">
-                        
-            DataDirect SequeLink
-          
+                        DataDirect SequeLink
                     </entry>
                     <entry colname="drivversion">
                         5.4.0038
@@ -185,9 +177,7 @@
                         Microsoft SQL Server
                     </entry>
                     <entry colname="dbversion">
-                        
-            9.00.1399 (SQL Server 2005)
-          
+                        9.00.1399 (SQL Server 2005)
                     </entry>
                     <entry colname="drivname">
                         SQLServer
@@ -204,9 +194,7 @@
                         7.0
                     </entry>
                     <entry colname="drivname">
-                        
-            DataDirect SequeLink
-          
+                        DataDirect SequeLink
                     </entry>
                     <entry colname="drivversion">
                         5.4.0038
@@ -270,9 +258,7 @@
                 </row>
                 <row>
                     <entry colname="dbname">
-                        
-            Sybase Adaptive Server Enterprise
-          
+                        Sybase Adaptive Server Enterprise
                     </entry>
                     <entry colname="dbversion">
                         12.5
@@ -318,19 +304,20 @@
             <title>
                 Known issues with Interbase
             </title>
-            <para>
-<itemizedlist><listitem><para> Interbase does not support record locking, so
+            <itemizedlist>
+                <listitem>
+                    <para>
+Interbase does not support record locking, so
 datastore transactions cannot use the pessimistic lock manager.
-                        </para>
-                    </listitem>
-                    <listitem>
-                        <para>
+                    </para>
+                </listitem>
+                <listitem>
+                    <para>
 Interbase does not support the <literal>LOWER</literal>, <literal>SUBSTRING
 </literal>, or <literal>INSTR</literal> SQL functions>
-                        </para>
-                    </listitem>
-                </itemizedlist>
-            </para>
+                    </para>
+                </listitem>
+            </itemizedlist>
         </section>
     </section>
     <section id="dbsupport_jdatastore">
@@ -364,24 +351,24 @@
             <title>
                 Known issues with DB2
             </title>
-            <para>
-<itemizedlist><listitem><para>Floats and doubles may lose precision when
-stored.
-                        </para>
-                    </listitem>
-                    <listitem>
-                        <para>
+            <itemizedlist>
+                <listitem>
+                    <para>
+Floats and doubles may lose precision when stored.
+                    </para>
+                </listitem>
+                <listitem>
+                    <para>
 Empty char values are stored as NULL.
-                        </para>
-                    </listitem>
-                    <listitem>
-                        <para>
+                    </para>
+                </listitem>
+                <listitem>
+                    <para>
 Fields of type BLOB and CLOB are limited to 1M. This number can be increased by
 extending <classname>DB2Dictionary</classname>.
-                        </para>
-                    </listitem>
-                </itemizedlist>
-            </para>
+                    </para>
+                </listitem>
+            </itemizedlist>
         </section>
     </section>
     <section id="dbsupport_empress">
@@ -401,19 +388,20 @@
             <title>
                 Known issues with Empress
             </title>
-            <para>
-<itemizedlist><listitem><para> Empress enforces pessimistic semantics (lock on
+            <itemizedlist>
+                <listitem>
+                    <para>
+Empress enforces pessimistic semantics (lock on
 read) when not using <literal>AllowConcurrentRead</literal> property (which
 bypasses row locking) for <classname>EmpressDictionary</classname>.
-                        </para>
-                    </listitem>
-                    <listitem>
-                        <para>
+                    </para>
+                </listitem>
+                <listitem>
+                    <para>
 Only the category 2 non-local driver is supported.
-                        </para>
-                    </listitem>
-                </itemizedlist>
-            </para>
+                    </para>
+                </listitem>
+            </itemizedlist>
         </section>
     </section>
     <section id="dbsupport_hypersonic">
@@ -433,20 +421,15 @@
             <title>
                 Known issues with Hypersonic
             </title>
-            <para>
-<itemizedlist><listitem><para> Hypersonic does not properly support foreign key
-constraints.
-                        </para>
-                    </listitem>
-                    <listitem>
-                        <para>
+            <itemizedlist>
+                <listitem>
+                    <para>
 Hypersonic does not support pessimistic locking, so non-optimistic transactions
 will fail unless the <literal>SimulateLocking</literal> property is set for the
 <link linkend="openjpa.jdbc.DBDictionary"> openjpa.jdbc.DBDictionary</link>
-                        </para>
-                    </listitem>
-                </itemizedlist>
-            </para>
+                    </para>
+                </listitem>
+            </itemizedlist>
         </section>
     </section>
     <section id="dbsupport_firebird">
@@ -466,24 +449,19 @@
             <title>
                 Known issues with Firebird
             </title>
-            <para>
-<itemizedlist><listitem><para> The Firebird JDBC driver does not have proper
-support for batch updates, so batch updates are disabled.
-                        </para>
-                    </listitem>
-                    <listitem>
-                        <para>
+            <itemizedlist>
+                <listitem>
+                    <para>
 Firebird does not support auto-increment columns.
-                        </para>
-                    </listitem>
-                    <listitem>
-                        <para>
+                    </para>
+                </listitem>
+                <listitem>
+                    <para>
 Firebird does not support the <literal>LOWER</literal>, <literal>SUBSTRING
 </literal>, or <literal>INSTR</literal> SQL functions.
-                        </para>
-                    </listitem>
-                </itemizedlist>
-            </para>
+                    </para>
+                </listitem>
+            </itemizedlist>
         </section>
     </section>
     <section id="dbsupport_informix">
@@ -504,12 +482,13 @@
             <title>
                 Known issues with Informix
             </title>
-            <para>
-<itemizedlist><listitem><para> none
-                        </para>
-                    </listitem>
-                </itemizedlist>
-            </para>
+            <itemizedlist>
+                <listitem>
+                    <para>
+None
+                    </para>
+                </listitem>
+            </itemizedlist>
         </section>
     </section>
     <section id="dbsupport_intersystems_cache">
@@ -529,13 +508,14 @@
             <title>
                 Known issues with InterSystems Cache
             </title>
-            <para>
-<itemizedlist><listitem><para> Support for Cache is done via SQL access over
-JDBC, not through their object database APIs.
-                        </para>
-                    </listitem>
-                </itemizedlist>
-            </para>
+            <itemizedlist>
+                <listitem>
+                    <para>
+Support for Cache is done via SQL access over JDBC, not through their object 
+database APIs.
+                    </para>
+                </listitem>
+            </itemizedlist>
         </section>
     </section>
     <section id="dbsupport_access">
@@ -555,13 +535,13 @@
             <title>
                 Known issues with Microsoft Access
             </title>
-            <para>
-<itemizedlist><listitem><para>Using the Sun JDBC-ODBC bridge to connect is not
-supported.
-                        </para>
-                    </listitem>
-                </itemizedlist>
-            </para>
+            <itemizedlist>
+                <listitem>
+                    <para>
+Using the Sun JDBC-ODBC bridge to connect is not supported.
+                    </para>
+                </listitem>
+            </itemizedlist>
         </section>
     </section>
     <section id="dbsupport_sqlserver">
@@ -582,42 +562,43 @@
             <title>
                 Known issues with SQL Server
             </title>
-            <para>
-<itemizedlist><listitem><para> SQL Server date fields are accurate only to the
-nearest 3 milliseconds, possibly resulting in precision loss in stored dates.
-                        </para>
-                    </listitem>
-                    <listitem>
-                        <para>
+            <itemizedlist>
+                <listitem>
+                    <para>
+SQL Server date fields are accurate only to the nearest 3 milliseconds, 
+possibly resulting in precision loss in stored dates.
+                    </para>
+                </listitem>
+                <listitem>
+                    <para>
 The ConnectionURL must always contain the " <literal>selectMethod=cursor
 </literal> " string.
-                        </para>
-                    </listitem>
-                    <listitem>
-                        <para>
+                    </para>
+                </listitem>
+                <listitem>
+                    <para>
 Adding <literal>sendStringParametersAsUnicode=false</literal> to the
 ConnectionURL may significantly increase performance.
-                        </para>
-                    </listitem>
-                    <listitem>
-                        <para>
+                    </para>
+                </listitem>
+                <listitem>
+                    <para>
 The Microsoft SQL Server driver only emulates batch updates. The DataDirect JDBC
 driver has true support for batch updates, and may result in a significant
 performance gain.
-                        </para>
-                    </listitem>
-                    <listitem>
-                        <para>
+                    </para>
+                </listitem>
+                <listitem>
+                    <para>
 Floats and doubles may lose precision when stored.
-                        </para>
-                    </listitem>
-                    <listitem>
-                        <para>
+                    </para>
+                </listitem>
+                <listitem>
+                    <para>
 <literal>TEXT</literal> columns cannot be used in queries.
-                        </para>
-                    </listitem>
-                </itemizedlist>
-            </para>
+                    </para>
+                </listitem>
+            </itemizedlist>
         </section>
     </section>
     <section id="dbsupport_foxpro">
@@ -637,13 +618,13 @@
             <title>
                 Known issues with Microsoft FoxPro
             </title>
-            <para>
-<itemizedlist><listitem><para>Using the Sun JDBC-ODBC bridge to connect is not
-supported.
-                        </para>
-                    </listitem>
-                </itemizedlist>
-            </para>
+            <itemizedlist>
+                <listitem>
+                    <para>
+Using the Sun JDBC-ODBC bridge to connect is not supported.
+                    </para>
+                </listitem>
+            </itemizedlist>
         </section>
     </section>
     <section id="dbsupport_mysql">
@@ -663,52 +644,52 @@
             <title>
                 Known issues with MySQL
             </title>
-            <para>
-<itemizedlist><listitem><para> The default table types that MySQL uses do not
-support transactions, which will prevent OpenJPA from being able to roll back
-transactions. Use the <literal>InnoDB</literal> table type for any tables that
-OpenJPA will access.
-                        </para>
-                    </listitem>
-                    <listitem>
-                        <para>
+            <itemizedlist>
+                <listitem>
+                    <para> 
+The default table types that MySQL uses do not support transactions, which will
+prevent OpenJPA from being able to roll back transactions. Use the 
+<literal>InnoDB</literal> table type for any tables that OpenJPA will access.
+                    </para>
+                </listitem>
+                <listitem>
+                    <para>
 MySQL does not support sub-selects in versions prior to 4.1, and are disabled by
 default. Some operations (such as the <function>isEmpty()</function> method in a
 query) will fail due to this. If you are using MySQL 4.1 or later, you can lift
 this restriction by setting the <literal>SupportsSubselect=true</literal>
 parameter of the <link linkend="openjpa.jdbc.DBDictionary">
 openjpa.jdbc.DBDictionary</link> property.
-                        </para>
-                    </listitem>
-                    <listitem>
-                        <para>
+                    </para>
+                </listitem>
+                <listitem>
+                    <para>
 Rollback due to database error or optimistic lock violation is not supported
 unless the table type is one of the MySQL transactional types. Explicit calls to
 <function>rollback()</function> before a transaction has been committed,
 however, are always supported.
-                        </para>
-                    </listitem>
-                    <listitem>
-                        <para>
+                    </para>
+                </listitem>
+                <listitem>
+                    <para>
 Floats and doubles may lose precision when stored in some datastores.
-                        </para>
-                    </listitem>
-                    <listitem>
-                        <para>
+                    </para>
+                </listitem>
+                <listitem>
+                    <para>
 When storing a field of type <classname>java.math.BigDecimal</classname>, some
 datastores will add extraneous trailing 0 characters, causing an equality
 mismatch between the field that is stored and the field that is retrieved.
-                        </para>
-                    </listitem>
-                    <listitem>
-                        <para>
+                    </para>
+                </listitem>
+                <listitem>
+                    <para>
 Some version of the MySQL JDBC driver have a bug that prevents OpenJPA from
 being able to interrogate the database for foreign keys. Version 3.0.14 (or
 higher) of the MySQL driver is required in order to get around this bug.
-                        </para>
-                    </listitem>
-                </itemizedlist>
-            </para>
+                    </para>
+                </listitem>
+            </itemizedlist>
         </section>
     </section>
     <section id="dbsupport_oracle">
@@ -740,16 +721,9 @@
                     Using Oracle Hints
                 </title>
 <programlisting>
-Query query = pm.createQuery (...);
-query.addExtension (org.apache.openjpa.jdbc.sql.OracleDictionary.SELECT_HINT,
-    "/*+ first_rows(100) */");
-List results = (List) query.execute ();
-</programlisting>
-<programlisting>
-Query query = em.createQuery (...);
-query.setHint (org.apache.openjpa.jdbc.sql.OracleDictionary.SELECT_HINT,
-    "/*+ first_rows(100) */");
-List results = query.getResultList ();
+Query query = em.createQuery(...);
+query.setHint("openjpa.hint.OracleSelectHint", "/*+ first_rows(100) */");
+List results = query.getResultList();
 </programlisting>
             </example>
         </section>
@@ -757,49 +731,49 @@
             <title>
                 Known issues with Oracle
             </title>
-            <para>
-<itemizedlist><listitem><para> The Oracle JDBC driver has significant
-differences between different versions. It is important to use the officially
-supported version of the driver (10.2.0.1.0), which is backward compatible with
-previous versions of the Oracle server. It can be downloaded from
+            <itemizedlist>
+                <listitem>
+                    <para> 
+The Oracle JDBC driver has significant differences between different versions. 
+It is important to use the officially supported version of the driver 
+(10.2.0.1.0), which is backward compatible with previous versions of the Oracle
+server. It can be downloaded from 
 <ulink url="http://www.oracle.com/technology/software/tech/java/sqlj_jdbc/htdocs/jdbc101040.html">
-http://www.oracle.com/technology/software/tech/java/sqlj_jdbc/htdocs/jdbc101040.html
-</ulink>.
-                        </para>
-                    </listitem>
-                    <listitem>
-                        <para>
+http://www.oracle.com/technology/software/tech/java/sqlj_jdbc/htdocs/jdbc101040.html</ulink>.
+                    </para>
+                </listitem>
+                <listitem>
+                    <para>
 For VARCHAR fields, <literal>null</literal> and a blank string are equivalent.
 This means that an object that stores a null string field will have it get read
 back as a blank string.
-                        </para>
-                    </listitem>
-                    <listitem>
-                        <para>
+                    </para>
+                </listitem>
+                <listitem>
+                    <para>
 Oracle corp's JDBC driver for Oracle has only limited support for batch updates.
 The result for OpenJPA is that in some cases, the exact object that failed an
 optimistic lock check cannot be determined, and OpenJPA will throw an
 <classname>OptimisticVerificationException</classname> with more failed objects
 than actually failed.
-                        </para>
-                    </listitem>
-                    <listitem>
-                        <para>
+                    </para>
+                </listitem>
+                <listitem>
+                    <para>
 Oracle cannot store numbers with more than 38 digits in numeric columns.
-                        </para>
-                    </listitem>
-                    <listitem>
-                        <para>
+                    </para>
+                </listitem>
+                <listitem>
+                    <para>
 Floats and doubles may lose precision when stored.
-                        </para>
-                    </listitem>
-                    <listitem>
-                        <para>
+                    </para>
+                </listitem>
+                <listitem>
+                    <para>
 CLOB columns cannot be used in queries.
-                        </para>
-                    </listitem>
-                </itemizedlist>
-            </para>
+                    </para>
+                </listitem>
+            </itemizedlist>
         </section>
     </section>
     <section id="dbsupport_pointbase">
@@ -820,14 +794,15 @@
             <title>
                 Known issues with Pointbase
             </title>
-            <para>
-<itemizedlist><listitem><para> Fields of type BLOB and CLOB are limited to 1M.
-This number can be increased by extending <classname>PointbaseDictionary
-</classname>.
-                        </para>
-                    </listitem>
-                </itemizedlist>
-            </para>
+            <itemizedlist>
+                <listitem>
+                    <para> 
+Fields of type BLOB and CLOB are limited to 1M.  Set the <literal>BlobTypeName
+</literal> and/or <literal>ClobTypeName</literal> properties of the 
+<literal>openjpa.jdbc.DBDictionary</literal> setting to override.  
+                    </para>
+                </listitem>
+            </itemizedlist>
         </section>
     </section>
     <section id="dbsupport_postgresql">
@@ -847,23 +822,23 @@
             <title>
                 Known issues with PostgreSQL
             </title>
-            <para>
-<itemizedlist><listitem><para> Floats and doubles may lose precision when
-stored.
-                        </para>
-                    </listitem>
-                    <listitem>
-                        <para>
+            <itemizedlist>
+                <listitem>
+                    <para>
+Floats and doubles may lose precision when stored.
+                    </para>
+                </listitem>
+                <listitem>
+                    <para>
 PostgreSQL cannot store very low and very high dates.
-                        </para>
-                    </listitem>
-                    <listitem>
-                        <para>
+                    </para>
+                </listitem>
+                <listitem>
+                    <para>
 Empty string/char values are stored as NULL.
-                        </para>
-                    </listitem>
-                </itemizedlist>
-            </para>
+                    </para>
+                </listitem>
+            </itemizedlist>
         </section>
     </section>
     <section id="dbsupport_sybase">
@@ -884,35 +859,36 @@
             <title>
                 Known issues with Sybase
             </title>
-            <para>
-<itemizedlist><listitem><para> The " <literal>DYNAMIC_PREPARE</literal> "
-parameter of the Sybase JDBC driver cannot be used with OpenJPA.
-                        </para>
-                    </listitem>
-                    <listitem>
-                        <para>
+            <itemizedlist>
+                <listitem>
+                    <para> 
+The "<literal>DYNAMIC_PREPARE</literal>" parameter of the Sybase JDBC driver 
+cannot be used with OpenJPA.
+                    </para>
+                </listitem>
+                <listitem>
+                    <para>
 Datastore locking cannot be used when manipulating many-to-many relations using
 the default OpenJPA schema created by the schematool, unless an auto-increment
 primary key field is manually added to the table.
-                        </para>
-                    </listitem>
-                    <listitem>
-                        <para>
+                    </para>
+                </listitem>
+                <listitem>
+                    <para>
 Persisting a zero-length string results in a string with a single space
 characted being returned from Sybase, Inc.'s JDBC driver.
-                        </para>
-                    </listitem>
-                    <listitem>
-                        <para>
+                    </para>
+                </listitem>
+                <listitem>
+                    <para>
 The <literal>BE_AS_JDBC_COMPLIANT_AS_POSSIBLE</literal> is required in order to
 use datastore (pessimistic) locking. Failure to set this property may lead to
 obscure errors like " <literal>FOR UPDATE can not be used in a SELECT which is
 not part of the declaration of a cursor or which is not inside a stored
 procedure.</literal> ".
-                        </para>
-                    </listitem>
-                </itemizedlist>
-            </para>
+                    </para>
+                </listitem>
+            </itemizedlist>
         </section>
     </section>
 </appendix>