Lines Matching refs:pRec

85275     UnpackedRecord *pRec = p->ppRec[0];  local
85277 if( pRec==0 ){
85284 pRec = (UnpackedRecord*)sqlite3DbMallocZero(db, nByte);
85285 if( pRec ){
85286 pRec->pKeyInfo = sqlite3KeyInfoOfIndex(p->pParse, pIdx);
85287 if( pRec->pKeyInfo ){
85288 assert( pRec->pKeyInfo->nAllField==nCol );
85289 assert( pRec->pKeyInfo->enc==ENC(db) );
85290 pRec->aMem = (Mem *)((u8*)pRec + ROUND8(sizeof(UnpackedRecord)));
85292 pRec->aMem[i].flags = MEM_Null;
85293 pRec->aMem[i].db = db;
85296 sqlite3DbFreeNN(db, pRec);
85297 pRec = 0;
85300 if( pRec==0 ) return 0;
85301 p->ppRec[0] = pRec;
85304 pRec->nField = p->iVal+1;
85305 sqlite3VdbeMemSetNull(&pRec->aMem[p->iVal]);
85306 return &pRec->aMem[p->iVal];
85786 const void *pRec, /* Pointer to buffer containing record */
85797 u8 *a = (u8*)pRec; /* Typecast byte array */
85829 SQLITE_PRIVATE void sqlite3Stat4ProbeFree(UnpackedRecord *pRec){
85830 if( pRec ){
85832 int nCol = pRec->pKeyInfo->nAllField;
85833 Mem *aMem = pRec->aMem;
85838 sqlite3KeyInfoUnref(pRec->pKeyInfo);
85839 sqlite3DbFreeNN(db, pRec);
94669 static int alsoAnInt(Mem *pRec, double rValue, i64 *piValue){
94676 return 0==sqlite3Atoi64(pRec->z, piValue, pRec->n, pRec->enc);
94694 static void applyNumericAffinity(Mem *pRec, int bTryForInt){
94696 u8 enc = pRec->enc;
94698 assert( (pRec->flags & (MEM_Str|MEM_Int|MEM_Real|MEM_IntReal))==MEM_Str );
94699 rc = sqlite3AtoF(pRec->z, &rValue, pRec->n, enc);
94701 if( rc==1 && alsoAnInt(pRec, rValue, &pRec->u.i) ){
94702 pRec->flags |= MEM_Int;
94704 pRec->u.r = rValue;
94705 pRec->flags |= MEM_Real;
94706 if( bTryForInt ) sqlite3VdbeIntegerAffinity(pRec);
94712 pRec->flags &= ~MEM_Str;
94739 Mem *pRec, /* The value to apply affinity to */
94746 if( (pRec->flags & MEM_Int)==0 ){ /*OPTIMIZATION-IF-FALSE*/
94747 if( (pRec->flags & (MEM_Real|MEM_IntReal))==0 ){
94748 if( pRec->flags & MEM_Str ) applyNumericAffinity(pRec,1);
94750 sqlite3VdbeIntegerAffinity(pRec);
94759 if( 0==(pRec->flags&MEM_Str) ){ /*OPTIMIZATION-IF-FALSE*/
94760 if( (pRec->flags&(MEM_Real|MEM_Int|MEM_IntReal)) ){
94761 testcase( pRec->flags & MEM_Int );
94762 testcase( pRec->flags & MEM_Real );
94763 testcase( pRec->flags & MEM_IntReal );
94764 sqlite3VdbeMemStringify(pRec, enc, 1);
94767 pRec->flags &= ~(MEM_Real|MEM_Int|MEM_IntReal);
97753 Mem *pRec; /* The new record */
97802 pRec = pData0;
97804 applyAffinity(pRec, zAffinity[0], encoding);
97805 if( zAffinity[0]==SQLITE_AFF_REAL && (pRec->flags & MEM_Int) ){
97806 pRec->flags |= MEM_IntReal;
97807 pRec->flags &= ~(MEM_Int);
97809 REGISTER_TRACE((int)(pRec-aMem), pRec);
97811 pRec++;
97812 assert( zAffinity[0]==0 || pRec<=pLast );
97856 pRec = pLast;
97858 assert( memIsValid(pRec) );
97859 if( pRec->flags & MEM_Null ){
97860 if( pRec->flags & MEM_Zero ){
97870 pRec->uTemp = 10;
97872 pRec->uTemp = 0;
97875 }else if( pRec->flags & (MEM_Int|MEM_IntReal) ){
97877 i64 i = pRec->u.i;
97879 testcase( pRec->flags & MEM_Int );
97880 testcase( pRec->flags & MEM_IntReal );
97894 pRec->uTemp = 8+(u32)uu;
97897 pRec->uTemp = 1;
97901 pRec->uTemp = 2;
97904 pRec->uTemp = 3;
97907 pRec->uTemp = 4;
97910 pRec->uTemp = 5;
97913 if( pRec->flags & MEM_IntReal ){
97917 pRec->u.r = (double)pRec->u.i;
97918 pRec->flags &= ~MEM_IntReal;
97919 pRec->flags |= MEM_Real;
97920 pRec->uTemp = 7;
97922 pRec->uTemp = 6;
97925 }else if( pRec->flags & MEM_Real ){
97928 pRec->uTemp = 7;
97930 assert( db->mallocFailed || pRec->flags&(MEM_Str|MEM_Blob) );
97931 assert( pRec->n>=0 );
97932 len = (u32)pRec->n;
97933 serial_type = (len*2) + 12 + ((pRec->flags & MEM_Str)!=0);
97934 if( pRec->flags & MEM_Zero ){
97935 serial_type += pRec->u.nZero*2;
97937 if( sqlite3VdbeMemExpandBlob(pRec) ) goto no_mem;
97938 len += pRec->u.nZero;
97940 nZero += pRec->u.nZero;
97945 pRec->uTemp = serial_type;
97947 if( pRec==pData0 ) break;
97948 pRec--;
98004 pRec = pData0;
98006 serial_type = pRec->uTemp;
98018 assert( sizeof(v)==sizeof(pRec->u.r) );
98019 memcpy(&v, &pRec->u.r, sizeof(v));
98022 v = pRec->u.i;
98045 if( serial_type>=14 && pRec->n>0 ){
98046 assert( pRec->z!=0 );
98047 memcpy(zPayload, pRec->z, pRec->n);
98048 zPayload += pRec->n;
98052 if( pRec->n ){
98053 assert( pRec->z!=0 );
98054 assert( pRec->z!=(const char*)sqlite3CtypeMap );
98055 memcpy(zPayload, pRec->z, pRec->n);
98056 zPayload += pRec->n;
98059 if( pRec==pLast ) break;
98060 pRec++;
159379 UnpackedRecord *pRec; /* Probe for stat4 (if required) */
166181 UnpackedRecord *pRec, /* Vector of values to consider */
166198 assert( pRec!=0 );
166200 assert( pRec->nField>0 );
166252 nField = MIN(pRec->nField, nField);
166272 pRec->nField = n;
166273 res = sqlite3VdbeRecordCompare(aSample[iSamp].n, aSample[iSamp].p, pRec);
166297 pRec->nField = nField;
166298 assert( 0==sqlite3VdbeRecordCompare(aSample[i].n, aSample[i].p, pRec)
166306 pRec->nField = iCol+1;
166308 || sqlite3VdbeRecordCompare(aSample[i].n, aSample[i].p, pRec)>0
166316 pRec->nField = iCol;
166317 assert( sqlite3VdbeRecordCompare(aSample[i].n, aSample[i].p, pRec)<=0
166321 pRec->nField = nField;
166322 assert( sqlite3VdbeRecordCompare(aSample[i-1].n, aSample[i-1].p, pRec)<0
166360 pRec->nField = nField;
166571 UnpackedRecord *pRec = pBuilder->pRec;
166600 if( pRec ){
166601 testcase( pRec->nField!=pBuilder->nRecValid );
166602 pRec->nField = pBuilder->nRecValid;
166611 whereKeyStats(pParse, p, pRec, 0, a);
166629 rc = sqlite3Stat4ProbeSetValue(pParse, p, &pRec, pExpr, nBtm, nEq, &n);
166634 iLwrIdx = whereKeyStats(pParse, p, pRec, 0, a);
166646 rc = sqlite3Stat4ProbeSetValue(pParse, p, &pRec, pExpr, nTop, nEq, &n);
166651 iUprIdx = whereKeyStats(pParse, p, pRec, 1, a);
166659 pBuilder->pRec = pRec;
166742 UnpackedRecord *pRec = pBuilder->pRec;
166766 rc = sqlite3Stat4ProbeSetValue(pParse, p, &pRec, pExpr, 1, nEq-1, &bOk);
166767 pBuilder->pRec = pRec;
166772 whereKeyStats(pParse, p, pRec, 0, a);
168661 sqlite3Stat4ProbeFree(pBuilder->pRec);
168663 pBuilder->pRec = 0;