// 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);
  */
}
Example #2
0
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;
}