Skip to content

Commit

Permalink
0004725: Using same column twice in sync key names gets error
Browse files Browse the repository at this point in the history
  • Loading branch information
erilong committed Dec 29, 2020
1 parent 338070b commit 1dd3055
Show file tree
Hide file tree
Showing 2 changed files with 10 additions and 4 deletions.
Expand Up @@ -769,12 +769,15 @@ protected String eval(boolean condition, String prop, String ddl) {

protected String aliasedPrimaryKeyJoin(String aliasOne, String aliasTwo, Column[] columns) {
StringBuilder b = new StringBuilder();
boolean isFirst = true;
for (Column column : columns) {
b.append(aliasOne).append(".\"").append(column.getName()).append("\"");
b.append("=").append(aliasTwo).append(".\"").append(column.getName()).append("\"");
if (!column.equals(columns[columns.length - 1])) {
if (isFirst) {
isFirst = false;
} else {
b.append(" and ");
}
b.append(aliasOne).append(".\"").append(column.getName()).append("\"");
b.append("=").append(aliasTwo).append(".\"").append(column.getName()).append("\"");
}

return b.toString();
Expand Down
Expand Up @@ -655,7 +655,10 @@ private List<String> getSyncKeyNamesAsList() {
StringTokenizer tokenizer = new StringTokenizer(syncKeyNames, ",");
List<String> columnNames = new ArrayList<String>(tokenizer.countTokens());
while (tokenizer.hasMoreTokens()) {
columnNames.add(tokenizer.nextToken().toLowerCase().trim());
String columnName = tokenizer.nextToken().toLowerCase().trim();
if (!columnNames.contains(columnName)) {
columnNames.add(columnName);
}
}
return columnNames;
} else {
Expand Down

0 comments on commit 1dd3055

Please sign in to comment.