Lines Matching refs:pRec
70720 UnpackedRecord *pRec = p->ppRec[0];
70722 if( pRec==0 ){
70729 pRec = (UnpackedRecord*)sqlite3DbMallocZero(db, nByte);
70730 if( pRec ){
70731 pRec->pKeyInfo = sqlite3KeyInfoOfIndex(p->pParse, pIdx);
70732 if( pRec->pKeyInfo ){
70733 assert( pRec->pKeyInfo->nField+pRec->pKeyInfo->nXField==nCol );
70734 assert( pRec->pKeyInfo->enc==ENC(db) );
70735 pRec->aMem = (Mem *)((u8*)pRec + ROUND8(sizeof(UnpackedRecord)));
70737 pRec->aMem[i].flags = MEM_Null;
70738 pRec->aMem[i].db = db;
70741 sqlite3DbFree(db, pRec);
70742 pRec = 0;
70745 if( pRec==0 ) return 0;
70746 p->ppRec[0] = pRec;
70749 pRec->nField = p->iVal+1;
70750 return &pRec->aMem[p->iVal];
71226 const void *pRec, /* Pointer to buffer containing record */
71237 u8 *a = (u8*)pRec; /* Typecast byte array */
71269 SQLITE_PRIVATE void sqlite3Stat4ProbeFree(UnpackedRecord *pRec){
71270 if( pRec ){
71272 int nCol = pRec->pKeyInfo->nField+pRec->pKeyInfo->nXField;
71273 Mem *aMem = pRec->aMem;
71278 sqlite3KeyInfoUnref(pRec->pKeyInfo);
71279 sqlite3DbFree(db, pRec);
78351 static void applyNumericAffinity(Mem *pRec, int bTryForInt){
78354 u8 enc = pRec->enc;
78355 assert( (pRec->flags & (MEM_Str|MEM_Int|MEM_Real))==MEM_Str );
78356 if( sqlite3AtoF(pRec->z, &rValue, pRec->n, enc)==0 ) return;
78357 if( 0==sqlite3Atoi64(pRec->z, &iValue, pRec->n, enc) ){
78358 pRec->u.i = iValue;
78359 pRec->flags |= MEM_Int;
78361 pRec->u.r = rValue;
78362 pRec->flags |= MEM_Real;
78363 if( bTryForInt ) sqlite3VdbeIntegerAffinity(pRec);
78386 Mem *pRec, /* The value to apply affinity to */
78393 if( (pRec->flags & MEM_Int)==0 ){ /*OPTIMIZATION-IF-FALSE*/
78394 if( (pRec->flags & MEM_Real)==0 ){
78395 if( pRec->flags & MEM_Str ) applyNumericAffinity(pRec,1);
78397 sqlite3VdbeIntegerAffinity(pRec);
78406 if( 0==(pRec->flags&MEM_Str) ){ /*OPTIMIZATION-IF-FALSE*/
78407 if( (pRec->flags&(MEM_Real|MEM_Int)) ){
78408 sqlite3VdbeMemStringify(pRec, enc, 1);
78411 pRec->flags &= ~(MEM_Real|MEM_Int);
80933 Mem *pRec; /* The new record */
80984 pRec = pData0;
80986 applyAffinity(pRec++, *(zAffinity++), encoding);
80987 assert( zAffinity[0]==0 || pRec<=pLast );
81008 pRec = pLast;
81010 assert( memIsValid(pRec) );
81011 pRec->uTemp = serial_type = sqlite3VdbeSerialType(pRec, file_format, &len);
81012 if( pRec->flags & MEM_Zero ){
81014 if( sqlite3VdbeMemExpandBlob(pRec) ) goto no_mem;
81016 nZero += pRec->u.nZero;
81017 len -= pRec->u.nZero;
81024 if( pRec==pData0 ) break;
81025 pRec--;
81062 pRec = pData0;
81064 serial_type = pRec->uTemp;
81070 j += sqlite3VdbeSerialPut(&zNewRecord[j], pRec, serial_type); /* content */
81071 }while( (++pRec)<=pLast );
126187 UnpackedRecord *pRec; /* Probe for stat4 (if required) */
130863 UnpackedRecord *pRec, /* Vector of values to consider */
130880 assert( pRec!=0 );
130882 assert( pRec->nField>0 && pRec->nField<=pIdx->nSampleCol );
130928 nField = pRec->nField;
130948 pRec->nField = n;
130949 res = sqlite3VdbeRecordCompare(aSample[iSamp].n, aSample[iSamp].p, pRec);
130973 pRec->nField = nField;
130974 assert( 0==sqlite3VdbeRecordCompare(aSample[i].n, aSample[i].p, pRec)
130982 pRec->nField = iCol+1;
130984 || sqlite3VdbeRecordCompare(aSample[i].n, aSample[i].p, pRec)>0
130992 pRec->nField = iCol;
130993 assert( sqlite3VdbeRecordCompare(aSample[i].n, aSample[i].p, pRec)<=0
130997 pRec->nField = nField;
130998 assert( sqlite3VdbeRecordCompare(aSample[i-1].n, aSample[i-1].p, pRec)<0
131036 pRec->nField = nField;
131244 UnpackedRecord *pRec = pBuilder->pRec;
131273 if( pRec ){
131274 testcase( pRec->nField!=pBuilder->nRecValid );
131275 pRec->nField = pBuilder->nRecValid;
131284 whereKeyStats(pParse, p, pRec, 0, a);
131302 rc = sqlite3Stat4ProbeSetValue(pParse, p, &pRec, pExpr, nBtm, nEq, &n);
131307 iLwrIdx = whereKeyStats(pParse, p, pRec, 0, a);
131319 rc = sqlite3Stat4ProbeSetValue(pParse, p, &pRec, pExpr, nTop, nEq, &n);
131324 iUprIdx = whereKeyStats(pParse, p, pRec, 1, a);
131332 pBuilder->pRec = pRec;
131414 UnpackedRecord *pRec = pBuilder->pRec;
131438 rc = sqlite3Stat4ProbeSetValue(pParse, p, &pRec, pExpr, 1, nEq-1, &bOk);
131439 pBuilder->pRec = pRec;
131444 whereKeyStats(pParse, p, pRec, 0, a);
132793 sqlite3Stat4ProbeFree(pBuilder->pRec);
132795 pBuilder->pRec = 0;