Skip to content

Commit c0cc423

Browse files
and for delete as well
1 parent 80ead23 commit c0cc423

1 file changed

Lines changed: 4 additions & 13 deletions

File tree

study/src/org/labkey/study/model/DatasetDefinition.java

Lines changed: 4 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -2527,7 +2527,6 @@ private HashMap<String, Object[]> checkAndDeleteDupes(DataIterator rows,
25272527
noDeleteMap.put(uniq,key);
25282528

25292529
// partial fix for 16647, we should handle the replace case differently (do we ever replace?)
2530-
String sep = "";
25312530
if (uriMap.size() < 10000 || Boolean.TRUE==replace)
25322531
{
25332532
idList.add(uniq);
@@ -2574,8 +2573,8 @@ private HashMap<String, Object[]> checkTargetDupesAndDelete(final boolean demogr
25742573

25752574
TableInfo tinfo = getStorageTableInfo(false);
25762575
SimpleFilter filter = new SimpleFilter();
2577-
SQLFragment inClause = tinfo.getSqlDialect().appendInClauseSql(new SQLFragment(demographic ?"ParticipantId":"LSID"), idList);
2578-
filter.addWhereClause(inClause);
2576+
SQLFragment checkInClause = tinfo.getSqlDialect().appendInClauseSql(new SQLFragment(demographic ?"ParticipantId":"LSID"), idList);
2577+
filter.addWhereClause(checkInClause);
25792578
if (isShared())
25802579
{
25812580
Container rowsContainer = getContainer();
@@ -2609,16 +2608,8 @@ private HashMap<String, Object[]> checkTargetDupesAndDelete(final boolean demogr
26092608
return null;
26102609

26112610
SimpleFilter deleteFilter = new SimpleFilter();
2612-
StringBuilder sbDelete = new StringBuilder();
2613-
String sep = "";
2614-
for (String s : deleteSet)
2615-
{
2616-
if (s.contains(("'")))
2617-
s = s.replaceAll("'","''");
2618-
sbDelete.append(sep).append("'").append(s).append("'");
2619-
sep = ", ";
2620-
}
2621-
deleteFilter.addWhereClause("LSID IN (" + sbDelete + ")", new Object[]{});
2611+
SQLFragment deleteInClause = tinfo.getSqlDialect().appendInClauseSql(new SQLFragment("LSID"), deleteSet);
2612+
deleteFilter.addWhereClause(deleteInClause);
26222613
Table.delete(tinfo, deleteFilter);
26232614

26242615
return null;

0 commit comments

Comments
 (0)