Skip to content

Commit

Permalink
0001979: broken replication on tables with uuid field
Browse files Browse the repository at this point in the history
  • Loading branch information
chenson42 committed Sep 18, 2014
1 parent 67100a9 commit 1093f7c
Show file tree
Hide file tree
Showing 4 changed files with 16 additions and 18 deletions.
Expand Up @@ -44,12 +44,12 @@ protected void appendColumnQuestion(StringBuilder sql, Column column) {
}

@Override
protected void appendColumnEquals(StringBuilder sql, Column column, String separator) {
protected void appendColumnEquals(StringBuilder sql, Column column) {
if (column.getJdbcTypeName().toUpperCase().contains(TypeMap.GEOMETRY)) {
sql.append(quote).append(column.getName()).append(quote).append(" = ")
.append("geomfromtext(?)").append(separator);
.append("geomfromtext(?)");
} else {
super.appendColumnEquals(sql, column, separator);
super.appendColumnEquals(sql, column);
}
}

Expand Down
Expand Up @@ -50,16 +50,15 @@ protected void appendColumnQuestion(StringBuilder sql, Column column) {
}

@Override
protected void appendColumnEquals(StringBuilder sql, Column column, String separator) {
protected void appendColumnEquals(StringBuilder sql, Column column) {
if (column.isTimestampWithTimezone()) {
sql.append(quote).append(column.getName()).append(quote)
.append(" = TO_TIMESTAMP_TZ(?, 'YYYY-MM-DD HH24:MI:SS.FF TZH:TZM')")
.append(separator);
.append(" = TO_TIMESTAMP_TZ(?, 'YYYY-MM-DD HH24:MI:SS.FF TZH:TZM')");
} else if (column.getJdbcTypeName().toUpperCase().contains(TypeMap.GEOMETRY)) {
sql.append(quote).append(column.getName()).append(quote).append(" = ")
.append("SYM_WKT2GEOM(?)").append(separator);
.append("SYM_WKT2GEOM(?)");
} else {
super.appendColumnEquals(sql, column, separator);
super.appendColumnEquals(sql, column);
}
}

Expand Down
Expand Up @@ -129,24 +129,24 @@ protected void appendColumnQuestion(StringBuilder sql, Column column) {
}

@Override
protected void appendColumnEquals(StringBuilder sql, Column column, String separator) {
protected void appendColumnEquals(StringBuilder sql, Column column) {
if (column.isTimestampWithTimezone()) {
sql.append(quote).append(column.getName()).append(quote)
.append(" = cast(? as timestamp with time zone)").append(separator);
.append(" = cast(? as timestamp with time zone)");
} else if (column.getJdbcTypeName().toUpperCase().contains(TypeMap.UUID)) {
sql.append(quote).append(column.getName()).append(quote)
.append(" = cast(? as uuid)").append(separator);
.append(" = cast(? as uuid)");
} else if (column.getJdbcTypeName().toUpperCase().contains(TypeMap.VARBIT)) {
sql.append(quote).append(column.getName()).append(quote)
.append(" = cast(? as bit varying)").append(separator);
.append(" = cast(? as bit varying)");
} else if (column.getJdbcTypeName().toUpperCase().contains(TypeMap.INTERVAL)) {
sql.append(quote).append(column.getName()).append(quote)
.append(" = cast(? as interval)").append(separator);
.append(" = cast(? as interval)");
} else if (column.getJdbcTypeName().toUpperCase().contains(TypeMap.GEOMETRY)) {
sql.append(quote).append(column.getName()).append(quote)
.append(" = ST_GEOMFROMTEXT(?)").append(separator);
.append(" = ST_GEOMFROMTEXT(?)");
} else {
super.appendColumnEquals(sql, column, separator);
super.appendColumnEquals(sql, column);
}
}

Expand Down
Expand Up @@ -251,7 +251,7 @@ protected void appendColumnsEquals(StringBuilder sql, Column[] columns, boolean[
sql.append(separator);
}
if (!nullColumns[i]) {
appendColumnEquals(sql, columns[i], separator);
appendColumnEquals(sql, columns[i]);
} else {
sql.append(quote).append(columns[i].getName()).append(quote)
.append(" is NULL");
Expand All @@ -261,8 +261,7 @@ protected void appendColumnsEquals(StringBuilder sql, Column[] columns, boolean[
}
}

protected void appendColumnEquals(StringBuilder sql, Column column,
String separator) {
protected void appendColumnEquals(StringBuilder sql, Column column) {
boolean textType = TypeMap.isTextType(column.getMappedTypeCode());
if (textType && isNotBlank(textColumnExpression)) {
sql.append(quote).append(column.getName()).append(quote).append(" = ").append(textColumnExpression.replace("$(columnName)", "?"));
Expand Down

0 comments on commit 1093f7c

Please sign in to comment.