From 16576dbe27092a5db7f67e313dbd1a52d7d8a8be Mon Sep 17 00:00:00 2001 From: Lukas Eder Date: Sun, 19 Aug 2012 12:45:08 +0200 Subject: [PATCH] [#430] Add support for the Firebird database - Fixed bind value casting --- jOOQ/src/main/java/org/jooq/impl/SQLDataType.java | 2 ++ jOOQ/src/main/java/org/jooq/impl/Val.java | 1 + .../main/java/org/jooq/util/firebird/FirebirdDataType.java | 4 ++-- 3 files changed, 5 insertions(+), 2 deletions(-) diff --git a/jOOQ/src/main/java/org/jooq/impl/SQLDataType.java b/jOOQ/src/main/java/org/jooq/impl/SQLDataType.java index 158b736d1e..b94d5c8e2d 100644 --- a/jOOQ/src/main/java/org/jooq/impl/SQLDataType.java +++ b/jOOQ/src/main/java/org/jooq/impl/SQLDataType.java @@ -55,6 +55,7 @@ import org.jooq.util.ase.ASEDataType; import org.jooq.util.cubrid.CUBRIDDataType; import org.jooq.util.db2.DB2DataType; import org.jooq.util.derby.DerbyDataType; +import org.jooq.util.firebird.FirebirdDataType; import org.jooq.util.h2.H2DataType; import org.jooq.util.hsqldb.HSQLDBDataType; import org.jooq.util.ingres.IngresDataType; @@ -313,6 +314,7 @@ public final class SQLDataType extends AbstractDataType { Class.forName(CUBRIDDataType.class.getName()); Class.forName(DB2DataType.class.getName()); Class.forName(DerbyDataType.class.getName()); + Class.forName(FirebirdDataType.class.getName()); Class.forName(H2DataType.class.getName()); Class.forName(HSQLDBDataType.class.getName()); Class.forName(IngresDataType.class.getName()); diff --git a/jOOQ/src/main/java/org/jooq/impl/Val.java b/jOOQ/src/main/java/org/jooq/impl/Val.java index de548b843c..be95442d1b 100644 --- a/jOOQ/src/main/java/org/jooq/impl/Val.java +++ b/jOOQ/src/main/java/org/jooq/impl/Val.java @@ -155,6 +155,7 @@ class Val extends AbstractField implements Param { case DERBY: // These dialects have some trouble, when they mostly get it right. + case FIREBIRD: case H2: case HSQLDB: diff --git a/jOOQ/src/main/java/org/jooq/util/firebird/FirebirdDataType.java b/jOOQ/src/main/java/org/jooq/util/firebird/FirebirdDataType.java index b96e3c7be1..132a0d64d2 100644 --- a/jOOQ/src/main/java/org/jooq/util/firebird/FirebirdDataType.java +++ b/jOOQ/src/main/java/org/jooq/util/firebird/FirebirdDataType.java @@ -77,8 +77,8 @@ public class FirebirdDataType extends AbstractDataType { public static final FirebirdDataType BOOLEAN = new FirebirdDataType(SQLDataType.BOOLEAN, "boolean"); public static final FirebirdDataType DECIMAL = new FirebirdDataType(SQLDataType.DECIMAL, "decimal"); public static final FirebirdDataType NUMERIC = new FirebirdDataType(SQLDataType.NUMERIC, "numeric"); - public static final FirebirdDataType VARCHAR = new FirebirdDataType(SQLDataType.VARCHAR, "varchar"); - public static final FirebirdDataType CHARACTERVARYING = new FirebirdDataType(SQLDataType.VARCHAR, "character varying"); + public static final FirebirdDataType VARCHAR = new FirebirdDataType(SQLDataType.VARCHAR, "varchar", "varchar(32672)"); + public static final FirebirdDataType CHARACTERVARYING = new FirebirdDataType(SQLDataType.VARCHAR, "character varying", "varchar(32672)"); public static final FirebirdDataType CHAR = new FirebirdDataType(SQLDataType.CHAR, "char"); public static final FirebirdDataType CHARACTER = new FirebirdDataType(SQLDataType.CHAR, "character"); public static final FirebirdDataType CLOB = new FirebirdDataType(SQLDataType.CLOB, "blob sub_type text");