Lines Matching refs:pRec

84218     UnpackedRecord *pRec = p->ppRec[0];
84220 if( pRec==0 ){
84227 pRec = (UnpackedRecord*)sqlite3DbMallocZero(db, nByte);
84228 if( pRec ){
84229 pRec->pKeyInfo = sqlite3KeyInfoOfIndex(p->pParse, pIdx);
84230 if( pRec->pKeyInfo ){
84231 assert( pRec->pKeyInfo->nAllField==nCol );
84232 assert( pRec->pKeyInfo->enc==ENC(db) );
84233 pRec->aMem = (Mem *)((u8*)pRec + ROUND8(sizeof(UnpackedRecord)));
84235 pRec->aMem[i].flags = MEM_Null;
84236 pRec->aMem[i].db = db;
84239 sqlite3DbFreeNN(db, pRec);
84240 pRec = 0;
84243 if( pRec==0 ) return 0;
84244 p->ppRec[0] = pRec;
84247 pRec->nField = p->iVal+1;
84248 sqlite3VdbeMemSetNull(&pRec->aMem[p->iVal]);
84249 return &pRec->aMem[p->iVal];
84728 const void *pRec, /* Pointer to buffer containing record */
84739 u8 *a = (u8*)pRec; /* Typecast byte array */
84771 SQLITE_PRIVATE void sqlite3Stat4ProbeFree(UnpackedRecord *pRec){
84772 if( pRec ){
84774 int nCol = pRec->pKeyInfo->nAllField;
84775 Mem *aMem = pRec->aMem;
84780 sqlite3KeyInfoUnref(pRec->pKeyInfo);
84781 sqlite3DbFreeNN(db, pRec);
93433 static int alsoAnInt(Mem *pRec, double rValue, i64 *piValue){
93440 return 0==sqlite3Atoi64(pRec->z, piValue, pRec->n, pRec->enc);
93458 static void applyNumericAffinity(Mem *pRec, int bTryForInt){
93460 u8 enc = pRec->enc;
93462 assert( (pRec->flags & (MEM_Str|MEM_Int|MEM_Real|MEM_IntReal))==MEM_Str );
93463 rc = sqlite3AtoF(pRec->z, &rValue, pRec->n, enc);
93465 if( rc==1 && alsoAnInt(pRec, rValue, &pRec->u.i) ){
93466 pRec->flags |= MEM_Int;
93468 pRec->u.r = rValue;
93469 pRec->flags |= MEM_Real;
93470 if( bTryForInt ) sqlite3VdbeIntegerAffinity(pRec);
93476 pRec->flags &= ~MEM_Str;
93503 Mem *pRec, /* The value to apply affinity to */
93510 if( (pRec->flags & MEM_Int)==0 ){ /*OPTIMIZATION-IF-FALSE*/
93511 if( (pRec->flags & (MEM_Real|MEM_IntReal))==0 ){
93512 if( pRec->flags & MEM_Str ) applyNumericAffinity(pRec,1);
93514 sqlite3VdbeIntegerAffinity(pRec);
93523 if( 0==(pRec->flags&MEM_Str) ){ /*OPTIMIZATION-IF-FALSE*/
93524 if( (pRec->flags&(MEM_Real|MEM_Int|MEM_IntReal)) ){
93525 testcase( pRec->flags & MEM_Int );
93526 testcase( pRec->flags & MEM_Real );
93527 testcase( pRec->flags & MEM_IntReal );
93528 sqlite3VdbeMemStringify(pRec, enc, 1);
93531 pRec->flags &= ~(MEM_Real|MEM_Int|MEM_IntReal);
96496 Mem *pRec; /* The new record */
96545 pRec = pData0;
96547 applyAffinity(pRec, zAffinity[0], encoding);
96548 if( zAffinity[0]==SQLITE_AFF_REAL && (pRec->flags & MEM_Int) ){
96549 pRec->flags |= MEM_IntReal;
96550 pRec->flags &= ~(MEM_Int);
96552 REGISTER_TRACE((int)(pRec-aMem), pRec);
96554 pRec++;
96555 assert( zAffinity[0]==0 || pRec<=pLast );
96599 pRec = pLast;
96601 assert( memIsValid(pRec) );
96602 if( pRec->flags & MEM_Null ){
96603 if( pRec->flags & MEM_Zero ){
96613 pRec->uTemp = 10;
96615 pRec->uTemp = 0;
96618 }else if( pRec->flags & (MEM_Int|MEM_IntReal) ){
96620 i64 i = pRec->u.i;
96622 testcase( pRec->flags & MEM_Int );
96623 testcase( pRec->flags & MEM_IntReal );
96637 pRec->uTemp = 8+(u32)uu;
96640 pRec->uTemp = 1;
96644 pRec->uTemp = 2;
96647 pRec->uTemp = 3;
96650 pRec->uTemp = 4;
96653 pRec->uTemp = 5;
96656 if( pRec->flags & MEM_IntReal ){
96660 pRec->u.r = (double)pRec->u.i;
96661 pRec->flags &= ~MEM_IntReal;
96662 pRec->flags |= MEM_Real;
96663 pRec->uTemp = 7;
96665 pRec->uTemp = 6;
96668 }else if( pRec->flags & MEM_Real ){
96671 pRec->uTemp = 7;
96673 assert( db->mallocFailed || pRec->flags&(MEM_Str|MEM_Blob) );
96674 assert( pRec->n>=0 );
96675 len = (u32)pRec->n;
96676 serial_type = (len*2) + 12 + ((pRec->flags & MEM_Str)!=0);
96677 if( pRec->flags & MEM_Zero ){
96678 serial_type += pRec->u.nZero*2;
96680 if( sqlite3VdbeMemExpandBlob(pRec) ) goto no_mem;
96681 len += pRec->u.nZero;
96683 nZero += pRec->u.nZero;
96688 pRec->uTemp = serial_type;
96690 if( pRec==pData0 ) break;
96691 pRec--;
96747 pRec = pData0;
96749 serial_type = pRec->uTemp;
96761 assert( sizeof(v)==sizeof(pRec->u.r) );
96762 memcpy(&v, &pRec->u.r, sizeof(v));
96765 v = pRec->u.i;
96788 if( serial_type>=14 && pRec->n>0 ){
96789 assert( pRec->z!=0 );
96790 memcpy(zPayload, pRec->z, pRec->n);
96791 zPayload += pRec->n;
96795 if( pRec->n ){
96796 assert( pRec->z!=0 );
96797 memcpy(zPayload, pRec->z, pRec->n);
96798 zPayload += pRec->n;
96801 if( pRec==pLast ) break;
96802 pRec++;
157208 UnpackedRecord *pRec; /* Probe for stat4 (if required) */
163706 UnpackedRecord *pRec, /* Vector of values to consider */
163723 assert( pRec!=0 );
163725 assert( pRec->nField>0 );
163777 nField = MIN(pRec->nField, nField);
163797 pRec->nField = n;
163798 res = sqlite3VdbeRecordCompare(aSample[iSamp].n, aSample[iSamp].p, pRec);
163822 pRec->nField = nField;
163823 assert( 0==sqlite3VdbeRecordCompare(aSample[i].n, aSample[i].p, pRec)
163831 pRec->nField = iCol+1;
163833 || sqlite3VdbeRecordCompare(aSample[i].n, aSample[i].p, pRec)>0
163841 pRec->nField = iCol;
163842 assert( sqlite3VdbeRecordCompare(aSample[i].n, aSample[i].p, pRec)<=0
163846 pRec->nField = nField;
163847 assert( sqlite3VdbeRecordCompare(aSample[i-1].n, aSample[i-1].p, pRec)<0
163885 pRec->nField = nField;
164096 UnpackedRecord *pRec = pBuilder->pRec;
164125 if( pRec ){
164126 testcase( pRec->nField!=pBuilder->nRecValid );
164127 pRec->nField = pBuilder->nRecValid;
164136 whereKeyStats(pParse, p, pRec, 0, a);
164154 rc = sqlite3Stat4ProbeSetValue(pParse, p, &pRec, pExpr, nBtm, nEq, &n);
164159 iLwrIdx = whereKeyStats(pParse, p, pRec, 0, a);
164171 rc = sqlite3Stat4ProbeSetValue(pParse, p, &pRec, pExpr, nTop, nEq, &n);
164176 iUprIdx = whereKeyStats(pParse, p, pRec, 1, a);
164184 pBuilder->pRec = pRec;
164267 UnpackedRecord *pRec = pBuilder->pRec;
164291 rc = sqlite3Stat4ProbeSetValue(pParse, p, &pRec, pExpr, 1, nEq-1, &bOk);
164292 pBuilder->pRec = pRec;
164297 whereKeyStats(pParse, p, pRec, 0, a);
166160 sqlite3Stat4ProbeFree(pBuilder->pRec);
166162 pBuilder->pRec = 0;