/*
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *  http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 *
 * Other licenses:
 * -----------------------------------------------------------------------------
 * Commercial licenses for this work are available. These replace the above
 * ASL 2.0 and offer limited warranties, support, maintenance, and commercial
 * database integrations.
 *
 * For more information, please visit: http://www.jooq.org/licenses
 *
 *
 *
 *
 *
 *
 *
 *
 *
 *
 *
 *
 *
 *
 *
 *
 */
package org.jooq;


A listing of clauses that emit events VisitListener.

Disclaimer

This SPI is still experimental! Some SPI elements and/or behavioural elements may change in future minor releases.

Deprecated:- 3.11.0 - [#7258] - This part of the VisitListener SPI is deprecated. There are currently no plans of replacing it. Please get in touch if you think this functionality needs to be kept in one way or another: https://github.com/jOOQ/jOOQ/issues/7258
/** * A listing of clauses that emit events {@link VisitListener}. * <p> * <h3>Disclaimer</h3> This SPI is still <strong>experimental</strong>! Some SPI * elements and/or behavioural elements may change in future minor releases. * <p> * * @deprecated - 3.11.0 - [#7258] - This part of the {@link VisitListener} SPI * is deprecated. There are currently no plans of replacing it. * Please get in touch if you think this functionality needs to be * kept in one way or another: <a href= * "https://github.com/jOOQ/jOOQ/issues/7258">https://github.com/jOOQ/jOOQ/issues/7258</a> */
@Deprecated public enum Clause { // ------------------------------------------------------------------------- // Clauses used in a any type of statement to model access control // ------------------------------------------------------------------------- USER, ROLE, PRIVILEGE, // ------------------------------------------------------------------------- // Clauses used in a any type of statement to model constraint references // ------------------------------------------------------------------------- CONSTRAINT, // ------------------------------------------------------------------------- // Clauses used in a any type of statement to model catalog references // ------------------------------------------------------------------------- CATALOG, CATALOG_REFERENCE, // ------------------------------------------------------------------------- // Clauses used in a any type of statement to model schema references // ------------------------------------------------------------------------- SCHEMA, SCHEMA_REFERENCE, // ------------------------------------------------------------------------- // Clauses used in a any type of statement to model sequence references // ------------------------------------------------------------------------- SEQUENCE, SEQUENCE_REFERENCE, // ------------------------------------------------------------------------- // Clauses used in a any type of statement to model table references // -------------------------------------------------------------------------
A table expression.

This clause surrounds an actual table expression as it can be encountered in

/** * A table expression. * <p> * This clause surrounds an actual table expression as it can be encountered * in * <ul> * <li> {@link #SELECT_FROM}</li> * <li> {@link #INSERT_INSERT_INTO}</li> * <li> {@link #UPDATE_UPDATE}</li> * <li> {@link #DELETE_DELETE}</li> * <li> {@link #MERGE_MERGE_INTO}</li> * <li> {@link #TRUNCATE_TRUNCATE}</li> * </ul> */
TABLE,
A table alias declaration.

This clause surrounds a table alias declaration, for instance within the SELECT_FROM clause, or within a TABLE_JOIN clause, wrapping another TABLE.

Referenced table aliases emit TABLE_REFERENCE clauses.

/** * A table alias declaration. * <p> * This clause surrounds a table alias declaration, for instance within the * {@link #SELECT_FROM} clause, or within a {@link #TABLE_JOIN} clause, * wrapping another {@link #TABLE}. * <p> * Referenced table aliases emit {@link #TABLE_REFERENCE} clauses. */
TABLE_ALIAS,
A physical or aliased table reference.

This is a terminal clause used to reference physical or aliased tables.

/** * A physical or aliased table reference. * <p> * This is a terminal clause used to reference physical or aliased tables. */
TABLE_REFERENCE, TABLE_JOIN, TABLE_JOIN_INNER, TABLE_JOIN_CROSS, TABLE_JOIN_NATURAL, TABLE_JOIN_OUTER_LEFT, TABLE_JOIN_OUTER_RIGHT, TABLE_JOIN_OUTER_FULL, TABLE_JOIN_NATURAL_OUTER_LEFT, TABLE_JOIN_NATURAL_OUTER_RIGHT, TABLE_JOIN_NATURAL_OUTER_FULL, TABLE_JOIN_CROSS_APPLY, TABLE_JOIN_OUTER_APPLY, TABLE_JOIN_SEMI_LEFT, TABLE_JOIN_ANTI_LEFT, TABLE_JOIN_STRAIGHT, TABLE_JOIN_ON, TABLE_JOIN_USING, TABLE_JOIN_PARTITION_BY,
A VALUES table constructor

This clause surrounds a

  • a VALUES keyword
  • a table constructor with several FIELD_ROW value expressions
/** * A <code>VALUES</code> table constructor * <p> * This clause surrounds a * <ul> * <li>a <code>VALUES</code> keyword</li> * <li>a table constructor with several {@link #FIELD_ROW} value expressions * </li> * </ul> */
TABLE_VALUES, // ------------------------------------------------------------------------- // Clauses used in a any type of statement to model column references // -------------------------------------------------------------------------
A field expression.

This clause surrounds an actual field expression as it can be encountered in various other clauses, such as for instance SELECT_SELECT.

/** * A field expression. * <p> * This clause surrounds an actual field expression as it can be encountered * in various other clauses, such as for instance {@link #SELECT_SELECT}. */
FIELD,
A field alias declaration.

This clause surrounds a field alias declaration, for instance within the SELECT_SELECT clause, wrapping another FIELD.

Referenced field aliases emit FIELD_REFERENCE clauses.

/** * A field alias declaration. * <p> * This clause surrounds a field alias declaration, for instance within the * {@link #SELECT_SELECT} clause, wrapping another {@link #FIELD}. * <p> * Referenced field aliases emit {@link #FIELD_REFERENCE} clauses. */
FIELD_ALIAS,
A physical or aliased field reference.

This is a terminal clause used to reference physical or aliased fields.

/** * A physical or aliased field reference. * <p> * This is a terminal clause used to reference physical or aliased fields. */
FIELD_REFERENCE, FIELD_VALUE, FIELD_CASE, FIELD_ROW, FIELD_FUNCTION, // ------------------------------------------------------------------------- // Clauses used in a any type of statement to model condition references // -------------------------------------------------------------------------
A condition expression.
/** * A condition expression. */
CONDITION,
A NULL condition.

This clause surrounds a FIELD.

/** * A <code>NULL</code> condition. * <p> * This clause surrounds a {@link #FIELD}. */
CONDITION_IS_NULL,
A NOT NULL condition.

This clause surrounds a FIELD.

/** * A <code>NOT NULL</code> condition. * <p> * This clause surrounds a {@link #FIELD}. */
CONDITION_IS_NOT_NULL, // TODO: Should operators be distinguished? // - LIKE predicate // - Subselect predicates // - RVE predicates // - Quantified predicates CONDITION_COMPARISON,
A BEWEEN condition.

This clause surrounds three FIELD clauses.

/** * A <code>BEWEEN</code> condition. * <p> * This clause surrounds three {@link #FIELD} clauses. */
CONDITION_BETWEEN,
A BEWEEN SYMMETRIC condition.

This clause surrounds three FIELD clauses.

/** * A <code>BEWEEN SYMMETRIC</code> condition. * <p> * This clause surrounds three {@link #FIELD} clauses. */
CONDITION_BETWEEN_SYMMETRIC,
A NOT BEWEEN condition.

This clause surrounds three FIELD clauses.

/** * A <code>NOT BEWEEN</code> condition. * <p> * This clause surrounds three {@link #FIELD} clauses. */
CONDITION_NOT_BETWEEN,
A NOT BEWEEN SYMMETRIC condition.

This clause surrounds three FIELD clauses.

/** * A <code>NOT BEWEEN SYMMETRIC</code> condition. * <p> * This clause surrounds three {@link #FIELD} clauses. */
CONDITION_NOT_BETWEEN_SYMMETRIC,
An OVERLAPS condition.

This clause surrounds two FIELD clauses.

/** * An <code>OVERLAPS</code> condition. * <p> * This clause surrounds two {@link #FIELD} clauses. */
CONDITION_OVERLAPS,
A combined condition using AND.

This clause surrounds several CONDITION clauses.

/** * A combined condition using <code>AND</code>. * <p> * This clause surrounds several {@link #CONDITION} clauses. */
CONDITION_AND,
A combined condition using OR.

This clause surrounds several CONDITION clauses.

/** * A combined condition using <code>OR</code>. * <p> * This clause surrounds several {@link #CONDITION} clauses. */
CONDITION_OR,
A NOT condition.

This clause surrounds a CONDITION clause.

/** * A <code>NOT</code> condition. * <p> * This clause surrounds a {@link #CONDITION} clause. */
CONDITION_NOT,
An IN condition.

This clause surrounds two or more FIELD clauses.

/** * An <code>IN</code> condition. * <p> * This clause surrounds two or more {@link #FIELD} clauses. */
CONDITION_IN,
A NOT IN condition.

This clause surrounds two or more FIELD clauses.

/** * A <code>NOT IN</code> condition. * <p> * This clause surrounds two or more {@link #FIELD} clauses. */
CONDITION_NOT_IN,
An EXISTS condition.

This clause surrounds a SELECT clause.

/** * An <code>EXISTS</code> condition. * <p> * This clause surrounds a {@link #SELECT} clause. */
CONDITION_EXISTS,
A NOT EXISTS condition.

This clause surrounds a SELECT clause.

/** * A <code>NOT EXISTS</code> condition. * <p> * This clause surrounds a {@link #SELECT} clause. */
CONDITION_NOT_EXISTS, // ------------------------------------------------------------------------- // The WITH clause that is used in all sorts of statements // -------------------------------------------------------------------------
A WITH clause preceding all sorts of DML statements.
/** * A <code>WITH</code> clause preceding all sorts of DML statements. */
WITH, // ------------------------------------------------------------------------- // Clauses that are used in a SELECT statement // -------------------------------------------------------------------------
A complete SELECT statement or a subselect.

This clause surrounds a complete SELECT statement, a subselect, or a set operation, such as

/** * A complete <code>SELECT</code> statement or a subselect. * <p> * This clause surrounds a complete <code>SELECT</code> statement, a * subselect, or a set operation, such as * <ul> * <li> {@link #SELECT_UNION}</li> * <li> {@link #SELECT_UNION_ALL}</li> * <li> {@link #SELECT_INTERSECT}</li> * <li> {@link #SELECT_EXCEPT}</li> * </ul> */
SELECT,
A UNION set operation.

This clause surrounds two or more subselects (see SELECT) concatenating them using a UNION set operation.

/** * A <code>UNION</code> set operation. * <p> * This clause surrounds two or more subselects (see {@link #SELECT}) * concatenating them using a <code>UNION</code> set operation. */
SELECT_UNION,
A UNION ALL set operation.

This clause surrounds two or more subselects (see SELECT) concatenating them using a UNION ALL set operation.

/** * A <code>UNION ALL</code> set operation. * <p> * This clause surrounds two or more subselects (see {@link #SELECT}) * concatenating them using a <code>UNION ALL</code> set operation. */
SELECT_UNION_ALL,
A INTERSECT set operation.

This clause surrounds two or more subselects (see SELECT) concatenating them using a INTERSECT set operation.

/** * A <code>INTERSECT</code> set operation. * <p> * This clause surrounds two or more subselects (see {@link #SELECT}) * concatenating them using a <code>INTERSECT</code> set operation. */
SELECT_INTERSECT,
A INTERSECT ALL set operation.

This clause surrounds two or more subselects (see SELECT) concatenating them using a INTERSECT ALL set operation.

/** * A <code>INTERSECT ALL</code> set operation. * <p> * This clause surrounds two or more subselects (see {@link #SELECT}) * concatenating them using a <code>INTERSECT ALL</code> set operation. */
SELECT_INTERSECT_ALL,
A EXCEPT set operation.

This clause surrounds two or more subselects (see SELECT) concatenating them using a EXCEPT set operation.

/** * A <code>EXCEPT</code> set operation. * <p> * This clause surrounds two or more subselects (see {@link #SELECT}) * concatenating them using a <code>EXCEPT</code> set operation. */
SELECT_EXCEPT,
A EXCEPT ALL set operation.

This clause surrounds two or more subselects (see SELECT) concatenating them using a EXCEPT ALL set operation.

/** * A <code>EXCEPT ALL</code> set operation. * <p> * This clause surrounds two or more subselects (see {@link #SELECT}) * concatenating them using a <code>EXCEPT ALL</code> set operation. */
SELECT_EXCEPT_ALL,
A SELECT clause within a SELECT statement or subselect.

This clause surrounds

  • the SELECT keyword
  • Oracle style hints
  • the T-SQL style TOP .. START AT clause
  • the select field list
/** * A <code>SELECT</code> clause within a {@link #SELECT} statement or * subselect. * <p> * This clause surrounds * <ul> * <li>the <code>SELECT</code> keyword</li> * <li>Oracle style hints</li> * <li>the T-SQL style <code>TOP .. START AT</code> clause</li> * <li>the select field list</li> * </ul> */
SELECT_SELECT,
A INTO clause within a SELECT statement.

This clause surrounds

  • the INTO keyword
  • the table reference

See TABLE and related clauses for possible table references.

See Also:
/** * A <code>INTO</code> clause within a {@link #SELECT} statement. * <p> * This clause surrounds * <ul> * <li>the <code>INTO</code> keyword</li> * <li>the table reference</li> * </ul> * <p> * See {@link #TABLE} and related clauses for possible table references. * * @see #TABLE */
SELECT_INTO,
A FROM clause within a SELECT statement or subselect.

This clause surrounds

  • the FROM keyword
  • the table reference list

See TABLE and related clauses for possible table references.

See Also:
/** * A <code>FROM</code> clause within a {@link #SELECT} statement or * subselect. * <p> * This clause surrounds * <ul> * <li>the <code>FROM</code> keyword</li> * <li>the table reference list</li> * </ul> * <p> * See {@link #TABLE} and related clauses for possible table references. * * @see #TABLE */
SELECT_FROM,
A WHERE clause within a SELECT statement or subselect.

This clause surrounds

See CONDITION and related clauses for possible conditions

See Also:
/** * A <code>WHERE</code> clause within a {@link #SELECT} statement or * subselect. * <p> * This clause surrounds * <ul> * <li>the <code>WHERE</code> keyword</li> * <li>a {@link #CONDITION}</li> * </ul> * <p> * See {@link #CONDITION} and related clauses for possible conditions * * @see #CONDITION */
SELECT_WHERE,
A START WITH clause within a SELECT statement or subselect.

This clause surrounds

See CONDITION and related clauses for possible conditions

See Also:
/** * A <code>START WITH</code> clause within a {@link #SELECT} statement or * subselect. * <p> * This clause surrounds * <ul> * <li>the <code>START WITH</code> keywords</li> * <li>a {@link #CONDITION}</li> * </ul> * <p> * See {@link #CONDITION} and related clauses for possible conditions * * @see #CONDITION */
SELECT_START_WITH,
A CONNECT BY clause within a SELECT statement or subselect.

This clause surrounds

See CONDITION and related clauses for possible conditions

See Also:
/** * A <code>CONNECT BY</code> clause within a {@link #SELECT} statement or * subselect. * <p> * This clause surrounds * <ul> * <li>the <code>CONNECT BY</code> keywords</li> * <li>a {@link #CONDITION}</li> * </ul> * <p> * See {@link #CONDITION} and related clauses for possible conditions * * @see #CONDITION */
SELECT_CONNECT_BY, SELECT_GROUP_BY,
A HAVING clause within a SELECT statement or subselect.

This clause surrounds

See CONDITION and related clauses for possible conditions

See Also:
/** * A <code>HAVING</code> clause within a {@link #SELECT} statement or * subselect. * <p> * This clause surrounds * <ul> * <li>the <code>HAVING</code> keyword</li> * <li>a {@link #CONDITION}</li> * </ul> * <p> * See {@link #CONDITION} and related clauses for possible conditions * * @see #CONDITION */
SELECT_HAVING, SELECT_WINDOW, SELECT_ORDER_BY, // ------------------------------------------------------------------------- // Clauses that are used in an INSERT statement // -------------------------------------------------------------------------
A complete INSERT statement.
/** * A complete <code>INSERT</code> statement. */
INSERT,
The INSERT INTO clause within an INSERT statement.

This clause surrounds

  • the INSERT INTO keywords
  • the table that is being inserted
/** * The <code>INSERT INTO</code> clause within an {@link #INSERT} statement. * <p> * This clause surrounds * <ul> * <li>the <code>INSERT INTO</code> keywords</li> * <li>the table that is being inserted</li> * </ul> */
INSERT_INSERT_INTO,
The VALUES clause within an INSERT statement.

This clause surrounds

  • the VALUES keyword
  • several FIELD_ROW clauses
/** * The <code>VALUES</code> clause within an {@link #INSERT} statement. * <p> * This clause surrounds * <ul> * <li>the <code>VALUES</code> keyword</li> * <li>several {@link #FIELD_ROW} clauses</li> * </ul> */
INSERT_VALUES,
The SELECT clause within an INSERT statement.

This clause surrounds a SELECT clause.

/** * The <code>SELECT</code> clause within an {@link #INSERT} statement. * <p> * This clause surrounds a {@link #SELECT} clause. */
INSERT_SELECT,
The ON DUPLICATE KEY UPDATE clause within an INSERT statement.

This clause surrounds several INSERT_ON_DUPLICATE_KEY_UPDATE_ASSIGNMENT clauses.

/** * The <code>ON DUPLICATE KEY UPDATE</code> clause within an {@link #INSERT} * statement. * <p> * This clause surrounds several * {@link #INSERT_ON_DUPLICATE_KEY_UPDATE_ASSIGNMENT} clauses. * <ul> * <li>the <code>ON DUPLICATE KEY UPDATE</code> keywords</li> * <li>several {@link #INSERT_ON_DUPLICATE_KEY_UPDATE_ASSIGNMENT} clauses</li> * </ul> */
INSERT_ON_DUPLICATE_KEY_UPDATE,
The ON DUPLICATE KEY UPDATE clause within an INSERT statement.

This clause surrounds two FIELD clauses.

/** * The <code>ON DUPLICATE KEY UPDATE</code> clause within an {@link #INSERT} * statement. * <p> * This clause surrounds two {@link #FIELD} clauses. */
INSERT_ON_DUPLICATE_KEY_UPDATE_ASSIGNMENT,
The RETURNING clause within an INSERT statement.

This clause surrounds

  • the RETURNING keyword
  • several FIELD clauses
/** * The <code>RETURNING</code> clause within an {@link #INSERT} statement. * <p> * This clause surrounds * <ul> * <li>the <code>RETURNING</code> keyword</li> * <li>several {@link #FIELD} clauses</li> * </ul> */
INSERT_RETURNING, // ------------------------------------------------------------------------- // Clauses that are used in an UPDATE statement // -------------------------------------------------------------------------
A complete UPDATE statement.
/** * A complete <code>UPDATE</code> statement. */
UPDATE,
An UPDATE clause within an UPDATE statement.

This clause surrounds

  • the UPDATE keyword
  • the table that is being updated
/** * An <code>UPDATE</code> clause within an {@link #UPDATE} statement. * <p> * This clause surrounds * <ul> * <li>the <code>UPDATE</code> keyword</li> * <li>the table that is being updated</li> * </ul> */
UPDATE_UPDATE,
A SET clause within an UPDATE statement.

This clause surrounds

/** * A <code>SET</code> clause within an {@link #UPDATE} statement. * <p> * This clause surrounds * <ul> * <li>the <code>SET</code> keyword</li> * <li>one or several assignments: {@link #UPDATE_SET_ASSIGNMENT}</li> * </ul> */
UPDATE_SET,
An assigment within a UPDATE_SET clause within an UPDATE statement.

This clause surrounds

  • a FIELD receiving the assignment
  • an assigment operator
  • a FIELD being assigned
/** * An assigment within a {@link #UPDATE_SET} clause within an * {@link #UPDATE} statement. * <p> * This clause surrounds * <ul> * <li>a {@link #FIELD} receiving the assignment</li> * <li>an assigment operator</li> * <li>a {@link #FIELD} being assigned</li> * </ul> */
UPDATE_SET_ASSIGNMENT,
A vendor-specific FROM clause within an UPDATE statement.

This clause surrounds

  • the FROM keyword
  • the table reference list

See TABLE and related clauses for possible table references.

/** * A vendor-specific <code>FROM</code> clause within an {@link #UPDATE} statement. * <p> * This clause surrounds * <ul> * <li>the <code>FROM</code> keyword</li> * <li>the table reference list</li> * </ul> * <p> * See {@link #TABLE} and related clauses for possible table references. */
UPDATE_FROM,
A WHERE clause within an UPDATE statement.

This clause surrounds

/** * A <code>WHERE</code> clause within an {@link #UPDATE} statement. * <p> * This clause surrounds * <ul> * <li>the <code>WHERE</code> keyword</li> * <li>a {@link #CONDITION}</li> * </ul> */
UPDATE_WHERE,
A RETURNING clause within an UPDATE statement.

This clause surrounds

  • the RETURNING keyword
  • several FIELD clauses
/** * A <code>RETURNING</code> clause within an {@link #UPDATE} statement. * <p> * This clause surrounds * <ul> * <li>the <code>RETURNING</code> keyword</li> * <li>several {@link #FIELD} clauses</li> * </ul> */
UPDATE_RETURNING, // ------------------------------------------------------------------------- // Clauses that are used in an DELETE statement // -------------------------------------------------------------------------
A complete DELETE statement.
/** * A complete <code>DELETE</code> statement. */
DELETE,
A DELETE clause within an DELETE statement.

This clause surrounds

  • the DELETE FROM keywords
  • the table that is being deleted
/** * A <code>DELETE</code> clause within an {@link #DELETE} statement. * <p> * This clause surrounds * <ul> * <li>the <code>DELETE FROM</code> keywords</li> * <li>the table that is being deleted</li> * </ul> */
DELETE_DELETE,
A WHERE clause within an DELETE statement.

This clause surrounds

/** * A <code>WHERE</code> clause within an {@link #DELETE} statement. * <p> * This clause surrounds * <ul> * <li>the <code>WHERE</code> keyword</li> * <li>a {@link #CONDITION}</li> * </ul> */
DELETE_WHERE,
A RETURNING clause within an DELETE statement.

This clause surrounds

  • the RETURNING keyword
  • several FIELD clauses
/** * A <code>RETURNING</code> clause within an {@link #DELETE} statement. * <p> * This clause surrounds * <ul> * <li>the <code>RETURNING</code> keyword</li> * <li>several {@link #FIELD} clauses</li> * </ul> */
DELETE_RETURNING, // ------------------------------------------------------------------------- // Clauses that are used in an MERGE statement // -------------------------------------------------------------------------
A complete MERGE statement.
/** * A complete <code>MERGE</code> statement. */
MERGE,
A MERGE INTO clause within an MERGE statement.

This clause surrounds

  • the MERGE INTO keywords
  • the table that is being merged
/** * A <code>MERGE INTO</code> clause within an {@link #MERGE} statement. * <p> * This clause surrounds * <ul> * <li>the <code>MERGE INTO</code> keywords</li> * <li>the table that is being merged</li> * </ul> */
MERGE_MERGE_INTO,
A USING clause within a MERGE statement.

This clause surrounds

  • the USING keyword
  • a TABLE
/** * A <code>USING</code> clause within a {@link #MERGE} statement. * <p> * This clause surrounds * <ul> * <li>the <code>USING</code> keyword</li> * <li>a {@link #TABLE}</li> * </ul> */
MERGE_USING,
An ON clause within a MERGE statement.

This clause surrounds

/** * An <code>ON</code> clause within a {@link #MERGE} statement. * <p> * This clause surrounds * <ul> * <li>the <code>ON</code> keyword</li> * <li>a {@link #CONDITION}</li> * </ul> */
MERGE_ON,
A WHEN MATCHED THEN UPDATE clause within a MERGE statement.

This clause surrounds

/** * A <code>WHEN MATCHED THEN UPDATE</code> clause within a {@link #MERGE} * statement. * <p> * This clause surrounds * <ul> * <li>the <code>WHEN MATCHED THEN UPDATE</code> keywords</li> * <li>a {@link #MERGE_SET} clause</li> * <li>a {@link #MERGE_WHERE} clause</li> * <li>a {@link #MERGE_DELETE_WHERE} clause</li> * </ul> */
MERGE_WHEN_MATCHED_THEN_UPDATE,
A SET clause within a MERGE_WHEN_MATCHED_THEN_UPDATE clause within an MERGE statement.

This clause surrounds

/** * A <code>SET</code> clause within a * {@link #MERGE_WHEN_MATCHED_THEN_UPDATE} clause within an {@link #MERGE} * statement. * <p> * This clause surrounds * <ul> * <li>the <code>SET</code> keyword</li> * <li>several {@link #MERGE_SET_ASSIGNMENT} clauses</li> * </ul> */
MERGE_SET,
An assigment within a MERGE_SET clause within an MERGE statement.

This clause surrounds

  • a FIELD receiving the assignment
  • an assigment operator
  • a FIELD being assigned
/** * An assigment within a {@link #MERGE_SET} clause within an {@link #MERGE} * statement. * <p> * This clause surrounds * <ul> * <li>a {@link #FIELD} receiving the assignment</li> * <li>an assigment operator</li> * <li>a {@link #FIELD} being assigned</li> * </ul> */
MERGE_SET_ASSIGNMENT,
A WHERE clause within a MERGE_WHEN_MATCHED_THEN_UPDATE clause within a MERGE statement.

This clause surrounds

/** * A <code>WHERE</code> clause within a * {@link #MERGE_WHEN_MATCHED_THEN_UPDATE} clause within a * {@link #MERGE} statement. * <p> * This clause surrounds * <ul> * <li>the <code>WHERE</code> keyword</li> * <li>a {@link #CONDITION}</li> * </ul> */
MERGE_WHERE,
A DELETE_WHERE clause within a MERGE_WHEN_MATCHED_THEN_UPDATE clause within a MERGE statement.

This clause surrounds

/** * A <code>DELETE_WHERE</code> clause within a * {@link #MERGE_WHEN_MATCHED_THEN_UPDATE} clause within a {@link #MERGE} * statement. * <p> * This clause surrounds * <ul> * <li>the <code>DELETE WHERE</code> keyword</li> * <li>a {@link #CONDITION}</li> * </ul> */
MERGE_DELETE_WHERE,
A WHEN NOT MATCHED THEN INSERT clause within a MERGE statement.

This clause surrounds

  • the WHEN NOT MATCHED THEN INSERT keywords
  • several FIELD clauses
/** * A <code>WHEN NOT MATCHED THEN INSERT</code> clause within a * {@link #MERGE} statement. * <p> * This clause surrounds * <ul> * <li>the <code>WHEN NOT MATCHED THEN INSERT</code> keywords</li> * <li>several {@link #FIELD} clauses</li> * </ul> */
MERGE_WHEN_NOT_MATCHED_THEN_INSERT,
A VALUES clause within a MERGE statement.

This clause surrounds

  • the VALUES keyword
  • several FIELD_ROW clauses
/** * A <code>VALUES</code> clause within a {@link #MERGE} statement. * <p> * This clause surrounds * <ul> * <li>the <code>VALUES</code> keyword</li> * <li>several {@link #FIELD_ROW} clauses</li> * </ul> */
MERGE_VALUES, // ------------------------------------------------------------------------- // Clauses that are used in an TRUNCATE statement // -------------------------------------------------------------------------
A complete TRUNCATE statement.
/** * A complete <code>TRUNCATE</code> statement. */
TRUNCATE,
A TRUNCATE clause within an TRUNCATE statement.

This clause surrounds

  • the TRUNCATE TABLE keywords
  • the table that is being truncated
/** * A <code>TRUNCATE</code> clause within an {@link #TRUNCATE} statement. * <p> * This clause surrounds * <ul> * <li>the <code>TRUNCATE TABLE</code> keywords</li> * <li>the table that is being truncated</li> * </ul> */
TRUNCATE_TRUNCATE, // ------------------------------------------------------------------------- // Clauses that are used in DDL statements // -------------------------------------------------------------------------
A complete CREATE TABLE statement.
/** * A complete <code>CREATE TABLE</code> statement. */
CREATE_TABLE,
A view name clause within a CREATE_TABLE statement.

This clause surrounds

  • The table name
  • The (optional) column names
/** * A view name clause within a {@link #CREATE_TABLE} statement. * <p> * This clause surrounds * <ul> * <li>The table name</li> * <li>The (optional) column names</li> * </ul> */
CREATE_TABLE_NAME,
An AS clause within a CREATE_TABLE statement.

This clause surrounds

  • The AS keyword
  • The select code
/** * An <code>AS</code> clause within a {@link #CREATE_TABLE} statement. * <p> * This clause surrounds * <ul> * <li>The <code>AS</code> keyword</li> * <li>The select code</li> * </ul> */
CREATE_TABLE_AS,
A column list within a CREATE_TABLE statement.

This clause surrounds

  • The column list
/** * A column list within a {@link #CREATE_TABLE} statement. * <p> * This clause surrounds * <ul> * <li>The column list</li> * </ul> */
CREATE_TABLE_COLUMNS,
A constraint list within a CREATE_TABLE statement.

This clause surrounds

  • The constraint list
/** * A constraint list within a {@link #CREATE_TABLE} statement. * <p> * This clause surrounds * <ul> * <li>The constraint list</li> * </ul> */
CREATE_TABLE_CONSTRAINTS,
A complete CREATE SCHEMA statement.
/** * A complete <code>CREATE SCHEMA</code> statement. */
CREATE_SCHEMA,
A view name clause within a CREATE_SCHEMA statement.

This clause surrounds

  • The schema name
/** * A view name clause within a {@link #CREATE_SCHEMA} statement. * <p> * This clause surrounds * <ul> * <li>The schema name</li> * </ul> */
CREATE_SCHEMA_NAME,
A complete CREATE VIEW statement.
/** * A complete <code>CREATE VIEW</code> statement. */
CREATE_VIEW,
A view name clause within a CREATE_VIEW statement.

This clause surrounds

  • The view name
  • The (optional) column names
/** * A view name clause within a {@link #CREATE_VIEW} statement. * <p> * This clause surrounds * <ul> * <li>The view name</li> * <li>The (optional) column names</li> * </ul> */
CREATE_VIEW_NAME,
An AS clause within a CREATE_VIEW statement.

This clause surrounds

  • The AS keyword
  • The view code
/** * An <code>AS</code> clause within a {@link #CREATE_VIEW} statement. * <p> * This clause surrounds * <ul> * <li>The <code>AS</code> keyword</li> * <li>The view code</li> * </ul> */
CREATE_VIEW_AS,
A complete CREATE INDEX statement.
/** * A complete <code>CREATE INDEX</code> statement. */
CREATE_INDEX,
A complete CREATE SEQUENCE statement.
/** * A complete <code>CREATE SEQUENCE</code> statement. */
CREATE_SEQUENCE,
A SEQUENCE clause within a CREATE_SEQUENCE statement.

This clause surrounds

  • the CREATE SEQUENCE keywords
  • the sequence that is being created
/** * A <code>SEQUENCE</code> clause within a {@link #CREATE_SEQUENCE} statement. * <p> * This clause surrounds * <ul> * <li>the <code>CREATE SEQUENCE</code> keywords</li> * <li>the sequence that is being created</li> * </ul> */
CREATE_SEQUENCE_SEQUENCE,
A complete ALTER SEQUENCE statement.
/** * A complete <code>ALTER SEQUENCE</code> statement. */
ALTER_SEQUENCE,
A SEQUENCE clause within an ALTER_SEQUENCE statement.

This clause surrounds

  • the ALTER SEQUENCE keywords
  • the sequence that is being altered
/** * A <code>SEQUENCE</code> clause within an {@link #ALTER_SEQUENCE} statement. * <p> * This clause surrounds * <ul> * <li>the <code>ALTER SEQUENCE</code> keywords</li> * <li>the sequence that is being altered</li> * </ul> */
ALTER_SEQUENCE_SEQUENCE,
A RESTART clause within an ALTER_SEQUENCE statement.

This clause surrounds

  • the RESTART keyword
  • the WITH keyword and the new sequence value, if applicable.
/** * A <code>RESTART</code> clause within an {@link #ALTER_SEQUENCE} statement. * <p> * This clause surrounds * <ul> * <li>the <code>RESTART</code> keyword</li> * <li>the <code>WITH</code> keyword and the new sequence value, if applicable.</li> * </ul> */
ALTER_SEQUENCE_RESTART,
A RENAME clause within an ALTER_SEQUENCE statement.

This clause surrounds

  • the RENAME TO keywords
  • the new sequence name
/** * A <code>RENAME</code> clause within an {@link #ALTER_SEQUENCE} statement. * <p> * This clause surrounds * <ul> * <li>the <code>RENAME TO</code> keywords</li> * <li>the new sequence name</li> * </ul> */
ALTER_SEQUENCE_RENAME,
A complete ALTER TABLE statement.
/** * A complete <code>ALTER TABLE</code> statement. */
ALTER_TABLE,
A TABLE clause within an ALTER_TABLE statement.

This clause surrounds

  • the ALTER TABLE keywords
  • the table that is being altered
/** * A <code>TABLE</code> clause within an {@link #ALTER_TABLE} statement. * <p> * This clause surrounds * <ul> * <li>the <code>ALTER TABLE</code> keywords</li> * <li>the table that is being altered</li> * </ul> */
ALTER_TABLE_TABLE,
A RENAME TO clause within an ALTER_TABLE statement.

This clause surrounds

  • the RENAME TO keywords
  • the new table name
/** * A <code>RENAME TO</code> clause within an {@link #ALTER_TABLE} statement. * <p> * This clause surrounds * <ul> * <li>the <code>RENAME TO</code> keywords</li> * <li>the new table name</li> * </ul> */
ALTER_TABLE_RENAME,
A RENAME COLUMN clause within an ALTER_TABLE statement.

This clause surrounds

  • the RENAME COLUMN keywords
  • the old column name
  • the TO keyword
  • the new column name
/** * A <code>RENAME COLUMN</code> clause within an {@link #ALTER_TABLE} * statement. * <p> * This clause surrounds * <ul> * <li>the <code>RENAME COLUMN</code> keywords</li> * <li>the old column name</li> * <li>the <code>TO</code> keyword</li> * <li>the new column name</li> * </ul> */
ALTER_TABLE_RENAME_COLUMN,
A RENAME INDEX clause within an ALTER_TABLE statement.

This clause surrounds

  • the RENAME TO keywords
  • the old index name
  • the TO keyword
  • the new index name
/** * A <code>RENAME INDEX</code> clause within an {@link #ALTER_TABLE} * statement. * <p> * This clause surrounds * <ul> * <li>the <code>RENAME TO</code> keywords</li> * <li>the old index name</li> * <li>the <code>TO</code> keyword</li> * <li>the new index name</li> * </ul> */
ALTER_TABLE_RENAME_INDEX,
A RENAME CONSTRAINT clause within an ALTER_TABLE statement.

This clause surrounds

  • the RENAME CONSTRAINT keywords
  • the old constraint name
  • the TO keyword
  • the new constraint name
/** * A <code>RENAME CONSTRAINT</code> clause within an {@link #ALTER_TABLE} * statement. * <p> * This clause surrounds * <ul> * <li>the <code>RENAME CONSTRAINT</code> keywords</li> * <li>the old constraint name</li> * <li>the <code>TO</code> keyword</li> * <li>the new constraint name</li> * </ul> */
ALTER_TABLE_RENAME_CONSTRAINT,
A ADD clause within an ALTER_TABLE statement.

This clause surrounds

  • the ADD keywords
  • the column that is being added
/** * A <code>ADD</code> clause within an {@link #ALTER_TABLE} statement. * <p> * This clause surrounds * <ul> * <li>the <code>ADD</code> keywords</li> * <li>the column that is being added</li> * </ul> */
ALTER_TABLE_ADD,
A ALTER clause within an ALTER_TABLE statement.

This clause surrounds

  • the ALTER keywords
  • the column that is being altered
/** * A <code>ALTER</code> clause within an {@link #ALTER_TABLE} statement. * <p> * This clause surrounds * <ul> * <li>the <code>ALTER</code> keywords</li> * <li>the column that is being altered</li> * </ul> */
ALTER_TABLE_ALTER,
A ALTER DEFAULT clause within an ALTER_TABLE statement.

This clause surrounds

  • the default expression that is being altered
/** * A <code>ALTER DEFAULT</code> clause within an {@link #ALTER_TABLE} * statement. * <p> * This clause surrounds * <ul> * <li>the default expression that is being altered</li> * </ul> */
ALTER_TABLE_ALTER_DEFAULT,
A SET NULL or DROP NULL clause within an ALTER_TABLE statement.

This clause surrounds

  • the nullability clause being altered
/** * A <code>SET NULL</code> or <code>DROP NULL</code> clause within an * {@link #ALTER_TABLE} statement. * <p> * This clause surrounds * <ul> * <li>the nullability clause being altered</li> * </ul> */
ALTER_TABLE_ALTER_NULL,
A DROP clause within an ALTER_TABLE statement.

This clause surrounds

  • the DROP keywords
  • the column that is being dropped
/** * A <code>DROP</code> clause within an {@link #ALTER_TABLE} statement. * <p> * This clause surrounds * <ul> * <li>the <code>DROP</code> keywords</li> * <li>the column that is being dropped</li> * </ul> */
ALTER_TABLE_DROP,
A complete ALTER SCHEMA statement.
/** * A complete <code>ALTER SCHEMA</code> statement. */
ALTER_SCHEMA,
A SCHEMA clause within an ALTER_SCHEMA statement.

This clause surrounds

  • the ALTER SCHEMA keywords
  • the schema that is being altered
/** * A <code>SCHEMA</code> clause within an {@link #ALTER_SCHEMA} statement. * <p> * This clause surrounds * <ul> * <li>the <code>ALTER SCHEMA</code> keywords</li> * <li>the schema that is being altered</li> * </ul> */
ALTER_SCHEMA_SCHEMA,
A RENAME TO clause within an ALTER_SCHEMA statement.

This clause surrounds

  • the RENAME TO keywords
  • the new schema name
/** * A <code>RENAME TO</code> clause within an {@link #ALTER_SCHEMA} statement. * <p> * This clause surrounds * <ul> * <li>the <code>RENAME TO</code> keywords</li> * <li>the new schema name</li> * </ul> */
ALTER_SCHEMA_RENAME,
A complete ALTER VIEW statement.
/** * A complete <code>ALTER VIEW</code> statement. */
ALTER_VIEW,
A TABLE clause within an ALTER_VIEW statement.

This clause surrounds

  • the ALTER VIEW keywords
  • the view that is being altered
/** * A <code>TABLE</code> clause within an {@link #ALTER_VIEW} statement. * <p> * This clause surrounds * <ul> * <li>the <code>ALTER VIEW</code> keywords</li> * <li>the view that is being altered</li> * </ul> */
ALTER_VIEW_VIEW,
A RENAME TO clause within an ALTER_VIEW statement.

This clause surrounds

  • the RENAME TO keywords
  • the new view name
/** * A <code>RENAME TO</code> clause within an {@link #ALTER_VIEW} statement. * <p> * This clause surrounds * <ul> * <li>the <code>RENAME TO</code> keywords</li> * <li>the new view name</li> * </ul> */
ALTER_VIEW_RENAME,
A complete ALTER INDEX statement.
/** * A complete <code>ALTER INDEX</code> statement. */
ALTER_INDEX,
An INDEX clause within an ALTER_INDEX statement.

This clause surrounds

  • the ALTER INDEX keywords
  • the index that is being altered
/** * An <code>INDEX</code> clause within an {@link #ALTER_INDEX} statement. * <p> * This clause surrounds * <ul> * <li>the <code>ALTER INDEX</code> keywords</li> * <li>the index that is being altered</li> * </ul> */
ALTER_INDEX_INDEX,
A RENAME TO clause within an ALTER_INDEX statement.

This clause surrounds

  • the RENAME TO keywords
  • the new index name
/** * A <code>RENAME TO</code> clause within an {@link #ALTER_INDEX} statement. * <p> * This clause surrounds * <ul> * <li>the <code>RENAME TO</code> keywords</li> * <li>the new index name</li> * </ul> */
ALTER_INDEX_RENAME,
A complete DROP SCHEMA statement.
/** * A complete <code>DROP SCHEMA</code> statement. */
DROP_SCHEMA,
A SCHEMA clause within an DROP_SCHEMA statement.

This clause surrounds

  • the DROP SCHEMA keywords
  • the schema that is being dropped
/** * A <code>SCHEMA</code> clause within an {@link #DROP_SCHEMA} statement. * <p> * This clause surrounds * <ul> * <li>the <code>DROP SCHEMA</code> keywords</li> * <li>the schema that is being dropped</li> * </ul> */
DROP_SCHEMA_SCHEMA,
A complete DROP VIEW statement.
/** * A complete <code>DROP VIEW</code> statement. */
DROP_VIEW,
A VIEW clause within an DROP_VIEW statement.

This clause surrounds

  • the DROP VIEW keywords
  • the view that is being dropped
/** * A <code>VIEW</code> clause within an {@link #DROP_VIEW} statement. * <p> * This clause surrounds * <ul> * <li>the <code>DROP VIEW</code> keywords</li> * <li>the view that is being dropped</li> * </ul> */
DROP_VIEW_TABLE,
A complete DROP TABLE statement.
/** * A complete <code>DROP TABLE</code> statement. */
DROP_TABLE,
A TABLE clause within an DROP_TABLE statement.

This clause surrounds

  • the DROP TABLE keywords
  • the table that is being dropped
/** * A <code>TABLE</code> clause within an {@link #DROP_TABLE} statement. * <p> * This clause surrounds * <ul> * <li>the <code>DROP TABLE</code> keywords</li> * <li>the table that is being dropped</li> * </ul> */
DROP_TABLE_TABLE,
A complete DROP INDEX statement.
/** * A complete <code>DROP INDEX</code> statement. */
DROP_INDEX,
A complete DROP SEQUENCE statement.
/** * A complete <code>DROP SEQUENCE</code> statement. */
DROP_SEQUENCE,
A SEQUENCE clause within a DROP_SEQUENCE statement.

This clause surrounds

  • the DROP SEQUENCE keywords
  • the sequence that is being dropped
/** * A <code>SEQUENCE</code> clause within a {@link #DROP_SEQUENCE} statement. * <p> * This clause surrounds * <ul> * <li>the <code>DROP SEQUENCE</code> keywords</li> * <li>the sequence that is being dropped</li> * </ul> */
DROP_SEQUENCE_SEQUENCE, // ------------------------------------------------------------------------- // Clauses that are used in access control statements // ------------------------------------------------------------------------- GRANT, GRANT_PRIVILEGE, GRANT_ON, GRANT_TO, REVOKE, REVOKE_PRIVILEGE, REVOKE_ON, REVOKE_FROM, // ------------------------------------------------------------------------- // Other clauses // -------------------------------------------------------------------------
A plain SQL template clause.
/** * A plain SQL template clause. */
TEMPLATE,
A custom QueryPart clause.
/** * A custom {@link QueryPart} clause. */
CUSTOM }