pMem 9678 ext/sqlite3/libsqlite/sqlite3.c Mem *pMem; /* Used when p4type is P4_MEM */ pMem 14776 ext/sqlite3/libsqlite/sqlite3.c Mem *pMem; /* Memory cell used to store aggregate context */ pMem 14946 ext/sqlite3/libsqlite/sqlite3.c SQLITE_PRIVATE int sqlite3VdbeMemGrow(Mem *pMem, int n, int preserve); pMem 14947 ext/sqlite3/libsqlite/sqlite3.c SQLITE_PRIVATE int sqlite3VdbeMemClearAndResize(Mem *pMem, int n); pMem 14984 ext/sqlite3/libsqlite/sqlite3.c SQLITE_PRIVATE void sqlite3VdbeMemPrettyPrint(Mem *pMem, char *zBuf); pMem 14986 ext/sqlite3/libsqlite/sqlite3.c SQLITE_PRIVATE int sqlite3VdbeMemHandleBom(Mem *pMem); pMem 23096 ext/sqlite3/libsqlite/sqlite3.c SQLITE_PRIVATE SQLITE_NOINLINE int sqlite3VdbeMemTranslate(Mem *pMem, u8 desiredEnc){ pMem 23104 ext/sqlite3/libsqlite/sqlite3.c assert( pMem->db==0 || sqlite3_mutex_held(pMem->db->mutex) ); pMem 23105 ext/sqlite3/libsqlite/sqlite3.c assert( pMem->flags&MEM_Str ); pMem 23106 ext/sqlite3/libsqlite/sqlite3.c assert( pMem->enc!=desiredEnc ); pMem 23107 ext/sqlite3/libsqlite/sqlite3.c assert( pMem->enc!=0 ); pMem 23108 ext/sqlite3/libsqlite/sqlite3.c assert( pMem->n>=0 ); pMem 23113 ext/sqlite3/libsqlite/sqlite3.c sqlite3VdbeMemPrettyPrint(pMem, zBuf); pMem 23122 ext/sqlite3/libsqlite/sqlite3.c if( pMem->enc!=SQLITE_UTF8 && desiredEnc!=SQLITE_UTF8 ){ pMem 23125 ext/sqlite3/libsqlite/sqlite3.c rc = sqlite3VdbeMemMakeWriteable(pMem); pMem 23130 ext/sqlite3/libsqlite/sqlite3.c zIn = (u8*)pMem->z; pMem 23131 ext/sqlite3/libsqlite/sqlite3.c zTerm = &zIn[pMem->n&~1]; pMem 23138 ext/sqlite3/libsqlite/sqlite3.c pMem->enc = desiredEnc; pMem 23149 ext/sqlite3/libsqlite/sqlite3.c pMem->n &= ~1; pMem 23150 ext/sqlite3/libsqlite/sqlite3.c len = pMem->n * 2 + 1; pMem 23157 ext/sqlite3/libsqlite/sqlite3.c len = pMem->n * 2 + 2; pMem 23166 ext/sqlite3/libsqlite/sqlite3.c zIn = (u8*)pMem->z; pMem 23167 ext/sqlite3/libsqlite/sqlite3.c zTerm = &zIn[pMem->n]; pMem 23168 ext/sqlite3/libsqlite/sqlite3.c zOut = sqlite3DbMallocRaw(pMem->db, len); pMem 23174 ext/sqlite3/libsqlite/sqlite3.c if( pMem->enc==SQLITE_UTF8 ){ pMem 23189 ext/sqlite3/libsqlite/sqlite3.c pMem->n = (int)(z - zOut); pMem 23193 ext/sqlite3/libsqlite/sqlite3.c if( pMem->enc==SQLITE_UTF16LE ){ pMem 23206 ext/sqlite3/libsqlite/sqlite3.c pMem->n = (int)(z - zOut); pMem 23209 ext/sqlite3/libsqlite/sqlite3.c assert( (pMem->n+(desiredEnc==SQLITE_UTF8?1:2))<=len ); pMem 23211 ext/sqlite3/libsqlite/sqlite3.c c = pMem->flags; pMem 23212 ext/sqlite3/libsqlite/sqlite3.c sqlite3VdbeMemRelease(pMem); pMem 23213 ext/sqlite3/libsqlite/sqlite3.c pMem->flags = MEM_Str|MEM_Term|(c&MEM_AffMask); pMem 23214 ext/sqlite3/libsqlite/sqlite3.c pMem->enc = desiredEnc; pMem 23215 ext/sqlite3/libsqlite/sqlite3.c pMem->z = (char*)zOut; pMem 23216 ext/sqlite3/libsqlite/sqlite3.c pMem->zMalloc = pMem->z; pMem 23217 ext/sqlite3/libsqlite/sqlite3.c pMem->szMalloc = sqlite3DbMallocSize(pMem->db, pMem->z); pMem 23223 ext/sqlite3/libsqlite/sqlite3.c sqlite3VdbeMemPrettyPrint(pMem, zBuf); pMem 23239 ext/sqlite3/libsqlite/sqlite3.c SQLITE_PRIVATE int sqlite3VdbeMemHandleBom(Mem *pMem){ pMem 23243 ext/sqlite3/libsqlite/sqlite3.c assert( pMem->n>=0 ); pMem 23244 ext/sqlite3/libsqlite/sqlite3.c if( pMem->n>1 ){ pMem 23245 ext/sqlite3/libsqlite/sqlite3.c u8 b1 = *(u8 *)pMem->z; pMem 23246 ext/sqlite3/libsqlite/sqlite3.c u8 b2 = *(((u8 *)pMem->z) + 1); pMem 23256 ext/sqlite3/libsqlite/sqlite3.c rc = sqlite3VdbeMemMakeWriteable(pMem); pMem 23258 ext/sqlite3/libsqlite/sqlite3.c pMem->n -= 2; pMem 23259 ext/sqlite3/libsqlite/sqlite3.c memmove(pMem->z, &pMem->z[2], pMem->n); pMem 23260 ext/sqlite3/libsqlite/sqlite3.c pMem->z[pMem->n] = '\0'; pMem 23261 ext/sqlite3/libsqlite/sqlite3.c pMem->z[pMem->n+1] = '\0'; pMem 23262 ext/sqlite3/libsqlite/sqlite3.c pMem->flags |= MEM_Term; pMem 23263 ext/sqlite3/libsqlite/sqlite3.c pMem->enc = bom; pMem 29947 ext/sqlite3/libsqlite/sqlite3.c void *pMem; pMem 29949 ext/sqlite3/libsqlite/sqlite3.c pMem = osMmap(0, nMap, pMem 29953 ext/sqlite3/libsqlite/sqlite3.c if( pMem==MAP_FAILED ){ pMem 29958 ext/sqlite3/libsqlite/sqlite3.c pMem = sqlite3_malloc64(szRegion); pMem 29959 ext/sqlite3/libsqlite/sqlite3.c if( pMem==0 ){ pMem 29963 ext/sqlite3/libsqlite/sqlite3.c memset(pMem, 0, szRegion); pMem 29967 ext/sqlite3/libsqlite/sqlite3.c pShmNode->apRegion[pShmNode->nRegion+i] = &((char*)pMem)[szRegion*i]; pMem 34441 ext/sqlite3/libsqlite/sqlite3.c MUTEX_LOGIC( sqlite3_mutex *pMem; ) /* The memsys static mutex */ pMem 34443 ext/sqlite3/libsqlite/sqlite3.c MUTEX_LOGIC( pMem = sqlite3_mutex_alloc(SQLITE_MUTEX_STATIC_MEM); ) pMem 34445 ext/sqlite3/libsqlite/sqlite3.c sqlite3_mutex_enter(pMem); pMem 34472 ext/sqlite3/libsqlite/sqlite3.c sqlite3_mutex_leave(pMem); pMem 63167 ext/sqlite3/libsqlite/sqlite3.c SQLITE_PRIVATE int sqlite3VdbeChangeEncoding(Mem *pMem, int desiredEnc){ pMem 63171 ext/sqlite3/libsqlite/sqlite3.c assert( (pMem->flags&MEM_RowSet)==0 ); pMem 63174 ext/sqlite3/libsqlite/sqlite3.c if( !(pMem->flags&MEM_Str) || pMem->enc==desiredEnc ){ pMem 63177 ext/sqlite3/libsqlite/sqlite3.c assert( pMem->db==0 || sqlite3_mutex_held(pMem->db->mutex) ); pMem 63185 ext/sqlite3/libsqlite/sqlite3.c rc = sqlite3VdbeMemTranslate(pMem, (u8)desiredEnc); pMem 63187 ext/sqlite3/libsqlite/sqlite3.c assert(rc==SQLITE_OK || pMem->enc!=desiredEnc); pMem 63188 ext/sqlite3/libsqlite/sqlite3.c assert(rc==SQLITE_NOMEM || pMem->enc==desiredEnc); pMem 63202 ext/sqlite3/libsqlite/sqlite3.c SQLITE_PRIVATE SQLITE_NOINLINE int sqlite3VdbeMemGrow(Mem *pMem, int n, int bPreserve){ pMem 63203 ext/sqlite3/libsqlite/sqlite3.c assert( sqlite3VdbeCheckMemInvariants(pMem) ); pMem 63204 ext/sqlite3/libsqlite/sqlite3.c assert( (pMem->flags&MEM_RowSet)==0 ); pMem 63208 ext/sqlite3/libsqlite/sqlite3.c assert( bPreserve==0 || pMem->flags&(MEM_Blob|MEM_Str) ); pMem 63209 ext/sqlite3/libsqlite/sqlite3.c testcase( bPreserve && pMem->z==0 ); pMem 63211 ext/sqlite3/libsqlite/sqlite3.c assert( pMem->szMalloc==0 pMem 63212 ext/sqlite3/libsqlite/sqlite3.c || pMem->szMalloc==sqlite3DbMallocSize(pMem->db, pMem->zMalloc) ); pMem 63213 ext/sqlite3/libsqlite/sqlite3.c if( pMem->szMalloc<n ){ pMem 63215 ext/sqlite3/libsqlite/sqlite3.c if( bPreserve && pMem->szMalloc>0 && pMem->z==pMem->zMalloc ){ pMem 63216 ext/sqlite3/libsqlite/sqlite3.c pMem->z = pMem->zMalloc = sqlite3DbReallocOrFree(pMem->db, pMem->z, n); pMem 63219 ext/sqlite3/libsqlite/sqlite3.c if( pMem->szMalloc>0 ) sqlite3DbFree(pMem->db, pMem->zMalloc); pMem 63220 ext/sqlite3/libsqlite/sqlite3.c pMem->zMalloc = sqlite3DbMallocRaw(pMem->db, n); pMem 63222 ext/sqlite3/libsqlite/sqlite3.c if( pMem->zMalloc==0 ){ pMem 63223 ext/sqlite3/libsqlite/sqlite3.c sqlite3VdbeMemSetNull(pMem); pMem 63224 ext/sqlite3/libsqlite/sqlite3.c pMem->z = 0; pMem 63225 ext/sqlite3/libsqlite/sqlite3.c pMem->szMalloc = 0; pMem 63228 ext/sqlite3/libsqlite/sqlite3.c pMem->szMalloc = sqlite3DbMallocSize(pMem->db, pMem->zMalloc); pMem 63232 ext/sqlite3/libsqlite/sqlite3.c if( bPreserve && pMem->z && pMem->z!=pMem->zMalloc ){ pMem 63233 ext/sqlite3/libsqlite/sqlite3.c memcpy(pMem->zMalloc, pMem->z, pMem->n); pMem 63235 ext/sqlite3/libsqlite/sqlite3.c if( (pMem->flags&MEM_Dyn)!=0 ){ pMem 63236 ext/sqlite3/libsqlite/sqlite3.c assert( pMem->xDel!=0 && pMem->xDel!=SQLITE_DYNAMIC ); pMem 63237 ext/sqlite3/libsqlite/sqlite3.c pMem->xDel((void *)(pMem->z)); pMem 63240 ext/sqlite3/libsqlite/sqlite3.c pMem->z = pMem->zMalloc; pMem 63241 ext/sqlite3/libsqlite/sqlite3.c pMem->flags &= ~(MEM_Dyn|MEM_Ephem|MEM_Static); pMem 63258 ext/sqlite3/libsqlite/sqlite3.c SQLITE_PRIVATE int sqlite3VdbeMemClearAndResize(Mem *pMem, int szNew){ pMem 63260 ext/sqlite3/libsqlite/sqlite3.c assert( (pMem->flags & MEM_Dyn)==0 || pMem->szMalloc==0 ); pMem 63261 ext/sqlite3/libsqlite/sqlite3.c if( pMem->szMalloc<szNew ){ pMem 63262 ext/sqlite3/libsqlite/sqlite3.c return sqlite3VdbeMemGrow(pMem, szNew, 0); pMem 63264 ext/sqlite3/libsqlite/sqlite3.c assert( (pMem->flags & MEM_Dyn)==0 ); pMem 63265 ext/sqlite3/libsqlite/sqlite3.c pMem->z = pMem->zMalloc; pMem 63266 ext/sqlite3/libsqlite/sqlite3.c pMem->flags &= (MEM_Null|MEM_Int|MEM_Real); pMem 63276 ext/sqlite3/libsqlite/sqlite3.c SQLITE_PRIVATE int sqlite3VdbeMemMakeWriteable(Mem *pMem){ pMem 63278 ext/sqlite3/libsqlite/sqlite3.c assert( pMem->db==0 || sqlite3_mutex_held(pMem->db->mutex) ); pMem 63279 ext/sqlite3/libsqlite/sqlite3.c assert( (pMem->flags&MEM_RowSet)==0 ); pMem 63280 ext/sqlite3/libsqlite/sqlite3.c ExpandBlob(pMem); pMem 63281 ext/sqlite3/libsqlite/sqlite3.c f = pMem->flags; pMem 63282 ext/sqlite3/libsqlite/sqlite3.c if( (f&(MEM_Str|MEM_Blob)) && (pMem->szMalloc==0 || pMem->z!=pMem->zMalloc) ){ pMem 63283 ext/sqlite3/libsqlite/sqlite3.c if( sqlite3VdbeMemGrow(pMem, pMem->n + 2, 1) ){ pMem 63286 ext/sqlite3/libsqlite/sqlite3.c pMem->z[pMem->n] = 0; pMem 63287 ext/sqlite3/libsqlite/sqlite3.c pMem->z[pMem->n+1] = 0; pMem 63288 ext/sqlite3/libsqlite/sqlite3.c pMem->flags |= MEM_Term; pMem 63290 ext/sqlite3/libsqlite/sqlite3.c pMem->flags &= ~MEM_Ephem; pMem 63292 ext/sqlite3/libsqlite/sqlite3.c pMem->pScopyFrom = 0; pMem 63303 ext/sqlite3/libsqlite/sqlite3.c SQLITE_PRIVATE int sqlite3VdbeMemExpandBlob(Mem *pMem){ pMem 63304 ext/sqlite3/libsqlite/sqlite3.c if( pMem->flags & MEM_Zero ){ pMem 63306 ext/sqlite3/libsqlite/sqlite3.c assert( pMem->flags&MEM_Blob ); pMem 63307 ext/sqlite3/libsqlite/sqlite3.c assert( (pMem->flags&MEM_RowSet)==0 ); pMem 63308 ext/sqlite3/libsqlite/sqlite3.c assert( pMem->db==0 || sqlite3_mutex_held(pMem->db->mutex) ); pMem 63311 ext/sqlite3/libsqlite/sqlite3.c nByte = pMem->n + pMem->u.nZero; pMem 63315 ext/sqlite3/libsqlite/sqlite3.c if( sqlite3VdbeMemGrow(pMem, nByte, 1) ){ pMem 63319 ext/sqlite3/libsqlite/sqlite3.c memset(&pMem->z[pMem->n], 0, pMem->u.nZero); pMem 63320 ext/sqlite3/libsqlite/sqlite3.c pMem->n += pMem->u.nZero; pMem 63321 ext/sqlite3/libsqlite/sqlite3.c pMem->flags &= ~(MEM_Zero|MEM_Term); pMem 63331 ext/sqlite3/libsqlite/sqlite3.c static SQLITE_NOINLINE int vdbeMemAddTerminator(Mem *pMem){ pMem 63332 ext/sqlite3/libsqlite/sqlite3.c if( sqlite3VdbeMemGrow(pMem, pMem->n+2, 1) ){ pMem 63335 ext/sqlite3/libsqlite/sqlite3.c pMem->z[pMem->n] = 0; pMem 63336 ext/sqlite3/libsqlite/sqlite3.c pMem->z[pMem->n+1] = 0; pMem 63337 ext/sqlite3/libsqlite/sqlite3.c pMem->flags |= MEM_Term; pMem 63344 ext/sqlite3/libsqlite/sqlite3.c SQLITE_PRIVATE int sqlite3VdbeMemNulTerminate(Mem *pMem){ pMem 63345 ext/sqlite3/libsqlite/sqlite3.c assert( pMem->db==0 || sqlite3_mutex_held(pMem->db->mutex) ); pMem 63346 ext/sqlite3/libsqlite/sqlite3.c testcase( (pMem->flags & (MEM_Term|MEM_Str))==(MEM_Term|MEM_Str) ); pMem 63347 ext/sqlite3/libsqlite/sqlite3.c testcase( (pMem->flags & (MEM_Term|MEM_Str))==0 ); pMem 63348 ext/sqlite3/libsqlite/sqlite3.c if( (pMem->flags & (MEM_Term|MEM_Str))!=MEM_Str ){ pMem 63351 ext/sqlite3/libsqlite/sqlite3.c return vdbeMemAddTerminator(pMem); pMem 63369 ext/sqlite3/libsqlite/sqlite3.c SQLITE_PRIVATE int sqlite3VdbeMemStringify(Mem *pMem, u8 enc, u8 bForce){ pMem 63370 ext/sqlite3/libsqlite/sqlite3.c int fg = pMem->flags; pMem 63373 ext/sqlite3/libsqlite/sqlite3.c assert( pMem->db==0 || sqlite3_mutex_held(pMem->db->mutex) ); pMem 63377 ext/sqlite3/libsqlite/sqlite3.c assert( (pMem->flags&MEM_RowSet)==0 ); pMem 63378 ext/sqlite3/libsqlite/sqlite3.c assert( EIGHT_BYTE_ALIGNMENT(pMem) ); pMem 63381 ext/sqlite3/libsqlite/sqlite3.c if( sqlite3VdbeMemClearAndResize(pMem, nByte) ){ pMem 63392 ext/sqlite3/libsqlite/sqlite3.c sqlite3_snprintf(nByte, pMem->z, "%lld", pMem->u.i); pMem 63395 ext/sqlite3/libsqlite/sqlite3.c sqlite3_snprintf(nByte, pMem->z, "%!.15g", pMem->u.r); pMem 63397 ext/sqlite3/libsqlite/sqlite3.c pMem->n = sqlite3Strlen30(pMem->z); pMem 63398 ext/sqlite3/libsqlite/sqlite3.c pMem->enc = SQLITE_UTF8; pMem 63399 ext/sqlite3/libsqlite/sqlite3.c pMem->flags |= MEM_Str|MEM_Term; pMem 63400 ext/sqlite3/libsqlite/sqlite3.c if( bForce ) pMem->flags &= ~(MEM_Int|MEM_Real); pMem 63401 ext/sqlite3/libsqlite/sqlite3.c sqlite3VdbeChangeEncoding(pMem, enc); pMem 63413 ext/sqlite3/libsqlite/sqlite3.c SQLITE_PRIVATE int sqlite3VdbeMemFinalize(Mem *pMem, FuncDef *pFunc){ pMem 63418 ext/sqlite3/libsqlite/sqlite3.c assert( (pMem->flags & MEM_Null)!=0 || pFunc==pMem->u.pDef ); pMem 63419 ext/sqlite3/libsqlite/sqlite3.c assert( pMem->db==0 || sqlite3_mutex_held(pMem->db->mutex) ); pMem 63423 ext/sqlite3/libsqlite/sqlite3.c t.db = pMem->db; pMem 63425 ext/sqlite3/libsqlite/sqlite3.c ctx.pMem = pMem; pMem 63428 ext/sqlite3/libsqlite/sqlite3.c assert( (pMem->flags & MEM_Dyn)==0 ); pMem 63429 ext/sqlite3/libsqlite/sqlite3.c if( pMem->szMalloc>0 ) sqlite3DbFree(pMem->db, pMem->zMalloc); pMem 63430 ext/sqlite3/libsqlite/sqlite3.c memcpy(pMem, &t, sizeof(t)); pMem 63544 ext/sqlite3/libsqlite/sqlite3.c SQLITE_PRIVATE i64 sqlite3VdbeIntValue(Mem *pMem){ pMem 63546 ext/sqlite3/libsqlite/sqlite3.c assert( pMem->db==0 || sqlite3_mutex_held(pMem->db->mutex) ); pMem 63547 ext/sqlite3/libsqlite/sqlite3.c assert( EIGHT_BYTE_ALIGNMENT(pMem) ); pMem 63548 ext/sqlite3/libsqlite/sqlite3.c flags = pMem->flags; pMem 63550 ext/sqlite3/libsqlite/sqlite3.c return pMem->u.i; pMem 63552 ext/sqlite3/libsqlite/sqlite3.c return doubleToInt64(pMem->u.r); pMem 63555 ext/sqlite3/libsqlite/sqlite3.c assert( pMem->z || pMem->n==0 ); pMem 63556 ext/sqlite3/libsqlite/sqlite3.c sqlite3Atoi64(pMem->z, &value, pMem->n, pMem->enc); pMem 63569 ext/sqlite3/libsqlite/sqlite3.c SQLITE_PRIVATE double sqlite3VdbeRealValue(Mem *pMem){ pMem 63570 ext/sqlite3/libsqlite/sqlite3.c assert( pMem->db==0 || sqlite3_mutex_held(pMem->db->mutex) ); pMem 63571 ext/sqlite3/libsqlite/sqlite3.c assert( EIGHT_BYTE_ALIGNMENT(pMem) ); pMem 63572 ext/sqlite3/libsqlite/sqlite3.c if( pMem->flags & MEM_Real ){ pMem 63573 ext/sqlite3/libsqlite/sqlite3.c return pMem->u.r; pMem 63574 ext/sqlite3/libsqlite/sqlite3.c }else if( pMem->flags & MEM_Int ){ pMem 63575 ext/sqlite3/libsqlite/sqlite3.c return (double)pMem->u.i; pMem 63576 ext/sqlite3/libsqlite/sqlite3.c }else if( pMem->flags & (MEM_Str|MEM_Blob) ){ pMem 63579 ext/sqlite3/libsqlite/sqlite3.c sqlite3AtoF(pMem->z, &val, pMem->n, pMem->enc); pMem 63591 ext/sqlite3/libsqlite/sqlite3.c SQLITE_PRIVATE void sqlite3VdbeIntegerAffinity(Mem *pMem){ pMem 63593 ext/sqlite3/libsqlite/sqlite3.c assert( pMem->flags & MEM_Real ); pMem 63594 ext/sqlite3/libsqlite/sqlite3.c assert( (pMem->flags & MEM_RowSet)==0 ); pMem 63595 ext/sqlite3/libsqlite/sqlite3.c assert( pMem->db==0 || sqlite3_mutex_held(pMem->db->mutex) ); pMem 63596 ext/sqlite3/libsqlite/sqlite3.c assert( EIGHT_BYTE_ALIGNMENT(pMem) ); pMem 63598 ext/sqlite3/libsqlite/sqlite3.c ix = doubleToInt64(pMem->u.r); pMem 63610 ext/sqlite3/libsqlite/sqlite3.c if( pMem->u.r==ix && ix>SMALLEST_INT64 && ix<LARGEST_INT64 ){ pMem 63611 ext/sqlite3/libsqlite/sqlite3.c pMem->u.i = ix; pMem 63612 ext/sqlite3/libsqlite/sqlite3.c MemSetTypeFlag(pMem, MEM_Int); pMem 63619 ext/sqlite3/libsqlite/sqlite3.c SQLITE_PRIVATE int sqlite3VdbeMemIntegerify(Mem *pMem){ pMem 63620 ext/sqlite3/libsqlite/sqlite3.c assert( pMem->db==0 || sqlite3_mutex_held(pMem->db->mutex) ); pMem 63621 ext/sqlite3/libsqlite/sqlite3.c assert( (pMem->flags & MEM_RowSet)==0 ); pMem 63622 ext/sqlite3/libsqlite/sqlite3.c assert( EIGHT_BYTE_ALIGNMENT(pMem) ); pMem 63624 ext/sqlite3/libsqlite/sqlite3.c pMem->u.i = sqlite3VdbeIntValue(pMem); pMem 63625 ext/sqlite3/libsqlite/sqlite3.c MemSetTypeFlag(pMem, MEM_Int); pMem 63633 ext/sqlite3/libsqlite/sqlite3.c SQLITE_PRIVATE int sqlite3VdbeMemRealify(Mem *pMem){ pMem 63634 ext/sqlite3/libsqlite/sqlite3.c assert( pMem->db==0 || sqlite3_mutex_held(pMem->db->mutex) ); pMem 63635 ext/sqlite3/libsqlite/sqlite3.c assert( EIGHT_BYTE_ALIGNMENT(pMem) ); pMem 63637 ext/sqlite3/libsqlite/sqlite3.c pMem->u.r = sqlite3VdbeRealValue(pMem); pMem 63638 ext/sqlite3/libsqlite/sqlite3.c MemSetTypeFlag(pMem, MEM_Real); pMem 63650 ext/sqlite3/libsqlite/sqlite3.c SQLITE_PRIVATE int sqlite3VdbeMemNumerify(Mem *pMem){ pMem 63651 ext/sqlite3/libsqlite/sqlite3.c if( (pMem->flags & (MEM_Int|MEM_Real|MEM_Null))==0 ){ pMem 63652 ext/sqlite3/libsqlite/sqlite3.c assert( (pMem->flags & (MEM_Blob|MEM_Str))!=0 ); pMem 63653 ext/sqlite3/libsqlite/sqlite3.c assert( pMem->db==0 || sqlite3_mutex_held(pMem->db->mutex) ); pMem 63654 ext/sqlite3/libsqlite/sqlite3.c if( 0==sqlite3Atoi64(pMem->z, &pMem->u.i, pMem->n, pMem->enc) ){ pMem 63655 ext/sqlite3/libsqlite/sqlite3.c MemSetTypeFlag(pMem, MEM_Int); pMem 63657 ext/sqlite3/libsqlite/sqlite3.c pMem->u.r = sqlite3VdbeRealValue(pMem); pMem 63658 ext/sqlite3/libsqlite/sqlite3.c MemSetTypeFlag(pMem, MEM_Real); pMem 63659 ext/sqlite3/libsqlite/sqlite3.c sqlite3VdbeIntegerAffinity(pMem); pMem 63662 ext/sqlite3/libsqlite/sqlite3.c assert( (pMem->flags & (MEM_Int|MEM_Real|MEM_Null))!=0 ); pMem 63663 ext/sqlite3/libsqlite/sqlite3.c pMem->flags &= ~(MEM_Str|MEM_Blob); pMem 63674 ext/sqlite3/libsqlite/sqlite3.c SQLITE_PRIVATE void sqlite3VdbeMemCast(Mem *pMem, u8 aff, u8 encoding){ pMem 63675 ext/sqlite3/libsqlite/sqlite3.c if( pMem->flags & MEM_Null ) return; pMem 63678 ext/sqlite3/libsqlite/sqlite3.c if( (pMem->flags & MEM_Blob)==0 ){ pMem 63679 ext/sqlite3/libsqlite/sqlite3.c sqlite3ValueApplyAffinity(pMem, SQLITE_AFF_TEXT, encoding); pMem 63680 ext/sqlite3/libsqlite/sqlite3.c assert( pMem->flags & MEM_Str || pMem->db->mallocFailed ); pMem 63681 ext/sqlite3/libsqlite/sqlite3.c MemSetTypeFlag(pMem, MEM_Blob); pMem 63683 ext/sqlite3/libsqlite/sqlite3.c pMem->flags &= ~(MEM_TypeMask&~MEM_Blob); pMem 63688 ext/sqlite3/libsqlite/sqlite3.c sqlite3VdbeMemNumerify(pMem); pMem 63692 ext/sqlite3/libsqlite/sqlite3.c sqlite3VdbeMemIntegerify(pMem); pMem 63696 ext/sqlite3/libsqlite/sqlite3.c sqlite3VdbeMemRealify(pMem); pMem 63702 ext/sqlite3/libsqlite/sqlite3.c pMem->flags |= (pMem->flags&MEM_Blob)>>3; pMem 63703 ext/sqlite3/libsqlite/sqlite3.c sqlite3ValueApplyAffinity(pMem, SQLITE_AFF_TEXT, encoding); pMem 63704 ext/sqlite3/libsqlite/sqlite3.c assert( pMem->flags & MEM_Str || pMem->db->mallocFailed ); pMem 63705 ext/sqlite3/libsqlite/sqlite3.c pMem->flags &= ~(MEM_Int|MEM_Real|MEM_Blob|MEM_Zero); pMem 63716 ext/sqlite3/libsqlite/sqlite3.c SQLITE_PRIVATE void sqlite3VdbeMemInit(Mem *pMem, sqlite3 *db, u16 flags){ pMem 63718 ext/sqlite3/libsqlite/sqlite3.c pMem->flags = flags; pMem 63719 ext/sqlite3/libsqlite/sqlite3.c pMem->db = db; pMem 63720 ext/sqlite3/libsqlite/sqlite3.c pMem->szMalloc = 0; pMem 63736 ext/sqlite3/libsqlite/sqlite3.c SQLITE_PRIVATE void sqlite3VdbeMemSetNull(Mem *pMem){ pMem 63737 ext/sqlite3/libsqlite/sqlite3.c if( VdbeMemDynamic(pMem) ){ pMem 63738 ext/sqlite3/libsqlite/sqlite3.c vdbeMemClearExternAndSetNull(pMem); pMem 63740 ext/sqlite3/libsqlite/sqlite3.c pMem->flags = MEM_Null; pMem 63751 ext/sqlite3/libsqlite/sqlite3.c SQLITE_PRIVATE void sqlite3VdbeMemSetZeroBlob(Mem *pMem, int n){ pMem 63752 ext/sqlite3/libsqlite/sqlite3.c sqlite3VdbeMemRelease(pMem); pMem 63753 ext/sqlite3/libsqlite/sqlite3.c pMem->flags = MEM_Blob|MEM_Zero; pMem 63754 ext/sqlite3/libsqlite/sqlite3.c pMem->n = 0; pMem 63756 ext/sqlite3/libsqlite/sqlite3.c pMem->u.nZero = n; pMem 63757 ext/sqlite3/libsqlite/sqlite3.c pMem->enc = SQLITE_UTF8; pMem 63758 ext/sqlite3/libsqlite/sqlite3.c pMem->z = 0; pMem 63766 ext/sqlite3/libsqlite/sqlite3.c static SQLITE_NOINLINE void vdbeReleaseAndSetInt64(Mem *pMem, i64 val){ pMem 63767 ext/sqlite3/libsqlite/sqlite3.c sqlite3VdbeMemSetNull(pMem); pMem 63768 ext/sqlite3/libsqlite/sqlite3.c pMem->u.i = val; pMem 63769 ext/sqlite3/libsqlite/sqlite3.c pMem->flags = MEM_Int; pMem 63776 ext/sqlite3/libsqlite/sqlite3.c SQLITE_PRIVATE void sqlite3VdbeMemSetInt64(Mem *pMem, i64 val){ pMem 63777 ext/sqlite3/libsqlite/sqlite3.c if( VdbeMemDynamic(pMem) ){ pMem 63778 ext/sqlite3/libsqlite/sqlite3.c vdbeReleaseAndSetInt64(pMem, val); pMem 63780 ext/sqlite3/libsqlite/sqlite3.c pMem->u.i = val; pMem 63781 ext/sqlite3/libsqlite/sqlite3.c pMem->flags = MEM_Int; pMem 63790 ext/sqlite3/libsqlite/sqlite3.c SQLITE_PRIVATE void sqlite3VdbeMemSetDouble(Mem *pMem, double val){ pMem 63791 ext/sqlite3/libsqlite/sqlite3.c sqlite3VdbeMemSetNull(pMem); pMem 63793 ext/sqlite3/libsqlite/sqlite3.c pMem->u.r = val; pMem 63794 ext/sqlite3/libsqlite/sqlite3.c pMem->flags = MEM_Real; pMem 63803 ext/sqlite3/libsqlite/sqlite3.c SQLITE_PRIVATE void sqlite3VdbeMemSetRowSet(Mem *pMem){ pMem 63804 ext/sqlite3/libsqlite/sqlite3.c sqlite3 *db = pMem->db; pMem 63806 ext/sqlite3/libsqlite/sqlite3.c assert( (pMem->flags & MEM_RowSet)==0 ); pMem 63807 ext/sqlite3/libsqlite/sqlite3.c sqlite3VdbeMemRelease(pMem); pMem 63808 ext/sqlite3/libsqlite/sqlite3.c pMem->zMalloc = sqlite3DbMallocRaw(db, 64); pMem 63810 ext/sqlite3/libsqlite/sqlite3.c pMem->flags = MEM_Null; pMem 63811 ext/sqlite3/libsqlite/sqlite3.c pMem->szMalloc = 0; pMem 63813 ext/sqlite3/libsqlite/sqlite3.c assert( pMem->zMalloc ); pMem 63814 ext/sqlite3/libsqlite/sqlite3.c pMem->szMalloc = sqlite3DbMallocSize(db, pMem->zMalloc); pMem 63815 ext/sqlite3/libsqlite/sqlite3.c pMem->u.pRowSet = sqlite3RowSetInit(db, pMem->zMalloc, pMem->szMalloc); pMem 63816 ext/sqlite3/libsqlite/sqlite3.c assert( pMem->u.pRowSet!=0 ); pMem 63817 ext/sqlite3/libsqlite/sqlite3.c pMem->flags = MEM_RowSet; pMem 63846 ext/sqlite3/libsqlite/sqlite3.c SQLITE_PRIVATE void sqlite3VdbeMemAboutToChange(Vdbe *pVdbe, Mem *pMem){ pMem 63850 ext/sqlite3/libsqlite/sqlite3.c if( pX->pScopyFrom==pMem ){ pMem 63855 ext/sqlite3/libsqlite/sqlite3.c pMem->pScopyFrom = 0; pMem 63937 ext/sqlite3/libsqlite/sqlite3.c Mem *pMem, /* Memory cell to set to string value */ pMem 63947 ext/sqlite3/libsqlite/sqlite3.c assert( pMem->db==0 || sqlite3_mutex_held(pMem->db->mutex) ); pMem 63948 ext/sqlite3/libsqlite/sqlite3.c assert( (pMem->flags & MEM_RowSet)==0 ); pMem 63952 ext/sqlite3/libsqlite/sqlite3.c sqlite3VdbeMemSetNull(pMem); pMem 63956 ext/sqlite3/libsqlite/sqlite3.c if( pMem->db ){ pMem 63957 ext/sqlite3/libsqlite/sqlite3.c iLimit = pMem->db->aLimit[SQLITE_LIMIT_LENGTH]; pMem 63988 ext/sqlite3/libsqlite/sqlite3.c if( sqlite3VdbeMemClearAndResize(pMem, MAX(nAlloc,32)) ){ pMem 63991 ext/sqlite3/libsqlite/sqlite3.c memcpy(pMem->z, z, nAlloc); pMem 63993 ext/sqlite3/libsqlite/sqlite3.c sqlite3VdbeMemRelease(pMem); pMem 63994 ext/sqlite3/libsqlite/sqlite3.c pMem->zMalloc = pMem->z = (char *)z; pMem 63995 ext/sqlite3/libsqlite/sqlite3.c pMem->szMalloc = sqlite3DbMallocSize(pMem->db, pMem->zMalloc); pMem 63997 ext/sqlite3/libsqlite/sqlite3.c sqlite3VdbeMemRelease(pMem); pMem 63998 ext/sqlite3/libsqlite/sqlite3.c pMem->z = (char *)z; pMem 63999 ext/sqlite3/libsqlite/sqlite3.c pMem->xDel = xDel; pMem 64003 ext/sqlite3/libsqlite/sqlite3.c pMem->n = nByte; pMem 64004 ext/sqlite3/libsqlite/sqlite3.c pMem->flags = flags; pMem 64005 ext/sqlite3/libsqlite/sqlite3.c pMem->enc = (enc==0 ? SQLITE_UTF8 : enc); pMem 64008 ext/sqlite3/libsqlite/sqlite3.c if( pMem->enc!=SQLITE_UTF8 && sqlite3VdbeMemHandleBom(pMem) ){ pMem 64041 ext/sqlite3/libsqlite/sqlite3.c Mem *pMem /* OUT: Return data in this Mem structure. */ pMem 64048 ext/sqlite3/libsqlite/sqlite3.c assert( !VdbeMemDynamic(pMem) ); pMem 64052 ext/sqlite3/libsqlite/sqlite3.c assert( (pMem->flags & MEM_RowSet)==0 ); pMem 64061 ext/sqlite3/libsqlite/sqlite3.c pMem->z = &zData[offset]; pMem 64062 ext/sqlite3/libsqlite/sqlite3.c pMem->flags = MEM_Blob|MEM_Ephem; pMem 64063 ext/sqlite3/libsqlite/sqlite3.c pMem->n = (int)amt; pMem 64065 ext/sqlite3/libsqlite/sqlite3.c pMem->flags = MEM_Null; pMem 64066 ext/sqlite3/libsqlite/sqlite3.c if( SQLITE_OK==(rc = sqlite3VdbeMemClearAndResize(pMem, amt+2)) ){ pMem 64068 ext/sqlite3/libsqlite/sqlite3.c rc = sqlite3BtreeKey(pCur, offset, amt, pMem->z); pMem 64070 ext/sqlite3/libsqlite/sqlite3.c rc = sqlite3BtreeData(pCur, offset, amt, pMem->z); pMem 64073 ext/sqlite3/libsqlite/sqlite3.c pMem->z[amt] = 0; pMem 64074 ext/sqlite3/libsqlite/sqlite3.c pMem->z[amt+1] = 0; pMem 64075 ext/sqlite3/libsqlite/sqlite3.c pMem->flags = MEM_Blob|MEM_Term; pMem 64076 ext/sqlite3/libsqlite/sqlite3.c pMem->n = (int)amt; pMem 64078 ext/sqlite3/libsqlite/sqlite3.c sqlite3VdbeMemRelease(pMem); pMem 64699 ext/sqlite3/libsqlite/sqlite3.c Mem *pMem = *ppVal; /* Write result into this Mem object */ pMem 64716 ext/sqlite3/libsqlite/sqlite3.c if( pMem==0 ){ pMem 64717 ext/sqlite3/libsqlite/sqlite3.c pMem = *ppVal = sqlite3ValueNew(db); pMem 64718 ext/sqlite3/libsqlite/sqlite3.c if( pMem==0 ) return SQLITE_NOMEM; pMem 64720 ext/sqlite3/libsqlite/sqlite3.c sqlite3VdbeSerialGet(&a[iField-szField], t, pMem); pMem 64721 ext/sqlite3/libsqlite/sqlite3.c pMem->enc = ENC(db); pMem 65885 ext/sqlite3/libsqlite/sqlite3.c Mem *pMem = pOp->p4.pMem; pMem 65886 ext/sqlite3/libsqlite/sqlite3.c if( pMem->flags & MEM_Str ){ pMem 65887 ext/sqlite3/libsqlite/sqlite3.c zP4 = pMem->z; pMem 65888 ext/sqlite3/libsqlite/sqlite3.c }else if( pMem->flags & MEM_Int ){ pMem 65889 ext/sqlite3/libsqlite/sqlite3.c sqlite3_snprintf(nTemp, zTemp, "%lld", pMem->u.i); pMem 65890 ext/sqlite3/libsqlite/sqlite3.c }else if( pMem->flags & MEM_Real ){ pMem 65891 ext/sqlite3/libsqlite/sqlite3.c sqlite3_snprintf(nTemp, zTemp, "%.16g", pMem->u.r); pMem 65892 ext/sqlite3/libsqlite/sqlite3.c }else if( pMem->flags & MEM_Null ){ pMem 65895 ext/sqlite3/libsqlite/sqlite3.c assert( pMem->flags & MEM_Blob ); pMem 66124 ext/sqlite3/libsqlite/sqlite3.c Mem *pMem = &p->aMem[1]; /* First Mem of result set */ pMem 66134 ext/sqlite3/libsqlite/sqlite3.c releaseMemArray(pMem, 8); pMem 66198 ext/sqlite3/libsqlite/sqlite3.c pMem->flags = MEM_Int; pMem 66199 ext/sqlite3/libsqlite/sqlite3.c pMem->u.i = i; /* Program counter */ pMem 66200 ext/sqlite3/libsqlite/sqlite3.c pMem++; pMem 66202 ext/sqlite3/libsqlite/sqlite3.c pMem->flags = MEM_Static|MEM_Str|MEM_Term; pMem 66203 ext/sqlite3/libsqlite/sqlite3.c pMem->z = (char*)sqlite3OpcodeName(pOp->opcode); /* Opcode */ pMem 66204 ext/sqlite3/libsqlite/sqlite3.c assert( pMem->z!=0 ); pMem 66205 ext/sqlite3/libsqlite/sqlite3.c pMem->n = sqlite3Strlen30(pMem->z); pMem 66206 ext/sqlite3/libsqlite/sqlite3.c pMem->enc = SQLITE_UTF8; pMem 66207 ext/sqlite3/libsqlite/sqlite3.c pMem++; pMem 66229 ext/sqlite3/libsqlite/sqlite3.c pMem->flags = MEM_Int; pMem 66230 ext/sqlite3/libsqlite/sqlite3.c pMem->u.i = pOp->p1; /* P1 */ pMem 66231 ext/sqlite3/libsqlite/sqlite3.c pMem++; pMem 66233 ext/sqlite3/libsqlite/sqlite3.c pMem->flags = MEM_Int; pMem 66234 ext/sqlite3/libsqlite/sqlite3.c pMem->u.i = pOp->p2; /* P2 */ pMem 66235 ext/sqlite3/libsqlite/sqlite3.c pMem++; pMem 66237 ext/sqlite3/libsqlite/sqlite3.c pMem->flags = MEM_Int; pMem 66238 ext/sqlite3/libsqlite/sqlite3.c pMem->u.i = pOp->p3; /* P3 */ pMem 66239 ext/sqlite3/libsqlite/sqlite3.c pMem++; pMem 66241 ext/sqlite3/libsqlite/sqlite3.c if( sqlite3VdbeMemClearAndResize(pMem, 32) ){ /* P4 */ pMem 66245 ext/sqlite3/libsqlite/sqlite3.c pMem->flags = MEM_Str|MEM_Term; pMem 66246 ext/sqlite3/libsqlite/sqlite3.c zP4 = displayP4(pOp, pMem->z, 32); pMem 66247 ext/sqlite3/libsqlite/sqlite3.c if( zP4!=pMem->z ){ pMem 66248 ext/sqlite3/libsqlite/sqlite3.c sqlite3VdbeMemSetStr(pMem, zP4, -1, SQLITE_UTF8, 0); pMem 66250 ext/sqlite3/libsqlite/sqlite3.c assert( pMem->z!=0 ); pMem 66251 ext/sqlite3/libsqlite/sqlite3.c pMem->n = sqlite3Strlen30(pMem->z); pMem 66252 ext/sqlite3/libsqlite/sqlite3.c pMem->enc = SQLITE_UTF8; pMem 66254 ext/sqlite3/libsqlite/sqlite3.c pMem++; pMem 66257 ext/sqlite3/libsqlite/sqlite3.c if( sqlite3VdbeMemClearAndResize(pMem, 4) ){ pMem 66261 ext/sqlite3/libsqlite/sqlite3.c pMem->flags = MEM_Str|MEM_Term; pMem 66262 ext/sqlite3/libsqlite/sqlite3.c pMem->n = 2; pMem 66263 ext/sqlite3/libsqlite/sqlite3.c sqlite3_snprintf(3, pMem->z, "%.2x", pOp->p5); /* P5 */ pMem 66264 ext/sqlite3/libsqlite/sqlite3.c pMem->enc = SQLITE_UTF8; pMem 66265 ext/sqlite3/libsqlite/sqlite3.c pMem++; pMem 66268 ext/sqlite3/libsqlite/sqlite3.c if( sqlite3VdbeMemClearAndResize(pMem, 500) ){ pMem 66272 ext/sqlite3/libsqlite/sqlite3.c pMem->flags = MEM_Str|MEM_Term; pMem 66273 ext/sqlite3/libsqlite/sqlite3.c pMem->n = displayComment(pOp, zP4, pMem->z, 500); pMem 66274 ext/sqlite3/libsqlite/sqlite3.c pMem->enc = SQLITE_UTF8; pMem 66276 ext/sqlite3/libsqlite/sqlite3.c pMem->flags = MEM_Null; /* Comment */ pMem 67665 ext/sqlite3/libsqlite/sqlite3.c SQLITE_PRIVATE u32 sqlite3VdbeSerialType(Mem *pMem, int file_format){ pMem 67666 ext/sqlite3/libsqlite/sqlite3.c int flags = pMem->flags; pMem 67675 ext/sqlite3/libsqlite/sqlite3.c i64 i = pMem->u.i; pMem 67694 ext/sqlite3/libsqlite/sqlite3.c assert( pMem->db->mallocFailed || flags&(MEM_Str|MEM_Blob) ); pMem 67695 ext/sqlite3/libsqlite/sqlite3.c assert( pMem->n>=0 ); pMem 67696 ext/sqlite3/libsqlite/sqlite3.c n = (u32)pMem->n; pMem 67698 ext/sqlite3/libsqlite/sqlite3.c n += pMem->u.nZero; pMem 67781 ext/sqlite3/libsqlite/sqlite3.c SQLITE_PRIVATE u32 sqlite3VdbeSerialPut(u8 *buf, Mem *pMem, u32 serial_type){ pMem 67789 ext/sqlite3/libsqlite/sqlite3.c assert( sizeof(v)==sizeof(pMem->u.r) ); pMem 67790 ext/sqlite3/libsqlite/sqlite3.c memcpy(&v, &pMem->u.r, sizeof(v)); pMem 67793 ext/sqlite3/libsqlite/sqlite3.c v = pMem->u.i; pMem 67806 ext/sqlite3/libsqlite/sqlite3.c assert( pMem->n + ((pMem->flags & MEM_Zero)?pMem->u.nZero:0) pMem 67808 ext/sqlite3/libsqlite/sqlite3.c len = pMem->n; pMem 67809 ext/sqlite3/libsqlite/sqlite3.c memcpy(buf, pMem->z, len); pMem 67838 ext/sqlite3/libsqlite/sqlite3.c Mem *pMem /* Memory cell to write value into */ pMem 67846 ext/sqlite3/libsqlite/sqlite3.c pMem->u.i = *(i64*)&x; pMem 67847 ext/sqlite3/libsqlite/sqlite3.c pMem->flags = MEM_Int; pMem 67848 ext/sqlite3/libsqlite/sqlite3.c testcase( pMem->u.i<0 ); pMem 67864 ext/sqlite3/libsqlite/sqlite3.c assert( sizeof(x)==8 && sizeof(pMem->u.r)==8 ); pMem 67866 ext/sqlite3/libsqlite/sqlite3.c memcpy(&pMem->u.r, &x, sizeof(x)); pMem 67867 ext/sqlite3/libsqlite/sqlite3.c pMem->flags = sqlite3IsNaN(pMem->u.r) ? MEM_Null : MEM_Real; pMem 67874 ext/sqlite3/libsqlite/sqlite3.c Mem *pMem /* Memory cell to write value into */ pMem 67881 ext/sqlite3/libsqlite/sqlite3.c pMem->flags = MEM_Null; pMem 67887 ext/sqlite3/libsqlite/sqlite3.c pMem->u.i = ONE_BYTE_INT(buf); pMem 67888 ext/sqlite3/libsqlite/sqlite3.c pMem->flags = MEM_Int; pMem 67889 ext/sqlite3/libsqlite/sqlite3.c testcase( pMem->u.i<0 ); pMem 67895 ext/sqlite3/libsqlite/sqlite3.c pMem->u.i = TWO_BYTE_INT(buf); pMem 67896 ext/sqlite3/libsqlite/sqlite3.c pMem->flags = MEM_Int; pMem 67897 ext/sqlite3/libsqlite/sqlite3.c testcase( pMem->u.i<0 ); pMem 67903 ext/sqlite3/libsqlite/sqlite3.c pMem->u.i = THREE_BYTE_INT(buf); pMem 67904 ext/sqlite3/libsqlite/sqlite3.c pMem->flags = MEM_Int; pMem 67905 ext/sqlite3/libsqlite/sqlite3.c testcase( pMem->u.i<0 ); pMem 67911 ext/sqlite3/libsqlite/sqlite3.c pMem->u.i = FOUR_BYTE_INT(buf); pMem 67912 ext/sqlite3/libsqlite/sqlite3.c pMem->flags = MEM_Int; pMem 67913 ext/sqlite3/libsqlite/sqlite3.c testcase( pMem->u.i<0 ); pMem 67919 ext/sqlite3/libsqlite/sqlite3.c pMem->u.i = FOUR_BYTE_UINT(buf+2) + (((i64)1)<<32)*TWO_BYTE_INT(buf); pMem 67920 ext/sqlite3/libsqlite/sqlite3.c pMem->flags = MEM_Int; pMem 67921 ext/sqlite3/libsqlite/sqlite3.c testcase( pMem->u.i<0 ); pMem 67928 ext/sqlite3/libsqlite/sqlite3.c return serialGet(buf,serial_type,pMem); pMem 67934 ext/sqlite3/libsqlite/sqlite3.c pMem->u.i = serial_type-8; pMem 67935 ext/sqlite3/libsqlite/sqlite3.c pMem->flags = MEM_Int; pMem 67944 ext/sqlite3/libsqlite/sqlite3.c pMem->z = (char *)buf; pMem 67945 ext/sqlite3/libsqlite/sqlite3.c pMem->n = (serial_type-12)/2; pMem 67946 ext/sqlite3/libsqlite/sqlite3.c pMem->flags = aFlag[serial_type&1]; pMem 67947 ext/sqlite3/libsqlite/sqlite3.c return pMem->n; pMem 68014 ext/sqlite3/libsqlite/sqlite3.c Mem *pMem = p->aMem; pMem 68017 ext/sqlite3/libsqlite/sqlite3.c assert( EIGHT_BYTE_ALIGNMENT(pMem) ); pMem 68025 ext/sqlite3/libsqlite/sqlite3.c pMem->enc = pKeyInfo->enc; pMem 68026 ext/sqlite3/libsqlite/sqlite3.c pMem->db = pKeyInfo->db; pMem 68028 ext/sqlite3/libsqlite/sqlite3.c pMem->szMalloc = 0; pMem 68029 ext/sqlite3/libsqlite/sqlite3.c d += sqlite3VdbeSerialGet(&aKey[d], serial_type, pMem); pMem 68030 ext/sqlite3/libsqlite/sqlite3.c pMem++; pMem 68934 ext/sqlite3/libsqlite/sqlite3.c Mem *pMem = &v->aVar[iVar-1]; pMem 68935 ext/sqlite3/libsqlite/sqlite3.c if( 0==(pMem->flags & MEM_Null) ){ pMem 68938 ext/sqlite3/libsqlite/sqlite3.c sqlite3VdbeMemCopy((Mem *)pRet, pMem); pMem 69660 ext/sqlite3/libsqlite/sqlite3.c Mem *pMem = p->pMem; pMem 69661 ext/sqlite3/libsqlite/sqlite3.c assert( (pMem->flags & MEM_Agg)==0 ); pMem 69663 ext/sqlite3/libsqlite/sqlite3.c sqlite3VdbeMemSetNull(pMem); pMem 69664 ext/sqlite3/libsqlite/sqlite3.c pMem->z = 0; pMem 69666 ext/sqlite3/libsqlite/sqlite3.c sqlite3VdbeMemClearAndResize(pMem, nByte); pMem 69667 ext/sqlite3/libsqlite/sqlite3.c pMem->flags = MEM_Agg; pMem 69668 ext/sqlite3/libsqlite/sqlite3.c pMem->u.pDef = p->pFunc; pMem 69669 ext/sqlite3/libsqlite/sqlite3.c if( pMem->z ){ pMem 69670 ext/sqlite3/libsqlite/sqlite3.c memset(pMem->z, 0, nByte); pMem 69673 ext/sqlite3/libsqlite/sqlite3.c return (void*)pMem->z; pMem 69685 ext/sqlite3/libsqlite/sqlite3.c if( (p->pMem->flags & MEM_Agg)==0 ){ pMem 69688 ext/sqlite3/libsqlite/sqlite3.c return (void*)p->pMem->z; pMem 69773 ext/sqlite3/libsqlite/sqlite3.c assert( p && p->pMem && p->pFunc && p->pFunc->xStep ); pMem 69774 ext/sqlite3/libsqlite/sqlite3.c return p->pMem->n; pMem 70942 ext/sqlite3/libsqlite/sqlite3.c Mem *pMem = &p->aMem[p->nMem-iCur]; pMem 70955 ext/sqlite3/libsqlite/sqlite3.c if( SQLITE_OK==sqlite3VdbeMemClearAndResize(pMem, nByte) ){ pMem 70956 ext/sqlite3/libsqlite/sqlite3.c p->apCsr[iCur] = pCx = (VdbeCursor*)pMem->z; pMem 70963 ext/sqlite3/libsqlite/sqlite3.c &pMem->z[ROUND8(sizeof(VdbeCursor))+2*sizeof(u32)*nField]; pMem 71055 ext/sqlite3/libsqlite/sqlite3.c Mem *pMem = (Mem*)pVal; pMem 71056 ext/sqlite3/libsqlite/sqlite3.c applyNumericAffinity(pMem, 0); pMem 71080 ext/sqlite3/libsqlite/sqlite3.c static u16 SQLITE_NOINLINE computeNumericType(Mem *pMem){ pMem 71081 ext/sqlite3/libsqlite/sqlite3.c assert( (pMem->flags & (MEM_Int|MEM_Real))==0 ); pMem 71082 ext/sqlite3/libsqlite/sqlite3.c assert( (pMem->flags & (MEM_Str|MEM_Blob))!=0 ); pMem 71083 ext/sqlite3/libsqlite/sqlite3.c if( sqlite3AtoF(pMem->z, &pMem->u.r, pMem->n, pMem->enc)==0 ){ pMem 71086 ext/sqlite3/libsqlite/sqlite3.c if( sqlite3Atoi64(pMem->z, &pMem->u.i, pMem->n, pMem->enc)==SQLITE_OK ){ pMem 71099 ext/sqlite3/libsqlite/sqlite3.c static u16 numericType(Mem *pMem){ pMem 71100 ext/sqlite3/libsqlite/sqlite3.c if( pMem->flags & (MEM_Int|MEM_Real) ){ pMem 71101 ext/sqlite3/libsqlite/sqlite3.c return pMem->flags & (MEM_Int|MEM_Real); pMem 71103 ext/sqlite3/libsqlite/sqlite3.c if( pMem->flags & (MEM_Str|MEM_Blob) ){ pMem 71104 ext/sqlite3/libsqlite/sqlite3.c return computeNumericType(pMem); pMem 71114 ext/sqlite3/libsqlite/sqlite3.c SQLITE_PRIVATE void sqlite3VdbeMemPrettyPrint(Mem *pMem, char *zBuf){ pMem 71116 ext/sqlite3/libsqlite/sqlite3.c int f = pMem->flags; pMem 71138 ext/sqlite3/libsqlite/sqlite3.c sqlite3_snprintf(100, zCsr, "%d[", pMem->n); pMem 71140 ext/sqlite3/libsqlite/sqlite3.c for(i=0; i<16 && i<pMem->n; i++){ pMem 71141 ext/sqlite3/libsqlite/sqlite3.c sqlite3_snprintf(100, zCsr, "%02X", ((int)pMem->z[i] & 0xFF)); pMem 71144 ext/sqlite3/libsqlite/sqlite3.c for(i=0; i<16 && i<pMem->n; i++){ pMem 71145 ext/sqlite3/libsqlite/sqlite3.c char z = pMem->z[i]; pMem 71150 ext/sqlite3/libsqlite/sqlite3.c sqlite3_snprintf(100, zCsr, "]%s", encnames[pMem->enc]); pMem 71153 ext/sqlite3/libsqlite/sqlite3.c sqlite3_snprintf(100, zCsr,"+%dz",pMem->u.nZero); pMem 71173 ext/sqlite3/libsqlite/sqlite3.c sqlite3_snprintf(100, &zBuf[k], "%d", pMem->n); pMem 71176 ext/sqlite3/libsqlite/sqlite3.c for(j=0; j<15 && j<pMem->n; j++){ pMem 71177 ext/sqlite3/libsqlite/sqlite3.c u8 c = pMem->z[j]; pMem 71185 ext/sqlite3/libsqlite/sqlite3.c sqlite3_snprintf(100,&zBuf[k], encnames[pMem->enc]); pMem 72115 ext/sqlite3/libsqlite/sqlite3.c Mem *pMem; pMem 72170 ext/sqlite3/libsqlite/sqlite3.c pMem = p->pResultSet = &aMem[pOp->p1]; pMem 72172 ext/sqlite3/libsqlite/sqlite3.c assert( memIsValid(&pMem[i]) ); pMem 72173 ext/sqlite3/libsqlite/sqlite3.c Deephemeralize(&pMem[i]); pMem 72174 ext/sqlite3/libsqlite/sqlite3.c assert( (pMem[i].flags & MEM_Ephem)==0 pMem 72175 ext/sqlite3/libsqlite/sqlite3.c || (pMem[i].flags & (MEM_Str|MEM_Blob))==0 ); pMem 72176 ext/sqlite3/libsqlite/sqlite3.c sqlite3VdbeMemNulTerminate(&pMem[i]); pMem 72177 ext/sqlite3/libsqlite/sqlite3.c REGISTER_TRACE(pOp->p1+i, &pMem[i]); pMem 73319 ext/sqlite3/libsqlite/sqlite3.c sqlite3VdbeMemShallowCopy(pDest, pOp->p4.pMem, MEM_Static); pMem 74839 ext/sqlite3/libsqlite/sqlite3.c Mem *pMem; /* Register holding largest rowid for AUTOINCREMENT */ pMem 74903 ext/sqlite3/libsqlite/sqlite3.c pMem = &pFrame->aMem[pOp->p3]; pMem 74907 ext/sqlite3/libsqlite/sqlite3.c pMem = &aMem[pOp->p3]; pMem 74908 ext/sqlite3/libsqlite/sqlite3.c memAboutToChange(p, pMem); pMem 74910 ext/sqlite3/libsqlite/sqlite3.c assert( memIsValid(pMem) ); pMem 74912 ext/sqlite3/libsqlite/sqlite3.c REGISTER_TRACE(pOp->p3, pMem); pMem 74913 ext/sqlite3/libsqlite/sqlite3.c sqlite3VdbeMemIntegerify(pMem); pMem 74914 ext/sqlite3/libsqlite/sqlite3.c assert( (pMem->flags & MEM_Int)!=0 ); /* mem(P3) holds an integer */ pMem 74915 ext/sqlite3/libsqlite/sqlite3.c if( pMem->u.i==MAX_ROWID || pC->useRandomRowid ){ pMem 74919 ext/sqlite3/libsqlite/sqlite3.c if( v<pMem->u.i+1 ){ pMem 74920 ext/sqlite3/libsqlite/sqlite3.c v = pMem->u.i + 1; pMem 74922 ext/sqlite3/libsqlite/sqlite3.c pMem->u.i = v; pMem 76240 ext/sqlite3/libsqlite/sqlite3.c Mem *pMem; /* Used to iterate through memory cells */ pMem 76314 ext/sqlite3/libsqlite/sqlite3.c for(pMem=VdbeFrameMem(pFrame); pMem!=pEnd; pMem++){ pMem 76315 ext/sqlite3/libsqlite/sqlite3.c pMem->flags = MEM_Undefined; pMem 76316 ext/sqlite3/libsqlite/sqlite3.c pMem->db = db; pMem 76544 ext/sqlite3/libsqlite/sqlite3.c Mem *pMem; pMem 76562 ext/sqlite3/libsqlite/sqlite3.c ctx.pMem = pMem = &aMem[pOp->p3]; pMem 76563 ext/sqlite3/libsqlite/sqlite3.c pMem->n++; pMem 76598 ext/sqlite3/libsqlite/sqlite3.c Mem *pMem; pMem 76600 ext/sqlite3/libsqlite/sqlite3.c pMem = &aMem[pOp->p1]; pMem 76601 ext/sqlite3/libsqlite/sqlite3.c assert( (pMem->flags & ~(MEM_Null|MEM_Agg))==0 ); pMem 76602 ext/sqlite3/libsqlite/sqlite3.c rc = sqlite3VdbeMemFinalize(pMem, pOp->p4.pFunc); pMem 76604 ext/sqlite3/libsqlite/sqlite3.c sqlite3SetString(&p->zErrMsg, db, "%s", sqlite3_value_text(pMem)); pMem 76606 ext/sqlite3/libsqlite/sqlite3.c sqlite3VdbeChangeEncoding(pMem, encoding); pMem 76607 ext/sqlite3/libsqlite/sqlite3.c UPDATE_MAX_BLOBSIZE(pMem); pMem 76608 ext/sqlite3/libsqlite/sqlite3.c if( sqlite3VdbeMemTooBig(pMem) ){ pMem 76629 ext/sqlite3/libsqlite/sqlite3.c Mem *pMem; /* Write results here */ pMem 76644 ext/sqlite3/libsqlite/sqlite3.c for(i=0, pMem = &aMem[pOp->p3]; i<3; i++, pMem++){ pMem 76645 ext/sqlite3/libsqlite/sqlite3.c sqlite3VdbeMemSetInt64(pMem, (i64)aRes[i]);