35da6d0448c90196c627302cc1c33dc0e38bb74c
kent
  Wed Jul 10 11:44:46 2019 -0700
Tightening up sql query to find dataset so that it doesn't mess up having both 2019yeoRna and yeoRna.

diff --git src/hg/cirm/cdw/cdwRenameDataset/cdwRenameDataset.c src/hg/cirm/cdw/cdwRenameDataset/cdwRenameDataset.c
index 2e9fd87..115537f 100644
--- src/hg/cirm/cdw/cdwRenameDataset/cdwRenameDataset.c
+++ src/hg/cirm/cdw/cdwRenameDataset/cdwRenameDataset.c
@@ -45,35 +45,35 @@
     errAbort("%d %s found in %s in mustStrSwapOne, must occur once", subCount, oldStr, string);
 }
 
 void cdwRenameDataset(char *oldName, char *newName)
 /* cdwRenameDataset - Rename a dataset, updating cdwDataset, cdwSubmitDir.url, and cdwSubmit.url 
  * tables. */
 {
 /* Update entry in cdwDataset */
 struct sqlConnection *conn = cdwConnectReadWrite();
 char query[3*PATH_LEN];
 sqlSafef(query, sizeof(query), 
     "update cdwDataset set name='%s' where name ='%s'", newName, oldName);
 update(conn, query);
 
 /* Figure out submitDir that ends with the dataset name */
-sqlSafef(query, sizeof(query), "select count(*) from cdwSubmitDir where url like '/%%%s'", oldName);
+sqlSafef(query, sizeof(query), "select count(*) from cdwSubmitDir where url like '/%%/%s'", oldName);
 int dirCount = sqlQuickNum(conn, query);
 if (dirCount != 1)
     errAbort("Got %d cdwSubmitDir URLs ending in /%s, expecting 1", dirCount, oldName);
-sqlSafef(query, sizeof(query), "select id from cdwSubmitDir where url like '/%%%s'", oldName);
+sqlSafef(query, sizeof(query), "select id from cdwSubmitDir where url like '/%%/%s'", oldName);
 int submitDirId = sqlQuickNum(conn, query);
 
 /* Update cdwSubmitDir.url with substituted url. */
 sqlSafef(query, sizeof(query), "select url from cdwSubmitDir where id=%d", submitDirId);
 char *oldSubmitUrl = sqlQuickString(conn, query);
 char newUrl[2*PATH_LEN];
 safef(newUrl, sizeof(newUrl), "%s", oldSubmitUrl);
 mustStrSwapOne(newUrl, sizeof(newUrl), oldName, newName);
 sqlSafef(query, sizeof(query), "update cdwSubmitDir set url='%s' where id=%d", newUrl, submitDirId);
 update(conn, query);
 
 /* Update cdwSubmit.url with substituted url wherever it matches submitDir. */
 struct sqlConnection *conn2 = cdwConnectReadWrite();
 sqlSafef(query, sizeof(query), "select id,url from cdwSubmit where submitDirId=%d", submitDirId);
 struct sqlResult *sr = sqlGetResult(conn, query);