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_valuesqlite3ValueNew (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)->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