Suppose this where to
change in version 3.3.0 so that the actual error code
was returned by sqlite3_step().
Would it still be necessary to call sqlite3_finalize?
If so then I don't see the point of the API change.
Then when a schema change occurred, the statement was
automatically recompiled and rebound. There would no
more SQLITE_SCHEMA errors.
This change should be done. SQLITE_SCHEMA is all about
an internal implementation detail in SQLite and shouldn't
really be exposed to the users of SQLite. There is only
action that people take on getting it - rerun the query.
Pretty much every wrapper does that anyway so it makes
even more sense to make that the standard code in SQLite.
If you are looking at API changes, the most beneficial to
me would be a unification of sqlite3_value_TYPE and
sqlite3_column_TYPE. I have to write identical code to
do my own type conversion when calling these function
and duplicate it. Similar story with sqlite3_result_TYPE
and sqlite3_bind_TYPE.
The full gory details are in my original post with feedback
from a wrapper author:
http://article.gmane.org/gmane.comp.db.sqlite.general/9222/
It would be useful if other wrapper authors also gave their
feedback.
Roger