Improve HSQLDBRepository.temporaryValuesTableSql to work with Collection, not just List

This commit is contained in:
catbref 2020-12-01 15:04:50 +00:00
parent c16a664a78
commit 778ac35ee6

View File

@ -16,6 +16,7 @@ import java.sql.Savepoint;
import java.sql.Statement; import java.sql.Statement;
import java.util.ArrayDeque; import java.util.ArrayDeque;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections; import java.util.Collections;
import java.util.Comparator; import java.util.Comparator;
import java.util.Deque; import java.util.Deque;
@ -820,15 +821,18 @@ public class HSQLDBRepository implements Repository {
* <p> * <p>
* (Convenience method for HSQLDB repository subclasses). * (Convenience method for HSQLDB repository subclasses).
*/ */
/* package */ static void temporaryValuesTableSql(StringBuilder stringBuilder, List<? extends Object> values, String tableName, String columnName) { /* package */ static void temporaryValuesTableSql(StringBuilder stringBuilder, Collection<?> values, String tableName, String columnName) {
stringBuilder.append("(VALUES "); stringBuilder.append("(VALUES ");
for (int i = 0; i < values.size(); ++i) { boolean first = true;
if (i != 0) for (Object value : values) {
if (first)
first = false;
else
stringBuilder.append(", "); stringBuilder.append(", ");
stringBuilder.append("("); stringBuilder.append("(");
stringBuilder.append(values.get(i)); stringBuilder.append(value);
stringBuilder.append(")"); stringBuilder.append(")");
} }