/*
** Each sample stored in the sqlite_stat3 table is represented in memory
** using a structure of this type. See documentation at the top of the
** analyze.c source file for additional information.
*/
struct IndexSample {
union { char *z; /* Value if eType is SQLITE4_TEXT or SQLITE4_BLOB */
double r; /* Value if eType is SQLITE4_FLOAT */ i64 i; /* Value if eType is SQLITE4_INTEGER */ } u; u8 eType; /* SQLITE4_NULL, SQLITE4_INTEGER ... etc. */ int nByte; /* Size in byte of text or blob. */
tRowcnt nEq; /* Est. number of rows where the key equals this sample */
tRowcnt nLt; /* Est. number of rows where key is less than this sample */
tRowcnt nDLt; /* Est. number of distinct keys less than this sample */
};
/*
** Each token coming out of the lexer is an instance of

/*
** Each sample stored in the sqlite_stat3 table is represented in memory
** using a structure of this type. See documentation at the top of the
** analyze.c source file for additional information.
*/
struct IndexSample {
u8 *aVal; /* Pointer to index-key encoded value blob */int nVal; /* Size of array aKey[] in bytes */
tRowcnt nEq; /* Est. number of rows where the key equals this sample */
tRowcnt nLt; /* Est. number of rows where key is less than this sample */
tRowcnt nDLt; /* Est. number of distinct keys less than this sample */
};
/*
** Each token coming out of the lexer is an instance of