// creates LOB handle in string format. void ExpLOBoper::createLOBhandleString(Int16 flags, Lng32 lobType, Int64 uid, Lng32 lobNum, Int64 descKey, Int64 descTS, short schNameLen, char * schName, char * lobHandleBuf) { str_sprintf(lobHandleBuf, "LOBH%04d%02d%04d%020Ld%02d%Ld%02d%Ld%03d%s", flags, lobType, lobNum, uid, findNumDigits(descKey), descKey, findNumDigits(descTS), descTS, schNameLen, schName); /* str_sprintf(lobHandleBuf, "LOBH%04d%020Ld%04d%02d%Ld%02d%Ld%03d%s", flags, uid, lobNum, findNumDigits(descKey), descKey, findNumDigits(descTS), descTS, schNameLen, schName); */ }
INT digitAt(INT pos) { INT d = findNumDigits(pos); INT till = 0; for(INT i=1;i<d;++i) { till += totalDigits(i); } INT del = pos - till - 1; INT loc = d - (del % d) - 1; INT val = (del / d) + pow10(d-1); INT digit = getIthDigit(val, loc); printf("d=%lld del=%lld val=%lld loc=%lld digit=%lld\n", d, del, val, loc, digit); return digit; }