gwenn wrote: > If there is no way to know that the statement has been recompiled, I > guess that the column count should not be cached...
SQLite already caches it for you (and properly changes it when recompiling): SQLITE_API int SQLITE_STDCALL sqlite3_column_count(sqlite3_stmt *pStmt){ Vdbe *pVm = (Vdbe *)pStmt; return pVm ? pVm->nResColumn : 0; } Regards, Clemens