diff --git a/jOOQ/src/main/resources/xsd/jooq-runtime-3.16.0.xsd b/jOOQ/src/main/resources/xsd/jooq-runtime-3.16.0.xsd new file mode 100644 index 0000000000..a1f3652c80 --- /dev/null +++ b/jOOQ/src/main/resources/xsd/jooq-runtime-3.16.0.xsd @@ -0,0 +1,1409 @@ + + + + + + + + + + + + + + +Use this for single-catalog environments, or when all objects are made +available using synonyms]]> + + + + +Setting this to false also implicitly sets "renderCatalog" to false. +

+Use this for single-schema environments, or when all objects are made +available using synonyms]]> + + + + + + + + +This only affects names created through {@link org.jooq.impl.DSL#name(String)} methods (including those that are implicitly created through this method), not {@link org.jooq.impl.DSL#quotedName(String)} or {@link org.jooq.impl.DSL#unquotedName(String)}, whose behaviour cannot be overridden. +

+This setting does not affect any plain SQL usage.]]> + + + + +Names are modified irrespective of the {@link #getRenderQuotedNames()} setting. +

+This setting does not affect any plain SQL usage.]]> + + + + + + + +This is set to "QUOTED" by default for backwards-compatibility. +

+@deprecated - 3.12.0 - [#5909] - Use {@link RenderQuotedNames} and {@link RenderNameCase} instead.]]> + + @java.lang.Deprecated + @java.lang.Deprecated + + + + + + +Named parameter syntax defaults to :name (such as supported by Oracle, JPA, Spring), but +vendor specific parameters may look differently. This flag can be used to determine the prefix to be +used by named parameters, such as @ for SQL Server's @name or $ +for PostgreSQL's $name, when generating SQL. +

+"Named indexed" parameters can be obtained in the same way by specifingy {@code ParamType#NAMED} and not +providing a name to parameters, resulting in :1 or @1 or $1, etc.]]> + + + + + + + + + + + +@deprecated - 3.12.0 - [#5909] - Use {@link RenderKeywordCase} instead.]]> + + @java.lang.Deprecated + @java.lang.Deprecated + + + + + + + + + + + + + + + + + + AS keyword in table aliases, if it is optional in the output dialect. This is ignored if the keyword is not supported (e.g. in Oracle)]]> + + + + AS keyword in table aliases, if it is optional in the output dialect.]]> + + + + INNER keyword in INNER JOIN, if it is optional in the output dialect.]]> + + + + OUTER keyword in OUTER JOIN, if it is optional in the output dialect.]]> + + + + RANGE clause when an implicit clause is applied.]]> + + + + +Oracle 11g (and potentially, other databases too) implements scalar subquery caching. With this flag +set to true, users can automatically profit from this feature in all SQL statements.]]> + + + + + + + + + + + + +Oracle 11g (and potentially, other databases too) implements scalar subquery caching. With this flag +set to true, users can automatically profit from this feature in all SQL statements. +

+This feature is available in the commercial distribution only.]]> + + + + ORDER BY rn clause should be rendered on emulated paginated queries. +

+Older databases did not support OFFSET .. FETCH pagination, so jOOQ emulates it using derived +tables and ROWNUM (Oracle 11g and older) or ROW_NUMBER() (e.g. DB2, +SQL Server, etc.) filtering. While these subqueries are ordered, the ordering is not +guaranteed to be stable in the outer most queries. It may be stable (and e.g. in Oracle, +it mostly is, if queries are not parallel, or joined to other queries, etc.), so the excess +ORDER BY clause may add some additional performance overhead. This setting forces +jOOQ to not generate the additional ORDER BY clause. +

+For details, see https://github.com/jOOQ/jOOQ/issues/7609.]]> + + + + RETURNING clause should map to SQL Server's OUTPUT clause. +

+SQL Server supports an OUTPUT clause in most DML statements, whose behaviour +is almost identical to RETURNING in Firebird, Oracle, PostgreSQL. Users who +want to prevent jOOQ from rendering this OUTPUT clause can deactivate this flag +to revert to jOOQ calling {@code java.sql.Statement#getGeneratedKeys()} instead, which +is only supported for single row inserts. +

+This OUTPUT clause does not support fetching trigger generated values. In order +to fetch trigger generated values, {@link #fetchTriggerValuesAfterSQLServerOutput} needs to +be enabled as well. +

+For details, see https://github.com/jOOQ/jOOQ/issues/4498.]]> + + + + GROUP_CONCAT function should be overflow-protected by setting the @@group_concat_max_len session variable in MySQL style database systems. +

+MySQL truncates GROUP_CONCAT results after a certain length, which may be way +too small for jOOQ's usage, especially when using the MULTISET emulation. By +default, jOOQ sets a session variable to the highest possible value prior to executing a +query containing GROUP_CONCAT. This flag can be used to opt out of this. +

+For details, see https://github.com/jOOQ/jOOQ/issues/12092.]]> + + + + +By default (i.e. when this setting is set to false jOOQ will only render parenthesis pairs around queries combined with set operators when required. +This is for example the case when set operators are nested, when non-associative operators like EXCEPT are used, or when the queries are rendered as derived tables. +

+When this setting is set to true the queries combined with set operators will always be surrounded by a parenthesis pair. +

+For details, see https://github.com/jOOQ/jOOQ/issues/3676 and https://github.com/jOOQ/jOOQ/issues/9751.]]> + + + + +A few hierarchical mapping features work with paths encoded in names (specifically field aliases), such as the reflective mapping of nested values when aliasing fields as: +

+

+SELECT 
+  a.first_name AS "book.author.firstName"
+  a.last_name AS "book.author.lastName"
+FROM ...
+
+

+Not all dialects support "." in identifiers. This setting allows for specifying an alternative String to use as separator, e.g. "__".]]> + + + + java.time (JSR 310) type {@link java.time.OffsetDateTime} should be bound natively to JDBC. +

+Historically, jOOQ encoded the java.time types as strings to offer better compatibility with older JDBC drivers. By now, most drivers should support the java.time types. Using them may produce better performance both on the server and on the client side. +

+This flag allows for reverting to pre-jOOQ 3.14 behaviour, where the default is to bind these types natively. +

+For details, see https://github.com/jOOQ/jOOQ/issues/9902.]]> + + + + java.time (JSR 310) type {@link java.time.OffsetTime} should be bound natively to JDBC. +

+Historically, jOOQ encoded the java.time types as strings to offer better compatibility with older JDBC drivers. By now, most drivers should support the java.time types. Using them may produce better performance both on the server and on the client side. +

+This flag allows for reverting to pre-jOOQ 3.14 behaviour, where the default is to bind these types natively. +

+For details, see https://github.com/jOOQ/jOOQ/issues/9902.]]> + + + + OUTPUT clause. +

+SQL Server OUTPUT statements do not support fetching trigger generated values. +This is a limitation of the {@link #renderOutputForSQLServerReturningClause}. An additional +MERGE statement can run a second query if (and only if) the primary key has been +included in the OUTPUT clause. +

+For details, see https://github.com/jOOQ/jOOQ/issues/4498.]]> + + + + +By default, a {@link org.jooq.ResultQuery} produces no intermediate {@link org.jooq.Result} +instances if they are not explicitly requested by the caller, e.g. by calling +{@link org.jooq.ResultQuery#fetch()}, or in the presence of {@link org.jooq.ExecuteListener} +instances, which may require access to {@link org.jooq.ExecuteContext#result()}. +This default behaviour helps avoid unnecessary allocations of possibly large data structures. +

+Using this flag, fetching of intermediate results can be turned off even when execute listeners +are present, or turned on even if they're absent.]]> + + + + +Historically, prior to ANSI join syntax, joins were implemented by listing tables in +the FROM clause and providing join predicates in the WHERE clause, possibly using vendor specific +operators like (+) (Oracle, DB2) or *= (SQL Server) for outer join +support. For backwards compatibility with older RDBMS versions, ANSI joins in jOOQ code may be +converted to equivalent table lists in generated SQL using this flag. +

+This flag has a limited implementation that supports inner joins (in most cases) and outer joins +(only for simple comparison predicates). +

+This feature is available in the commercial distribution only.]]> + + + + +This transformation works around a known MySQL limitation "ERROR 1235 (42000): This version of MySQL doesn't yet support 'LIMIT & IN/ALL/ANY/SOME subquery'" +

+This feature is available in the commercial distribution only.]]> + + + + QUALIFY clause to an equivalent derived table to filter on window functions. +

+This feature is available in the commercial distribution only.]]> + + + + +(Very) historically, prior to ANSI join syntax, joins were implemented by listing tables in +the FROM clause and providing join predicates in the WHERE clause, possibly using vendor specific +operators like (+) (Oracle, DB2) or *= (SQL Server) for outer join +support. Migrating such join syntax is tedious. The jOOQ parser can parse the old syntax and +this flag enables the transformation to ANSI join syntax. +

+This feature is available in the commercial distribution only.]]> + + + + ROWNUM expressions to corresponding LIMIT clauses or ROW_NUMBER() expressions. +

+In Oracle 11g and less, ROWNUM filtering was the most popular way to paginate. This pseudo +column is not supported in other RDBMS, and should be replaced in Oracle 12c by the FETCH clause or +ROW_NUMBER() OVER () filtering. This transformation allows for replacing such a filter by +equivalent SQL, if possible. +

+This feature is available in the commercial distribution only.]]> + + + + +Arithmetic expressions may be implemented by the user, or arise from emulations from within jOOQ. +Expressions on literals and bind variables could be evaluated in the client prior to generating SQL. +

+This feature is available in the commercial distribution only.]]> + + + + + + + + +Possibilities include: + +- question marks +- named parameters +- named or inlined parameters +- inlined parameters + +This value is overridden by statementType == STATIC_STATEMENT, in +case of which, this defaults to INLINED]]> + + + + + + + + + + + + 0 uses the dialect defaults:

    +
  • {@link org.jooq.SQLDialect#ACCESS} : 768
  • +
  • {@link org.jooq.SQLDialect#ASE} : 2000
  • +
  • {@link org.jooq.SQLDialect#INGRES} : 1024
  • +
  • {@link org.jooq.SQLDialect#ORACLE} : 32767
  • +
  • {@link org.jooq.SQLDialect#POSTGRES} : 32767
  • +
  • {@link org.jooq.SQLDialect#SQLITE} : 999
  • +
  • {@link org.jooq.SQLDialect#SQLSERVER} : 2100
  • +
]]>
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +This flag has no effect when "executeWithOptimisticLocking" is turned off.]]> + + + + + + + + INSERT part of {@link org.jooq.UpdatableRecord#store()} and {@link org.jooq.UpdatableRecord#merge()} calls.]]> + + + + UPDATE part of {@link org.jooq.UpdatableRecord#store()} and {@link org.jooq.UpdatableRecord#merge()} calls.]]> + + + + +Setting this to "true" will allow for updating primary key values through +UpdatableRecord.store() and UpdatableRecord.update().]]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Do note that only few databases support this feature. It is supported only in case the INSERT's or UPDATE's +RETURNING clause is fully supported, also for non-IDENTITY columns.]]> + + + + is active, also other values.]]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + MULTISET support should be emulated.]]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + This is a potentially destructive feature, which should not be turned on in production. It is useful mostly to quickly switch between branches in a development environment. This feature is available only in commercial distributions.]]> + + + + This is a potentially destructive feature, which should not be turned on in production. It is useful mostly to quickly revert any elements created in a development environment. This feature is available only in commercial distributions.]]> + + + + + + + + + + + + migrateTo() methods (e.g. {@link org.jooq.Meta#migrateTo(org.jooq.Meta)}) ignore the difference between TIMESTAMP and TIMESTAMP(6), if 6 is the default precision for timestamps on the configured dialect.]]> + + + + + + + + + + + + + + + + + + + + + + + + +Named parameter syntax defaults to :name (such as supported by Oracle, JPA, Spring), but +vendor specific parameters may look differently. This flag can be used to determine the prefix to be +used by named parameters, such as @ for SQL Server's @name or $ +for PostgreSQL's $name when parsing SQL. +

+"Named indexed" parameters can be obtained in the same way by specifingy {@code ParamType#NAMED} and not +providing a name to parameters, resulting in :1 or @1 or $1, etc.]]> + + + + + + + + + + + + FROM or USING clause, if applicable. +

+Teradata (and possibly others) allow for referencing tables that are not listed in the FROM +clause, such as SELECT t.* FROM t WHERE t.i = u.i. This transformation is executed in the +parser, to produce SELECT t.* FROM t, u WHERE t.i = u.i, instead. By default, it is active +when the input dialect supports this syntax. +

+This feature is available in the commercial distribution only.]]> + + + + + + + + SET key = value should be parsed rather than ignored.]]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +This catalog will be omitted in rendered SQL.]]> + + + + +This schema will be omitted in rendered SQL.]]> + + + + +Either <catalogs/> or <schemata/> must be provided]]> + + + + +Either <catalogs/> or <schemata/> must be provided]]> + + + + + + + + + + + + + + + + +Either <input/> or <inputExpression/> must be provided]]> + + + + +Either <input/> or <inputExpression/> must be provided]]> + + + + +

  • When this is omitted, you can still apply schema and table mapping.
  • +
  • When <input/> is provided, <output/> is a constant value.
  • +
  • When <inputExpression/> is provided, <output/> is a replacement expression
  • +]]>
    +
    + + + + +
    +
    + + + + + + + + + + + + + +Either <input/> or <inputExpression/> must be provided]]> + + + + +Either <input/> or <inputExpression/> must be provided]]> + + + + +
  • When this is omitted, you can still apply table mapping.
  • +
  • When <input/> is provided, <output/> is a constant value.
  • +
  • When <inputExpression/> is provided, <output/> is a replacement expression
  • +]]>
    +
    + + + + +
    +
    + + + + + + + + + + + + + + +Either <input/> or <inputExpression/> must be provided.]]> + + + + +Either <input/> or <inputExpression/> must be provided]]> + + + + +
  • When <input/> is provided, <output/> is a constant value.
  • +
  • When <inputExpression/> is provided, <output/> is a replacement expression.
  • +]]>
    +
    +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @java.lang.Deprecated + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @java.lang.Deprecated + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    \ No newline at end of file