c3c923b6c7177c78d5dd26d21f0c623a528ae6fe
chmalee
  Tue Oct 31 14:49:09 2023 -0700
Fix one bug found by Angie for historical transcript querying, should be checking for empty result, not NotEmpty result. Also sort quick query when user does not include a transcript version to order the results by newest historical transcripts first

diff --git src/hg/lib/hgHgvs.c src/hg/lib/hgHgvs.c
index 2f8945a..504172b 100644
--- src/hg/lib/hgHgvs.c
+++ src/hg/lib/hgHgvs.c
@@ -1378,34 +1378,34 @@
     char *p = strchr(acc, '.');
     if (p)
         foundVersion = atoi(p+1);
     }
 else if (hDbHasNcbiRefSeq(db))
     {
     // ncbiRefSeq tables need versioned accessions.
     if (strchr(acc, '.'))
         normalizedAcc = cloneString(acc);
     else
         {
         char query[2048];
         sqlSafef(query, sizeof(query), "select name from ncbiRefSeq where name like '%s.%%'", acc);
         struct sqlConnection *conn = hAllocConn(db);
         normalizedAcc = sqlQuickString(conn, query);
-        if (isNotEmpty(normalizedAcc) && hDbHasNcbiRefSeqHistorical(db))
+        if (isEmpty(normalizedAcc) && hDbHasNcbiRefSeqHistorical(db))
             {
             // maybe it is a deprecated transcript
-            sqlSafef(query, sizeof(query), "select name from ncbiRefSeqHistorical where name like '%s.%%'", acc);
+            sqlSafef(query, sizeof(query), "select name from ncbiRefSeqHistorical where name like '%s.%%' order by name desc", acc);
             normalizedAcc = sqlQuickString(conn, query);
             }
         hFreeConn(&conn);
         }
     if (isNotEmpty(normalizedAcc))
         {
         char *p = strchr(normalizedAcc, '.');
         assert(p);
         foundVersion = atoi(p+1);
         }
     }
 else
     {
     // genbank tables -- no version
     normalizedAcc = cloneFirstWordByDelimiter(acc, '.');