|
|
|
dezzio
|
Modified: openjpa/trunk/openjpa-project/src/doc/manual/ref_guide_dbsetup.xml URL: http://svn.apache.org/viewvc/openjpa/trunk/openjpa-project/src/doc/manual/ref_guide_dbsetup.xml?rev=677901&r1=677900&r2=677901&view=diff ============================================================================== --- openjpa/trunk/openjpa-project/src/doc/manual/ref_guide_dbsetup.xml (original) +++ openjpa/trunk/openjpa-project/src/doc/manual/ref_guide_dbsetup.xml Fri Jul 18 06:28:57 2008 @@ -114,8 +114,8 @@ ConnectionProperties </primary> </indexterm> -<link linkend="openjpa.ConnectionProperties"><literal> -openjpa.ConnectionProperties</literal></link>: If the listed driver is an +<link linkend="openjpa.ConnectionProperties"> +<literal>openjpa.ConnectionProperties</literal></link>: If the listed driver is an instance of <classname>java.sql.Driver</classname>, this string will be parsed into a <classname>Properties</classname> instance, which will then be used to obtain database connections through the <methodname>Driver.connect(String url, @@ -132,8 +132,8 @@ ConnectionFactoryProperties </primary> </indexterm> -<link linkend="openjpa.ConnectionFactoryProperties"><literal> -openjpa.ConnectionFactoryProperties</literal></link>: OpenJPA's built-in +<link linkend="openjpa.ConnectionFactoryProperties"> +<literal>openjpa.ConnectionFactoryProperties</literal></link>: OpenJPA's built-in <classname>DataSource</classname> allows you to set the following options via this plugin string: </para> @@ -236,12 +236,12 @@ </primary> </indexterm> Bind the <classname>DataSource</classname> into JNDI, and then specify its -location in the <literal>jta-data-source</literal> or <literal> -non-jta-data-source</literal> element of the +location in the <literal>jta-data-source</literal> or +<literal>non-jta-data-source</literal> element of the <link linkend="jpa_overview_persistence_xml">JPA XML format</link> (depending on whether the <classname>DataSource</classname> is managed by JTA), or in the -<link linkend="openjpa.ConnectionFactoryName"><literal> -openjpa.ConnectionFactoryName</literal></link> property. +<link linkend="openjpa.ConnectionFactoryName"> +<literal>openjpa.ConnectionFactoryName</literal></link> property. </para> </listitem> <listitem> @@ -252,13 +252,13 @@ </primary> </indexterm> Specify the full class name of the <classname>DataSource</classname> -implementation in the <link linkend="openjpa.ConnectionDriverName"><literal> -openjpa.ConnectionDriverName</literal></link> property in place of a JDBC +implementation in the <link linkend="openjpa.ConnectionDriverName"> +<literal>openjpa.ConnectionDriverName</literal></link> property in place of a JDBC driver. In this configuration OpenJPA will instantiate an instance of the named class via reflection. It will then configure the <classname>DataSource </classname> with the properties in the -<link linkend="openjpa.ConnectionProperties"><literal> -openjpa.ConnectionProperties</literal></link> setting. +<link linkend="openjpa.ConnectionProperties"> +<literal>openjpa.ConnectionProperties</literal></link> setting. </para> </listitem> </itemizedlist> @@ -315,9 +315,9 @@ DataSource</classname> is managed by the application server, use the <literal>jta-data-source</literal> element of your <filename> persistence.xml</filename> file or set the -<link linkend="openjpa.ConnectionFactoryMode"><literal> -openjpa.ConnectionFactoryMode</literal></link> property to <literal> -managed</literal>. +<link linkend="openjpa.ConnectionFactoryMode"> +<literal>openjpa.ConnectionFactoryMode</literal></link> property to +<literal>managed</literal>. </para> <para> Note that OpenJPA can only use managed <classname>DataSource</classname>s when @@ -701,572 +701,599 @@ <classname>DBDictionary</classname> for an unsupported database. </para> <itemizedlist> - <listitem id="DBDictionary.DriverVendor"> + <!-- Please keep the list of dictionary properties + in alphabetical order --> + <listitem id="DBDictionary.AllowsAliasInBulkClause"> <para> <indexterm> <primary> - JDBC + SQL </primary> <secondary> - DriverVendor + AllowsAliasInBulkClause </secondary> </indexterm> -<literal>DriverVendor</literal>: The vendor of the particular JDBC driver you -are using. Some dictionaries must alter their behavior depending on the driver -vendor. See the <literal>VENDOR_XXX</literal> constants defined in your -dictionary's Javadoc for available options. +<literal>AllowsAliasInBulkClause</literal>: +When true, SQL delete and update statements may use table aliases. </para> </listitem> - <listitem id="DBDictionary.CatalogSeparator"> + <listitem id="DBDictionary.ArrayTypeName"> <para> <indexterm> <primary> - SQL + DDL </primary> <secondary> - CatalogSeparator + ArrayTypeName </secondary> </indexterm> -<literal>CatalogSeparator</literal>: The string the database uses to delimit -between the schema name and the table name. This is typically <literal>"." -</literal>, which is the default. +<literal>ArrayTypeName</literal>: The overridden default column type for +<literal>java.sql.Types.ARRAY</literal>. This is used only when the schema is +generated by the <literal>mappingtool</literal>. </para> </listitem> - <listitem id="DBDictionary.CreatePrimaryKeys"> + <listitem id="DBDictionary.AutoAssignClause"> <para> <indexterm> <primary> - DDL + persistent fields </primary> <secondary> - CreatePrimaryKeys + automatic field values </secondary> + <tertiary> + AutoAssignClause + </tertiary> </indexterm> -<literal>CreatePrimaryKeys</literal>: If <literal>false</literal>, then do not -create database primary keys for identifiers. Defaults to <literal>true -</literal>. +<literal>AutoAssignClause</literal>: The column definition clause to append to +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>. </para> </listitem> - <listitem id="DBDictionary.ConstraintNameMode"> + <listitem id="DBDictionary.AutoAssignTypeName"> <para> <indexterm> <primary> DDL </primary> <secondary> - ConstraintNameMode + AutoAssignTypeName </secondary> </indexterm> -<literal>ConstraintNameMode</literal>: When creating constraints, whether to -put the constraint name before the definition (<literal>before</literal>), -just after the constraint type name (<literal>mid</literal>), or after the -constraint definition (<literal>after</literal>). Defaults to <literal>before -</literal>. - </para> - </listitem> - <listitem id="DBDictionary.MaxTableNameLength"> - <para> <indexterm> <primary> - DDL + persistent fields </primary> <secondary> - MaxTableNameLength + automatic field values </secondary> + <tertiary> + AutoAssignTypeName + </tertiary> </indexterm> -<literal>MaxTableNameLength</literal>: The maximum number of characters in a -table name. Defaults to 128. +<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.MaxColumnNameLength"> + <listitem id="DBDictionary.BatchLimit"> <para> <indexterm> <primary> - DDL + JDBC </primary> <secondary> - MaxColumnNameLength + BatchLimit </secondary> </indexterm> -<literal>MaxColumnNameLength</literal>: The maximum number of characters in a -column name. Defaults to 128. +<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.MaxConstraintNameLength"> + <listitem id="DBDictionary.BigintTypeName"> <para> <indexterm> <primary> DDL </primary> <secondary> - MaxConstraintNameLength + BigintTypeName </secondary> </indexterm> -<literal>MaxConstraintNameLength</literal>: The maximum number of characters in -a constraint name. Defaults to 128. +<literal>BigintTypeName</literal>: The overridden default column type for +<literal>java.sql.Types.BIGINT</literal>. This is used only when the schema is +generated by the <literal>mappingtool</literal>. </para> </listitem> - <listitem id="DBDictionary.MaxIndexNameLength"> + <listitem id="DBDictionary.BinaryTypeName"> <para> <indexterm> <primary> DDL </primary> <secondary> - MaxIndexNameLength - </secondary> - </indexterm> - <indexterm> - <primary> - indexes - </primary> - <secondary> - MaxIndexNameLength + BinaryTypeName </secondary> </indexterm> -<literal>MaxIndexNameLength</literal>: The maximum number of characters in an -index name. Defaults to 128. +<literal>BinaryTypeName</literal>: The overridden default column type for +<literal>java.sql.Types.BINARY</literal>. This is used only when the schema is +generated by the <literal>mappingtool</literal>. </para> </listitem> - <listitem id="DBDictionary.MaxAutoAssignNameLength"> + <listitem id="DBDictionary.BitTypeName"> <para> <indexterm> <primary> DDL </primary> <secondary> - MaxAutoAssignNameLength + BitTypeName </secondary> </indexterm> -<literal>MaxAutoAssignNameLength</literal>: Set this property to the maximum -length of name for sequences used for auto-increment columns. Names longer than -this value are truncated. Defaults to <literal>31</literal>. +<literal>BitTypeName</literal>: The overridden default column type for +<literal>java.sql.Types.BIT</literal>. This is used only when the schema is generated by +the <literal>mappingtool</literal>. </para> </listitem> - <listitem id="DBDictionary.MaxIndexesPerTable"> + <listitem id="DBDictionary.BlobBufferSize"> <para> <indexterm> <primary> - indexes + BLOB </primary> <secondary> - MaxIndexesPerTable + BlobBufferSize </secondary> </indexterm> -<literal>MaxIndexesPerTable</literal>: The maximum number of indexes that can -be placed on a single table. Defaults to no limit. +<literal>BlobBufferSize</literal>: This property establishes the buffer size in +the <literal>INSERT/UPDATE</literal> operations with an +<literal>java.io.InputStream</literal>This is only used with OpenJPA's +<xref linkend="ref_guide_streamsupport"/>. Defaults to 50000. </para> </listitem> - <listitem id="DBDictionary.SupportsForeignKeys"> + <listitem id="DBDictionary.BlobTypeName"> <para> <indexterm> <primary> - foreign keys + DDL </primary> <secondary> - SupportsForeignKeys + BlobTypeName </secondary> </indexterm> -<literal>SupportsForeignKeys</literal>: Whether the database supports foreign -keys. Defaults to true. - </para> - </listitem> - <listitem id="DBDictionary.SupportsTimestampNanos"> - <para> <indexterm> <primary> - SupportsTimestampNanos + BLOB </primary> + <secondary> + BlobTypeName + </secondary> </indexterm> -<literal>SupportsTimestampNanos</literal>: Whether the database supports nanoseconds with TIMESTAMP columns. Defaults to true. +<literal>BlobTypeName</literal>: The overridden default column type for +<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.SupportsUniqueConstraints"> + <listitem id="DBDictionary.BooleanTypeName"> <para> <indexterm> <primary> - unique constraints + DDL </primary> <secondary> - SupportsUniqueConstraints + BooleanTypeName </secondary> </indexterm> -<literal>SupportsUniqueConstraints</literal>: Whether the database supports -unique constraints. Defaults to true. +<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.SupportsDeferredConstraints"> + <listitem id="DBDictionary.CastFunction"> <para> <indexterm> <primary> - foreign keys + SQL </primary> <secondary> - SupportsDeferredConstraints + CastFunction </secondary> </indexterm> -<literal>SupportsDeferredConstraints</literal>: Whether the database supports -deferred constraints. Defaults to true. +<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.SupportsRestrictDeleteAction"> + <listitem id="DBDictionary.CatalogSeparator"> <para> <indexterm> <primary> - foreign keys + SQL </primary> <secondary> - SupportsRestrictDeleteAction + CatalogSeparator </secondary> </indexterm> -<literal>SupportsRestrictDeleteAction</literal>: Whether the database supports -the RESTRICT foreign key delete action. Defaults to <literal>true</literal>. +<literal>CatalogSeparator</literal>: The string the database uses to delimit +between the schema name and the table name. This is typically <literal>"." +</literal>, which is the default. </para> </listitem> - <listitem id="DBDictionary.SupportsCascadeDeleteAction"> + <listitem id="DBDictionary.CharTypeName"> <para> <indexterm> <primary> - foreign keys + DDL </primary> <secondary> - SupportsCascadeDeleteAction + CharTypeName </secondary> </indexterm> -<literal>SupportsCascadeDeleteAction</literal>: Whether the database supports -the CASCADE foreign key delete action. Defaults to <literal>true</literal>. +<literal>CharTypeName</literal>: The overridden default column type for +<literal>java.sql.Types.CHAR</literal>. This is used only when the schema is +generated by the <literal>mappingtool</literal>. </para> </listitem> - <listitem id="DBDictionary.SupportsNullDeleteAction"> + <listitem id="DBDictionary.CharacterColumnSize"> <para> <indexterm> <primary> - foreign keys + DDL </primary> <secondary> - SupportsNullDeleteAction + CharacterColumnSize </secondary> </indexterm> -<literal>SupportsNullDeleteAction</literal>: Whether the database supports the -SET NULL foreign key delete action. Defaults to <literal>true</literal>. +<literal>CharacterColumnSize</literal>: The default size of <literal>varchar +</literal> and <literal>char</literal> columns. Typically 255. </para> </listitem> - <listitem id="DBDictionary.SupportsDefaultDeleteAction"> + <listitem id="DBDictionary.ClobBufferSize"> <para> <indexterm> <primary> - foreign keys + CLOB </primary> <secondary> - SupportsDefaultDeleteAction + ClobBufferSize </secondary> </indexterm> -<literal>SupportsDefaultDeleteAction</literal>: Whether the database supports -the SET DEFAULT foreign key delete action. Defaults to <literal>true</literal>. +<literal>ClobBufferSize</literal>: This property establish the buffer size in +the <literal>INSERT/UPDATE</literal> operations with a +<literal>java.io.Reader</literal>This is only used with OpenJPA's +<xref linkend="ref_guide_streamsupport"/>. Defaults to 50000. </para> </listitem> - <listitem id="DBDictionary.SupportsAlterTableWithAddColumn"> + <listitem id="DBDictionary.ClobTypeName"> <para> <indexterm> <primary> DDL </primary> <secondary> - SupportsAlterTableWithAddColumn + ClobTypeName </secondary> </indexterm> -<literal>SupportsAlterTableWithAddColumn</literal>: Whether the database -supports adding a new column in an ALTER TABLE statement. Defaults to <literal> -true</literal>. - </para> - </listitem> - <listitem id="DBDictionary.SupportsAlterTableWithDropColumn"> - <para> <indexterm> <primary> - DDL + CLOB </primary> <secondary> - SupportsAlterTableWithDropColumn + ClobTypeName </secondary> </indexterm> -<literal>SupportsAlterTableWithDropColumn</literal>: Whether the database -supports dropping a column in an ALTER TABLE statement. Defaults to <literal> -true</literal>. +<literal>ClobTypeName</literal>: The overridden default column type for +<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.ReservedWords"> + <listitem id="DBDictionary.ClosePoolSQL"> <para> <indexterm> <primary> - SQL + JDBC </primary> <secondary> - ReservedWords + ClosePoolSQL </secondary> </indexterm> -<literal>ReservedWords</literal>: A comma-separated list of reserved words for -this database, beyond the standard SQL92 keywords. +<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 <literal>null</literal>. </para> </listitem> - <listitem id="DBDictionary.SelectWords"> + <listitem id="DBDictionary.ConcatenateFunction"> <para> <indexterm> <primary> SQL </primary> <secondary> - SelectWords + ConcatenateFunction </secondary> </indexterm> -<literal>SelectWords</literal>: A comma-separated list of keywords which may be -used to start a SELECT statement for this database. If an application executes -a native SQL statement which begins with SelectWords OpenJPA will treat the -statement as a SELECT statement rather than an UPDATE statement. +<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.SystemTables"> + <listitem id="DBDictionary.ConstraintNameMode"> <para> <indexterm> <primary> - schema + DDL </primary> <secondary> - reflection + ConstraintNameMode </secondary> - <tertiary> - SystemTables - </tertiary> </indexterm> -<literal>SystemTables</literal>: A comma-separated list of table names that -should be ignored. +<literal>ConstraintNameMode</literal>: When creating constraints, whether to +put the constraint name before the definition (<literal>"before"</literal>), +just after the constraint type name (<literal>"mid"</literal>), or after the +constraint definition (<literal>"after"</literal>). +Defaults to <literal>"before"</literal>. </para> </listitem> - <listitem id="DBDictionary.SystemSchemas"> + <listitem id="DBDictionary.CreatePrimaryKeys"> <para> <indexterm> <primary> - schema + DDL </primary> <secondary> - reflection + CreatePrimaryKeys </secondary> - <tertiary> - SystemSchemas - </tertiary> </indexterm> -<literal>SystemSchemas</literal>: A comma-separated list of schema names that -should be ignored. +<literal>CreatePrimaryKeys</literal>: When false, do not +create database primary keys for identifiers. Defaults to <literal>true +</literal>. </para> </listitem> - <listitem id="DBDictionary.SchemaCase"> + <listitem id="DBDictionary.CrossJoinClause"> <para> <indexterm> <primary> - schema + joins </primary> <secondary> - reflection + CrossJoinClause </secondary> - <tertiary> - SchemaCase - </tertiary> </indexterm> -<literal>SchemaCase</literal>: The case to use when querying the database -metadata about schema components. Defaults to making all names upper case. -Available values are: <literal>upper, lower, preserve</literal>. +<literal>CrossJoinClause</literal>: The clause to use for a cross join +(cartesian product). Defaults to <literal>"CROSS JOIN"</literal>. </para> </listitem> - <listitem id="DBDictionary.ValidationSQL"> + <listitem id="DBDictionary.CurrentDateFunction"> <para> <indexterm> <primary> - connections + SQL </primary> <secondary> - ValidationSQL + 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> - ValidationSQL + CurrentTimeFunction </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. +<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.InitializationSQL"> + <listitem id="DBDictionary.CurrentTimestampFunction"> <para> <indexterm> <primary> - connections + SQL </primary> <secondary> - InitializationSQL + 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> - SQL + JDBC </primary> <secondary> - InitializationSQL + DatePrecision </secondary> </indexterm> -<literal>InitializationSQL</literal>: A piece of SQL to issue against the -database whenever a connection is retrieved from the <classname>DataSource -</classname>. +<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.JoinSyntax"> + <listitem id="DBDictionary.DateTypeName"> <para> <indexterm> <primary> - joins + DDL </primary> <secondary> - JoinSyntax + DateTypeName </secondary> </indexterm> -<literal>JoinSyntax</literal>: The SQL join syntax to use in select statements. -See <xref linkend="ref_guide_dbsetup_sql92"/>. - </para> - </listitem> - <listitem id="DBDictionary.CrossJoinClause"> - <para> - <indexterm> - <primary> - joins - </primary> - <secondary> - CrossJoinClause - </secondary> - </indexterm> -<literal>CrossJoinClause</literal>: The clause to use for a cross join -(cartesian product). Defaults to <literal>CROSS JOIN</literal>. +<literal>DateTypeName</literal>: The overridden default column type for +<literal>java.sql.Types.DATE</literal>. This is used only when the schema is +generated by the <literal>mappingtool</literal>. </para> </listitem> - <listitem id="DBDictionary.InnerJoinClause"> + <listitem id="DBDictionary.DecimalTypeName"> <para> <indexterm> <primary> - joins + DDL </primary> <secondary> - InnerJoinClause + DecimalTypeName </secondary> </indexterm> -<literal>InnerJoinClause</literal>: The clause to use for an inner join. -Defaults to <literal>INNER JOIN</literal>. +<literal>DecimalTypeName</literal>: The overridden default column type for +<literal>java.sql.Types.DECIMAL</literal>. This is used only when the schema is +generated by the <literal>mappingtool</literal>. </para> </listitem> - <listitem id="DBDictionary.OuterJoinClause"> + <listitem id="DBDictionary.DistinctCountColumnSeparator"> <para> <indexterm> <primary> - joins + SQL </primary> <secondary> - OuterJoinClause + DistinctCountColumnSeparator </secondary> </indexterm> -<literal>OuterJoinClause</literal>: The clause to use for an left outer join. -Defaults to <literal>LEFT OUTER JOIN</literal>. +<literal>DistinctCountColumnSeparator</literal>: The string the database uses +to delimit between column expressions in a <literal>SELECT COUNT(DISTINCT +column-list)</literal> clause. Defaults to <literal>null</literal> +for most databases, meaning that +multiple columns in a distinct COUNT clause are not supported. </para> </listitem> - <listitem id="DBDictionary.RequiresConditionForCrossJoin"> + <listitem id="DBDictionary.DistinctTypeName"> <para> <indexterm> <primary> - joins + DDL </primary> <secondary> - RequiresConditionForCrossJoin + DistinctTypeName </secondary> </indexterm> -<literal>RequiresConditionForCrossJoin</literal>: Some databases require that -there always be a conditional statement for a cross join. If set, this parameter -ensures that there will always be some condition to the join clause. +<literal>DistinctTypeName</literal>: The overridden default column type for +<literal>java.sql.Types.DISTINCT</literal>. This is used only when the schema +is generated by the <literal>mappingtool</literal>. </para> </listitem> - <listitem id="DBDictionary.ToUpperCaseFunction"> + <listitem id="DBDictionary.DoubleTypeName"> <para> <indexterm> <primary> - SQL + DDL </primary> <secondary> - ToUpperCaseFunction + DoubleTypeName </secondary> </indexterm> -<literal>ToUpperCaseFunction</literal>: SQL function call for for converting a -string to upper case. Use the token <literal>{0}</literal> to represent the -argument. +<literal>DoubleTypeName</literal>: The overridden default column type for +<literal>java.sql.Types.DOUBLE</literal>. This is used only when the schema is +generated by the <literal>mappingtool</literal>. </para> </listitem> - <listitem id="DBDictionary.ToLowerCaseFunction"> + <listitem id="DBDictionary.DriverVendor"> <para> <indexterm> <primary> - SQL + JDBC </primary> <secondary> - ToLowerCaseFunction + DriverVendor </secondary> </indexterm> -<literal>ToLowerCaseFunction</literal>: Name of the SQL function for converting -a string to lower case. Use the token <literal>{0}</literal> to represent the -argument. +<literal>DriverVendor</literal>: The vendor of the particular JDBC driver you +are using. Some dictionaries must alter their behavior depending on the driver +vendor. Dictionaries usually detect the driver vendor and set this property +themselves. See the <literal>VENDOR_XXX</literal> constants defined in the +<classname>DBDictionary</classname> Javadoc for available options. </para> </listitem> - <listitem id="DBDictionary.StringLengthFunction"> + <listitem id="DBDictionary.DropTableSQL"> <para> <indexterm> <primary> SQL </primary> <secondary> - StringLengthFunction + DropTableSQL </secondary> </indexterm> -<literal>StringLengthFunction</literal>: Name of the SQL function for getting -the length of a string. Use the token <literal>{0}</literal> to represent the -argument. +<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.SubstringFunctionName"> + <listitem id="DBDictionary.FixedSizeTypeNames"> <para> <indexterm> <primary> SQL </primary> <secondary> - SubstringFunctionName + FixedSizeTypeNames </secondary> </indexterm> -<literal>SubstringFunctionName</literal>: Name of the SQL function for getting -the substring of a string. +<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 <literal>null</literal>. </para> </listitem> - <listitem id="DBDictionary.DistinctCountColumnSeparator"> + <listitem id="DBDictionary.FloatTypeName"> <para> <indexterm> <primary> - SQL + DDL </primary> <secondary> - DistinctCountColumnSeparator + FloatTypeName </secondary> </indexterm> -<literal>DistinctCountColumnSeparator</literal>: The string the database uses -to delimit between column expressions in a <literal>SELECT COUNT(DISTINCT -column-list)</literal> clause. Defaults to null for most databases, meaning that -multiple columns in a distinct COUNT clause are not supported. +<literal>FloatTypeName</literal>: The overridden default column type for +<literal>java.sql.Types.FLOAT</literal>. This is used only when the schema is +generated by the <literal>mappingtool</literal>. </para> </listitem> <listitem id="DBDictionary.ForUpdateClause"> @@ -1289,775 +1316,1502 @@ </indexterm> <literal>ForUpdateClause</literal>: The clause to append to <literal>SELECT </literal> statements to issue queries that obtain pessimistic locks. Defaults -to <literal>FOR UPDATE</literal>. +to <literal>"FOR UPDATE"</literal>. </para> </listitem> - <listitem id="DBDictionary.TableForUpdateClause"> + <listitem id="DBDictionary.GetStringVal"> <para> <indexterm> <primary> - SQL + Oracle </primary> <secondary> - TableForUpdateClause + GetStringVal </secondary> </indexterm> <indexterm> <primary> - locking + JDBC </primary> <secondary> - TableForUpdateClause + GetStringVal </secondary> </indexterm> -<literal>TableForUpdateClause</literal>: The clause to append to the end of -each table alias in queries that obtain pessimistic locks. Defaults to null. +<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.SupportsSelectForUpdate"> + <listitem id="DBDictionary.InClauseLimit"> <para> <indexterm> <primary> - locking + Oracle </primary> <secondary> - SupportsSelectForUpdate + InClauseLimit </secondary> </indexterm> -<literal>SupportsSelectForUpdate</literal>: If true, then the database supports -<literal>SELECT</literal> statements with a pessimistic locking clause. Defaults -to true. - </para> - </listitem> - <listitem id="DBDictionary.SupportsLockingWithDistinctClause"> - <para> <indexterm> <primary> - locking + JDBC </primary> <secondary> - SupportsLockingWithDistinctClause + GetStringVal </secondary> </indexterm> -<literal>SupportsLockingWithDistinctClause</literal>: If true, then the -database supports <literal>FOR UPDATE</literal> select clauses with <literal> -DISTINCT</literal> clauses. +<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.SupportsLockingWithOuterJoin"> + <listitem id="DBDictionary.InitializationSQL"> <para> <indexterm> <primary> - locking + connections </primary> <secondary> - SupportsLockingWithOuterJoin + InitializationSQL </secondary> </indexterm> -<literal>SupportsLockingWithOuterJoin</literal>: If true, then the database -supports <literal>FOR UPDATE</literal> select clauses with outer join queries. - </para> - </listitem> - <listitem id="DBDictionary.SupportsLockingWithInnerJoin"> - <para> <indexterm> <primary> - locking + SQL </primary> <secondary> - SupportsLockingWithInnerJoin + InitializationSQL </secondary> </indexterm> -<literal>SupportsLockingWithInnerJoin</literal>: If true, then the database -supports <literal>FOR UPDATE</literal> select clauses with inner join queries. +<literal>InitializationSQL</literal>: A piece of SQL to issue against the +database whenever a connection is retrieved from the <classname>DataSource +</classname>. </para> </listitem> - <listitem id="DBDictionary.SupportsLockingWithMultipleTables"> + <listitem id="DBDictionary.InnerJoinClause"> <para> <indexterm> <primary> - locking + joins </primary> <secondary> - SupportsLockingWithMultipleTables + InnerJoinClause </secondary> </indexterm> -<literal>SupportsLockingWithMultipleTables</literal>: If true, then the -database supports <literal>FOR UPDATE</literal> select clauses that select from -multiple tables. +<literal>InnerJoinClause</literal>: The clause to use for an inner join. +Defaults to <literal>"INNER JOIN"</literal>. </para> </listitem> - <listitem id="DBDictionary.SupportsLockingWithOrderClause"> + <listitem id="DBDictionary.IntegerTypeName"> <para> <indexterm> <primary> - locking + DDL </primary> <secondary> - SupportsLockingWithOrderClause + IntegerTypeName </secondary> </indexterm> -<literal>SupportsLockingWithOrderClause</literal>: If true, then the database -supports <literal>FOR UPDATE</literal> select clauses with <literal>ORDER BY -</literal> clauses. +<literal>IntegerTypeName</literal>: The overridden default column type for +<literal>java.sql.Types.INTEGER</literal>. This is used only when the schema is +generated by the <literal>mappingtool</literal>. </para> </listitem> - <listitem id="DBDictionary.SupportsLockingWithSelectRange"> + <listitem id="DBDictionary.JavaObjectTypeName"> <para> <indexterm> <primary> - locking + DDL </primary> <secondary> - SupportsLockingWithSelectRange + JavaObjectTypeName </secondary> </indexterm> -<literal>SupportsLockingWithSelectRange</literal>: If true, then the database -supports <literal>FOR UPDATE</literal> select clauses with queries that select a -range of data using <literal>LIMIT</literal>, <literal>TOP</literal> or the -database equivalent. Defaults to true. +<literal>JavaObjectTypeName</literal>: The overridden default column type for +<literal>java.sql.Types.JAVAOBJECT</literal>. This is used only when the schema +is generated by the <literal>mappingtool</literal>. </para> </listitem> - <listitem id="DBDictionary.SimulateLocking"> + <listitem id="DBDictionary.JoinSyntax"> <para> <indexterm> <primary> - locking + joins </primary> <secondary> - SimulateLocking + JoinSyntax </secondary> </indexterm> -<literal>SimulateLocking</literal>: Some databases do not support pessimistic -locking, which will result in an exception when you attempt a pessimistic -transaction. Setting this property to <literal>true</literal> bypasses the -locking check to allow pessimistic transactions even on databases that do not -support locking. Defaults to <literal>false</literal>. +<literal>JoinSyntax</literal>: The SQL join syntax to use in select statements. +See <xref linkend="ref_guide_dbsetup_sql92"/>. </para> </listitem> - <listitem id="DBDictionary.SupportsQueryTimeout"> + <listitem id="DBDictionary.LastGeneratedKeyQuery"> <para> <indexterm> <primary> - JDBC + persistent fields </primary> <secondary> - QueryTimeout + automatic field values </secondary> <tertiary> - SupportsQueryTimeout + LastGeneratedKeyQuery </tertiary> </indexterm> -<literal>SupportsQueryTimeout</literal>: If true, then the JDBC driver supports -calls to <methodname> java.sql.Statement.setQueryTimeout</methodname>. +<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 in the dictionary, and should not need to be overridden. </para> </listitem> - <listitem id="DBDictionary.SupportsHaving"> + <listitem id="DBDictionary.LongVarbinaryTypeName"> <para> <indexterm> <primary> - aggregates + DDL </primary> <secondary> - having + LongVarbinaryTypeName </secondary> - <tertiary> - SupportsHaving - </tertiary> </indexterm> -<literal>SupportsHaving</literal>: Whether this database supports HAVING -clauses in selects. +<literal>LongVarbinaryTypeName</literal>: The overridden default column type +for <literal>java.sql.Types.LONGVARBINARY</literal>. This is used only when the +schema is generated by the <literal>mappingtool</literal>. </para> </listitem> - <listitem id="DBDictionary.SupportsSelectStartIndex"> + <listitem id="DBDictionary.LongVarcharTypeName"> <para> <indexterm> <primary> - Query + DDL </primary> <secondary> - result range + LongVarcharTypeName </secondary> - <tertiary> - SupportsSelectStartIndex - </tertiary> </indexterm> -<literal>SupportsSelectStartIndex</literal>: Whether this database can create a -select that skips the first N results. +<literal>LongVarcharTypeName</literal>: The overridden default column type for +<literal>java.sql.Types.LONGVARCHAR</literal>. This is used only when the +schema is generated by the <literal>mappingtool</literal>. </para> </listitem> - <listitem id="DBDictionary.SupportsSelectEndIndex"> + <listitem id="DBDictionary.MaxAutoAssignNameLength"> <para> <indexterm> <primary> - Query + DDL </primary> <secondary> - result range + MaxAutoAssignNameLength </secondary> - <tertiary> - SupportsSelectEndIndex - </tertiary> </indexterm> -<literal>SupportsSelectEndIndex</literal>: Whether this database can create a -select that is limited to the first N results. +<literal>MaxAutoAssignNameLength</literal>: Set this property to the maximum +length of the sequence name used for auto-increment columns. Names longer than +this value are truncated. Defaults to 31. </para> </listitem> - <listitem id="DBDictionary.SupportsSubselect"> + <listitem id="DBDictionary.MaxColumnNameLength"> <para> <indexterm> <primary> - SQL + DDL </primary> <secondary> - SupportsSubselect + MaxColumnNameLength </secondary> </indexterm> +<literal>MaxColumnNameLength</literal>: The maximum number of characters in a +column name. Defaults to 128. + </para> + </listitem> + <listitem id="DBDictionary.MaxConstraintNameLength"> + <para> <indexterm> <primary> - JPQL + DDL </primary> <secondary> - subselects + MaxConstraintNameLength </secondary> - <tertiary> - SupportsSubselect - </tertiary> </indexterm> -<literal>SupportsSubselect</literal>: Whether this database supports subselects -in queries. +<literal>MaxConstraintNameLength</literal>: The maximum number of characters in +a constraint name. Defaults to 128. </para> </listitem> - <listitem id="DBDictionary.RequiresAliasForSubselect"> + <listitem id="DBDictionary.MaxEmbeddedBlobSize"> <para> <indexterm> <primary> SQL </primary> <secondary> - RequiresAliasForSubselect + 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> - JPQL + SQL </primary> <secondary> - subselects + MaxEmbeddedClobSize </secondary> - <tertiary> - RequiresAliasForSubselect - </tertiary> </indexterm> -<literal>RequiresAliasForSubselect</literal>: If true, then the database -requires that subselects in a FROM clause be assigned an alias. - </para> - </listitem> - <listitem id="DBDictionary.SupportsMultipleNontransactionalResultSets"> - <para> -<literal>SupportsMultipleNontransactionalResultSets</literal>: If true, then a -nontransactional connection is capable of having multiple open <classname> -ResultSet</classname> instances. +<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.StorageLimitationsFatal"> + <listitem id="DBDictionary.MaxIndexNameLength"> <para> <indexterm> <primary> - persistent fields + DDL </primary> <secondary> - StorageLimitationsFatal + MaxIndexNameLength </secondary> </indexterm> -<literal>StorageLimitationsFatal</literal>: If true, then any data -truncation/rounding that is performed by the dictionary in order to store a -value in the database will be treated as a fatal error, rather than just issuing -a warning. - </para> - </listitem> - <listitem id="DBDictionary.StoreLargeNumbersAsStrings"> - <para> <indexterm> <primary> - persistent fields + indexes </primary> <secondary> - StoreLargeNumbersAsStrings + MaxIndexNameLength </secondary> </indexterm> -<literal>StoreLargeNumbersAsStrings</literal>: Many databases have limitations -on the number of digits that can be stored in a numeric field (for example, -Oracle can only store 38 digits). For applications that operate on very large -<classname>BigInteger</classname> and <classname>BigDecimal</classname> values, -it may be necessary to store these objects as string fields rather than the -database's numeric type. Note that this may prevent meaningful numeric queries -from being executed against the database. Defaults to <literal>false</literal>. +<literal>MaxIndexNameLength</literal>: The maximum number of characters in an +index name. Defaults to 128. </para> </listitem> - <listitem id="DBDictionary.StoreCharsAsNumbers"> + <listitem id="DBDictionary.MaxIndexesPerTable"> <para> <indexterm> <primary> - persistent fields + indexes </primary> <secondary> - StoreCharsAsNumbers + MaxIndexesPerTable </secondary> </indexterm> -<literal>StoreCharsAsNumbers</literal>: Set this property to <literal>false -</literal> to store Java <literal>char</literal> fields as <literal>CHAR -</literal> values rather than numbers. Defaults to <literal>true</literal>. +<literal>MaxIndexesPerTable</literal>: The maximum number of indexes that can +be placed on a single table. Defaults to no limit. </para> </listitem> - <listitem id="DBDictionary.UseGetBytesForBlobs"> + <listitem id="DBDictionary.MaxTableNameLength"> <para> <indexterm> <primary> - BLOB + DDL </primary> <secondary> - UseGetBytesForBlobs + MaxTableNameLength </secondary> </indexterm> -<literal>UseGetBytesForBlobs</literal>: If true, then <methodname> -ResultSet.getBytes</methodname> will be used to obtain blob data rather than -<methodname>ResultSet.getBinaryStream</methodname>. +<literal>MaxTableNameLength</literal>: The maximum number of characters in a +table name. Defaults to 128. </para> </listitem> - <listitem id="DBDictionary.UseGetObjectForBlobs"> + <listitem id="DBDictionary.NextSequenceQuery"> <para> <indexterm> <primary> - BLOB + Sequence </primary> <secondary> - UseGetObjectForBlobs + NextSequenceQuery </secondary> </indexterm> -<literal>UseGetObjectForBlobs</literal>: If true, then <methodname> -ResultSet.getObject</methodname> will be used to obtain blob data rather than -<methodname>ResultSet.getBinaryStream</methodname>. +<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. </para> </listitem> - <listitem id="DBDictionary.UseSetBytesForBlobs"> + <listitem id="DBDictionary.NullTypeName"> <para> <indexterm> <primary> - BLOB + DDL </primary> <secondary> - UseSetBytesForBlobs + NullTypeName </secondary> </indexterm> -<literal>UseSetBytesForBlobs</literal>: If true, then <methodname> -PreparedStatement.setBytes</methodname> will be used to set blob data, rather -than <methodname>PreparedStatement.setBinaryStream</methodname>. +<literal>NullTypeName</literal>: The overridden default column type for +<literal>java.sql.Types.NULL</literal>. This is used only when the schema is +generated by the <literal>mappingtool</literal>. </para> </listitem> - <listitem id="DBDictionary.UseGetStringForClobs"> + <listitem id="DBDictionary.NumericTypeName"> <para> <indexterm> <primary> - CLOB + DDL </primary> <secondary> - UseGetStringForClobs + NumericTypeName </secondary> </indexterm> -<literal>UseGetStringForClobs</literal>: If true, then <methodname> -ResultSet.getString</methodname> will be used to obtain clob data rather than -<methodname>ResultSet.getCharacterStream</methodname>. +<literal>NumericTypeName</literal>: The overridden default column type for +<literal>java.sql.Types.NUMERIC</literal>. This is used only when the schema is +generated by the <literal>mappingtool</literal>. </para> </listitem> - <listitem id="DBDictionary.UseSetStringForClobs"> + <listitem id="DBDictionary.OtherTypeName"> <para> <indexterm> <primary> - CLOB + DDL </primary> <secondary> - UseSetStringForClobs + OtherTypeName </secondary> </indexterm> -<literal>UseSetStringForClobs</literal>: If true, then <methodname> -PreparedStatement.setString</methodname> will be used to set clob data, rather -than <methodname>PreparedStatement.setCharacterStream</methodname>. +<literal>OtherTypeName</literal>: The overridden default column type for +<literal>java.sql.Types.OTHER</literal>. This is used only when the schema is +generated by the <literal>mappingtool</literal>. </para> </listitem> - <listitem id="DBDictionary.CharacterColumnSize"> + <listitem id="DBDictionary.OuterJoinClause"> <para> <indexterm> <primary> - DDL + joins </primary> <secondary> - CharacterColumnSize + OuterJoinClause </secondary> </indexterm> -<literal>CharacterColumnSize</literal>: The default size of <literal>varchar -</literal> and <literal>char</literal> columns. Typically 255. +<literal>OuterJoinClause</literal>: The clause to use for an left outer join. +Defaults to <literal>"LEFT OUTER JOIN"</literal>. </para> </listitem> - <listitem id="DBDictionary.ArrayTypeName"> + <listitem id="DBDictionary.Platform"> <para> <indexterm> <primary> - DDL + JDBC </primary> <secondary> - ArrayTypeName + Platform </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 -generated by the <literal>mappingtool</literal>. +<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.BigintTypeName"> + <listitem id="DBDictionary.RangePosition"> <para> <indexterm> <primary> - DDL + SQL </primary> <secondary> - BigintTypeName + RangePosition </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 -generated by the <literal>mappingtool</literal>. +<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, meaning that the range +is expressed at the end of the select statement but before any locking clause. +See the RANGE_XXX constants defined in <classname>DBDictionary</classname>. </para> </listitem> - <listitem id="DBDictionary.BinaryTypeName"> + <listitem id="DBDictionary.RealTypeName"> <para> <indexterm> <primary> DDL </primary> <secondary> - BinaryTypeName + RealTypeName </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>RealTypeName</literal>: The overridden default column type for +<literal>java.sql.Types.REAL</literal>. This is used only when the schema is generated by the <literal>mappingtool</literal>. </para> </listitem> - <listitem id="DBDictionary.BitTypeName"> + <listitem id="DBDictionary.RefTypeName"> <para> <indexterm> <primary> DDL </primary> <secondary> - BitTypeName + RefTypeName </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 +<literal>RefTypeName</literal>: The overridden default column type for +<literal>java.sql.Types.REF</literal>. This is used only when the schema is generated by the <literal>mappingtool</literal>. </para> </listitem> - <listitem id="DBDictionary.BlobTypeName"> + <listitem id="DBDictionary.RequiresAliasForSubselect"> <para> <indexterm> <primary> - DDL + SQL </primary> <secondary> - BlobTypeName + RequiresAliasForSubselect </secondary> </indexterm> <indexterm> <primary> - BLOB + JPQL </primary> <secondary> - BlobTypeName + subselects </secondary> + <tertiary> + RequiresAliasForSubselect + </tertiary> </indexterm> -<literal>BlobTypeName</literal>: The overridden default column type for -<literal>java.sql.Types.BLOB</literal>. This is only used when the schema is -generated by the <literal>mappingtool</literal>. +<literal>RequiresAliasForSubselect</literal>: When true, the database +requires that subselects in a FROM clause be assigned an alias. </para> </listitem> - <listitem id="DBDictionary.CharTypeName"> + <listitem id="DBDictionary.RequiresAutoCommitForMetadata"> <para> <indexterm> <primary> - DDL + schema </primary> <secondary> - CharTypeName + reflection </secondary> + <tertiary> + RequiresAutoCommitForMetaData + </tertiary> </indexterm> -<literal>CharTypeName</literal>: The overridden default column type for -<literal>java.sql.Types.CHAR</literal>. This is only used when the schema is -generated by the <literal>mappingtool</literal>. +<literal>RequiresAutoCommitForMetadata</literal>: When true, the JDBC driver +requires that autocommit be enabled before any schema interrogation operations +can take place. </para> </listitem> - <listitem id="DBDictionary.ClobTypeName"> + <listitem id="DBDictionary.RequiresCastForComparisons"> <para> <indexterm> <primary> - DDL + SQL </primary> <secondary> - ClobTypeName + 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 <literal>false</literal>. + </para> + </listitem> + <listitem id="DBDictionary.RequiresCastForMathFunctions"> + <para> <indexterm> <primary> - CLOB + SQL </primary> <secondary> - ClobTypeName + RequiresCastForMathFunctions </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 -generated by the <literal>mappingtool</literal>. +<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 <literal>false</literal>. </para> </listitem> - <listitem id="DBDictionary.DateTypeName"> + <listitem id="DBDictionary.RequiresConditionForCrossJoin"> <para> <indexterm> <primary> - DDL + joins </primary> <secondary> - DateTypeName + RequiresConditionForCrossJoin </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 -generated by the <literal>mappingtool</literal>. +<literal>RequiresConditionForCrossJoin</literal>: Some databases require that +there always be a conditional statement for a cross join. If set, this parameter +ensures that there will always be some condition to the join clause. </para> </listitem> - <listitem id="DBDictionary.DecimalTypeName"> + <listitem id="DBDictionary.RequiresTargetForDelete"> <para> <indexterm> <primary> - DDL + SQL </primary> <secondary> - DecimalTypeName + RequiresTargetForDelete </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 -generated by the <literal>mappingtool</literal>. +<literal>RequiresTargetForDelete</literal>: +When true, the database requires a target for delete statements. Defaults +to <literal>false</literal>. </para> </listitem> - <listitem id="DBDictionary.DistinctTypeName"> + <listitem id="DBDictionary.ReservedWords"> <para> <indexterm> <primary> - DDL + SQL </primary> <secondary> - DistinctTypeName + ReservedWords </secondary> </indexterm> -<literal>DistinctTypeName</literal>: The overridden default column type for -<literal>java.sql.Types.DISTINCT</literal>. This is only used when the schema -is generated by the <literal>mappingtool</literal>. +<literal>ReservedWords</literal>: A comma-separated list of reserved words for +this database, beyond the standard SQL92 keywords. </para> </listitem> - <listitem id="DBDictionary.DoubleTypeName"> + <listitem id="DBDictionary.SchemaCase"> <para> <indexterm> <primary> - DDL + schema </primary> <secondary> - DoubleTypeName + reflection </secondary> + <tertiary> + SchemaCase + </tertiary> </indexterm> -<literal>DoubleTypeName</literal>: The overridden default column type for -<literal>java.sql.Types.DOUBLE</literal>. This is only used when the schema is -generated by the <literal>mappingtool</literal>. +<literal>SchemaCase</literal>: The case to use when querying the database +metadata about schema components. Defaults to making all names upper case. +Available values are: <literal>upper, lower, preserve</literal>. </para> </listitem> - <listitem id="DBDictionary.FloatTypeName"> + <listitem id="DBDictionary.SearchStringEscape"> <para> <indexterm> <primary> - DDL + SQL </primary> <secondary> - FloatTypeName + SearchStringEscape </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 -generated by the <literal>mappingtool</literal>. +<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.IntegerTypeName"> + <listitem id="DBDictionary.SelectWords"> <para> <indexterm> <primary> - DDL + SQL </primary> <secondary> - IntegerTypeName + SelectWords </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 -generated by the <literal>mappingtool</literal>. +<literal>SelectWords</literal>: A comma-separated list of keywords which may be +used to start a SELECT statement for this database. If an application executes +a native SQL statement which begins with SelectWords OpenJPA will treat the +statement as a SELECT statement rather than an UPDATE statement. </para> </listitem> - <listitem id="DBDictionary.JavaObjectTypeName"> + <listitem id="DBDictionary.SequenceNameSQL"> <para> <indexterm> <primary> - DDL + schema </primary> <secondary> - JavaObjectTypeName + reflection </secondary> + <tertiary> + SequenceNameSQL + </tertiary> </indexterm> -<literal>JavaObjectTypeName</literal>: The overridden default column type for -<literal>java.sql.Types.JAVAOBJECT</literal>. This is only used when the schema -is generated by the <literal>mappingtool</literal>. +<literal>SequenceNameSQL</literal>: +Additional phrasing to use with <literal>SequenceSQL</literal>. +Defaults to <literal>null</literal>. </para> </listitem> - <listitem id="DBDictionary.LongVarbinaryTypeName"> + <listitem id="DBDictionary.SequenceSQL"> <para> <indexterm> <primary> - DDL + schema </primary> <secondary> - LongVarbinaryTypeName + reflection </secondary> + <tertiary> + SequenceSQL + </tertiary> </indexterm> -<literal>LongVarbinaryTypeName</literal>: The overridden default column type -for <literal>java.sql.Types.LONGVARBINARY</literal>. This is only used when the -schema is generated by the <literal>mappingtool</literal>. +<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 <literal>null</literal>. </para> </listitem> - <listitem id="DBDictionary.LongVarcharTypeName"> + + <listitem id="DBDictionary.SequenceSchemaSQL"> <para> <indexterm> <primary> - DDL + schema </primary> <secondary> - LongVarcharTypeName + reflection </secondary> + <tertiary> + SequenceSchemaSQL + </tertiary> </indexterm> -<literal>LongVarcharTypeName</literal>: The overridden default column type for -<literal>java.sql.Types.LONGVARCHAR</literal>. This is only used when the -schema is generated by the <literal>mappingtool</literal>. +<literal>SequenceSchemaSQL</literal>: +Additional phrasing to use with <literal>SequenceSQL</literal>. +Defaults to <literal>null</literal>. </para> </listitem> - <listitem id="DBDictionary.NullTypeName"> + <listitem id="DBDictionary.SimulateLocking"> <para> <indexterm> <primary> - DDL + locking </primary> <secondary> - NullTypeName + SimulateLocking </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 -generated by the <literal>mappingtool</literal>. +<literal>SimulateLocking</literal>: Some databases do not support pessimistic +locking, which will result in an exception when you attempt a +transaction while using the pessimistic lock manager. +Setting this property to <literal>true</literal> suppresses the +locking of rows in the database, thereby allowing pessimistic transactions +even on databases that do not support locking. At the same time, setting this +property to <literal>true</literal> means that you do not obtain the semantics +of a pessimistic +transaction with the database. Defaults to <literal>false</literal>. </para> </listitem> - <listitem id="DBDictionary.NumericTypeName"> + <listitem id="DBDictionary.SmallintTypeName"> <para> <indexterm> <primary> DDL </primary> <secondary> - NumericTypeName + SmallintTypeName </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 -generated by the <literal>mappingtool</literal>. +<literal>SmallintTypeName</literal>: The overridden default column type for +<literal>java.sql.Types.SMALLINT</literal>. This is used only when the schema +is generated by the <literal>mappingtool</literal>. </para> </listitem> - <listitem id="DBDictionary.OtherTypeName"> + <listitem id="DBDictionary.StorageLimitationsFatal"> <para> <indexterm> <primary> - DDL + persistent fields </primary> <secondary> - OtherTypeName + StorageLimitationsFatal </secondary> </indexterm> -<literal>OtherTypeName</literal>: The overridden default column type for [... 1331 lines stripped ...] |
||||||||||||||||
| Free Embeddable Forum Powered by Nabble | Help |