vdbemem.c File Reference

Go to the source code of this file.

Defines

#define expandBlob(P)   (((P)->flags&MEM_Zero)?sqlite3VdbeMemExpandBlob(P):0)
#define MEMCELLSIZE   (size_t)(&(((Mem *)0)->zMalloc))

Functions

int sqlite3VdbeChangeEncoding (Mem *pMem, int desiredEnc)
int sqlite3VdbeMemGrow (Mem *pMem, int n, int preserve)
int sqlite3VdbeMemMakeWriteable (Mem *pMem)
int sqlite3VdbeMemExpandBlob (Mem *pMem)
int sqlite3VdbeMemNulTerminate (Mem *pMem)
int sqlite3VdbeMemStringify (Mem *pMem, int enc)
int sqlite3VdbeMemFinalize (Mem *pMem, FuncDef *pFunc)
void sqlite3VdbeMemReleaseExternal (Mem *p)
void sqlite3VdbeMemRelease (Mem *p)
static i64 doubleToInt64 (double r)
i64 sqlite3VdbeIntValue (Mem *pMem)
double sqlite3VdbeRealValue (Mem *pMem)
void sqlite3VdbeIntegerAffinity (Mem *pMem)
static void setTypeFlag (Mem *pMem, int f)
int sqlite3VdbeMemIntegerify (Mem *pMem)
int sqlite3VdbeMemRealify (Mem *pMem)
int sqlite3VdbeMemNumerify (Mem *pMem)
void sqlite3VdbeMemSetNull (Mem *pMem)
void sqlite3VdbeMemSetZeroBlob (Mem *pMem, int n)
void sqlite3VdbeMemSetInt64 (Mem *pMem, i64 val)
void sqlite3VdbeMemSetDouble (Mem *pMem, double val)
int sqlite3VdbeMemTooBig (Mem *p)
void sqlite3VdbeMemShallowCopy (Mem *pTo, const Mem *pFrom, int srcType)
int sqlite3VdbeMemCopy (Mem *pTo, const Mem *pFrom)
void sqlite3VdbeMemMove (Mem *pTo, Mem *pFrom)
int sqlite3VdbeMemSetStr (Mem *pMem, const char *z, int n, u8 enc, void(*xDel)(void *))
int sqlite3MemCompare (const Mem *pMem1, const Mem *pMem2, const CollSeq *pColl)
int sqlite3VdbeMemFromBtree (BtCursor *pCur, int offset, int amt, int key, Mem *pMem)
const void * sqlite3ValueText (sqlite3_value *pVal, u8 enc)
sqlite3_value * sqlite3ValueNew (sqlite3 *db)
int sqlite3ValueFromExpr (sqlite3 *db, Expr *pExpr, u8 enc, u8 affinity, sqlite3_value **ppVal)
void sqlite3ValueSetStr (sqlite3_value *v, int n, const void *z, u8 enc, void(*xDel)(void *))
void sqlite3ValueFree (sqlite3_value *v)
int sqlite3ValueBytes (sqlite3_value *pVal, u8 enc)

Define Documentation

#define expandBlob ( P   )     (((P)->flags&MEM_Zero)?sqlite3VdbeMemExpandBlob(P):0)

Definition at line 28 of file vdbemem.c.

Referenced by sqlite3ValueText(), and sqlite3VdbeMemMakeWriteable().

#define MEMCELLSIZE   (size_t)(&(((Mem *)0)->zMalloc))

Definition at line 509 of file vdbemem.c.

Referenced by sqlite3VdbeMemCopy(), and sqlite3VdbeMemShallowCopy().


Function Documentation

static i64 doubleToInt64 ( double  r  )  [static]
static void setTypeFlag ( Mem *  pMem,
int  f 
) [static]
int sqlite3MemCompare ( const Mem *  pMem1,
const Mem *  pMem2,
const CollSeq *  pColl 
)
int sqlite3ValueBytes ( sqlite3_value *  pVal,
u8  enc 
)

Definition at line 1037 of file vdbemem.c.

References Mem::flags, Mem::i, MEM_Blob, MEM_Zero, Mem::n, sqlite3ValueText(), and Mem::u.

Referenced by sqlite3_value_bytes(), and sqlite3_value_bytes16().

void sqlite3ValueFree ( sqlite3_value *  v  ) 
int sqlite3ValueFromExpr ( sqlite3 *  db,
Expr *  pExpr,
u8  enc,
u8  affinity,
sqlite3_value **  ppVal 
)
sqlite3_value* sqlite3ValueNew ( sqlite3 *  db  ) 
void sqlite3ValueSetStr ( sqlite3_value *  v,
int  n,
const void *  z,
u8  enc,
void(*)(void *)  xDel 
)
const void* sqlite3ValueText ( sqlite3_value *  pVal,
u8  enc 
)
int sqlite3VdbeChangeEncoding ( Mem *  pMem,
int  desiredEnc 
)
void sqlite3VdbeIntegerAffinity ( Mem *  pMem  ) 
i64 sqlite3VdbeIntValue ( Mem *  pMem  ) 
int sqlite3VdbeMemCopy ( Mem *  pTo,
const Mem *  pFrom 
)
int sqlite3VdbeMemExpandBlob ( Mem *  pMem  ) 
int sqlite3VdbeMemFinalize ( Mem *  pMem,
FuncDef *  pFunc 
)
int sqlite3VdbeMemFromBtree ( BtCursor *  pCur,
int  offset,
int  amt,
int  key,
Mem *  pMem 
)
int sqlite3VdbeMemGrow ( Mem *  pMem,
int  n,
int  preserve 
)
int sqlite3VdbeMemIntegerify ( Mem *  pMem  ) 
int sqlite3VdbeMemMakeWriteable ( Mem *  pMem  ) 
void sqlite3VdbeMemMove ( Mem *  pTo,
Mem *  pFrom 
)
int sqlite3VdbeMemNulTerminate ( Mem *  pMem  ) 
int sqlite3VdbeMemNumerify ( Mem *  pMem  ) 
int sqlite3VdbeMemRealify ( Mem *  pMem  ) 
void sqlite3VdbeMemRelease ( Mem *  p  ) 
void sqlite3VdbeMemReleaseExternal ( Mem *  p  ) 
void sqlite3VdbeMemSetDouble ( Mem *  pMem,
double  val 
)
void sqlite3VdbeMemSetInt64 ( Mem *  pMem,
i64  val 
)
void sqlite3VdbeMemSetNull ( Mem *  pMem  ) 
int sqlite3VdbeMemSetStr ( Mem *  pMem,
const char *  z,
int  n,
u8  enc,
void(*)(void *)  xDel 
)
void sqlite3VdbeMemSetZeroBlob ( Mem *  pMem,
int  n 
)
void sqlite3VdbeMemShallowCopy ( Mem *  pTo,
const Mem *  pFrom,
int  srcType 
)
int sqlite3VdbeMemStringify ( Mem *  pMem,
int  enc 
)
int sqlite3VdbeMemTooBig ( Mem *  p  ) 

Definition at line 494 of file vdbemem.c.

References sqlite3::aLimit, Mem::db, Mem::flags, Mem::i, MEM_Blob, MEM_Str, MEM_Zero, Mem::n, SQLITE_LIMIT_LENGTH, and Mem::u.

Referenced by sqlite3VdbeExec().

double sqlite3VdbeRealValue ( Mem *  pMem  ) 

ContextLogger2—ContextLogger2 Logger Daemon Internals—Generated on Mon May 2 13:50:02 2011 by Doxygen 1.6.1