Author: dezzio
Date: Mon Jul 14 06:54:52 2008
New Revision: 676592
URL: http://svn.apache.org/viewvc?rev=676592&view=rev
Log:
Added database dictionary properties to address OpenJPA-654.
Modified:
openjpa/branches/1.1.x/openjpa-project/src/doc/manual/ref_guide_dbsetup.xml
Modified:
openjpa/branches/1.1.x/openjpa-project/src/doc/manual/ref_guide_dbsetup.xml
URL:
http://svn.apache.org/viewvc/openjpa/branches/1.1.x/openjpa-project/src/doc/manual/ref_guide_dbsetup.xml?rev=676592&r1=676591&r2=676592&view=diff
==============================================================================
--- openjpa/branches/1.1.x/openjpa-project/src/doc/manual/ref_guide_dbsetup.xml
(original)
+++ openjpa/branches/1.1.x/openjpa-project/src/doc/manual/ref_guide_dbsetup.xml
Mon Jul 14 06:54:52 2008
@@ -703,6 +703,20 @@
<itemizedlist>
<!-- Please keep the list of dictionary properties
in alphabetical order -->
+ <listitem id="DBDictionary.AllowsAliasInBulkClause">
+ <para>
+ <indexterm>
+ <primary>
+ SQL
+ </primary>
+ <secondary>
+ AllowsAliasInBulkClause
+ </secondary>
+ </indexterm>
+<literal>AllowsAliasInBulkClause</literal>:
+When true, SQL delete and update statements may use table aliases.
+ </para>
+ </listitem>
<listitem id="DBDictionary.ArrayTypeName">
<para>
<indexterm>
@@ -714,7 +728,7 @@
</secondary>
</indexterm>
<literal>ArrayTypeName</literal>: The overridden default column type for
-<literal>java.sql.Types.ARRAY</literal>. This is only used when the schema is
+<literal>java.sql.Types.ARRAY</literal>. This is used only when the schema is
generated by the <literal>mappingtool</literal>.
</para>
</listitem>
@@ -732,7 +746,7 @@
</tertiary>
</indexterm>
<literal>AutoAssignClause</literal>: The column definition clause to append to
-a creation statement. For example, " <literal>AUTO_INCREMENT</literal> " for
+a creation statement. For example, <literal>"AUTO_INCREMENT"</literal> for
MySQL. This property is set automatically in the dictionary, and should not
need
to be overridden, and is only used when the schema is generated using the
<literal>mappingtool</literal>.
@@ -759,13 +773,31 @@
AutoAssignTypeName
</tertiary>
</indexterm>
-<literal>AutoAssignTypeName</literal>: The column type name for auto-increment
-columns. For example, " <literal>BIGSERIAL</literal> " for PostgreSQL. This
-property is set automatically in the dictionary, and should not need to be
-overridden, and is only used when the schema is generated using the <literal>
+<literal>AutoAssignTypeName</literal>:
+The column type name for auto-increment
+columns. For example, <literal>"BIGSERIAL"</literal> for PostgreSQL. This
+property is set automatically in the dictionary and should not need to be
+overridden. It is used only when the schema is generated using the <literal>
mappingtool</literal>.
</para>
</listitem>
+ <listitem id="DBDictionary.BatchLimit">
+ <para>
+ <indexterm>
+ <primary>
+ JDBC
+ </primary>
+ <secondary>
+ BatchLimit
+ </secondary>
+ </indexterm>
+<literal>BatchLimit</literal>:
+The default batch limit for sending multiple SQL statements at once to the
+database. A value of -1 indicates unlimited batching, and any positive integer
+indicates the maximum number of SQL statements to batch together.
+Defaults to 0 which disables batching.
+ </para>
+ </listitem>
<listitem id="DBDictionary.BigintTypeName">
<para>
<indexterm>
@@ -777,7 +809,7 @@
</secondary>
</indexterm>
<literal>BigintTypeName</literal>: The overridden default column type for
-<literal>java.sql.Types.BIGINT</literal>. This is only used when the schema is
+<literal>java.sql.Types.BIGINT</literal>. This is used only when the schema is
generated by the <literal>mappingtool</literal>.
</para>
</listitem>
@@ -792,7 +824,7 @@
</secondary>
</indexterm>
<literal>BinaryTypeName</literal>: The overridden default column type for
-<literal>java.sql.Types.BINARY</literal>. This is only used when the schema is
+<literal>java.sql.Types.BINARY</literal>. This is used only when the schema is
generated by the <literal>mappingtool</literal>.
</para>
</listitem>
@@ -807,7 +839,7 @@
</secondary>
</indexterm>
<literal>BitTypeName</literal>: The overridden default column type for
<literal>
-java.sql.Types.BIT</literal>. This is only used when the schema is generated by
+java.sql.Types.BIT</literal>. This is used only when the schema is generated by
the <literal>mappingtool</literal>.
</para>
</listitem>
@@ -846,10 +878,44 @@
</secondary>
</indexterm>
<literal>BlobTypeName</literal>: The overridden default column type for
-<literal>java.sql.Types.BLOB</literal>. This is only used when the schema is
+<literal>java.sql.Types.BLOB</literal>. This is used only when the schema is
generated by the <literal>mappingtool</literal>.
</para>
</listitem>
+ <listitem id="DBDictionary.BooleanTypeName">
+ <para>
+ <indexterm>
+ <primary>
+ DDL
+ </primary>
+ <secondary>
+ BooleanTypeName
+ </secondary>
+ </indexterm>
+<literal>BooleanTypeName</literal>:
+The overridden default column type for <literal>
+java.sql.Types.BOOLEAN</literal>. This is used only when the schema
+is generated by the <literal>mappingtool</literal>.
+ </para>
+ </listitem>
+ <listitem id="DBDictionary.CastFunction">
+ <para>
+ <indexterm>
+ <primary>
+ SQL
+ </primary>
+ <secondary>
+ CastFunction
+ </secondary>
+ </indexterm>
+<literal>CastFunction</literal>:
+The SQL function call to cast a value to another SQL type.
+Use the tokens <literal>{0}</literal> and <literal>{1}</literal> to represent
+the two arguments. The result of the function is convert the
+<literal>{0}</literal> value to a <literal>{1}</literal> type.
+The default is <literal>"CAST({0} AS {1})"</literal>.
+ </para>
+ </listitem>
<listitem id="DBDictionary.CatalogSeparator">
<para>
<indexterm>
@@ -876,7 +942,7 @@
</secondary>
</indexterm>
<literal>CharTypeName</literal>: The overridden default column type for
-<literal>java.sql.Types.CHAR</literal>. This is only used when the schema is
+<literal>java.sql.Types.CHAR</literal>. This is used only when the schema is
generated by the <literal>mappingtool</literal>.
</para>
</listitem>
@@ -910,8 +976,6 @@
<xref linkend="ref_guide_streamsupport"/>. Defaults to 50000.
</para>
</listitem>
- </itemizedlist>
- </section>
<listitem id="DBDictionary.ClobTypeName">
<para>
<indexterm>
@@ -931,10 +995,47 @@
</secondary>
</indexterm>
<literal>ClobTypeName</literal>: The overridden default column type for
-<literal>java.sql.Types.CLOB</literal>. This is only used when the schema is
+<literal>java.sql.Types.CLOB</literal>. This is used only when the schema is
generated by the <literal>mappingtool</literal>.
</para>
</listitem>
+ <listitem id="DBDictionary.ClosePoolSQL">
+ <para>
+ <indexterm>
+ <primary>
+ JDBC
+ </primary>
+ <secondary>
+ ClosePoolSQL
+ </secondary>
+ </indexterm>
+<literal>ClosePoolSQL</literal>:
+A special command to issue to the database when shutting down the pool.
+Usually the pool of connections to the database is closed when the
+application is ending. For embedded databases, whose lifecycle is
+coterminous with the application, there may be a special
+command, usually <literal>"SHUTDOWN"</literal>,
+that will cause the embedded database to close cleanly. Defaults to null.
+ </para>
+ </listitem>
+ <listitem id="DBDictionary.ConcatenateFunction">
+ <para>
+ <indexterm>
+ <primary>
+ SQL
+ </primary>
+ <secondary>
+ ConcatenateFunction
+ </secondary>
+ </indexterm>
+<literal>ConcatenateFunction</literal>:
+The SQL function call or operation to concatenate two strings.
+Use the tokens <literal>{0}</literal> and <literal>{1}</literal> to represent
+the two arguments. The result of the function or operation is to concatenate
+the <literal>{1}</literal> string to the end of the <literal>{0}</literal>
+string. Defaults to <literal>"({0}||{1})</literal>".
+ </para>
+ </listitem>
<listitem id="DBDictionary.ConstraintNameMode">
<para>
<indexterm>
@@ -981,6 +1082,72 @@
(cartesian product). Defaults to <literal>CROSS JOIN</literal>.
</para>
</listitem>
+ <listitem id="DBDictionary.CurrentDateFunction">
+ <para>
+ <indexterm>
+ <primary>
+ SQL
+ </primary>
+ <secondary>
+ CurrentDateFunction
+ </secondary>
+ </indexterm>
+<literal>CurrentDateFunction</literal>:
+The SQL function call to obtain the current date from the database.
+Defaults to <literal>"CURRENT_DATE"</literal>.
+ </para>
+ </listitem>
+ <listitem id="DBDictionary.CurrentTimeFunction">
+ <para>
+ <indexterm>
+ <primary>
+ SQL
+ </primary>
+ <secondary>
+ CurrentTimeFunction
+ </secondary>
+ </indexterm>
+<literal>CurrentTimeFunction</literal>:
+The SQL function call to obtain the current time from the database.
+Defaults to <literal>"CURRENT_TIME"</literal>.
+ </para>
+ </listitem>
+ <listitem id="DBDictionary.CurrentTimestampFunction">
+ <para>
+ <indexterm>
+ <primary>
+ SQL
+ </primary>
+ <secondary>
+ CurrentTimestampFunction
+ </secondary>
+ </indexterm>
+<literal>CurrentTimestampFunction</literal>:
+The SQL function call to obtain the current timestamp from the database.
+Defaults to <literal>"CURRENT_TIMESTAMP"</literal>.
+ </para>
+ </listitem>
+ <listitem id="DBDictionary.DatePrecision">
+ <para>
+ <indexterm>
+ <primary>
+ JDBC
+ </primary>
+ <secondary>
+ DatePrecision
+ </secondary>
+ </indexterm>
+<literal>DatePrecision</literal>:
+The database is able to store time values to this degree of precision,
+which is expressed in nanoseconds.
+This value is usually one million, meaning that the database is able
+to store time values with a precision of one millisecond. Particular
+databases may have more or less precision.
+OpenJPA will round all time values to this degree of precision
+before storing them in the database.
+Defaults to 1000000.
+ </para>
+ </listitem>
<listitem id="DBDictionary.DateTypeName">
<para>
<indexterm>
@@ -992,7 +1159,7 @@
</secondary>
</indexterm>
<literal>DateTypeName</literal>: The overridden default column type for
-<literal>java.sql.Types.DATE</literal>. This is only used when the schema is
+<literal>java.sql.Types.DATE</literal>. This is used only when the schema is
generated by the <literal>mappingtool</literal>.
</para>
</listitem>
@@ -1007,7 +1174,7 @@
</secondary>
</indexterm>
<literal>DecimalTypeName</literal>: The overridden default column type for
-<literal>java.sql.Types.DECIMAL</literal>. This is only used when the schema is
+<literal>java.sql.Types.DECIMAL</literal>. This is used only when the schema is
generated by the <literal>mappingtool</literal>.
</para>
</listitem>
@@ -1038,7 +1205,7 @@
</secondary>
</indexterm>
<literal>DistinctTypeName</literal>: The overridden default column type for
-<literal>java.sql.Types.DISTINCT</literal>. This is only used when the schema
+<literal>java.sql.Types.DISTINCT</literal>. This is used only when the schema
is generated by the <literal>mappingtool</literal>.
</para>
</listitem>
@@ -1053,7 +1220,7 @@
</secondary>
</indexterm>
<literal>DoubleTypeName</literal>: The overridden default column type for
-<literal>java.sql.Types.DOUBLE</literal>. This is only used when the schema is
+<literal>java.sql.Types.DOUBLE</literal>. This is used only when the schema is
generated by the <literal>mappingtool</literal>.
</para>
</listitem>
@@ -1074,6 +1241,44 @@
<classname>DBDictionary</classname> Javadoc for available options.
</para>
</listitem>
+ <listitem id="DBDictionary.DropTableSQL">
+ <para>
+ <indexterm>
+ <primary>
+ SQL
+ </primary>
+ <secondary>
+ DropTableSQL
+ </secondary>
+ </indexterm>
+<literal>DropTableSQL</literal>:
+The SQL statement used to drop a table. Use the token <literal>{0}</literal>
+as the argument for the table name.
+Defaults to <literal>"DROP TABLE {0}"</literal>.
+ </para>
+ </listitem>
+ <listitem id="DBDictionary.FixedSizeTypeNames">
+ <para>
+ <indexterm>
+ <primary>
+ SQL
+ </primary>
+ <secondary>
+ FixedSizeTypeNames
+ </secondary>
+ </indexterm>
+<literal>FixedSizeTypeNames</literal>:
+A comma separated list of additional database types that have a size
+defined by the database. In other words, when a column of a fixed
+size type is declared, its size cannot be defined by the user. Common
+examples would be <literal>DATE</literal>, <literal>FLOAT</literal>,
+and <literal>INTEGER</literal>.
+Each database dictionary has its own internal set of fixed size type names
+that include the names mentioned here and many others.
+Names added to this property are added to the dictionary's internal set.
+Defaults to null.
+ </para>
+ </listitem>
<listitem id="DBDictionary.FloatTypeName">
<para>
<indexterm>
@@ -1085,7 +1290,7 @@
</secondary>
</indexterm>
<literal>FloatTypeName</literal>: The overridden default column type for
-<literal>java.sql.Types.FLOAT</literal>. This is only used when the schema is
+<literal>java.sql.Types.FLOAT</literal>. This is used only when the schema is
generated by the <literal>mappingtool</literal>.
</para>
</listitem>
@@ -1112,6 +1317,56 @@
to <literal>FOR UPDATE</literal>.
</para>
</listitem>
+ <listitem id="DBDictionary.GetStringVal">
+ <para>
+ <indexterm>
+ <primary>
+ Oracle
+ </primary>
+ <secondary>
+ GetStringVal
+ </secondary>
+ </indexterm>
+ <indexterm>
+ <primary>
+ JDBC
+ </primary>
+ <secondary>
+ GetStringVal
+ </secondary>
+ </indexterm>
+<literal>GetStringVal</literal>:
+A special function to return the value of an XML
+column in a select statement. For example, Oracle uses
+<literal>".getStringVal()"</literal>, as in,
+<literal>"select t0.xmlcol.getStringVal() from xmltab t0"</literal>.
+Defaults to the empty string.
+ </para>
+ </listitem>
+ <listitem id="DBDictionary.InClauseLimit">
+ <para>
+ <indexterm>
+ <primary>
+ Oracle
+ </primary>
+ <secondary>
+ InClauseLimit
+ </secondary>
+ </indexterm>
+ <indexterm>
+ <primary>
+ JDBC
+ </primary>
+ <secondary>
+ GetStringVal
+ </secondary>
+ </indexterm>
+<literal>InClauseLimit</literal>:
+The maximum number of elements in an <literal>IN</literal> clause. OpenJPA
+works around cases where the limit is exceeded. Defaults to -1 meaning
+no limit.
+ </para>
+ </listitem>
<listitem id="DBDictionary.InitializationSQL">
<para>
<indexterm>
@@ -1160,7 +1415,7 @@
</secondary>
</indexterm>
<literal>IntegerTypeName</literal>: The overridden default column type for
-<literal>java.sql.Types.INTEGER</literal>. This is only used when the schema is
+<literal>java.sql.Types.INTEGER</literal>. This is used only when the schema is
generated by the <literal>mappingtool</literal>.
</para>
</listitem>
@@ -1175,7 +1430,7 @@
</secondary>
</indexterm>
<literal>JavaObjectTypeName</literal>: The overridden default column type for
-<literal>java.sql.Types.JAVAOBJECT</literal>. This is only used when the schema
+<literal>java.sql.Types.JAVAOBJECT</literal>. This is used only when the schema
is generated by the <literal>mappingtool</literal>.
</para>
</listitem>
@@ -1207,8 +1462,8 @@
</tertiary>
</indexterm>
<literal>LastGeneratedKeyQuery</literal>: The query to issue to obtain the last
-automatically generated key for an auto-increment column. For example, "
-<literal>SELECT LAST_INSERT_ID()</literal> " for MySQL. This property is set
+automatically generated key for an auto-increment column. For example,
+<literal>"SELECT LAST_INSERT_ID()"</literal> for MySQL. This property is set
automatically in the dictionary, and should not need to be overridden.
</para>
</listitem>
@@ -1223,7 +1478,7 @@
</secondary>
</indexterm>
<literal>LongVarbinaryTypeName</literal>: The overridden default column type
-for <literal>java.sql.Types.LONGVARBINARY</literal>. This is only used when the
+for <literal>java.sql.Types.LONGVARBINARY</literal>. This is used only when the
schema is generated by the <literal>mappingtool</literal>.
</para>
</listitem>
@@ -1238,7 +1493,7 @@
</secondary>
</indexterm>
<literal>LongVarcharTypeName</literal>: The overridden default column type for
-<literal>java.sql.Types.LONGVARCHAR</literal>. This is only used when the
+<literal>java.sql.Types.LONGVARCHAR</literal>. This is used only when the
schema is generated by the <literal>mappingtool</literal>.
</para>
</listitem>
@@ -1285,6 +1540,42 @@
a constraint name. Defaults to 128.
</para>
</listitem>
+ <listitem id="DBDictionary.MaxEmbeddedBlobSize">
+ <para>
+ <indexterm>
+ <primary>
+ SQL
+ </primary>
+ <secondary>
+ MaxEmbeddedBlobSize
+ </secondary>
+ </indexterm>
+<literal>MaxEmbeddedBlobSize</literal>:
+When greater than -1, the maximum size of a <literal>BLOB</literal> value
+that can be sent directly to the database within an insert or update
statement.
+Values whose size is greater than <literal>MaxEmbeddedBlobSize</literal> force
+OpenJPA to work around this limitation. A value of -1 means that there is
+no limitation. Defaults to -1.
+ </para>
+ </listitem>
+ <listitem id="DBDictionary.MaxEmbeddedClobSize">
+ <para>
+ <indexterm>
+ <primary>
+ SQL
+ </primary>
+ <secondary>
+ MaxEmbeddedClobSize
+ </secondary>
+ </indexterm>
+<literal>MaxEmbeddedClobSize</literal>:
+When greater than -1, the maximum size of a <literal>CLOB</literal> value
+that can be sent directly to the database within an insert or update
statement.
+Values whose size is greater than <literal>MaxEmbeddedClobSize</literal> force
+OpenJPA to work around this limitation. A value of -1 means that there is
+no limitation. Defaults to -1.
+ </para>
+ </listitem>
<listitem id="DBDictionary.MaxIndexNameLength">
<para>
<indexterm>
@@ -1348,7 +1639,7 @@
<literal>NextSequenceQuery</literal>: A SQL string for obtaining a native
sequence value. May use a placeholder of <literal>{0}</literal> for the
variable
sequence name. Defaults to a database-appropriate value. For example,
-" <literal>SELECT {0}.NEXTVAL FROM DUAL</literal> " for Oracle.
+<literal>"SELECT {0}.NEXTVAL FROM DUAL"</literal> for Oracle.
</para>
</listitem>
<listitem id="DBDictionary.NullTypeName">
@@ -1362,7 +1653,7 @@
</secondary>
</indexterm>
<literal>NullTypeName</literal>: The overridden default column type for
-<literal>java.sql.Types.NULL</literal>. This is only used when the schema is
+<literal>java.sql.Types.NULL</literal>. This is used only when the schema is
generated by the <literal>mappingtool</literal>.
</para>
</listitem>
@@ -1377,7 +1668,7 @@
</secondary>
</indexterm>
<literal>NumericTypeName</literal>: The overridden default column type for
-<literal>java.sql.Types.NUMERIC</literal>. This is only used when the schema is
+<literal>java.sql.Types.NUMERIC</literal>. This is used only when the schema is
generated by the <literal>mappingtool</literal>.
</para>
</listitem>
@@ -1392,7 +1683,7 @@
</secondary>
</indexterm>
<literal>OtherTypeName</literal>: The overridden default column type for
-<literal>java.sql.Types.OTHER</literal>. This is only used when the schema is
+<literal>java.sql.Types.OTHER</literal>. This is used only when the schema is
generated by the <literal>mappingtool</literal>.
</para>
</listitem>
@@ -1410,6 +1701,42 @@
Defaults to <literal>LEFT OUTER JOIN</literal>.
</para>
</listitem>
+ <listitem id="DBDictionary.Platform">
+ <para>
+ <indexterm>
+ <primary>
+ JDBC
+ </primary>
+ <secondary>
+ Platform
+ </secondary>
+ </indexterm>
+<literal>Platform</literal>:
+The name of the database that this dictionary targets.
+Defaults to <literal>"Generic"</literal>, but all dictionaries override this
+value.
+ </para>
+ </listitem>
+ <listitem id="DBDictionary.RangePosition">
+ <para>
+ <indexterm>
+ <primary>
+ SQL
+ </primary>
+ <secondary>
+ RangePosition
+ </secondary>
+ </indexterm>
+<literal>RangePosition</literal>:
+Indicates where to specify in the SQL select statement the range, if any,
+of the result rows to be returned.
+When limiting the number of returned result rows to a subset of all those
+that satisfy the query's conditions, the position of the range clause
+varies by database.
+Defaults to 0 (<literal>RANGE_POST_SELECT</literal>), meaning that the range
+is expressed at the end of the select statement but before any locking clause.
+ </para>
+ </listitem>
<listitem id="DBDictionary.RealTypeName">
<para>
<indexterm>
@@ -1421,7 +1748,7 @@
</secondary>
</indexterm>
<literal>RealTypeName</literal>: The overridden default column type for
-<literal>java.sql.Types.REAL</literal>. This is only used when the schema is
+<literal>java.sql.Types.REAL</literal>. This is used only when the schema is
generated by the <literal>mappingtool</literal>.
</para>
</listitem>
@@ -1436,7 +1763,7 @@
</secondary>
</indexterm>
<literal>RefTypeName</literal>: The overridden default column type for
<literal>
-java.sql.Types.REF</literal>. This is only used when the schema is generated by
+java.sql.Types.REF</literal>. This is used only when the schema is generated by
the <literal>mappingtool</literal>.
</para>
</listitem>
@@ -1483,6 +1810,38 @@
can take place.
</para>
</listitem>
+ <listitem id="DBDictionary.RequiresCastForComparisons">
+ <para>
+ <indexterm>
+ <primary>
+ SQL
+ </primary>
+ <secondary>
+ RequiresCastForComparisons
+ </secondary>
+ </indexterm>
+<literal>RequiresCastForComparisons</literal>:
+When true, comparisons of two values of different types or
+of two literals requires a cast in the generated SQL.
+Defaults to false.
+ </para>
+ </listitem>
+ <listitem id="DBDictionary.RequiresCastForMathFunctions">
+ <para>
+ <indexterm>
+ <primary>
+ SQL
+ </primary>
+ <secondary>
+ RequiresCastForMathFunctions
+ </secondary>
+ </indexterm>
+<literal>RequiresCastForMathFunctions</literal>:
+When true, math operations on two values of different types or
+on two literals requires a cast in the generated SQL.
+Defaults to false.
+ </para>
+ </listitem>
<listitem id="DBDictionary.RequiresConditionForCrossJoin">
<para>
<indexterm>
@@ -1498,6 +1857,21 @@
ensures that there will always be some condition to the join clause.
</para>
</listitem>
+ <listitem id="DBDictionary.RequiresTargetForDelete">
+ <para>
+ <indexterm>
+ <primary>
+ SQL
+ </primary>
+ <secondary>
+ RequiresTargetForDelete
+ </secondary>
+ </indexterm>
+<literal>RequiresTargetForDelete</literal>:
+When true, the database requires a target for delete statements. Defaults
+to false.
+ </para>
+ </listitem>
<listitem id="DBDictionary.ReservedWords">
<para>
<indexterm>
@@ -1530,6 +1904,26 @@
Available values are: <literal>upper, lower, preserve</literal>.
</para>
</listitem>
+ <listitem id="DBDictionary.SearchStringEscape">
+ <para>
+ <indexterm>
+ <primary>
+ SQL
+ </primary>
+ <secondary>
+ SearchStringEscape
+ </secondary>
+ </indexterm>
+<literal>SearchStringEscape</literal>:
+The default escape character used when generating SQL <literal>LIKE</literal>
+clauses. The escape character is used to escape the wildcard meaning of the
+<literal>_</literal> and <literal>%</literal> characters.
+Note: since JPQL provides the ability to define the escape character in
+the query, this setting is primarily used when translating other query
+languages, such as JDOQL. Defaults to <literal>"\\"</literal>
+(a single backslash in Java speak).
+ </para>
+ </listitem>
<listitem id="DBDictionary.SelectWords">
<para>
<indexterm>
@@ -1546,6 +1940,62 @@
statement as a SELECT statement rather than an UPDATE statement.
</para>
</listitem>
+ <listitem id="DBDictionary.SequenceNameSQL">
+ <para>
+ <indexterm>
+ <primary>
+ schema
+ </primary>
+ <secondary>
+ reflection
+ </secondary>
+ <tertiary>
+ SequenceNameSQL
+ </tertiary>
+ </indexterm>
+<literal>SequenceNameSQL</literal>:
+Additional phrasing to use with <literal>SequenceSQL</literal>.
+Defaults to null.
+ </para>
+ </listitem>
+ <listitem id="DBDictionary.SequenceSQL">
+ <para>
+ <indexterm>
+ <primary>
+ schema
+ </primary>
+ <secondary>
+ reflection
+ </secondary>
+ <tertiary>
+ SequenceSQL
+ </tertiary>
+ </indexterm>
+<literal>SequenceSQL</literal>:
+General structure of the SQL query to use when interrogating the database
+for sequence names.
+As there is no standard way to obtain sequence names, it defaults to null.
+ </para>
+ </listitem>
+
+ <listitem id="DBDictionary.SequenceSchemaSQL">
+ <para>
+ <indexterm>
+ <primary>
+ schema
+ </primary>
+ <secondary>
+ reflection
+ </secondary>
+ <tertiary>
+ SequenceSchemaSQL
+ </tertiary>
+ </indexterm>
+<literal>SequenceSchemaSQL</literal>:
+Additional phrasing to use with <literal>SequenceSQL</literal>.
+Defaults to null.
+ </para>
+ </listitem>
<listitem id="DBDictionary.SimulateLocking">
<para>
<indexterm>
@@ -1577,7 +2027,7 @@
</secondary>
</indexterm>
<literal>SmallintTypeName</literal>: The overridden default column type for
-<literal>java.sql.Types.SMALLINT</literal>. This is only used when the schema
+<literal>java.sql.Types.SMALLINT</literal>. This is used only when the schema
is generated by the <literal>mappingtool</literal>.
</para>
</listitem>
@@ -1660,7 +2110,7 @@
</secondary>
</indexterm>
<literal>StructTypeName</literal>: The overridden default column type for
-<literal>java.sql.Types.STRUCT</literal>. This is only used when the schema is
+<literal>java.sql.Types.STRUCT</literal>. This is used only when the schema is
generated by the <literal>mappingtool</literal>.
</para>
</listitem>
@@ -1708,6 +2158,22 @@
true</literal>.
</para>
</listitem>
+ <listitem id="DBDictionary.SupportsAutoAssign">
+ <para>
+ <indexterm>
+ <primary>
+ SQL
+ </primary>
+ <secondary>
+ SupportsAutoAssign
+ </secondary>
+ </indexterm>
+<literal>SupportsAutoAssign</literal>:
+When true, the database supports auto-assign columns, where the value of
+column is assigned upon insertion of the row into the database.
+Defaults to false.
+ </para>
+ </listitem>
<listitem id="DBDictionary.SupportsCascadeDeleteAction">
<para>
<indexterm>
@@ -1718,8 +2184,57 @@
SupportsCascadeDeleteAction
</secondary>
</indexterm>
-<literal>SupportsCascadeDeleteAction</literal>: Whether the database supports
-the CASCADE foreign key delete action. Defaults to <literal>true</literal>.
+<literal>SupportsCascadeDeleteAction</literal>: When true, the database
supports
+the <literal>CASCADE</literal> delete action on foreign keys.
+Defaults to true.
+ </para>
+ </listitem>
+ <listitem id="DBDictionary.SupportsCascadeUpdateAction">
+ <para>
+ <indexterm>
+ <primary>
+ foreign keys
+ </primary>
+ <secondary>
+ SupportsCascadeUpdateAction
+ </secondary>
+ </indexterm>
+<literal>SupportsCascadeUpdateAction</literal>:
+When true, the database supports the <literal>CASCADE</literal>
+update action on foreign keys. Defaults to true.
+ </para>
+ </listitem>
+ <listitem id="DBDictionary.SupportsComments">
+ <para>
+ <indexterm>
+ <primary>
+ DDL
+ </primary>
+ <secondary>
+ SupportsComments
+ </secondary>
+ </indexterm>
+<literal>SupportsComments</literal>:
+When true, comments can be associated with the table in the table creation
+statement. Defaults to false.
+ </para>
+ </listitem>
+ <listitem id="DBDictionary.SupportsCorrelatedSubselect">
+ <para>
+ <indexterm>
+ <primary>
+ SQL
+ </primary>
+ <secondary>
+ SupportsCorrelatedSubselect
+ </secondary>
+ </indexterm>
+<literal>SupportsCorrelatedSubselect</literal>:
+When true, the database supports correlated subselects. Correlated
+subselects are select statements nested within select statements that
+refers to a column in the outer select statement. For performance
+reasons, correlated subselects are generally a last resort.
+Defaults to true.
</para>
</listitem>
<listitem id="DBDictionary.SupportsDefaultDeleteAction">
@@ -1732,8 +2247,24 @@
SupportsDefaultDeleteAction
</secondary>
</indexterm>
-<literal>SupportsDefaultDeleteAction</literal>: Whether the database supports
-the SET DEFAULT foreign key delete action. Defaults to <literal>true</literal>.
+<literal>SupportsDefaultDeleteAction</literal>: When true, the database
supports
+the <literal>SET DEFAULT</literal> delete action on foreign keys.
+Defaults to true.
+ </para>
+ </listitem>
+ <listitem id="DBDictionary.SupportsDefaultUpdateAction">
+ <para>
+ <indexterm>
+ <primary>
+ foreign keys
+ </primary>
+ <secondary>
+ SupportsDefaultUpdateAction
+ </secondary>
+ </indexterm>
+<literal>SupportsDefaultUpdateAction</literal>:
+When true, the database supports the <literal>SET DEFAULT</literal> update
+action on foreign keys. Defaults to true.
</para>
</listitem>
<listitem id="DBDictionary.SupportsDeferredConstraints">
@@ -1874,6 +2405,21 @@
database equivalent. Defaults to true.
</para>
</listitem>
+ <listitem id="DBDictionary.SupportsModOperator">
+ <para>
+ <indexterm>
+ <primary>
+ SQL
+ </primary>
+ <secondary>
+ SupportsModOperator
+ </secondary>
+ </indexterm>
+<literal>SupportsModOperator</literal>:
+When true, the database supports the modulus operator (<literal>%</literal>)
+instead of the <literal>MOD</literal> function. Defaults to false.
+ </para>
+ </listitem>
<listitem
id="DBDictionary.SupportsMultipleNontransactionalResultSets">
<para>
<literal>SupportsMultipleNontransactionalResultSets</literal>: If true, then a
@@ -1891,8 +2437,9 @@
SupportsNullDeleteAction
</secondary>
</indexterm>
-<literal>SupportsNullDeleteAction</literal>: Whether the database supports the
-SET NULL foreign key delete action. Defaults to <literal>true</literal>.
+<literal>SupportsNullDeleteAction</literal>: When true, the database supports
+the <literal>SET NULL</literal> delete action on foreign keys.
+Defaults to true.
</para>
</listitem>
<listitem id="DBDictionary.SupportsNullTableForGetColumns">
@@ -1971,6 +2518,21 @@
information about all the tables. Defaults to <literal>false</literal>.
</para>
</listitem>
+ <listitem id="DBDictionary.SupportsNullUpdateAction">
+ <para>
+ <indexterm>
+ <primary>
+ foreign keys
+ </primary>
+ <secondary>
+ SupportsNullUpdateAction
+ </secondary>
+ </indexterm>
+<literal>SupportsNullUpdateAction</literal>:
+When true, the database supports the <literal>SET NULL</literal> update
+action on foreign keys. Defaults to true.
+ </para>
+ </listitem>
<listitem id="DBDictionary.SupportsQueryTimeout">
<para>
<indexterm>
@@ -1998,8 +2560,24 @@
SupportsRestrictDeleteAction
</secondary>
</indexterm>
-<literal>SupportsRestrictDeleteAction</literal>: Whether the database supports
-the RESTRICT foreign key delete action. Defaults to <literal>true</literal>.
+<literal>SupportsRestrictDeleteAction</literal>: When true, the database
+supports the <literal>RESTRICT</literal> delete action on foreign keys.
+Defaults to true.
+ </para>
+ </listitem>
+ <listitem id="DBDictionary.SupportsRestrictUpdateAction">
+ <para>
+ <indexterm>
+ <primary>
+ foreign keys
+ </primary>
+ <secondary>
+ SupportsRestrictUpdateAction
+ </secondary>
+ </indexterm>
+<literal>SupportsRestrictUpdateAction</literal>:
+When true, the database supports the <select>RESTRICT</select> update
+action on foreign keys. Defaults to true.
</para>
</listitem>
<listitem id="DBDictionary.SupportsSchemaForGetColumns">
@@ -2136,6 +2714,22 @@
unique constraints. Defaults to true.
</para>
</listitem>
+ <listitem id="DBDictionary.SupportsXMLColumn">
+ <para>
+ <indexterm>
+ <primary>
+ DDL
+ </primary>
+ <secondary>
+ SupportsXMLColumn
+ </secondary>
+ </indexterm>
+<literal>SupportsXMLColumn</literal>:
+When true, the database supports an XML column type. See
+<xref linkend="ref_guide_xmlmapping"/>
+for information on using this capability. Defaults to false.
+ </para>
+ </listitem>
<listitem id="DBDictionary.SystemSchemas">
<para>
<indexterm>
@@ -2222,7 +2816,7 @@
</secondary>
</indexterm>
<literal>TimeTypeName</literal>: The overridden default column type for
-<literal>java.sql.Types.TIME</literal>. This is only used when the schema is
+<literal>java.sql.Types.TIME</literal>. This is used only when the schema is
generated by the <literal>mappingtool</literal>.
</para>
</listitem>
@@ -2237,7 +2831,7 @@
</secondary>
</indexterm>
<literal>TimestampTypeName</literal>: The overridden default column type for
-<literal>java.sql.Types.TIMESTAMP</literal>. This is only used when the schema
+<literal>java.sql.Types.TIMESTAMP</literal>. This is used only when the schema
is generated by the <literal>mappingtool</literal>.
</para>
</listitem>
@@ -2252,7 +2846,7 @@
</secondary>
</indexterm>
<literal>TinyintTypeName</literal>: The overridden default column type for
-<literal>java.sql.Types.TINYINT</literal>. This is only used when the schema is
+<literal>java.sql.Types.TINYINT</literal>. This is used only when the schema is
generated by the <literal>mappingtool</literal>.
</para>
</listitem>
@@ -2286,6 +2880,66 @@
argument.
</para>
</listitem>
+ <listitem id="DBDictionary.TrimBothFunction">
+ <para>
+ <indexterm>
+ <primary>
+ SQL
+ </primary>
+ <secondary>
+ TrimBothFunction
+ </secondary>
+ </indexterm>
+<literal>TrimBothFunction</literal>:
+The SQL function call to trim any number of a particular character
+from both the start and end of a string.
+Note: some databases do not support specifying the character in which
+case only spaces or whitespace can be trimmed.
+Use the token <literal>{1}</literal> when possible to represent the character,
+and the token <literal>{0}</literal> to represent the string.
+Defaults to <literal>"TRIM(BOTH {1} FROM {0})"</literal>.
+ </para>
+ </listitem>
+ <listitem id="DBDictionary.TrimLeadingFunction">
+ <para>
+ <indexterm>
+ <primary>
+ SQL
+ </primary>
+ <secondary>
+ TrimLeadingFunction
+ </secondary>
+ </indexterm>
+<literal>TrimLeadingFunction</literal>:
+The SQL function call to trim any number of a particular character
+from the start of a string.
+Note: some databases do not support specifying the character in which
+case only spaces or whitespace can be trimmed.
+Use the token <literal>{1}</literal> when possible to represent the character,
+and the token <literal>{0}</literal> to represent the string.
+Defaults to <literal>"TRIM(LEADING {1} FROM {0})"</literal>.
+ </para>
+ </listitem>
+ <listitem id="DBDictionary.TrimTrailingFunction">
+ <para>
+ <indexterm>
+ <primary>
+ SQL
+ </primary>
+ <secondary>
+ TrimTrailingFunction
+ </secondary>
+ </indexterm>
+<literal>TrimTrailingFunction</literal>:
+The SQL function call to trim any number of a particular character
+from the end of a string.
+Note: some databases do not support specifying the character in which
+case only spaces or whitespace can be trimmed.
+Use the token <literal>{1}</literal> when possible to represent the character,
+and the token <literal>{0}</literal> to represent the string.
+Defaults to <literal>"TRIM(TRAILING {1} FROM {0})"</literal>.
+ </para>
+ </listitem>
<listitem
id="DBDictionary.UseGetBestRowIdentifierForPrimaryKeys">
<para>
<indexterm>
@@ -2414,8 +3068,8 @@
</secondary>
</indexterm>
<literal>ValidationSQL</literal>: The SQL used to validate that a connection is
-still in a valid state. For example, " <literal>SELECT SYSDATE FROM DUAL
-</literal> " for Oracle.
+still in a valid state. For example, <literal>"SELECT SYSDATE FROM DUAL"
+</literal> for Oracle.
</para>
</listitem>
<listitem id="DBDictionary.VarbinaryTypeName">
@@ -2429,7 +3083,7 @@
</secondary>
</indexterm>
<literal>VarbinaryTypeName</literal>: The overridden default column type for
-<literal>java.sql.Types.VARBINARY</literal>. This is only used when the schema
+<literal>java.sql.Types.VARBINARY</literal>. This is used only when the schema
is generated by the <literal>mappingtool</literal>.
</para>
</listitem>
@@ -2444,10 +3098,27 @@
</secondary>
</indexterm>
<literal>VarcharTypeName</literal>: The overridden default column type for
-<literal>java.sql.Types.VARCHAR</literal>. This is only used when the schema is
+<literal>java.sql.Types.VARCHAR</literal>. This is used only when the schema is
generated by the <literal>mappingtool</literal>.
</para>
</listitem>
+ <listitem id="DBDictionary.XmlTypeName">
+ <para>
+ <indexterm>
+ <primary>
+ DDL
+ </primary>
+ <secondary>
+ XmlTypeName
+ </secondary>
+ </indexterm>
+<literal>XmlTypeName</literal>:
+The column type name for XML columns. This
+property is set automatically in the dictionary and should not need to be
+overridden. It is used only when the schema is generated using the <literal>
+mappingtool</literal>. Defaults to <literal>"XML"</literal>.
+ </para>
+ </listitem>
<!-- Please keep the list of dictionary properties
in alphabetical order -->
</itemizedlist>
@@ -4196,3 +4867,4 @@
</example>
</section>
</chapter>
+