Hi Roger,

thanks for the additional information (and also thanks a lot for APSW,
it's a really valuable tool).

On Wed, Jul 17, 2013 at 11:47 AM, Roger Binns <rog...@rogerbinns.com> wrote:
> APSW does sqlite3_reset the statement in many circumstances, including
> hitting the end of the results and on errors.
>
> sqlite3_finalize is only called when the statement is being destroyed
> which includes eviction from the statement cache, and on getting
> SQLITE_SCHEMA error.
>
> I do wish SQLite had a standard statement cache available.  Pretty much
> all wrappers implement their own which is duplicate work and tricky to get
> right.

I think the statement cache is not probably the cause here (although
it's apparently quite convenient to me that APSW allows switching it
off and have the same statement compiled again, I'm not sure I can do
the same with pysqlite), but since sqlite3_reset doesn't clear the
binding and since (I guess) the relevant use case for these auxiliary
data is storing results that depend on the parameter values, if the
metadata is not destroyed when a parameter is reassigned then the
overall usability for this feature seems somewhat reduced to me.

--
Riccardo
_______________________________________________
sqlite-users mailing list
sqlite-users@sqlite.org
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users

Reply via email to