struct splice *spliceLoad(char **row) /* Load a splice from row fetched with select * from splice * from database. Dispose of this with spliceFree(). */ { struct splice *ret; int sizeOne,i; char *s; AllocVar(ret); ret->vCount = sqlSigned(row[7]); ret->pathCount = sqlSigned(row[10]); ret->tName = cloneString(row[0]); ret->tStart = sqlSigned(row[1]); ret->tEnd = sqlSigned(row[2]); ret->name = cloneString(row[3]); ret->type = sqlSigned(row[4]); strcpy(ret->strand, row[5]); ret->agxId = sqlSigned(row[6]); sqlSignedDynamicArray(row[8], &ret->vPositions, &sizeOne); assert(sizeOne == ret->vCount); sqlUbyteDynamicArray(row[9], &ret->vTypes, &sizeOne); assert(sizeOne == ret->vCount); s = row[11]; for (i=0; i<ret->pathCount; ++i) { s = sqlEatChar(s, '{'); slSafeAddHead(&ret->paths, pathCommaIn(&s, NULL)); s = sqlEatChar(s, '}'); s = sqlEatChar(s, ','); } slReverse(&ret->paths); return ret; }
struct autoTest *autoTestLoad(char **row) /* Load a autoTest from row fetched with select * from autoTest * from database. Dispose of this with autoTestFree(). */ { struct autoTest *ret; AllocVar(ret); ret->ptCount = sqlSigned(row[5]); ret->difCount = sqlSigned(row[7]); ret->valCount = sqlSigned(row[10]); ret->id = sqlUnsigned(row[0]); safecpy(ret->shortName, sizeof(ret->shortName), row[1]); ret->longName = cloneString(row[2]); { char *s = cloneString(row[3]); sqlStringArray(s, ret->aliases, 3); } { char *s = row[4]; if(s != NULL && differentString(s, "")) ret->threeD = pointCommaIn(&s, NULL); } { int sizeOne; sqlShortDynamicArray(row[6], &ret->pts, &sizeOne); assert(sizeOne == ret->ptCount); } { int sizeOne; sqlUbyteDynamicArray(row[8], &ret->difs, &sizeOne); assert(sizeOne == ret->difCount); } sqlSignedArray(row[9], ret->xy, 2); { int sizeOne; sqlStringDynamicArray(row[11], &ret->vals, &sizeOne); assert(sizeOne == ret->valCount); } ret->dblVal = sqlDouble(row[12]); ret->fltVal = sqlFloat(row[13]); { int sizeOne; sqlDoubleDynamicArray(row[14], &ret->dblArray, &sizeOne); assert(sizeOne == ret->valCount); } { int sizeOne; sqlFloatDynamicArray(row[15], &ret->fltArray, &sizeOne); assert(sizeOne == ret->valCount); } return ret; }