Right now it's quite difficult to implement any kind of higher-level
wrapper over sqlite3_prepare()/sqlite3_step()/etc., because of the
semantics of the SQLITE_SCHEMA error.  If you bind values to
parameters of a sqlite3_stmt, you have to redo that binding after you
recreate the sqlite3_stmt due to SQLITE_SCHEMA.  This is cumbersome,
because it means that you have to expose essentially SQLite internals
into user code, and the user code has to loop around every statement
until it succeeds or errors out with something other than
SQLITE_SCHEMA.  Is there any reason that step() can't recreate the
bits of the VDBE that need to be updated itself in case of a
SQLITE_SCHEMA error, while preserving current parameter bindings?

Thanks,
    - Vlad

Reply via email to