Hello, vcdbeInt.h reads:
** Each value has a manifest type. The manifest type of the value stored ** in a Mem struct is returned by the MemType(Mem*) macro. The type is ** one of SQLITE_NULL, SQLITE_INTEGER, SQLITE_REAL, SQLITE_TEXT or ** SQLITE_BLOB. */ struct Mem { i64 i; /* Integer value */ int n; /* Number of characters in string value, including '\0' */ u16 flags; /* Some combination of MEM_Null, MEM_Str, MEM_Dyn, etc. */ u8 type; /* One of MEM_Null, MEM_Str, etc. */ In the block comment SQLITE_REAL must obviously be SQLITE_FLOAT In the inline-comment for the "type" member it must not be MEM_Null and the like since MEM_Null != SQLITE_NULL According to my understanding the MEM_* constants are used for the "flags"-member indicating which members (string, float, integer) are validly set. Happy easter to all readers, Bernhard