On Thu, Jan 19, 2012 at 7:51 AM, John Elrick <john.elr...@fenestra.com>wrote:
> Interesting: > > 1. There are no database schema changes occurring after the system is fully > initialized > 2. There are no ATTACHed databases (we checked that earlier) > 3. There are no calls to VACUUM > 4. As far as I am aware, there are no changes to any callbacks after the > system is fully initialized. > > I believe your earlier note is pointing us in the right direction. > Examining my call stacks, it appears that the query is being reparsed on > every call to step. The question is, why? Did any of these conditions > change between 3.6.17 and 3.7.9? Maybe we are doing something that is > unintentionally triggering the re-parse which did not do so in the earlier > version. > > Also: Changing a bound parameter on the right-hand side of a LIKE or GLOB operator forces a reprepare of that one statement, so that the query optimizer can determine if the new value meets certain criteria for optimization. Try setting a breakpoint on sqlite3ExpirePreparedStatements() to see what you find. Also, on these lines to check for statement expiration due to variable rebinding: http://www.sqlite.org/src/artifact/3662b6a468a2?ln=1024 http://www.sqlite.org/src/artifact/3662b6a468a2?ln=129 > On Thu, Jan 19, 2012 at 7:45 AM, Richard Hipp <d...@sqlite.org> wrote: > > > On Thu, Jan 19, 2012 at 7:41 AM, John Elrick <john.elr...@fenestra.com > > >wrote: > > > > > Question: > > > > > > If a query has already been prepared with sqlite3_prepare_v2, why would > > > sqlite3_step need to call sqlite3Prepare, which in turn calls > > > sqlite3RunParser? > > > > > > > Because the database schema changed. Or because you ran ATTACH or > VACUUM, > > either of which could potential change the bytecode necessary to run the > > statement. Or, because you changed the authorization callback. > > > > > > > > > _______________________________________________ > > > sqlite-users mailing list > > > sqlite-users@sqlite.org > > > http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users > > > > > > > > > > > -- > > D. Richard Hipp > > d...@sqlite.org > > _______________________________________________ > > sqlite-users mailing list > > sqlite-users@sqlite.org > > http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users > > > > > > -- > John Elrick > Fenestra Technologies > 540-868-1377 > _______________________________________________ > sqlite-users mailing list > sqlite-users@sqlite.org > http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users > -- D. Richard Hipp d...@sqlite.org _______________________________________________ sqlite-users mailing list sqlite-users@sqlite.org http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users