Module org.jooq
Package org.jooq

Enum SQLDialect

    • Enum Constant Detail

      • SQL99

        @Deprecated
        public static final SQLDialect SQL99
        Deprecated.
        - [#3844] - 3.6.0 - DEFAULT will replace this pseudo-dialect.
        The standard SQL dialect family.
      • DEFAULT

        public static final SQLDialect DEFAULT
        The default SQL dialect.

        This dialect is chosen in the absence of a more explicit dialect. It is not intended to be used with any actual database as it may combined dialect-specific things from various dialects.

      • CUBRID

        @Deprecated
        public static final SQLDialect CUBRID
        Deprecated.
        - [#9403] - 3.13.0 - This dialect is hardly used by anyone with jOOQ or without jOOQ and will be removed in the near future.
        The CUBRID dialect family.
      • DERBY

        public static final SQLDialect DERBY
        The Apache Derby dialect family.
      • FIREBIRD

        public static final SQLDialect FIREBIRD
        The Firebird dialect family.

        This family behaves like the versioned dialect FIREBIRD_3_0.

      • FIREBIRD_2_5

        @Pro
        public static final SQLDialect FIREBIRD_2_5
        The Firebird 2.5 dialect.

        This dialect is available in commercial jOOQ distributions, only.

      • FIREBIRD_3_0

        @Pro
        public static final SQLDialect FIREBIRD_3_0
        The Firebird 3.0 dialect.

        This dialect is available in commercial jOOQ distributions, only.

      • H2

        public static final SQLDialect H2
        The H2 dialect family.
      • HSQLDB

        public static final SQLDialect HSQLDB
        The Hypersonic dialect family.
      • MARIADB

        public static final SQLDialect MARIADB
        The MariaDB dialect family.

        This family behaves like the versioned dialect MARIADB_10_5.

      • MARIADB_10_0

        @Pro
        public static final SQLDialect MARIADB_10_0
        The MariaDB 10.0 dialect.

        This dialect is available in commercial jOOQ distributions, only.

      • MARIADB_10_1

        @Pro
        public static final SQLDialect MARIADB_10_1
        The MariaDB 10.1 dialect.

        This dialect is available in commercial jOOQ distributions, only.

      • MARIADB_10_2

        @Pro
        public static final SQLDialect MARIADB_10_2
        The MariaDB 10.2 dialect.

        This dialect is available in commercial jOOQ distributions, only.

      • MARIADB_10_3

        @Pro
        public static final SQLDialect MARIADB_10_3
        The MariaDB 10.3 dialect.

        This dialect is available in commercial jOOQ distributions, only.

      • MARIADB_10_4

        @Pro
        public static final SQLDialect MARIADB_10_4
        The MariaDB 10.4 dialect.

        This dialect is available in commercial jOOQ distributions, only.

      • MARIADB_10_5

        @Pro
        public static final SQLDialect MARIADB_10_5
        The MariaDB 10.5 dialect.

        This dialect is available in commercial jOOQ distributions, only.

      • MYSQL

        public static final SQLDialect MYSQL
        The MySQL dialect family.

        This family behaves like the versioned dialect MYSQL_8_0_19.

      • MYSQL_5_7

        @Pro
        public static final SQLDialect MYSQL_5_7
        The MySQL 5.7 dialect.

        This dialect is available in commercial jOOQ distributions, only.

      • MYSQL_8_0

        @Pro
        public static final SQLDialect MYSQL_8_0
        The MySQL 8.0.0 dialect.

        This dialect is available in commercial jOOQ distributions, only.

      • MYSQL_8_0_19

        @Pro
        public static final SQLDialect MYSQL_8_0_19
        The MySQL 8.0.19 dialect.

        This dialect is available in commercial jOOQ distributions, only.

      • POSTGRES

        public static final SQLDialect POSTGRES
        The PostgreSQL dialect family.

        This family behaves like the versioned dialect POSTGRES_11.

        While this family (and its dialects) have been observed to work to some extent on Amazon RedShift as well, we strongly suggest you use the official REDSHIFT support, instead.

      • POSTGRES_9_3

        @Pro
        public static final SQLDialect POSTGRES_9_3
        The PostgreSQL 9.3 dialect.

        While this family (and its dialects) have been observed to work to some extent on Amazon RedShift as well, we strongly suggest you use the official REDSHIFT support, instead.

        This dialect is available in commercial jOOQ distributions, only.

      • POSTGRES_9_4

        @Pro
        public static final SQLDialect POSTGRES_9_4
        The PostgreSQL 9.4 dialect.

        While this family (and its dialects) have been observed to work to some extent on Amazon RedShift as well, we strongly suggest you use the official REDSHIFT support, instead.

        This dialect is available in commercial jOOQ distributions, only.

      • POSTGRES_9_5

        @Pro
        public static final SQLDialect POSTGRES_9_5
        The PostgreSQL 9.5 dialect.

        While this family (and its dialects) have been observed to work to some extent on Amazon RedShift as well, we strongly suggest you use the official REDSHIFT support, instead.

        This dialect is available in commercial jOOQ distributions, only.

      • POSTGRES_10

        @Pro
        public static final SQLDialect POSTGRES_10
        The PostgreSQL 10 dialect.

        While this family (and its dialects) have been observed to work to some extent on Amazon RedShift as well, we strongly suggest you use the official REDSHIFT support, instead.

        This dialect is available in commercial jOOQ distributions, only.

      • POSTGRES_11

        @Pro
        public static final SQLDialect POSTGRES_11
        The PostgreSQL 11 dialect.

        While this family (and its dialects) have been observed to work to some extent on Amazon RedShift as well, we strongly suggest you use the official REDSHIFT support, instead.

        This dialect is available in commercial jOOQ distributions, only.

      • POSTGRES_12

        @Pro
        public static final SQLDialect POSTGRES_12
        The PostgreSQL 11 dialect.

        While this family (and its dialects) have been observed to work to some extent on Amazon RedShift as well, we strongly suggest you use the official REDSHIFT support, instead.

        This dialect is available in commercial jOOQ distributions, only.

      • SQLITE

        public static final SQLDialect SQLITE
        The SQLite dialect family.

        This family behaves like the versioned dialect SQLITE_3_30.

      • SQLITE_3_25

        @Pro
        public static final SQLDialect SQLITE_3_25
        The SQLite 3.25 dialect.

        This dialect is available in commercial jOOQ distributions, only.

      • SQLITE_3_28

        @Pro
        public static final SQLDialect SQLITE_3_28
        The SQLite 3.28 dialect.

        This dialect is available in commercial jOOQ distributions, only.

      • SQLITE_3_30

        @Pro
        public static final SQLDialect SQLITE_3_30
        The SQLite 3.30 dialect.

        This dialect is available in commercial jOOQ distributions, only.

      • ACCESS

        @Pro
        public static final SQLDialect ACCESS
        The MS Access dialect family.

        This family behaves like the versioned dialect ACCESS2013.

        This dialect is available in commercial jOOQ distributions, only.

      • ACCESS2013

        @Pro
        public static final SQLDialect ACCESS2013
        The MS Access 2013 dialect.

        This dialect is available in commercial jOOQ distributions, only.

      • ASE

        @Pro
        public static final SQLDialect ASE
        The Sybase Adaptive Server dialect family.

        This dialect is available in commercial jOOQ distributions, only.

      • ASE_12_5

        @Pro
        public static final SQLDialect ASE_12_5
        The Sybase Adaptive Server 12.5 dialect.

        This dialect is available in commercial jOOQ distributions, only.

      • ASE_15_5

        @Pro
        public static final SQLDialect ASE_15_5
        The Sybase Adaptive Server 15.5 dialect.

        This dialect is available in commercial jOOQ distributions, only.

      • ASE_15_7

        @Pro
        public static final SQLDialect ASE_15_7
        The Sybase Adaptive Server 15.7 dialect.

        This dialect is available in commercial jOOQ distributions, only.

      • ASE_16_0

        @Pro
        public static final SQLDialect ASE_16_0
        The Sybase Adaptive Server 16.0 dialect.

        This dialect is available in commercial jOOQ distributions, only.

      • AURORA_MYSQL

        @Pro
        public static final SQLDialect AURORA_MYSQL
        The Amazon Aurora MySQL Edition dialect family.

        This dialect is available in commercial jOOQ distributions, only.

      • AURORA_POSTGRES

        @Pro
        public static final SQLDialect AURORA_POSTGRES
        The Amazon Aurora PostgreSQL Edition dialect family.

        This dialect is available in commercial jOOQ distributions, only.

      • COCKROACHDB

        @Pro
        public static final SQLDialect COCKROACHDB
        The CockroachDB dialect family.

        This dialect is available in commercial jOOQ distributions, only.

      • DB2

        @Pro
        public static final SQLDialect DB2
        The IBM DB2 dialect family.

        This family behaves like the versioned dialect DB2_11.

        This dialect is available in commercial jOOQ distributions, only.

      • DB2_9

        @Pro
        public static final SQLDialect DB2_9
        The IBM DB2 9.x dialect.

        This dialect is available in commercial jOOQ distributions, only.

      • DB2_10

        @Pro
        public static final SQLDialect DB2_10
        The IBM DB2 10.x dialect.

        This dialect is available in commercial jOOQ distributions, only.

      • DB2_11

        @Pro
        public static final SQLDialect DB2_11
        The IBM DB2 11.x dialect.

        This dialect is available in commercial jOOQ distributions, only.

      • HANA

        @Pro
        public static final SQLDialect HANA
        The SAP HANA dialect.

        This dialect is available in commercial jOOQ distributions, only.

      • INFORMIX

        @Pro
        public static final SQLDialect INFORMIX
        The Informix dialect.

        This dialect is available in commercial jOOQ distributions, only.

      • INGRES

        @Pro
        public static final SQLDialect INGRES
        The Ingres dialect family.

        This dialect is available in commercial jOOQ distributions, only.

      • MEMSQL

        @Pro
        public static final SQLDialect MEMSQL
        The MemSQL dialect family.

        This dialect is available in commercial jOOQ distributions, only.

      • ORACLE

        @Pro
        public static final SQLDialect ORACLE
        The Oracle dialect family.

        This family behaves like the versioned dialect ORACLE18C.

        This dialect is available in commercial jOOQ distributions, only.

      • ORACLE10G

        @Pro
        public static final SQLDialect ORACLE10G
        The Oracle 10g dialect.

        This dialect is available in commercial jOOQ distributions, only.

      • ORACLE11G

        @Pro
        public static final SQLDialect ORACLE11G
        The Oracle 11g dialect.

        This dialect is available in commercial jOOQ distributions, only.

      • ORACLE12C

        @Pro
        public static final SQLDialect ORACLE12C
        The Oracle 12c dialect.

        This dialect is available in commercial jOOQ distributions, only.

      • ORACLE18C

        @Pro
        public static final SQLDialect ORACLE18C
        The Oracle 18c dialect.

        This dialect is available in commercial jOOQ distributions, only.

      • ORACLE20C

        @Pro
        public static final SQLDialect ORACLE20C
        The Oracle 20c dialect.

        This dialect is available in commercial jOOQ distributions, only.

      • POSTGRESPLUS

        @Deprecated
        @Pro
        public static final SQLDialect POSTGRESPLUS
        Deprecated.
        - This dialect is not yet supported by jOOQ.
        The Postgres Plus dialect family.

        This dialect is available in commercial jOOQ distributions, only.

      • REDSHIFT

        @Pro
        public static final SQLDialect REDSHIFT
        The Amazon Redshift dialect.

        This dialect is available in commercial jOOQ distributions, only.

      • SQLSERVER

        @Pro
        public static final SQLDialect SQLSERVER
        The SQL Server dialect family.

        This family behaves like the versioned dialect SQLSERVER2017.

        Use this family (or its dialects) for SQL Server or Azure SQL Database.

        This dialect is available in commercial jOOQ distributions, only.

      • SQLSERVER2008

        @Pro
        public static final SQLDialect SQLSERVER2008
        The SQL Server 2008 dialect.

        Use this family (or its dialects) for SQL Server or Azure SQL Database.

        This dialect is available in commercial jOOQ distributions, only.

      • SQLSERVER2012

        @Pro
        public static final SQLDialect SQLSERVER2012
        The SQL Server 2012 dialect.

        Use this family (or its dialects) for SQL Server or Azure SQL Database.

        This dialect is available in commercial jOOQ distributions, only.

      • SQLSERVER2014

        @Pro
        public static final SQLDialect SQLSERVER2014
        The SQL Server 2014 dialect.

        Use this family (or its dialects) for SQL Server or Azure SQL Database.

        This dialect is available in commercial jOOQ distributions, only.

      • SQLSERVER2016

        @Pro
        public static final SQLDialect SQLSERVER2016
        The SQL Server 2016 dialect.

        Use this family (or its dialects) for SQL Server or Azure SQL Database.

        This dialect is available in commercial jOOQ distributions, only.

      • SQLSERVER2017

        @Pro
        public static final SQLDialect SQLSERVER2017
        The SQL Server 2016 dialect.

        Use this family (or its dialects) for SQL Server or Azure SQL Database.

        This dialect is available in commercial jOOQ distributions, only.

      • SQLDATAWAREHOUSE

        @Pro
        public static final SQLDialect SQLDATAWAREHOUSE
        The SQL Data Warehouse (Azure Synapse Analytics) family.

        This dialect is available in commercial jOOQ distributions, only.

      • SYBASE

        @Pro
        public static final SQLDialect SYBASE
        The Sybase SQL Anywhere dialect family.

        This dialect is available in commercial jOOQ distributions, only.

      • TERADATA

        @Pro
        public static final SQLDialect TERADATA
        The Teradata dialect family.

        This dialect is available in commercial jOOQ distributions, only.

      • VERTICA

        @Pro
        public static final SQLDialect VERTICA
        The Vertica dialect family.

        This dialect is available in commercial jOOQ distributions, only.

    • Method Detail

      • values

        public static SQLDialect[] values()
        Returns an array containing the constants of this enum type, in the order they are declared. This method may be used to iterate over the constants as follows:
        for (SQLDialect c : SQLDialect.values())
            System.out.println(c);
        
        Returns:
        an array containing the constants of this enum type, in the order they are declared
      • valueOf

        public static SQLDialect valueOf​(String name)
        Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)
        Parameters:
        name - the name of the enum constant to be returned.
        Returns:
        the enum constant with the specified name
        Throws:
        IllegalArgumentException - if this enum type has no constant with the specified name
        NullPointerException - if the argument is null
      • families

        @NotNull
        public static final @NotNull SQLDialect[] families()
        Get a list of all family() values.
      • predecessors

        @NotNull
        public static final @NotNull Set<SQLDialect> predecessors​(SQLDialect... dialects)
        Get a set of dialects preceding a given set of dialects.

        The resulting set of dialects contain all the families and dialect versions that precede the argument dialects.

      • supportedUntil

        @NotNull
        public static final @NotNull Set<SQLDialect> supportedUntil​(SQLDialect dialect)
        Get a set of supported dialect versions and predecessors given a dialect version.

        The resulting set of dialects contain all the families and dialect versions that precede the argument dialect.

      • supportedUntil

        @NotNull
        public static final @NotNull Set<SQLDialect> supportedUntil​(SQLDialect... dialects)
        Get a set of supported dialect versions and predecessors given a dialect version.

        The resulting set of dialects contain all the families and dialect versions that precede the argument dialect.

      • supportedBy

        @NotNull
        public static final @NotNull Set<SQLDialect> supportedBy​(SQLDialect dialect)
        Get a set of supported dialect versions and successors given a dialect version.

        The resulting set of dialects contain all the families and dialect versions that support the argument dialect, i.e. that succeed it.

      • supportedBy

        @NotNull
        public static final @NotNull Set<SQLDialect> supportedBy​(SQLDialect... dialects)
        Get a set of supported dialect versions and successors given a set of dialect versions.

        The resulting set of dialects contain all the families and dialect versions that support the argument dialects, i.e. that succeed them.

      • commercial

        public final boolean commercial()
        Whether this dialect is supported with the jOOQ commercial license only.
      • supported

        public final boolean supported()
        Whether this dialect is supported by jOOQ as an output dialect.

        Unsupported, non-output dialects include:

      • family

        @NotNull
        public final @NotNull SQLDialect family()
        The dialect family.

        This returns the dialect itself, if it has no "parent family". E.g.

         SQLSERVER == SQLSERVER2012.family();
         SQLSERVER == SQLSERVER2008.family();
         SQLSERVER == SQLSERVER.family();
         
      • isFamily

        public final boolean isFamily()
        Whether this dialect is a family().
      • predecessor

        @NotNull
        public final @NotNull SQLDialect predecessor()
        The predecessor dialect.

        If this is a dialect version (e.g. POSTGRES_9_4) within a family (e.g. POSTGRES), then the predecessor will point to the historically previous dialect version (e.g. POSTGRES_9_3) within the same family, or to the dialect itself if there was no predecessor explicitly supported by jOOQ.

      • predecessors

        @NotNull
        public final @NotNull Set<SQLDialect> predecessors()
        The predecessor dialects.

        Recursively calls predecessor() and finds all the preceding dialects to this one, including this one.

      • precedes

        public final boolean precedes​(SQLDialect other)
        Whether this dialect precedes an other dialect from the same family.

        This returns:

        • true if this dialect is the same as the other dialect
        • true if this dialect precedes the other dialect via any number of calls to predecessor()
        The above also implies that:
        • false if the two dialects do not belong to the same family

        This is useful to see if some feature is supported by "at least" a given dialect version. Example:

         // Do this block only if the chosen dialect supports PostgreSQL 9.4+ features
         if (POSTGRES_9_4.precedes(dialect)) {
         }
        
         // Do this block only if the chosen dialect supports PostgreSQL 9.3+ features
         else if (POSTGRES_9_3.precedes(dialect)) {
         }
        
         // Fall back to pre-PostgreSQL 9.3 behaviour
         else {
         }
         
      • supports

        public final boolean supports​(SQLDialect other)
        Check whether this dialect supports another one.

        This is:

        • false if dialects don't belong to the same family
        • true if either dialect isFamily()
        • true if other dialect precedes this dialect

        The other argument dialect is typically referenced from a Support annotation, whereas this dialect is the user dialect.

      • getName

        @NotNull
        public final @NotNull String getName()
        The name of this dialect as it appears in related class names.
      • getNameLC

        @NotNull
        public final @NotNull String getNameLC()
        The name of this dialect as it appears in related package names.
      • getNameUC

        @NotNull
        public final @NotNull String getNameUC()
        The name of this dialect as it appears in related enum values.