diff --git a/symmetric-db/src/main/java/org/jumpmind/db/model/TypeMap.java b/symmetric-db/src/main/java/org/jumpmind/db/model/TypeMap.java index 6e1bd95014..cb910ec427 100644 --- a/symmetric-db/src/main/java/org/jumpmind/db/model/TypeMap.java +++ b/symmetric-db/src/main/java/org/jumpmind/db/model/TypeMap.java @@ -117,7 +117,8 @@ public abstract class TypeMap public static final String NCLOB = "NCLOB"; public static final String IMAGE = "IMAGE"; public static final String DATETIME2 = "DATETIME2"; - + public static final String TSVECTOR = "TSVECTOR"; + /** Maps type names to the corresponding {@link java.sql.Types} constants. */ private static HashMap _typeNameToTypeCode = new HashMap(); diff --git a/symmetric-db/src/main/java/org/jumpmind/db/platform/postgresql/PostgreSqlDmlStatement.java b/symmetric-db/src/main/java/org/jumpmind/db/platform/postgresql/PostgreSqlDmlStatement.java index 0d40afb65d..a2a5b7db15 100644 --- a/symmetric-db/src/main/java/org/jumpmind/db/platform/postgresql/PostgreSqlDmlStatement.java +++ b/symmetric-db/src/main/java/org/jumpmind/db/platform/postgresql/PostgreSqlDmlStatement.java @@ -125,6 +125,8 @@ protected void appendColumnParameter(StringBuilder sql, Column column) { column.getJdbcTypeName().toUpperCase().contains(TypeMap.GEOMETRY) || column.getJdbcTypeName().toUpperCase().contains(TypeMap.GEOGRAPHY))) { sql.append("ST_GEOMFROMTEXT(?)").append(","); + } else if (column.getJdbcTypeName().toUpperCase().contains(TypeMap.TSVECTOR)) { + sql.append("cast(? as tsvector)").append(","); } else { super.appendColumnParameter(sql, column); } @@ -148,6 +150,8 @@ protected void appendColumnEquals(StringBuilder sql, Column column) { column.getJdbcTypeName().toUpperCase().contains(TypeMap.GEOGRAPHY)) { sql.append(quote).append(column.getName()).append(quote) .append(" = ST_GEOMFROMTEXT(?)"); + } else if (column.getJdbcTypeName().toUpperCase().contains(TypeMap.TSVECTOR)) { + sql.append(quote).append(column.getName()).append(quote).append(" = cast(? as tsvector)"); } else { super.appendColumnEquals(sql, column); }