From 74d5c3a6589e2f58e466938681fc4e08b92ce0c6 Mon Sep 17 00:00:00 2001 From: lukaseder Date: Thu, 14 May 2015 15:07:39 +0200 Subject: [PATCH] [#1350] Add support for the VERTICA database --- .../main/java/org/jooq/util/Databases.java | 57 ++++++++++++------- jOOQ/src/main/java/org/jooq/SQLDialect.java | 7 +++ .../main/java/org/jooq/impl/SQLDataType.java | 2 + .../java/org/jooq/tools/jdbc/JDBCUtils.java | 6 ++ 4 files changed, 53 insertions(+), 19 deletions(-) diff --git a/jOOQ-meta/src/main/java/org/jooq/util/Databases.java b/jOOQ-meta/src/main/java/org/jooq/util/Databases.java index 432a83dbf5..32b6ea7165 100644 --- a/jOOQ-meta/src/main/java/org/jooq/util/Databases.java +++ b/jOOQ-meta/src/main/java/org/jooq/util/Databases.java @@ -56,9 +56,11 @@ import org.jooq.util.mariadb.MariaDBDatabase; import org.jooq.util.mysql.MySQLDatabase; // ... import org.jooq.util.postgres.PostgresDatabase; +// ... import org.jooq.util.sqlite.SQLiteDatabase; // ... // ... +// ... /** * A common utility class that provides access to various {@link Database} @@ -71,31 +73,48 @@ public class Databases { /** * Get a reference to a {@link Database} class for a given {@link SQLDialect}. */ + @SuppressWarnings("deprecation") public static final Class databaseClass(SQLDialect dialect) { Class result = JDBCDatabase.class; - switch (dialect.family()) { + switch (dialect) { /* [pro] xx - xxxx xxxxxxx xxxxxx x xxxxxxxxxxxxxxxxxxx xxxxxx - xxxx xxxx xxxxxx x xxxxxxxxxxxxxxxxxx xxxxxx - xxxx xxxx xxxxxx x xxxxxxxxxxxxxxxxxx xxxxxx - xxxx xxxxx xxxxxx x xxxxxxxxxxxxxxxxxxx xxxxxx - xxxx xxxxxxxxx xxxxxx x xxxxxxxxxxxxxxxxxxxxxxx xxxxxx - xxxx xxxxxxx xxxxxx x xxxxxxxxxxxxxxxxxxxxx xxxxxx - xxxx xxxxxxx xxxxxx x xxxxxxxxxxxxxxxxxxxxx xxxxxx - xxxx xxxxxxxxxx xxxxxx x xxxxxxxxxxxxxxxxxxxxxxxx xxxxxx - xxxx xxxxxxx xxxxxx x xxxxxxxxxxxxxxxxxxxxx xxxxxx + xxxx xxxxxxxxxxx + xxxx xxxxxxx xxxxxx x xxxxxxxxxxxxxxxxxxx xxxxxx + xxxx xxxx xxxxxx x xxxxxxxxxxxxxxxxxx xxxxxx + xxxx xxxxxx + xxxx xxxxxxx + xxxx xxxx xxxxxx x xxxxxxxxxxxxxxxxxx xxxxxx + xxxx xxxxx xxxxxx x xxxxxxxxxxxxxxxxxxx xxxxxx + xxxx xxxxxxxxx xxxxxx x xxxxxxxxxxxxxxxxxxxxxxx xxxxxx + xxxx xxxxxxx xxxxxx x xxxxxxxxxxxxxxxxxxxxx xxxxxx + xxxx xxxxxxxxxx + xxxx xxxxxxxxxx + xxxx xxxxxxxxxx + xxxx xxxxxxx xxxxxx x xxxxxxxxxxxxxxxxxxxxx xxxxxx + xxxx xxxxxxxxx xxxxxx x xxxxxxxxxxxxxxxxxxxxxxx xxxxxx + xxxx xxxxxxxxxxxxxx + xxxx xxxxxxxxxxxxxx + xxxx xxxxxxxxxxxxxx + xxxx xxxxxxxxxx xxxxxx x xxxxxxxxxxxxxxxxxxxxxxxx xxxxxx + xxxx xxxxxxx xxxxxx x xxxxxxxxxxxxxxxxxxxxx xxxxxx + xxxx xxxxxxxx xxxxxx x xxxxxxxxxxxxxxxxxxxxxx xxxxxx xx [/pro] */ - case CUBRID: result = CUBRIDDatabase.class; break; - case DERBY: result = DerbyDatabase.class; break; - case FIREBIRD: result = FirebirdDatabase.class; break; - case H2: result = H2Database.class; break; - case HSQLDB: result = HSQLDBDatabase.class; break; - case MARIADB: result = MariaDBDatabase.class; break; - case MYSQL: result = MySQLDatabase.class; break; - case POSTGRES: result = PostgresDatabase.class; break; - case SQLITE: result = SQLiteDatabase.class; break; + case CUBRID: result = CUBRIDDatabase.class; break; + case DERBY: result = DerbyDatabase.class; break; + case FIREBIRD: result = FirebirdDatabase.class; break; + case H2: result = H2Database.class; break; + case HSQLDB: result = HSQLDBDatabase.class; break; + case MARIADB: result = MariaDBDatabase.class; break; + case MYSQL: result = MySQLDatabase.class; break; + case POSTGRES_9_3: + case POSTGRES_9_4: + case POSTGRES: result = PostgresDatabase.class; break; + case SQLITE: result = SQLiteDatabase.class; break; + + case DEFAULT: + case SQL99: result = JDBCDatabase.class; break; } return result; diff --git a/jOOQ/src/main/java/org/jooq/SQLDialect.java b/jOOQ/src/main/java/org/jooq/SQLDialect.java index 061c06625d..858b9a8f60 100644 --- a/jOOQ/src/main/java/org/jooq/SQLDialect.java +++ b/jOOQ/src/main/java/org/jooq/SQLDialect.java @@ -275,6 +275,13 @@ public enum SQLDialect { xx xxxxxxxxxxxxxxxx xxxxxx + xxx + x xxx xxxxxxx xxxxxxx xxxxxxx + x xxx + x xxxx xxxxxxx xx xxxxxxxxx xx xxxxxxxxxx xxxx xxxxxxxxxxxxxx xxxxx + xx + xxxxxxxxxxxxxxxxxx xxxxxx + xx [/pro] */ ; diff --git a/jOOQ/src/main/java/org/jooq/impl/SQLDataType.java b/jOOQ/src/main/java/org/jooq/impl/SQLDataType.java index 89873ba843..077f1e207f 100644 --- a/jOOQ/src/main/java/org/jooq/impl/SQLDataType.java +++ b/jOOQ/src/main/java/org/jooq/impl/SQLDataType.java @@ -77,6 +77,7 @@ import org.jooq.util.postgres.PostgresDataType; import org.jooq.util.sqlite.SQLiteDataType; // ... // ... +// ... @@ -341,6 +342,7 @@ public final class SQLDataType { xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx + xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xx [/pro] */ Class.forName(CUBRIDDataType.class.getName()); Class.forName(DerbyDataType.class.getName()); diff --git a/jOOQ/src/main/java/org/jooq/tools/jdbc/JDBCUtils.java b/jOOQ/src/main/java/org/jooq/tools/jdbc/JDBCUtils.java index 6cacc56969..afb18dfb30 100644 --- a/jOOQ/src/main/java/org/jooq/tools/jdbc/JDBCUtils.java +++ b/jOOQ/src/main/java/org/jooq/tools/jdbc/JDBCUtils.java @@ -59,6 +59,7 @@ import static org.jooq.SQLDialect.POSTGRES; import static org.jooq.SQLDialect.SQLITE; // ... // ... +// ... import java.sql.Array; import java.sql.Blob; @@ -200,6 +201,9 @@ public class JDBCUtils { xxxx xx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx x xxxxxx xxxxxxx x + xxxx xx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx x + xxxxxx xxxxxxxx + x xx [/pro] */ return DEFAULT; @@ -250,6 +254,8 @@ public class JDBCUtils { xxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxx xxxxxxx xxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx + xxxx xxxxxxxx + xxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxx xx [/pro] */ }