diff --git a/jOOQ-manual/src/main/resources/org/jooq/web/grammar-3.10.txt b/jOOQ-manual/src/main/resources/org/jooq/web/grammar-3.10.txt index 37aef176a3..bb9f7f5642 100644 --- a/jOOQ-manual/src/main/resources/org/jooq/web/grammar-3.10.txt +++ b/jOOQ-manual/src/main/resources/org/jooq/web/grammar-3.10.txt @@ -124,7 +124,7 @@ renameStatement = 'RENAME' | 'INDEX' indexName 'TO' indexName | 'SCHEMA' schemaName 'TO' schemaName | 'SEQUENCE' sequenceName 'TO' sequenceName -| 'VIEW' tableName 'TO' tableName +| 'VIEW' tabelName 'TO' tableName | [ 'TABLE' ] tableName 'TO' tableName ) ; diff --git a/jOOQ-manual/src/main/resources/org/jooq/web/grammar-3.11.txt b/jOOQ-manual/src/main/resources/org/jooq/web/grammar-3.11.txt index 5148be70b5..53f531e3f7 100644 --- a/jOOQ-manual/src/main/resources/org/jooq/web/grammar-3.11.txt +++ b/jOOQ-manual/src/main/resources/org/jooq/web/grammar-3.11.txt @@ -158,7 +158,7 @@ renameStatement = 'RENAME' | 'INDEX' indexName ( 'TO' | 'AS' ) indexName | 'SCHEMA' schemaName ( 'TO' | 'AS' ) schemaName | 'SEQUENCE' sequenceName ( 'TO' | 'AS' ) sequenceName -| 'VIEW' tableName ( 'TO' | 'AS' ) tableName +| 'VIEW' tabelName ( 'TO' | 'AS' ) tableName | [ 'TABLE' ] tableName ( 'TO' | 'AS' ) tableName ) ; diff --git a/jOOQ-manual/src/main/resources/org/jooq/web/grammar-3.12.txt b/jOOQ-manual/src/main/resources/org/jooq/web/grammar-3.12.txt index 76b65eb6ab..5d488efb3e 100644 --- a/jOOQ-manual/src/main/resources/org/jooq/web/grammar-3.12.txt +++ b/jOOQ-manual/src/main/resources/org/jooq/web/grammar-3.12.txt @@ -15,13 +15,11 @@ ddlStatement = | alterViewStatement | commentStatement | createTableStatement -| createTypeStatement | createIndexStatement | createSchemaStatement | createSequenceStatement | createViewStatement | dropTableStatement -| dropTypeStatement | dropIndexStatement | dropViewStatement | dropSequenceStatement @@ -63,16 +61,11 @@ alterTableStatement = 'ALTER TABLE' [ 'IF EXISTS' ] tableName break | 'ADD' [ 'COLUMN' ] column | 'ADD' '(' ( 'CONSTRAINT' constraintName constraint | constraint | column ) { ',' ( 'CONSTRAINT' constraintName constraint | constraint | column ) } ')' -| ( 'ALTER' | 'MODIFY' ) - ( [ 'COLUMN' ] identifier - ( - [ [ 'SET DATA' ] 'TYPE' ] dataType [ [ 'NOT' ] 'NULL' ] - | ( 'SET' | 'DROP' ) 'NOT NULL' - | [ 'NOT' ] 'NULL' - | [ 'RENAME' ] ( 'TO' | 'AS' ) identifier - ) - | column - | '(' column ')' +| ( 'ALTER' | 'MODIFY' ) [ 'COLUMN' ] identifier + ( + [ [ 'SET DATA' ] 'TYPE' ] dataType [ [ 'NOT' ] 'NULL' ] + | ( 'SET' | 'DROP' ) 'NOT NULL' + | [ 'RENAME' ] ( 'TO' | 'AS' ) identifier ) | 'COMMENT' [ '=' ] stringLiteral | 'DROP' [ 'COLUMN' ] identifier [ 'CASCADE' | 'RESTRICT' ] @@ -128,11 +121,8 @@ break [ 'COMMENT' [ '=' ] stringLiteral ] ; -createTypeStatement = 'CREATE TYPE' typeName 'AS ENUM' '(' [ stringLiteral { ',' stringLiteral } ] ')' -; - createIndexStatement = 'CREATE' [ 'UNIQUE' ] 'INDEX' [ 'IF NOT EXISTS' ] [ indexName ] break - 'ON' tableName [ 'USING' 'BTREE' ] '(' sortFields ')' + 'ON' tableName '(' sortFields ')' [ 'INCLUDE' '(' identifiers ')' ] [ 'WHERE' condition ] ; @@ -141,12 +131,6 @@ createSchemaStatement = 'CREATE SCHEMA' [ 'IF NOT EXISTS' ] schemaName ; createSequenceStatement = 'CREATE' ( 'SEQUENCE' | 'GENERATOR' ) [ 'IF NOT EXISTS' ] sequenceName - [ START [ WITH ] signedInteger ] - [ INCREMENT [ BY ] signedInteger ] - [ MINVALUE signedInteger | NO MINVALUE ] - [ MAXVALUE signedInteger | NO MAXVALUE ] - [ CYCLE | NO CYCLE ] - [ CACHE unsignedInteger | NO CACHE ] ; createViewStatement = 'CREATE' [ 'OR' ( 'ALTER' | 'REPLACE') ] 'VIEW' [ 'IF NOT EXISTS' ] tableName @@ -156,9 +140,6 @@ createViewStatement = 'CREATE' [ 'OR' ( 'ALTER' | 'REPLACE') ] 'VIEW' [ 'IF NOT dropTableStatement = 'DROP' [ 'TEMPORARY' ] 'TABLE' [ 'IF EXISTS' ] tableName [ 'CASCADE' | 'RESTRICT' ] ; -dropTypeStatement = 'DROP TYPE' [ 'IF EXISTS' ] typeName { ',' typeName } [ 'CASCADE' | 'RESTRICT' ] -; - dropIndexStatement = 'DROP INDEX' [ 'IF EXISTS' ] indexName [ 'ON' tableName ] ; @@ -177,7 +158,7 @@ renameStatement = 'RENAME' | 'INDEX' indexName ( 'TO' | 'AS' ) indexName | 'SCHEMA' schemaName ( 'TO' | 'AS' ) schemaName | 'SEQUENCE' sequenceName ( 'TO' | 'AS' ) sequenceName -| 'VIEW' tableName ( 'TO' | 'AS' ) tableName +| 'VIEW' tabelName ( 'TO' | 'AS' ) tableName | [ 'TABLE' ] tableName ( 'TO' | 'AS' ) tableName ) ; @@ -244,12 +225,9 @@ values = 'VALUES' '(' fields ')' { ',' '(' fields ')' } updateStatement = [ with ] - ( 'UPDATE' | 'UPD' ) tableName [ [ 'AS' ] identifier ] + ( 'UPDATE' | 'UPD' ) tableName 'SET' setClauses - [ 'FROM' tables ] [ 'WHERE' condition ] - [ 'ORDER BY' sortFields ] - [ 'LIMIT' unsignedInteger ] [ 'RETURNING' ( '*' | fields ) ] ; @@ -263,8 +241,6 @@ deleteStatement = [ with ] ( 'DELETE' | 'DEL' ) [ 'FROM' ] tableName [ 'WHERE' condition ] - [ 'ORDER BY' sortFields ] - [ 'LIMIT' unsignedInteger ] [ 'RETURNING' ( '*' | fields ) ] ; @@ -647,30 +623,24 @@ term = | 'COUNT' '(' ( '*' | [ 'DISTINCT' | 'ALL' ] field ) ')' [ keep | filter ] [ over ] | 'CUME_DIST' ( '(' ')' over | '(' fields ')' withinGroup ) | 'CURRVAL' '(' ( name | stringLiteral ) ')' -| ( 'CURRENT' 'DATE' | 'CURRENT_DATE' ) [ '(' ')' ] -| ( 'CURRENT' 'SCHEMA' | 'CURRENT_SCHEMA' ) [ '(' ')' ] -| ( 'CURRENT' 'TIME' | 'CURRENT_TIME' ) [ '(' ')' ] -| ( 'CURRENT' 'TIMESTAMP' | 'CURRENT_TIMESTAMP' ) [ '(' ')' ] -| ( 'CURRENT' 'USER' | 'CURRENT_USER' ) [ '(' ')' ] -| 'CURDATE' '(' ')' -| 'CURTIME' '(' ')' +| 'CURRENT_DATE' +| 'CURRENT_SCHEMA' +| 'CURRENT_TIME' +| 'CURRENT_TIMESTAMP' +| 'CURRENT_USER' | dateLiteral | 'DATEADD' '(' datePart ',' field ',' field ')' -| 'DATEDIFF' '(' [ datePart ',' ] field ',' field ')' | 'DATE_TRUNC' '(' stringLiteral ',' field ')' | 'DAY' '(' field ')' -| 'DAYOFMONTH' '(' field ')' -| 'DAYOFWEEK' '(' field ')' | 'DECODE' '(' field ',' field ',' field { ',' field } ')' | 'DENSE_RANK' ( '(' ')' over | '(' fields ')' withinGroup ) | ( 'DEG' | 'DEGREE' | 'DEGREES' ) '(' sum ')' -| 'EPOCH' '(' field ')' | 'EXTRACT' '(' datePart 'FROM' field ')' | 'EXP' '(' sum ')' | 'EVERY' '(' field ')' [ filter ] [ over ] | 'FLOOR' '(' sum ')' | 'FIELD' '(' field ',' field { ',' field } ')' -| 'FIRST_VALUE' '(' field [ 'RESPECT NULLS' | 'IGNORE NULLS' ] ')' over +| 'FIRST_VALUE' '(' field ')' over | 'GETDATE' '(' ')' | 'GREATEST' '(' fields ')' | 'GROUP_CONCAT' '(' [ 'DISTINCT' ] field [ 'ORDER BY' sortFields ] [ 'SEPARATOR' stringLiteral ] ')' @@ -693,9 +663,9 @@ term = | 'LOG' '(' sum ',' unsignedInteger ')' | 'LEVEL' | 'LEAST' '(' fields ')' -| 'LEAD' '(' field [ ',' unsignedInteger [ ',' field ] ] [ 'RESPECT NULLS' | 'IGNORE NULLS' ] ')' over -| 'LAG' '(' field [ ',' unsignedInteger [ ',' field ] ] [ 'RESPECT NULLS' | 'IGNORE NULLS' ] ')' over -| 'LAST_VALUE' '(' field [ 'RESPECT NULLS' | 'IGNORE NULLS' ] ')' over +| 'LEAD' '(' field [ ',' unsignedInteger [ ',' field ] ] ')' over +| 'LAG' '(' field [ ',' unsignedInteger [ ',' field ] ] ')' over +| 'LAST_VALUE' '(' field ')' over | 'LISTAGG' '(' field [ ',' stringLiteral ] ')' withinGroup [ over ] | 'MIN' '(' [ 'DISTINCT' | 'ALL' ] field ')' [ keep | filter ] [ over ] | 'MAX' '(' [ 'DISTINCT' | 'ALL' ] field ')' [ keep | filter ] [ over ] @@ -710,7 +680,7 @@ term = | 'NVL2' '(' field ',' field ',' field ')' | 'NULLIF' '(' field ',' field ')' | 'NTILE' '(' unsignedInteger ')' over -| 'NTH_VALUE' '(' field ',' unsignedInteger [ 'FROM FIRST' | 'FROM LAST' ] [ 'RESPECT NULLS' | 'IGNORE NULLS' ] ')' over +| 'NTH_VALUE' '(' field ',' unsignedInteger ')' over | 'NEXT VALUE FOR' sequenceName | 'NEXTVAL' '(' ( name | stringLiteral ) ')' | 'OCTET_LENGTH' '(' field ')' @@ -720,8 +690,6 @@ term = | ( 'PERCENTILE_CONT' | 'PERCENTILE_DISC' ) '(' unsignedNumericLiteral ')' withinGroup [ over ] | ( 'POW' | 'POWER' ) '(' field ',' field ')' | 'PRIOR' concat -| 'PRODUCT' '(' [ 'DISTINCT' | 'ALL' ] field ')' [ keep | filter ] [ over ] -| 'QUARTER' '(' field ')' | ( 'REGR_SLOPE' | 'REGR_INTERCEPT' @@ -758,7 +726,7 @@ term = | 'STDDEV_SAMP' '(' field ')' [ over ] | 'STR_REPLACE' '(' field ',' field ',' field ')' | 'SUBSTRING' '(' field 'FROM' sum [ 'FOR' sum ] ')' -| 'SUM' '(' [ 'DISTINCT' | 'ALL' ] field ')' [ keep | filter ] [ over ] +| 'SUM' '(' [ 'DISTINCT' | 'ALL' ] field ')' [ keep | filter ] | 'TAN' '(' sum ')' | 'TANH' '(' sum ')' | timeLiteral @@ -772,7 +740,6 @@ term = | 'TRUNC' '(' field ',' stringLiteral ')' | 'TRUNC' '(' sum ',' sum ')' | truthValue -| 'UNIX_TIMESTAMP' '(' field ')' | ( 'UPPER' | 'UCASE' ) '(' field ')' | 'VAR_POP' '(' field ')' [ over ] | 'VAR_SAMP' '(' field ')' [ over ] @@ -792,22 +759,7 @@ term = truthValue = 'TRUE' | 'FALSE' | 'NULL' ; -datePart = - ( 'YEAR' | 'YYYY' | 'YY' ) -| ( 'MONTH' | 'MM' | 'M' ) -| ( 'DAY' | 'DD' | 'D' ) -| ( 'HOUR' | 'HH' ) -| ( 'MINUTE' | 'MI' | 'N' ) -| ( 'SECOND' | 'SS' | 'S' ) -| ( 'MILLISECOND' | 'MS' ) -| ( 'MICROSECOND' | 'MCS' ) -| ( 'NANOSECOND' | 'NS' ) -| 'EPOCH' -| ( 'QUARTER' | 'QQ' | 'Q' ) -| ( 'WEEK ' | 'WW' | 'WK' ) -| ( 'ISO_DAY_OF_WEEK' | 'ISODOW' ) -| ( 'DAY_OF_WEEK' | 'DAYOFWEEK' | 'WEEKDAY' | 'W' ) -| ( 'DAY_OF_YEAR' | 'DAYOFYEAR' | 'DOY' | 'DY' | 'Y') +datePart = 'YEAR' | 'MONTH' | 'DAY' | 'HOUR' | 'MINUTE' | 'SECOND' ; keep = 'KEEP' '(' 'DENSE_RANK' ( 'FIRST' | 'LAST' ) 'ORDER BY' sortFields ')' @@ -868,7 +820,7 @@ dataType = | 'CHARACTER' [ '(' unsignedInteger ')' [ 'BYTE' | 'CHAR' ] ] [ 'COLLATE' collationName ] | 'CLOB' [ '(' unsignedInteger ')' ] [ 'COLLATE' collationName ] | 'DATE' -| 'DECIMAL' [ '(' ( '*' | unsignedInteger ) [ ',' signedInteger ] ')' ] +| 'DECIMAL' [ '(' unsignedInteger [ ',' unsignedInteger ] ')' ] | 'DOUBLE' [ 'PRECISION' ] [ '(' unsignedInteger [ ',' unsignedInteger ] ')' ] | 'ENUM' '(' stringLiteral [ ',' stringLiteral ] ')' [ 'COLLATE' collationName ] | 'FLOAT' [ '(' unsignedInteger [ ',' unsignedInteger ] ')' ] @@ -884,8 +836,8 @@ dataType = | 'MEDIUMTEXT' [ 'COLLATE' collationName ] | 'NCHAR' [ '(' unsignedInteger ')' ] [ 'COLLATE' collationName ] | 'NCLOB' [ 'COLLATE' collationName ] -| 'NUMBER' [ '(' ( '*' | unsignedInteger ) [ ',' signedInteger ] ')' ] -| 'NUMERIC' [ '(' ( '*' | unsignedInteger ) [ ',' signedInteger ] ')' ] +| 'NUMBER' [ '(' unsignedInteger [ ',' unsignedInteger ] ')' ] +| 'NUMERIC' [ '(' unsignedInteger [ ',' unsignedInteger ] ')' ] | 'NVARCHAR' [ '(' unsignedInteger ')' ] [ 'COLLATE' collationName ] | 'OTHER' | 'REAL' [ '(' unsignedInteger [ ',' unsignedInteger ] ')' ] @@ -925,9 +877,6 @@ schemaName = name tableName = name ; -typeName = name -; - indexName = name ; @@ -975,19 +924,7 @@ timeLiteral = 'TIME' stringLiteral timestampLiteral = 'TIMESTAMP' stringLiteral ; -intervalLiteral = - 'INTERVAL' stringLiteral -| field - ( - ( 'YEAR' | 'YEARS' ) - | ( 'MONTH' | 'MONTHS' ) - | ( 'DAY' | 'DAYS' ) - | ( 'HOUR' | 'HOURS' ) - | ( 'MINUTE' | 'MINUTES' ) - | ( 'SECOND' | 'SECONDS' ) - | ( 'MILLISECOND' | 'MILLISECONDS' ) - | ( 'MICROSECOND' | 'MICROSECONDS' ) - ) +intervalLiteral = 'INTERVAL' stringLiteral ; signedInteger = todo diff --git a/jOOQ-manual/src/main/resources/org/jooq/web/html-pages.xsl b/jOOQ-manual/src/main/resources/org/jooq/web/html-pages.xsl index e1258130bc..6ea273a718 100644 --- a/jOOQ-manual/src/main/resources/org/jooq/web/html-pages.xsl +++ b/jOOQ-manual/src/main/resources/org/jooq/web/html-pages.xsl @@ -195,12 +195,12 @@ function printContent() { - +
- diff --git a/jOOQ-manual/src/main/resources/org/jooq/web/manual-2.6.xml b/jOOQ-manual/src/main/resources/org/jooq/web/manual-2.6.xml index a0c666fdb0..cb3d58d9b8 100644 --- a/jOOQ-manual/src/main/resources/org/jooq/web/manual-2.6.xml +++ b/jOOQ-manual/src/main/resources/org/jooq/web/manual-2.6.xml @@ -466,26 +466,25 @@ Result result = create.fetch(rs);]]>
jOOQ for CRUD -

- Apart from jOOQ's fluent API for query construction, jOOQ can also help you execute everyday CRUD operations. An example is given here: -

+

+ This is probably the most complete use-case for jOOQ: Use all of jOOQ's features. Apart from jOOQ's fluent API for query construction, jOOQ can also help you execute everyday CRUD operations. An example is given here: +

- 5) { -// Executes an update on existing authors, or insert on new ones -author.store();]]> + // Mark the author as a "distinguished" author + author.setDistinguished(1); + author.store(); + } +}]]>

If you wish to use all of jOOQ's features, the following sections of the manual will be of interest to you (including all sub-sections): @@ -3945,8 +3944,7 @@ Field nextval();]]>

s = S_AUTHOR_ID.nextval(); -BigInteger nextID = create.select(s).fetchOne(s); +BigInteger nextID = create.select(s).fetchOne(S_AUTHOR_ID.nextval()); // Reference the sequence in an INSERT statement: create.insertInto(AUTHOR, AUTHOR.ID, AUTHOR.FIRST_NAME, AUTHOR.LAST_NAME) @@ -6370,8 +6368,7 @@ BigInteger currID = create.currval(S_AUTHOR_ID);]]>

s = S_AUTHOR_ID.nextval(); -BigInteger nextID = create.select(s).fetchOne(s); +BigInteger nextID = create.select(s).fetchOne(S_AUTHOR_ID.nextval()); // Reference the sequence in an INSERT statement: create.insertInto(AUTHOR, AUTHOR.ID, AUTHOR.FIRST_NAME, AUTHOR.LAST_NAME) diff --git a/jOOQ-manual/src/main/resources/org/jooq/web/manual-3.0.xml b/jOOQ-manual/src/main/resources/org/jooq/web/manual-3.0.xml index 7d2fed86b3..a3c02fd793 100644 --- a/jOOQ-manual/src/main/resources/org/jooq/web/manual-3.0.xml +++ b/jOOQ-manual/src/main/resources/org/jooq/web/manual-3.0.xml @@ -564,26 +564,25 @@ Result result = create.fetch(rs);]]>
jOOQ for CRUD -

- Apart from jOOQ's fluent API for query construction, jOOQ can also help you execute everyday CRUD operations. An example is given here: -

+

+ This is probably the most complete use-case for jOOQ: Use all of jOOQ's features. Apart from jOOQ's fluent API for query construction, jOOQ can also help you execute everyday CRUD operations. An example is given here: +

- 5) { -// Executes an update on existing authors, or insert on new ones -author.store();]]> + // Mark the author as a "distinguished" author + author.setDistinguished(1); + author.store(); + } +}]]>

If you wish to use all of jOOQ's features, the following sections of the manual will be of interest to you (including all sub-sections): @@ -4934,8 +4933,7 @@ Field nextval();]]>

s = S_AUTHOR_ID.nextval(); -BigInteger nextID = create.select(s).fetchOne(s); +BigInteger nextID = create.select(s).fetchOne(S_AUTHOR_ID.nextval()); // Reference the sequence in an INSERT statement: create.insertInto(AUTHOR, AUTHOR.ID, AUTHOR.FIRST_NAME, AUTHOR.LAST_NAME) @@ -7813,8 +7811,7 @@ BigInteger currID = create.currval(S_AUTHOR_ID);]]>

s = S_AUTHOR_ID.nextval(); -BigInteger nextID = create.select(s).fetchOne(s); +BigInteger nextID = create.select(s).fetchOne(S_AUTHOR_ID.nextval()); // Reference the sequence in an INSERT statement: create.insertInto(AUTHOR, AUTHOR.ID, AUTHOR.FIRST_NAME, AUTHOR.LAST_NAME) diff --git a/jOOQ-manual/src/main/resources/org/jooq/web/manual-3.1.xml b/jOOQ-manual/src/main/resources/org/jooq/web/manual-3.1.xml index 839ec765c2..e92da431ea 100644 --- a/jOOQ-manual/src/main/resources/org/jooq/web/manual-3.1.xml +++ b/jOOQ-manual/src/main/resources/org/jooq/web/manual-3.1.xml @@ -564,26 +564,25 @@ Result result = create.fetch(rs);]]>
jOOQ for CRUD -

- Apart from jOOQ's fluent API for query construction, jOOQ can also help you execute everyday CRUD operations. An example is given here: -

+

+ This is probably the most complete use-case for jOOQ: Use all of jOOQ's features. Apart from jOOQ's fluent API for query construction, jOOQ can also help you execute everyday CRUD operations. An example is given here: +

- 5) { -// Executes an update on existing authors, or insert on new ones -author.store();]]> + // Mark the author as a "distinguished" author + author.setDistinguished(1); + author.store(); + } +}]]>

If you wish to use all of jOOQ's features, the following sections of the manual will be of interest to you (including all sub-sections): @@ -5332,8 +5331,7 @@ Field nextval();]]>

s = S_AUTHOR_ID.nextval(); -BigInteger nextID = create.select(s).fetchOne(s); +BigInteger nextID = create.select(s).fetchOne(S_AUTHOR_ID.nextval()); // Reference the sequence in an INSERT statement: create.insertInto(AUTHOR, AUTHOR.ID, AUTHOR.FIRST_NAME, AUTHOR.LAST_NAME) @@ -8402,8 +8400,7 @@ BigInteger currID = create.currval(S_AUTHOR_ID);]]>

s = S_AUTHOR_ID.nextval(); -BigInteger nextID = create.select(s).fetchOne(s); +BigInteger nextID = create.select(s).fetchOne(S_AUTHOR_ID.nextval()); // Reference the sequence in an INSERT statement: create.insertInto(AUTHOR, AUTHOR.ID, AUTHOR.FIRST_NAME, AUTHOR.LAST_NAME) diff --git a/jOOQ-manual/src/main/resources/org/jooq/web/manual-3.10.xml b/jOOQ-manual/src/main/resources/org/jooq/web/manual-3.10.xml index fc7739c9e3..cf42ad6634 100644 --- a/jOOQ-manual/src/main/resources/org/jooq/web/manual-3.10.xml +++ b/jOOQ-manual/src/main/resources/org/jooq/web/manual-3.10.xml @@ -627,26 +627,25 @@ Result result = create.fetch(rs);]]>
jOOQ for CRUD -

- Apart from jOOQ's fluent API for query construction, jOOQ can also help you execute everyday CRUD operations. An example is given here: -

+

+ This is probably the most complete use-case for jOOQ: Use all of jOOQ's features. Apart from jOOQ's fluent API for query construction, jOOQ can also help you execute everyday CRUD operations. An example is given here: +

- 5) { -// Executes an update on existing authors, or insert on new ones -author.store();]]> + // Mark the author as a "distinguished" author + author.setDistinguished(1); + author.store(); + } +}]]>

If you wish to use all of jOOQ's features, the following sections of the manual will be of interest to you (including all sub-sections): @@ -8277,8 +8276,7 @@ Field nextval();]]>

s = S_AUTHOR_ID.nextval(); -BigInteger nextID = create.select(s).fetchOne(s); +BigInteger nextID = create.select(s).fetchOne(S_AUTHOR_ID.nextval()); // Reference the sequence in an INSERT statement: create.insertInto(AUTHOR, AUTHOR.ID, AUTHOR.FIRST_NAME, AUTHOR.LAST_NAME) @@ -10275,11 +10273,9 @@ public class PostgresJSONGsonBinding implements Binding { @Override public void sql(BindingSQLContext ctx) throws SQLException { // Depending on how you generate your SQL, you may need to explicitly distinguish - // between jOOQ generating bind variables or inlined literals. - if (ctx.render().paramType() == ParamType.INLINED) - ctx.render().visit(DSL.inline(ctx.convert(converter()).value())).sql("::json"); - else - ctx.render().sql("?::json"); + // between jOOQ generating bind variables or inlined literals. If so, use this check: + // ctx.render().paramType() == INLINED + ctx.render().visit(DSL.val(ctx.convert(converter()).value())).sql("::json"); } // Registering VARCHAR types for JDBC CallableStatement OUT parameters @@ -11931,10 +11927,6 @@ for (BookRecord book : create.selectFrom(BOOK).fetch()) { } }]]> -

- If you're using in your code generation configuration, you can configure the application of an EnumConverter by adding <enumConverter>true</enumConverter> to your <forcedType/> configuration. -

-

Using Converters in generated source code

jOOQ also allows for generated source code to reference your own custom converters, in order to permanently replace a <T> type by your own, custom <U> type. See the manual's section about for details. @@ -12275,8 +12267,7 @@ BigInteger currID = create.currval(S_AUTHOR_ID);]]>

s = S_AUTHOR_ID.nextval(); -BigInteger nextID = create.select(s).fetchOne(s); +BigInteger nextID = create.select(s).fetchOne(S_AUTHOR_ID.nextval()); // Reference the sequence in an INSERT statement: create.insertInto(AUTHOR, AUTHOR.ID, AUTHOR.FIRST_NAME, AUTHOR.LAST_NAME) @@ -15081,7 +15072,7 @@ result.forEach((Object[] entities) -> {
  • org.jooq.util.oracle.OracleDatabase
  • org.jooq.util.postgres.PostgresDatabase
  • org.jooq.util.redshift.RedshiftDatabase
  • -
  • org.jooq.util.sqlite.SQLiteDatabase
  • +
  • org.jooq.util.sqlite.SQLiteDatabaes
  • org.jooq.util.sqlserver.SQLServerDatabase
  • org.jooq.util.sybase.SybaseDatabase
  • org.jooq.util.vertica.VerticaDatabase
  • @@ -16313,138 +16304,6 @@ public class CaseInsensitiveOrderProvider implements Comparator { For more information about using converters, .

    -

    Mapping to user type with an inline converter

    - -

    - For convenience, you can inline your converter code directly into the configuration instead of providing a class reference. -

    - -

    - XML configuration (standalone and Maven) -

    - - - - - - - - - - com.example.MyEnum - - - org.jooq.Converter.ofNullable(Integer.class, MyEnum.class, i -> MyEnum.values()[i], MyEnum::ordinal) - - - .*\.DATE_OF_.* - .* - - - - -]]> - -

    - Programmatic configuration -

    - - MyEnum.values()[i], MyEnum::ordinal)") - .withExpression(".*\.DATE_OF_.*") - .withTypes(".*")))));]]> - -

    - Gradle configuration -

    - - MyEnum.values()[i], MyEnum::ordinal)' - expression = '.*\.DATE_OF_.*' - types = '.*' - } - } - } - } -}]]> - -

    Mapping to an enum user type with a converter

    - -

    - If your user type is a Java enum, you can use the <enumConverter/> convenience flag instead of an explicit converter per enum type. This will apply the built-in . -

    - -

    - XML configuration (standalone and Maven) -

    - - - - - - - - - - com.example.MyEnum - - - true - - - .*\.MY_STATUS - .* - - - - -]]> - -

    - Programmatic configuration -

    - - - -

    - Gradle configuration -

    - - -

    Mapping to user type with a binding

    @@ -18052,11 +17911,9 @@ public class PostgresJSONGsonBinding implements Binding { @Override public void sql(BindingSQLContext ctx) throws SQLException { // Depending on how you generate your SQL, you may need to explicitly distinguish - // between jOOQ generating bind variables or inlined literals. - if (ctx.render().paramType() == ParamType.INLINED) - ctx.render().visit(DSL.inline(ctx.convert(converter()).value())).sql("::json"); - else - ctx.render().sql("?::json"); + // between jOOQ generating bind variables or inlined literals. If so, use this check: + // ctx.render().paramType() == INLINED + ctx.render().visit(DSL.val(ctx.convert(converter()).value())).sql("::json"); } // Registering VARCHAR types for JDBC CallableStatement OUT parameters @@ -18919,7 +18776,9 @@ def xml = new groovy.xml.MarkupBuilder(writer) // Run the code generator // ---------------------- -org.jooq.util.GenerationTool.generate(writer.toString()) +org.jooq.util.GenerationTool.generate( + javax.xml.bind.JAXB.unmarshal(new StringReader(writer.toString()), org.jooq.util.jaxb.Configuration.class) +) ]]>

    diff --git a/jOOQ-manual/src/main/resources/org/jooq/web/manual-3.11.xml b/jOOQ-manual/src/main/resources/org/jooq/web/manual-3.11.xml index 20fbb4e7b8..1bbe53d60e 100644 --- a/jOOQ-manual/src/main/resources/org/jooq/web/manual-3.11.xml +++ b/jOOQ-manual/src/main/resources/org/jooq/web/manual-3.11.xml @@ -626,26 +626,25 @@ Result result = create.fetch(rs);]]>
    jOOQ for CRUD -

    - Apart from jOOQ's fluent API for query construction, jOOQ can also help you execute everyday CRUD operations. An example is given here: -

    +

    + This is probably the most complete use-case for jOOQ: Use all of jOOQ's features. Apart from jOOQ's fluent API for query construction, jOOQ can also help you execute everyday CRUD operations. An example is given here: +

    - 5) { -// Executes an update on existing authors, or insert on new ones -author.store();]]> + // Mark the author as a "distinguished" author + author.setDistinguished(1); + author.store(); + } +}]]>

    If you wish to use all of jOOQ's features, the following sections of the manual will be of interest to you (including all sub-sections): @@ -8491,8 +8490,7 @@ Field nextval();]]>

    s = S_AUTHOR_ID.nextval(); -BigInteger nextID = create.select(s).fetchOne(s); +BigInteger nextID = create.select(s).fetchOne(S_AUTHOR_ID.nextval()); // Reference the sequence in an INSERT statement: create.insertInto(AUTHOR, AUTHOR.ID, AUTHOR.FIRST_NAME, AUTHOR.LAST_NAME) @@ -10514,11 +10512,9 @@ public class PostgresJSONGsonBinding implements Binding { @Override public void sql(BindingSQLContext ctx) throws SQLException { // Depending on how you generate your SQL, you may need to explicitly distinguish - // between jOOQ generating bind variables or inlined literals. - if (ctx.render().paramType() == ParamType.INLINED) - ctx.render().visit(DSL.inline(ctx.convert(converter()).value())).sql("::json"); - else - ctx.render().sql("?::json"); + // between jOOQ generating bind variables or inlined literals. If so, use this check: + // ctx.render().paramType() == INLINED + ctx.render().visit(DSL.val(ctx.convert(converter()).value())).sql("::json"); } // Registering VARCHAR types for JDBC CallableStatement OUT parameters @@ -12170,10 +12166,6 @@ for (BookRecord book : create.selectFrom(BOOK).fetch()) { } }]]> -

    - If you're using in your code generation configuration, you can configure the application of an EnumConverter by adding <enumConverter>true</enumConverter> to your <forcedType/> configuration. -

    -

    Using Converters in generated source code

    jOOQ also allows for generated source code to reference your own custom converters, in order to permanently replace a <T> type by your own, custom <U> type. See the manual's section about for details. @@ -12514,8 +12506,7 @@ BigInteger currID = create.currval(S_AUTHOR_ID);]]>

    s = S_AUTHOR_ID.nextval(); -BigInteger nextID = create.select(s).fetchOne(s); +BigInteger nextID = create.select(s).fetchOne(S_AUTHOR_ID.nextval()); // Reference the sequence in an INSERT statement: create.insertInto(AUTHOR, AUTHOR.ID, AUTHOR.FIRST_NAME, AUTHOR.LAST_NAME) @@ -15707,7 +15698,7 @@ result.forEach((Object[] entities) -> {
  • org.jooq.meta.oracle.OracleDatabase
  • org.jooq.meta.postgres.PostgresDatabase
  • org.jooq.meta.redshift.RedshiftDatabase
  • -
  • org.jooq.meta.sqlite.SQLiteDatabase
  • +
  • org.jooq.meta.sqlite.SQLiteDatabaes
  • org.jooq.meta.sqlserver.SQLServerDatabase
  • org.jooq.meta.sybase.SybaseDatabase
  • org.jooq.meta.vertica.VerticaDatabase
  • @@ -16953,138 +16944,6 @@ public class CaseInsensitiveOrderProvider implements Comparator { For more information about using converters, .

    -

    Mapping to user type with an inline converter

    - -

    - For convenience, you can inline your converter code directly into the configuration instead of providing a class reference. -

    - -

    - XML configuration (standalone and Maven) -

    - - - - - - - - - - com.example.MyEnum - - - org.jooq.Converter.ofNullable(Integer.class, MyEnum.class, i -> MyEnum.values()[i], MyEnum::ordinal) - - - .*\.DATE_OF_.* - .* - - - - -]]> - -

    - Programmatic configuration -

    - - MyEnum.values()[i], MyEnum::ordinal)") - .withExpression(".*\.DATE_OF_.*") - .withTypes(".*")))));]]> - -

    - Gradle configuration -

    - - MyEnum.values()[i], MyEnum::ordinal)' - expression = '.*\.DATE_OF_.*' - types = '.*' - } - } - } - } -}]]> - -

    Mapping to an enum user type with a converter

    - -

    - If your user type is a Java enum, you can use the <enumConverter/> convenience flag instead of an explicit converter per enum type. This will apply the built-in . -

    - -

    - XML configuration (standalone and Maven) -

    - - - - - - - - - - com.example.MyEnum - - - true - - - .*\.MY_STATUS - .* - - - - -]]> - -

    - Programmatic configuration -

    - - - -

    - Gradle configuration -

    - - -

    Mapping to user type with a binding

    @@ -18763,11 +18622,9 @@ public class PostgresJSONGsonBinding implements Binding { @Override public void sql(BindingSQLContext ctx) throws SQLException { // Depending on how you generate your SQL, you may need to explicitly distinguish - // between jOOQ generating bind variables or inlined literals. - if (ctx.render().paramType() == ParamType.INLINED) - ctx.render().visit(DSL.inline(ctx.convert(converter()).value())).sql("::json"); - else - ctx.render().sql("?::json"); + // between jOOQ generating bind variables or inlined literals. If so, use this check: + // ctx.render().paramType() == INLINED + ctx.render().visit(DSL.val(ctx.convert(converter()).value())).sql("::json"); } // Registering VARCHAR types for JDBC CallableStatement OUT parameters @@ -19656,7 +19513,9 @@ def xml = new groovy.xml.MarkupBuilder(writer) // Run the code generator // ---------------------- -org.jooq.codegen.GenerationTool.generate(writer.toString()) +org.jooq.codegen.GenerationTool.generate( + javax.xml.bind.JAXB.unmarshal(new StringReader(writer.toString()), org.jooq.meta.jaxb.Configuration.class) +) ]]>

    diff --git a/jOOQ-manual/src/main/resources/org/jooq/web/manual-3.12.xml b/jOOQ-manual/src/main/resources/org/jooq/web/manual-3.12.xml index 73e4e05813..581e1827b3 100644 --- a/jOOQ-manual/src/main/resources/org/jooq/web/manual-3.12.xml +++ b/jOOQ-manual/src/main/resources/org/jooq/web/manual-3.12.xml @@ -627,25 +627,24 @@ Result result = create.fetch(rs);]]> jOOQ for CRUD

    - Apart from jOOQ's fluent API for query construction, jOOQ can also help you execute everyday CRUD operations. An example is given here: + This is probably the most complete use-case for jOOQ: Use all of jOOQ's features. Apart from jOOQ's fluent API for query construction, jOOQ can also help you execute everyday CRUD operations. An example is given here:

    - 5) { -// Executes an update on existing authors, or insert on new ones -author.store();]]> + // Mark the author as a "distinguished" author + author.setDistinguished(1); + author.store(); + } +}]]>

    If you wish to use all of jOOQ's features, the following sections of the manual will be of interest to you (including all sub-sections): @@ -3564,9 +3563,6 @@ SELECT [TABLE].[COLUMN] FROM [TABLE] -- SQL Server style]]> AS_IS ]]> -

    - The behaviour of this setting is influenced by the . -

    @@ -3604,31 +3600,6 @@ SELECT [TABLE].[COLUMN] FROM [TABLE] -- SQL Server style]]>
    -
    - Render Locale - -

    - When doing locale sensitive operations, such as upper casing or lower casing a name (see ), then it may be important in some areas to be able to specify the for the operation. -

    - -

    - Programmatic configuration -

    - - - -

    - XML configuration -

    - - - en-US -]]> - -
    -
    -
    Parameter types @@ -8533,8 +8504,7 @@ Field nextval();]]>

    s = S_AUTHOR_ID.nextval(); -BigInteger nextID = create.select(s).fetchOne(s); +BigInteger nextID = create.select(s).fetchOne(S_AUTHOR_ID.nextval()); // Reference the sequence in an INSERT statement: create.insertInto(AUTHOR, AUTHOR.ID, AUTHOR.FIRST_NAME, AUTHOR.LAST_NAME) @@ -10556,11 +10526,9 @@ public class PostgresJSONGsonBinding implements Binding { @Override public void sql(BindingSQLContext ctx) throws SQLException { // Depending on how you generate your SQL, you may need to explicitly distinguish - // between jOOQ generating bind variables or inlined literals. - if (ctx.render().paramType() == ParamType.INLINED) - ctx.render().visit(DSL.inline(ctx.convert(converter()).value())).sql("::json"); - else - ctx.render().sql("?::json"); + // between jOOQ generating bind variables or inlined literals. If so, use this check: + // ctx.render().paramType() == INLINED + ctx.render().visit(DSL.val(ctx.convert(converter()).value())).sql("::json"); } // Registering VARCHAR types for JDBC CallableStatement OUT parameters @@ -12212,10 +12180,6 @@ for (BookRecord book : create.selectFrom(BOOK).fetch()) { } }]]> -

    - If you're using in your code generation configuration, you can configure the application of an EnumConverter by adding <enumConverter>true</enumConverter> to your <forcedType/> configuration. -

    -

    Using Converters in generated source code

    jOOQ also allows for generated source code to reference your own custom converters, in order to permanently replace a <T> type by your own, custom <U> type. See the manual's section about for details. @@ -12556,8 +12520,7 @@ BigInteger currID = create.currval(S_AUTHOR_ID);]]>

    s = S_AUTHOR_ID.nextval(); -BigInteger nextID = create.select(s).fetchOne(s); +BigInteger nextID = create.select(s).fetchOne(S_AUTHOR_ID.nextval()); // Reference the sequence in an INSERT statement: create.insertInto(AUTHOR, AUTHOR.ID, AUTHOR.FIRST_NAME, AUTHOR.LAST_NAME) @@ -15751,7 +15714,7 @@ result.forEach((Object[] entities) -> {
  • org.jooq.meta.oracle.OracleDatabase
  • org.jooq.meta.postgres.PostgresDatabase
  • org.jooq.meta.redshift.RedshiftDatabase
  • -
  • org.jooq.meta.sqlite.SQLiteDatabase
  • +
  • org.jooq.meta.sqlite.SQLiteDatabaes
  • org.jooq.meta.sqlserver.SQLServerDatabase
  • org.jooq.meta.sybase.SybaseDatabase
  • org.jooq.meta.vertica.VerticaDatabase
  • @@ -16997,138 +16960,6 @@ public class CaseInsensitiveOrderProvider implements Comparator { For more information about using converters, .

    -

    Mapping to user type with an inline converter

    - -

    - For convenience, you can inline your converter code directly into the configuration instead of providing a class reference. -

    - -

    - XML configuration (standalone and Maven) -

    - - - - - - - - - - com.example.MyEnum - - - org.jooq.Converter.ofNullable(Integer.class, MyEnum.class, i -> MyEnum.values()[i], MyEnum::ordinal) - - - .*\.DATE_OF_.* - .* - - - - -]]> - -

    - Programmatic configuration -

    - - MyEnum.values()[i], MyEnum::ordinal)") - .withExpression(".*\.DATE_OF_.*") - .withTypes(".*")))));]]> - -

    - Gradle configuration -

    - - MyEnum.values()[i], MyEnum::ordinal)' - expression = '.*\.DATE_OF_.*' - types = '.*' - } - } - } - } -}]]> - -

    Mapping to an enum user type with a converter

    - -

    - If your user type is a Java enum, you can use the <enumConverter/> convenience flag instead of an explicit converter per enum type. This will apply the built-in . -

    - -

    - XML configuration (standalone and Maven) -

    - - - - - - - - - - com.example.MyEnum - - - true - - - .*\.MY_STATUS - .* - - - - -]]> - -

    - Programmatic configuration -

    - - - -

    - Gradle configuration -

    - - -

    Mapping to user type with a binding

    @@ -18807,11 +18638,9 @@ public class PostgresJSONGsonBinding implements Binding { @Override public void sql(BindingSQLContext ctx) throws SQLException { // Depending on how you generate your SQL, you may need to explicitly distinguish - // between jOOQ generating bind variables or inlined literals. - if (ctx.render().paramType() == ParamType.INLINED) - ctx.render().visit(DSL.inline(ctx.convert(converter()).value())).sql("::json"); - else - ctx.render().sql("?::json"); + // between jOOQ generating bind variables or inlined literals. If so, use this check: + // ctx.render().paramType() == INLINED + ctx.render().visit(DSL.val(ctx.convert(converter()).value())).sql("::json"); } // Registering VARCHAR types for JDBC CallableStatement OUT parameters @@ -19370,7 +19199,8 @@ CREATE TABLE book_to_book_store ( Where: - ** matches any directory subtree - * matches any number of characters in a directory / file name - - ? matches a single character in a directory / file name --> + - ? matches a single character in a directory / file name + --> scripts src/main/resources/database.sql @@ -19380,22 +19210,12 @@ CREATE TABLE book_to_book_store ( - semantic: sorts versions, e.g. v-3.10.0 is after v-3.9.0 (default) - alphanumeric: sorts strings, e.g. v-3.10.0 is before v-3.9.0 - - none: doesn't sort directory contents after fetching them from the directory --> + - none: doesn't sort directory contents after fetching them from the directory + --> sort semantic - - - - unqualifiedSchema - none - @@ -19712,7 +19532,9 @@ def xml = new groovy.xml.MarkupBuilder(writer) // Run the code generator // ---------------------- -org.jooq.codegen.GenerationTool.generate(writer.toString()) +org.jooq.codegen.GenerationTool.generate( + javax.xml.bind.JAXB.unmarshal(new StringReader(writer.toString()), org.jooq.meta.jaxb.Configuration.class) +) ]]>

    diff --git a/jOOQ-manual/src/main/resources/org/jooq/web/manual-3.2.xml b/jOOQ-manual/src/main/resources/org/jooq/web/manual-3.2.xml index bc7bb7058b..34d57b9e9c 100644 --- a/jOOQ-manual/src/main/resources/org/jooq/web/manual-3.2.xml +++ b/jOOQ-manual/src/main/resources/org/jooq/web/manual-3.2.xml @@ -619,26 +619,25 @@ Result result = create.fetch(rs);]]>
    jOOQ for CRUD -

    - Apart from jOOQ's fluent API for query construction, jOOQ can also help you execute everyday CRUD operations. An example is given here: -

    +

    + This is probably the most complete use-case for jOOQ: Use all of jOOQ's features. Apart from jOOQ's fluent API for query construction, jOOQ can also help you execute everyday CRUD operations. An example is given here: +

    - 5) { -// Executes an update on existing authors, or insert on new ones -author.store();]]> + // Mark the author as a "distinguished" author + author.setDistinguished(1); + author.store(); + } +}]]>

    If you wish to use all of jOOQ's features, the following sections of the manual will be of interest to you (including all sub-sections): @@ -5547,8 +5546,7 @@ Field nextval();]]>

    s = S_AUTHOR_ID.nextval(); -BigInteger nextID = create.select(s).fetchOne(s); +BigInteger nextID = create.select(s).fetchOne(S_AUTHOR_ID.nextval()); // Reference the sequence in an INSERT statement: create.insertInto(AUTHOR, AUTHOR.ID, AUTHOR.FIRST_NAME, AUTHOR.LAST_NAME) @@ -8718,8 +8716,7 @@ BigInteger currID = create.currval(S_AUTHOR_ID);]]>

    s = S_AUTHOR_ID.nextval(); -BigInteger nextID = create.select(s).fetchOne(s); +BigInteger nextID = create.select(s).fetchOne(S_AUTHOR_ID.nextval()); // Reference the sequence in an INSERT statement: create.insertInto(AUTHOR, AUTHOR.ID, AUTHOR.FIRST_NAME, AUTHOR.LAST_NAME) diff --git a/jOOQ-manual/src/main/resources/org/jooq/web/manual-3.3.xml b/jOOQ-manual/src/main/resources/org/jooq/web/manual-3.3.xml index f6364ee4ba..f4ae16ae7c 100644 --- a/jOOQ-manual/src/main/resources/org/jooq/web/manual-3.3.xml +++ b/jOOQ-manual/src/main/resources/org/jooq/web/manual-3.3.xml @@ -39,7 +39,7 @@ * This library is distributed with a LIMITED WARRANTY. See the jOOQ License * and Maintenance Agreement for more details: http://www.jooq.org/licensing --> - +
    The jOOQ User Manual. Multiple Pages @@ -625,26 +625,25 @@ Result result = create.fetch(rs);]]>
    jOOQ for CRUD -

    - Apart from jOOQ's fluent API for query construction, jOOQ can also help you execute everyday CRUD operations. An example is given here: -

    +

    + This is probably the most complete use-case for jOOQ: Use all of jOOQ's features. Apart from jOOQ's fluent API for query construction, jOOQ can also help you execute everyday CRUD operations. An example is given here: +

    - 5) { -// Executes an update on existing authors, or insert on new ones -author.store();]]> + // Mark the author as a "distinguished" author + author.setDistinguished(1); + author.store(); + } +}]]>

    If you wish to use all of jOOQ's features, the following sections of the manual will be of interest to you (including all sub-sections): @@ -6202,8 +6201,7 @@ Field nextval();]]>

    s = S_AUTHOR_ID.nextval(); -BigInteger nextID = create.select(s).fetchOne(s); +BigInteger nextID = create.select(s).fetchOne(S_AUTHOR_ID.nextval()); // Reference the sequence in an INSERT statement: create.insertInto(AUTHOR, AUTHOR.ID, AUTHOR.FIRST_NAME, AUTHOR.LAST_NAME) @@ -9517,8 +9515,7 @@ BigInteger currID = create.currval(S_AUTHOR_ID);]]>

    s = S_AUTHOR_ID.nextval(); -BigInteger nextID = create.select(s).fetchOne(s); +BigInteger nextID = create.select(s).fetchOne(S_AUTHOR_ID.nextval()); // Reference the sequence in an INSERT statement: create.insertInto(AUTHOR, AUTHOR.ID, AUTHOR.FIRST_NAME, AUTHOR.LAST_NAME) diff --git a/jOOQ-manual/src/main/resources/org/jooq/web/manual-3.4.xml b/jOOQ-manual/src/main/resources/org/jooq/web/manual-3.4.xml index 9ae848ab9c..7987200bec 100644 --- a/jOOQ-manual/src/main/resources/org/jooq/web/manual-3.4.xml +++ b/jOOQ-manual/src/main/resources/org/jooq/web/manual-3.4.xml @@ -39,7 +39,7 @@ * This library is distributed with a LIMITED WARRANTY. See the jOOQ License * and Maintenance Agreement for more details: http://www.jooq.org/licensing --> - +
    The jOOQ User Manual. Multiple Pages @@ -626,26 +626,25 @@ Result result = create.fetch(rs);]]>
    jOOQ for CRUD -

    - Apart from jOOQ's fluent API for query construction, jOOQ can also help you execute everyday CRUD operations. An example is given here: -

    +

    + This is probably the most complete use-case for jOOQ: Use all of jOOQ's features. Apart from jOOQ's fluent API for query construction, jOOQ can also help you execute everyday CRUD operations. An example is given here: +

    - 5) { -// Executes an update on existing authors, or insert on new ones -author.store();]]> + // Mark the author as a "distinguished" author + author.setDistinguished(1); + author.store(); + } +}]]>

    If you wish to use all of jOOQ's features, the following sections of the manual will be of interest to you (including all sub-sections): @@ -7108,8 +7107,7 @@ Field nextval();]]>

    s = S_AUTHOR_ID.nextval(); -BigInteger nextID = create.select(s).fetchOne(s); +BigInteger nextID = create.select(s).fetchOne(S_AUTHOR_ID.nextval()); // Reference the sequence in an INSERT statement: create.insertInto(AUTHOR, AUTHOR.ID, AUTHOR.FIRST_NAME, AUTHOR.LAST_NAME) @@ -10483,8 +10481,7 @@ BigInteger currID = create.currval(S_AUTHOR_ID);]]>

    s = S_AUTHOR_ID.nextval(); -BigInteger nextID = create.select(s).fetchOne(s); +BigInteger nextID = create.select(s).fetchOne(S_AUTHOR_ID.nextval()); // Reference the sequence in an INSERT statement: create.insertInto(AUTHOR, AUTHOR.ID, AUTHOR.FIRST_NAME, AUTHOR.LAST_NAME) diff --git a/jOOQ-manual/src/main/resources/org/jooq/web/manual-3.5.xml b/jOOQ-manual/src/main/resources/org/jooq/web/manual-3.5.xml index b5fb8e77b3..c1e3556d6a 100644 --- a/jOOQ-manual/src/main/resources/org/jooq/web/manual-3.5.xml +++ b/jOOQ-manual/src/main/resources/org/jooq/web/manual-3.5.xml @@ -39,7 +39,7 @@ * This library is distributed with a LIMITED WARRANTY. See the jOOQ License * and Maintenance Agreement for more details: http://www.jooq.org/licensing --> - +
    The jOOQ User Manual. Multiple Pages @@ -626,26 +626,25 @@ Result result = create.fetch(rs);]]>
    jOOQ for CRUD -

    - Apart from jOOQ's fluent API for query construction, jOOQ can also help you execute everyday CRUD operations. An example is given here: -

    +

    + This is probably the most complete use-case for jOOQ: Use all of jOOQ's features. Apart from jOOQ's fluent API for query construction, jOOQ can also help you execute everyday CRUD operations. An example is given here: +

    - 5) { -// Executes an update on existing authors, or insert on new ones -author.store();]]> + // Mark the author as a "distinguished" author + author.setDistinguished(1); + author.store(); + } +}]]>

    If you wish to use all of jOOQ's features, the following sections of the manual will be of interest to you (including all sub-sections): @@ -7492,8 +7491,7 @@ Field nextval();]]>

    s = S_AUTHOR_ID.nextval(); -BigInteger nextID = create.select(s).fetchOne(s); +BigInteger nextID = create.select(s).fetchOne(S_AUTHOR_ID.nextval()); // Reference the sequence in an INSERT statement: create.insertInto(AUTHOR, AUTHOR.ID, AUTHOR.FIRST_NAME, AUTHOR.LAST_NAME) @@ -10917,8 +10915,7 @@ BigInteger currID = create.currval(S_AUTHOR_ID);]]>

    s = S_AUTHOR_ID.nextval(); -BigInteger nextID = create.select(s).fetchOne(s); +BigInteger nextID = create.select(s).fetchOne(S_AUTHOR_ID.nextval()); // Reference the sequence in an INSERT statement: create.insertInto(AUTHOR, AUTHOR.ID, AUTHOR.FIRST_NAME, AUTHOR.LAST_NAME) @@ -12840,7 +12837,9 @@ def xml = new groovy.xml.MarkupBuilder(writer) // Run the code generator // ---------------------- -org.jooq.util.GenerationTool.generate(writer.toString()) +org.jooq.util.GenerationTool.generate( + javax.xml.bind.JAXB.unmarshal(new StringReader(writer.toString()), org.jooq.util.jaxb.Configuration.class) +) ]]>
    @@ -14216,11 +14215,9 @@ public class PostgresJSONGsonBinding implements Binding { @Override public void sql(BindingSQLContext ctx) throws SQLException { // Depending on how you generate your SQL, you may need to explicitly distinguish - // between jOOQ generating bind variables or inlined literals. - if (ctx.render().paramType() == ParamType.INLINED) - ctx.render().visit(DSL.inline(ctx.convert(converter()).value())).sql("::json"); - else - ctx.render().sql("?::json"); + // between jOOQ generating bind variables or inlined literals. If so, use this check: + // ctx.render().paramType() == INLINED + ctx.render().visit(DSL.val(ctx.convert(converter()).value())).sql("::json"); } // Registering VARCHAR types for JDBC CallableStatement OUT parameters diff --git a/jOOQ-manual/src/main/resources/org/jooq/web/manual-3.6.xml b/jOOQ-manual/src/main/resources/org/jooq/web/manual-3.6.xml index 44c1c71387..fb045ba34f 100644 --- a/jOOQ-manual/src/main/resources/org/jooq/web/manual-3.6.xml +++ b/jOOQ-manual/src/main/resources/org/jooq/web/manual-3.6.xml @@ -39,7 +39,7 @@ * This library is distributed with a LIMITED WARRANTY. See the jOOQ License * and Maintenance Agreement for more details: http://www.jooq.org/licensing --> - +
    The jOOQ User Manual. Multiple Pages @@ -627,26 +627,25 @@ Result result = create.fetch(rs);]]>
    jOOQ for CRUD -

    - Apart from jOOQ's fluent API for query construction, jOOQ can also help you execute everyday CRUD operations. An example is given here: -

    +

    + This is probably the most complete use-case for jOOQ: Use all of jOOQ's features. Apart from jOOQ's fluent API for query construction, jOOQ can also help you execute everyday CRUD operations. An example is given here: +

    - 5) { -// Executes an update on existing authors, or insert on new ones -author.store();]]> + // Mark the author as a "distinguished" author + author.setDistinguished(1); + author.store(); + } +}]]>

    If you wish to use all of jOOQ's features, the following sections of the manual will be of interest to you (including all sub-sections): @@ -7646,8 +7645,7 @@ Field nextval();]]>

    s = S_AUTHOR_ID.nextval(); -BigInteger nextID = create.select(s).fetchOne(s); +BigInteger nextID = create.select(s).fetchOne(S_AUTHOR_ID.nextval()); // Reference the sequence in an INSERT statement: create.insertInto(AUTHOR, AUTHOR.ID, AUTHOR.FIRST_NAME, AUTHOR.LAST_NAME) @@ -9436,11 +9434,9 @@ public class PostgresJSONGsonBinding implements Binding { @Override public void sql(BindingSQLContext ctx) throws SQLException { // Depending on how you generate your SQL, you may need to explicitly distinguish - // between jOOQ generating bind variables or inlined literals. - if (ctx.render().paramType() == ParamType.INLINED) - ctx.render().visit(DSL.inline(ctx.convert(converter()).value())).sql("::json"); - else - ctx.render().sql("?::json"); + // between jOOQ generating bind variables or inlined literals. If so, use this check: + // ctx.render().paramType() == INLINED + ctx.render().visit(DSL.val(ctx.convert(converter()).value())).sql("::json"); } // Registering VARCHAR types for JDBC CallableStatement OUT parameters @@ -11353,8 +11349,7 @@ BigInteger currID = create.currval(S_AUTHOR_ID);]]>

    s = S_AUTHOR_ID.nextval(); -BigInteger nextID = create.select(s).fetchOne(s); +BigInteger nextID = create.select(s).fetchOne(S_AUTHOR_ID.nextval()); // Reference the sequence in an INSERT statement: create.insertInto(AUTHOR, AUTHOR.ID, AUTHOR.FIRST_NAME, AUTHOR.LAST_NAME) @@ -14865,11 +14860,9 @@ public class PostgresJSONGsonBinding implements Binding { @Override public void sql(BindingSQLContext ctx) throws SQLException { // Depending on how you generate your SQL, you may need to explicitly distinguish - // between jOOQ generating bind variables or inlined literals. - if (ctx.render().paramType() == ParamType.INLINED) - ctx.render().visit(DSL.inline(ctx.convert(converter()).value())).sql("::json"); - else - ctx.render().sql("?::json"); + // between jOOQ generating bind variables or inlined literals. If so, use this check: + // ctx.render().paramType() == INLINED + ctx.render().visit(DSL.val(ctx.convert(converter()).value())).sql("::json"); } // Registering VARCHAR types for JDBC CallableStatement OUT parameters @@ -15497,7 +15490,9 @@ def xml = new groovy.xml.MarkupBuilder(writer) // Run the code generator // ---------------------- -org.jooq.util.GenerationTool.generate(writer.toString()) +org.jooq.util.GenerationTool.generate( + javax.xml.bind.JAXB.unmarshal(new StringReader(writer.toString()), org.jooq.util.jaxb.Configuration.class) +) ]]>
    diff --git a/jOOQ-manual/src/main/resources/org/jooq/web/manual-3.7.xml b/jOOQ-manual/src/main/resources/org/jooq/web/manual-3.7.xml index f9412a38eb..ee2830f0d4 100644 --- a/jOOQ-manual/src/main/resources/org/jooq/web/manual-3.7.xml +++ b/jOOQ-manual/src/main/resources/org/jooq/web/manual-3.7.xml @@ -627,26 +627,25 @@ Result result = create.fetch(rs);]]>
    jOOQ for CRUD -

    - Apart from jOOQ's fluent API for query construction, jOOQ can also help you execute everyday CRUD operations. An example is given here: -

    +

    + This is probably the most complete use-case for jOOQ: Use all of jOOQ's features. Apart from jOOQ's fluent API for query construction, jOOQ can also help you execute everyday CRUD operations. An example is given here: +

    - 5) { -// Executes an update on existing authors, or insert on new ones -author.store();]]> + // Mark the author as a "distinguished" author + author.setDistinguished(1); + author.store(); + } +}]]>

    If you wish to use all of jOOQ's features, the following sections of the manual will be of interest to you (including all sub-sections): @@ -7918,8 +7917,7 @@ Field nextval();]]>

    s = S_AUTHOR_ID.nextval(); -BigInteger nextID = create.select(s).fetchOne(s); +BigInteger nextID = create.select(s).fetchOne(S_AUTHOR_ID.nextval()); // Reference the sequence in an INSERT statement: create.insertInto(AUTHOR, AUTHOR.ID, AUTHOR.FIRST_NAME, AUTHOR.LAST_NAME) @@ -9708,11 +9706,9 @@ public class PostgresJSONGsonBinding implements Binding { @Override public void sql(BindingSQLContext ctx) throws SQLException { // Depending on how you generate your SQL, you may need to explicitly distinguish - // between jOOQ generating bind variables or inlined literals. - if (ctx.render().paramType() == ParamType.INLINED) - ctx.render().visit(DSL.inline(ctx.convert(converter()).value())).sql("::json"); - else - ctx.render().sql("?::json"); + // between jOOQ generating bind variables or inlined literals. If so, use this check: + // ctx.render().paramType() == INLINED + ctx.render().visit(DSL.val(ctx.convert(converter()).value())).sql("::json"); } // Registering VARCHAR types for JDBC CallableStatement OUT parameters @@ -11704,8 +11700,7 @@ BigInteger currID = create.currval(S_AUTHOR_ID);]]>

    s = S_AUTHOR_ID.nextval(); -BigInteger nextID = create.select(s).fetchOne(s); +BigInteger nextID = create.select(s).fetchOne(S_AUTHOR_ID.nextval()); // Reference the sequence in an INSERT statement: create.insertInto(AUTHOR, AUTHOR.ID, AUTHOR.FIRST_NAME, AUTHOR.LAST_NAME) @@ -15279,11 +15274,9 @@ public class PostgresJSONGsonBinding implements Binding { @Override public void sql(BindingSQLContext ctx) throws SQLException { // Depending on how you generate your SQL, you may need to explicitly distinguish - // between jOOQ generating bind variables or inlined literals. - if (ctx.render().paramType() == ParamType.INLINED) - ctx.render().visit(DSL.inline(ctx.convert(converter()).value())).sql("::json"); - else - ctx.render().sql("?::json"); + // between jOOQ generating bind variables or inlined literals. If so, use this check: + // ctx.render().paramType() == INLINED + ctx.render().visit(DSL.val(ctx.convert(converter()).value())).sql("::json"); } // Registering VARCHAR types for JDBC CallableStatement OUT parameters @@ -15941,7 +15934,9 @@ def xml = new groovy.xml.MarkupBuilder(writer) // Run the code generator // ---------------------- -org.jooq.util.GenerationTool.generate(writer.toString()) +org.jooq.util.GenerationTool.generate( + javax.xml.bind.JAXB.unmarshal(new StringReader(writer.toString()), org.jooq.util.jaxb.Configuration.class) +) ]]>
    diff --git a/jOOQ-manual/src/main/resources/org/jooq/web/manual-3.8.xml b/jOOQ-manual/src/main/resources/org/jooq/web/manual-3.8.xml index f6016cc39c..4154095345 100644 --- a/jOOQ-manual/src/main/resources/org/jooq/web/manual-3.8.xml +++ b/jOOQ-manual/src/main/resources/org/jooq/web/manual-3.8.xml @@ -627,26 +627,25 @@ Result result = create.fetch(rs);]]>
    jOOQ for CRUD -

    - Apart from jOOQ's fluent API for query construction, jOOQ can also help you execute everyday CRUD operations. An example is given here: -

    +

    + This is probably the most complete use-case for jOOQ: Use all of jOOQ's features. Apart from jOOQ's fluent API for query construction, jOOQ can also help you execute everyday CRUD operations. An example is given here: +

    - 5) { -// Executes an update on existing authors, or insert on new ones -author.store();]]> + // Mark the author as a "distinguished" author + author.setDistinguished(1); + author.store(); + } +}]]>

    If you wish to use all of jOOQ's features, the following sections of the manual will be of interest to you (including all sub-sections): @@ -8094,8 +8093,7 @@ Field nextval();]]>

    s = S_AUTHOR_ID.nextval(); -BigInteger nextID = create.select(s).fetchOne(s); +BigInteger nextID = create.select(s).fetchOne(S_AUTHOR_ID.nextval()); // Reference the sequence in an INSERT statement: create.insertInto(AUTHOR, AUTHOR.ID, AUTHOR.FIRST_NAME, AUTHOR.LAST_NAME) @@ -9932,11 +9930,9 @@ public class PostgresJSONGsonBinding implements Binding { @Override public void sql(BindingSQLContext ctx) throws SQLException { // Depending on how you generate your SQL, you may need to explicitly distinguish - // between jOOQ generating bind variables or inlined literals. - if (ctx.render().paramType() == ParamType.INLINED) - ctx.render().visit(DSL.inline(ctx.convert(converter()).value())).sql("::json"); - else - ctx.render().sql("?::json"); + // between jOOQ generating bind variables or inlined literals. If so, use this check: + // ctx.render().paramType() == INLINED + ctx.render().visit(DSL.val(ctx.convert(converter()).value())).sql("::json"); } // Registering VARCHAR types for JDBC CallableStatement OUT parameters @@ -11928,8 +11924,7 @@ BigInteger currID = create.currval(S_AUTHOR_ID);]]>

    s = S_AUTHOR_ID.nextval(); -BigInteger nextID = create.select(s).fetchOne(s); +BigInteger nextID = create.select(s).fetchOne(S_AUTHOR_ID.nextval()); // Reference the sequence in an INSERT statement: create.insertInto(AUTHOR, AUTHOR.ID, AUTHOR.FIRST_NAME, AUTHOR.LAST_NAME) @@ -15589,11 +15584,9 @@ public class PostgresJSONGsonBinding implements Binding { @Override public void sql(BindingSQLContext ctx) throws SQLException { // Depending on how you generate your SQL, you may need to explicitly distinguish - // between jOOQ generating bind variables or inlined literals. - if (ctx.render().paramType() == ParamType.INLINED) - ctx.render().visit(DSL.inline(ctx.convert(converter()).value())).sql("::json"); - else - ctx.render().sql("?::json"); + // between jOOQ generating bind variables or inlined literals. If so, use this check: + // ctx.render().paramType() == INLINED + ctx.render().visit(DSL.val(ctx.convert(converter()).value())).sql("::json"); } // Registering VARCHAR types for JDBC CallableStatement OUT parameters @@ -16241,7 +16234,9 @@ def xml = new groovy.xml.MarkupBuilder(writer) // Run the code generator // ---------------------- -org.jooq.util.GenerationTool.generate(writer.toString()) +org.jooq.util.GenerationTool.generate( + javax.xml.bind.JAXB.unmarshal(new StringReader(writer.toString()), org.jooq.util.jaxb.Configuration.class) +) ]]>
    diff --git a/jOOQ-manual/src/main/resources/org/jooq/web/manual-3.9.xml b/jOOQ-manual/src/main/resources/org/jooq/web/manual-3.9.xml index c7bd797f04..bfb78ad2d3 100644 --- a/jOOQ-manual/src/main/resources/org/jooq/web/manual-3.9.xml +++ b/jOOQ-manual/src/main/resources/org/jooq/web/manual-3.9.xml @@ -627,26 +627,25 @@ Result result = create.fetch(rs);]]>
    jOOQ for CRUD -

    - Apart from jOOQ's fluent API for query construction, jOOQ can also help you execute everyday CRUD operations. An example is given here: -

    +

    + This is probably the most complete use-case for jOOQ: Use all of jOOQ's features. Apart from jOOQ's fluent API for query construction, jOOQ can also help you execute everyday CRUD operations. An example is given here: +

    - 5) { -// Executes an update on existing authors, or insert on new ones -author.store();]]> + // Mark the author as a "distinguished" author + author.setDistinguished(1); + author.store(); + } +}]]>

    If you wish to use all of jOOQ's features, the following sections of the manual will be of interest to you (including all sub-sections): @@ -8229,8 +8228,7 @@ Field nextval();]]>

    s = S_AUTHOR_ID.nextval(); -BigInteger nextID = create.select(s).fetchOne(s); +BigInteger nextID = create.select(s).fetchOne(S_AUTHOR_ID.nextval()); // Reference the sequence in an INSERT statement: create.insertInto(AUTHOR, AUTHOR.ID, AUTHOR.FIRST_NAME, AUTHOR.LAST_NAME) @@ -10063,11 +10061,9 @@ public class PostgresJSONGsonBinding implements Binding { @Override public void sql(BindingSQLContext ctx) throws SQLException { // Depending on how you generate your SQL, you may need to explicitly distinguish - // between jOOQ generating bind variables or inlined literals. - if (ctx.render().paramType() == ParamType.INLINED) - ctx.render().visit(DSL.inline(ctx.convert(converter()).value())).sql("::json"); - else - ctx.render().sql("?::json"); + // between jOOQ generating bind variables or inlined literals. If so, use this check: + // ctx.render().paramType() == INLINED + ctx.render().visit(DSL.val(ctx.convert(converter()).value())).sql("::json"); } // Registering VARCHAR types for JDBC CallableStatement OUT parameters @@ -12089,8 +12085,7 @@ BigInteger currID = create.currval(S_AUTHOR_ID);]]>

    s = S_AUTHOR_ID.nextval(); -BigInteger nextID = create.select(s).fetchOne(s); +BigInteger nextID = create.select(s).fetchOne(S_AUTHOR_ID.nextval()); // Reference the sequence in an INSERT statement: create.insertInto(AUTHOR, AUTHOR.ID, AUTHOR.FIRST_NAME, AUTHOR.LAST_NAME) @@ -14677,7 +14672,7 @@ result.forEach((Object[] entities) -> {
  • org.jooq.util.oracle.OracleDatabase
  • org.jooq.util.postgres.PostgresDatabase
  • org.jooq.util.redshift.RedshiftDatabase
  • -
  • org.jooq.util.sqlite.SQLiteDatabase
  • +
  • org.jooq.util.sqlite.SQLiteDatabaes
  • org.jooq.util.sqlserver.SQLServerDatabase
  • org.jooq.util.sybase.SybaseDatabase
  • org.jooq.util.vertica.VerticaDatabase
  • @@ -17487,11 +17482,9 @@ public class PostgresJSONGsonBinding implements Binding { @Override public void sql(BindingSQLContext ctx) throws SQLException { // Depending on how you generate your SQL, you may need to explicitly distinguish - // between jOOQ generating bind variables or inlined literals. - if (ctx.render().paramType() == ParamType.INLINED) - ctx.render().visit(DSL.inline(ctx.convert(converter()).value())).sql("::json"); - else - ctx.render().sql("?::json"); + // between jOOQ generating bind variables or inlined literals. If so, use this check: + // ctx.render().paramType() == INLINED + ctx.render().visit(DSL.val(ctx.convert(converter()).value())).sql("::json"); } // Registering VARCHAR types for JDBC CallableStatement OUT parameters @@ -18216,7 +18209,9 @@ def xml = new groovy.xml.MarkupBuilder(writer) // Run the code generator // ---------------------- -org.jooq.util.GenerationTool.generate(writer.toString()) +org.jooq.util.GenerationTool.generate( + javax.xml.bind.JAXB.unmarshal(new StringReader(writer.toString()), org.jooq.util.jaxb.Configuration.class) +) ]]>
    diff --git a/jOOQ/src/main/java/org/jooq/WindowRowsStep.java b/jOOQ/src/main/java/org/jooq/WindowRowsStep.java index 45d0c3bb50..be45e2554a 100644 --- a/jOOQ/src/main/java/org/jooq/WindowRowsStep.java +++ b/jOOQ/src/main/java/org/jooq/WindowRowsStep.java @@ -213,68 +213,68 @@ public interface WindowRowsStep extends WindowFinalStep { * Add a GROUPS UNBOUNDED PRECEDING frame clause to the window * function. */ - @Support({ POSTGRES_11 }) + @Support({ H2, POSTGRES_11 }) WindowExcludeStep groupsUnboundedPreceding(); /** * Add a GROUPS [number] PRECEDING frame clause to the window * function. */ - @Support({ POSTGRES_11 }) + @Support({ H2, POSTGRES_11 }) WindowExcludeStep groupsPreceding(int number); /** * Add a GROUPS CURRENT ROW frame clause to the window function. */ - @Support({ POSTGRES_11 }) + @Support({ H2, POSTGRES_11 }) WindowExcludeStep groupsCurrentRow(); /** * Add a GROUPS UNBOUNDED FOLLOWING frame clause to the window * function. */ - @Support({ POSTGRES_11 }) + @Support({ H2, POSTGRES_11 }) WindowExcludeStep groupsUnboundedFollowing(); /** * Add a GROUPS [number] FOLLOWING frame clause to the window * function. */ - @Support({ POSTGRES_11 }) + @Support({ H2, POSTGRES_11 }) WindowExcludeStep groupsFollowing(int number); /** * Add a GROUPS BETWEEN UNBOUNDED PRECEDING ... frame clause to * the window function. */ - @Support({ POSTGRES_11 }) + @Support({ H2, POSTGRES_11 }) WindowRowsAndStep groupsBetweenUnboundedPreceding(); /** * Add a GROUPS BETWEEN [number] PRECEDING ... frame clause to * the window function. */ - @Support({ POSTGRES_11 }) + @Support({ H2, POSTGRES_11 }) WindowRowsAndStep groupsBetweenPreceding(int number); /** * Add a GROUPS BETWEEN CURRENT ROW ... frame clause to * the window function. */ - @Support({ POSTGRES_11 }) + @Support({ H2, POSTGRES_11 }) WindowRowsAndStep groupsBetweenCurrentRow(); /** * Add a GROUPS BETWEEN UNBOUNDED FOLLOWING ... frame clause to * the window function. */ - @Support({ POSTGRES_11 }) + @Support({ H2, POSTGRES_11 }) WindowRowsAndStep groupsBetweenUnboundedFollowing(); /** * Add a GROUPS BETWEEN [number] FOLLOWING ... frame clause to * the window function. */ - @Support({ POSTGRES_11 }) + @Support({ H2, POSTGRES_11 }) WindowRowsAndStep groupsBetweenFollowing(int number); } diff --git a/jOOQ/src/main/java/org/jooq/WindowSpecificationExcludeStep.java b/jOOQ/src/main/java/org/jooq/WindowSpecificationExcludeStep.java index f7228b126d..d12354ba2c 100644 --- a/jOOQ/src/main/java/org/jooq/WindowSpecificationExcludeStep.java +++ b/jOOQ/src/main/java/org/jooq/WindowSpecificationExcludeStep.java @@ -89,19 +89,19 @@ public interface WindowSpecificationExcludeStep extends WindowSpecificationFinal /** * Add an EXCLUDE CURRENT ROW clause. */ - @Support({ POSTGRES_11 }) + @Support({ H2, POSTGRES_11 }) WindowSpecificationFinalStep excludeCurrentRow(); /** * Add an EXCLUDE GROUP clause. */ - @Support({ POSTGRES_11 }) + @Support({ H2, POSTGRES_11 }) WindowSpecificationFinalStep excludeGroup(); /** * Add an EXCLUDE TIES clause. */ - @Support({ POSTGRES_11 }) + @Support({ H2, POSTGRES_11 }) WindowSpecificationFinalStep excludeTies(); /** diff --git a/jOOQ/src/main/java/org/jooq/WindowSpecificationRowsStep.java b/jOOQ/src/main/java/org/jooq/WindowSpecificationRowsStep.java index 457bf06f1d..8a0bd04f93 100644 --- a/jOOQ/src/main/java/org/jooq/WindowSpecificationRowsStep.java +++ b/jOOQ/src/main/java/org/jooq/WindowSpecificationRowsStep.java @@ -230,69 +230,69 @@ public interface WindowSpecificationRowsStep extends WindowSpecificationFinalSte * Add a GROUPS UNBOUNDED PRECEDING frame clause to the window * specification. */ - @Support({ POSTGRES_11 }) + @Support({ H2, POSTGRES_11 }) WindowSpecificationExcludeStep groupsUnboundedPreceding(); /** * Add a GROUPS [number] PRECEDING frame clause to the window * specification. */ - @Support({ POSTGRES_11 }) + @Support({ H2, POSTGRES_11 }) WindowSpecificationExcludeStep groupsPreceding(int number); /** * Add a GROUPS CURRENT ROW frame clause to the window * specification. */ - @Support({ POSTGRES_11 }) + @Support({ H2, POSTGRES_11 }) WindowSpecificationExcludeStep groupsCurrentRow(); /** * Add a GROUPS UNBOUNDED FOLLOWING frame clause to the window * specification. */ - @Support({ POSTGRES_11 }) + @Support({ H2, POSTGRES_11 }) WindowSpecificationExcludeStep groupsUnboundedFollowing(); /** * Add a GROUPS [number] FOLLOWING frame clause to the window * specification. */ - @Support({ POSTGRES_11 }) + @Support({ H2, POSTGRES_11 }) WindowSpecificationExcludeStep groupsFollowing(int number); /** * Add a GROUPS BETWEEN UNBOUNDED PRECEDING ... frame clause to * the window specification. */ - @Support({ POSTGRES_11 }) + @Support({ H2, POSTGRES_11 }) WindowSpecificationRowsAndStep groupsBetweenUnboundedPreceding(); /** * Add a GROUPS BETWEEN [number] PRECEDING ... frame clause to * the window specification. */ - @Support({ POSTGRES_11 }) + @Support({ H2, POSTGRES_11 }) WindowSpecificationRowsAndStep groupsBetweenPreceding(int number); /** * Add a GROUPS BETWEEN CURRENT ROW ... frame clause to the * window specification. */ - @Support({ POSTGRES_11 }) + @Support({ H2, POSTGRES_11 }) WindowSpecificationRowsAndStep groupsBetweenCurrentRow(); /** * Add a GROUPS BETWEEN UNBOUNDED FOLLOWING ... frame clause to * the window specification. */ - @Support({ POSTGRES_11 }) + @Support({ H2, POSTGRES_11 }) WindowSpecificationRowsAndStep groupsBetweenUnboundedFollowing(); /** * Add a GROUPS BETWEEN [number] FOLLOWING ... frame clause to * the window specification. */ - @Support({ POSTGRES_11 }) + @Support({ H2, POSTGRES_11 }) WindowSpecificationRowsAndStep groupsBetweenFollowing(int number); } diff --git a/jOOQ/src/main/java/org/jooq/impl/DSL.java b/jOOQ/src/main/java/org/jooq/impl/DSL.java index f02c3d8b58..e76a7c6d88 100644 --- a/jOOQ/src/main/java/org/jooq/impl/DSL.java +++ b/jOOQ/src/main/java/org/jooq/impl/DSL.java @@ -18070,7 +18070,7 @@ public class DSL { /** * Create a {@link WindowSpecification} with a GROUPS clause. */ - @Support({ POSTGRES_11 }) + @Support({ H2, POSTGRES_11 }) public static WindowSpecificationExcludeStep groupsUnboundedPreceding() { return new WindowSpecificationImpl().groupsUnboundedPreceding(); } @@ -18078,7 +18078,7 @@ public class DSL { /** * Create a {@link WindowSpecification} with a GROUPS clause. */ - @Support({ POSTGRES_11 }) + @Support({ H2, POSTGRES_11 }) public static WindowSpecificationExcludeStep groupsPreceding(int number) { return new WindowSpecificationImpl().groupsPreceding(number); } @@ -18086,7 +18086,7 @@ public class DSL { /** * Create a {@link WindowSpecification} with a GROUPS clause. */ - @Support({ POSTGRES_11 }) + @Support({ H2, POSTGRES_11 }) public static WindowSpecificationExcludeStep groupsCurrentRow() { return new WindowSpecificationImpl().groupsCurrentRow(); } @@ -18094,7 +18094,7 @@ public class DSL { /** * Create a {@link WindowSpecification} with a GROUPS clause. */ - @Support({ POSTGRES_11 }) + @Support({ H2, POSTGRES_11 }) public static WindowSpecificationExcludeStep groupsUnboundedFollowing() { return new WindowSpecificationImpl().groupsUnboundedFollowing(); } @@ -18102,7 +18102,7 @@ public class DSL { /** * Create a {@link WindowSpecification} with a GROUPS clause. */ - @Support({ POSTGRES_11 }) + @Support({ H2, POSTGRES_11 }) public static WindowSpecificationExcludeStep groupsFollowing(int number) { return new WindowSpecificationImpl().groupsFollowing(number); } @@ -18110,7 +18110,7 @@ public class DSL { /** * Create a {@link WindowSpecification} with a GROUPS clause. */ - @Support({ POSTGRES_11 }) + @Support({ H2, POSTGRES_11 }) public static WindowSpecificationRowsAndStep groupsBetweenUnboundedPreceding() { return new WindowSpecificationImpl().groupsBetweenUnboundedPreceding(); } @@ -18118,7 +18118,7 @@ public class DSL { /** * Create a {@link WindowSpecification} with a GROUPS clause. */ - @Support({ POSTGRES_11 }) + @Support({ H2, POSTGRES_11 }) public static WindowSpecificationRowsAndStep groupsBetweenPreceding(int number) { return new WindowSpecificationImpl().groupsBetweenPreceding(number); } @@ -18126,7 +18126,7 @@ public class DSL { /** * Create a {@link WindowSpecification} with a GROUPS clause. */ - @Support({ POSTGRES_11 }) + @Support({ H2, POSTGRES_11 }) public static WindowSpecificationRowsAndStep groupsBetweenCurrentRow() { return new WindowSpecificationImpl().groupsBetweenCurrentRow(); } @@ -18134,7 +18134,7 @@ public class DSL { /** * Create a {@link WindowSpecification} with a GROUPS clause. */ - @Support({ POSTGRES_11 }) + @Support({ H2, POSTGRES_11 }) public static WindowSpecificationRowsAndStep groupsBetweenUnboundedFollowing() { return new WindowSpecificationImpl().groupsBetweenUnboundedFollowing(); } @@ -18142,7 +18142,7 @@ public class DSL { /** * Create a {@link WindowSpecification} with a GROUPS clause. */ - @Support({ POSTGRES_11 }) + @Support({ H2, POSTGRES_11 }) public static WindowSpecificationRowsAndStep groupsBetweenFollowing(int number) { return new WindowSpecificationImpl().groupsBetweenFollowing(number); }
    +