I'm wrapping sqlite3 with a lightweight little C++ API to allow me to use it more easily from C++ code and I have a couple questions about the lifespan of data passed into and received from the sqlite3 API:
1. Will the const char* returned by sqlite3_column_name() persist until the statement is finalized, or are there situations under which sqlite could free it before then? 2. Will SQLITE_STATIC data bound to text or blob parameters (using the sqlite3_bind_text/blob() functions) ever be touched by sqlite outside of calls to sqlite3_step()? 3. Is my belief that text or blob data returned by sqlite3_column_text/blob() does not need to be free()'d and is only valid until the next sqlite3_step/reset/finalize() on that statement correct? Thanks, Brian