7e88d971aeed23ac14b271ba65bbc2d0514d0378 galt Tue Jan 30 01:19:50 2018 -0800 little cleanup. diff --git src/hg/lib/annoStreamDb.c src/hg/lib/annoStreamDb.c index eb62ee3..906ee83 100644 --- src/hg/lib/annoStreamDb.c +++ src/hg/lib/annoStreamDb.c @@ -185,38 +185,38 @@ { return (sameString(dtf->database, self->db) && sameString(dtf->table, self->trackTable) && differentString(self->table, self->trackTable)); } static void appendFieldList(struct annoStreamDb *self, struct dyString *query) /* Append SQL field list to query. */ { struct joinerDtf *fieldList = self->joinMixer ? self->joinMixer->sqlFieldList : self->mainTableDtfList; struct joinerDtf *dtf; for (dtf = fieldList; dtf != NULL; dtf = dtf->next) { if (dtf != fieldList) - dyStringAppendC(query, ','); + sqlDyStringPrintf(query, ","); if (useSplitTable(self, dtf)) - dyStringPrintf(query, "%s.%s", self->table, dtf->field); + sqlDyStringPrintf(query, "%s.%s", self->table, dtf->field); else { char dtfString[PATH_LEN]; joinerDtfToSqlFieldString(dtf, self->db, dtfString, sizeof(dtfString)); - dyStringAppend(query, dtfString); + sqlDyStringPrintf(query, "%s", dtfString); } } } static void ignoreEndIndexIfNecessary(struct annoStreamDb *self, char *dbTable, struct dyString *query) /* Don't let mysql use a (chrom, chromEnd) index because that messes up sorting by chromStart. */ { if (sameString(dbTable, self->trackTable) && self->endFieldIndexName != NULL) sqlDyStringPrintf(query, " IGNORE INDEX (%s) ", self->endFieldIndexName); } static void appendOneTable(struct annoStreamDb *self, struct joinerDtf *dt, struct dyString *query) /* Add the (db.)table string from dt to query; if dt is NULL or table is split then * use self->table. */ @@ -274,35 +274,35 @@ static boolean appendTableList(struct annoStreamDb *self, struct dyString *query) /* Append SQL table list to query, including tables used for output, filtering and joining. */ { boolean hasLeftJoin = FALSE; if (self->joinMixer == NULL || self->joinMixer->sqlRouteList == NULL) appendOneTable(self, NULL, query); else { // Use both a and b of the first pair and only b of each subsequent pair appendOneTable(self, self->joinMixer->sqlRouteList->a, query); appendJoin(self, self->joinMixer->sqlRouteList, query); hasLeftJoin = TRUE; } if (self->rightJoinDtf) { - dyStringAppend(query, " join "); + sqlDyStringPrintf(query, " join "); appendOneTable(self, self->rightJoinDtf, query); char rjField[PATH_LEN]; joinerDtfToSqlFieldString(self->rightJoinDtf, self->db, rjField, sizeof(rjField)); - dyStringPrintf(query, " on %s = %s.%s", rjField, self->table, self->rightJoinMainField); + sqlDyStringPrintf(query, " on %s = %s.%s", rjField, self->table, self->rightJoinMainField); } return hasLeftJoin; } // libify? static struct joinerDtf *joinerDtfCloneList(struct joinerDtf *listIn) /* Return a list with cloned items of listIn. */ { struct joinerDtf *listOut = NULL, *item; for (item = listIn; item != NULL; item = item->next) slAddHead(&listOut, joinerDtfClone(item)); slReverse(&listOut); return listOut; } @@ -335,31 +335,31 @@ joinerDtfFreeList(&outputFieldList); } else { self->sqlRowSize = slCount(self->mainTableDtfList); self->bigRowSize = self->sqlRowSize; } } static void asdUpdateBaselineQuery(struct annoStreamDb *self) /* Build a dy SQL query with no position constraints (select ... from ...) * possibly including joins and filters if specified (where ...), using the current splitTable. */ { struct dyString *query = sqlDyStringCreate("select "); appendFieldList(self, query); -dyStringAppend(query, " from "); +sqlDyStringPrintf(query, " from "); self->hasLeftJoin = appendTableList(self, query); boolean hasWhere = FALSE; self->baselineQuery = dyStringCannibalize(&query); self->baselineQueryHasWhere = hasWhere; // Don't free joiner; we need its storage of joinerFields. } static void addBinToQuery(struct annoStreamDb *self, uint start, uint end, struct dyString *query) /* If applicable, add bin range constraints to query with explicit table name, in case we're * joining with another table that has a bin column. */ { if (self->hasBin) { // Get the bin constraints with no table specification: struct dyString *binConstraints = dyStringNew(0);