Addendum On Wed, Jan 25, 2012 at 1:12 PM, John Elrick <john.elr...@fenestra.com>wrote:
> On Wed, Jan 25, 2012 at 9:50 AM, Richard Hipp <d...@sqlite.org> wrote: > >> On Wed, Jan 25, 2012 at 9:02 AM, John Elrick <john.elr...@fenestra.com >> >wrote: >> >> > >> > current state = 'db=03FB1188, db->aDb[pOp->p1].pSchema=02110AB0, >> > db->aDb[pOp->p1].pSchema->schema_cookie=27, >> > db->aDb[pOp->p1].pSchema->iGeneration=63, u.av.iMeta=27, u.av.iGen=63, >> > pOp->p1=1, pOp->p2=27, pOp->p3=0' >> > >> > sql = 'update alerter_links set is_dirty = null ' >> > >> > Obviously, iGeneration and p3 are out of sync. So, what exactly is >> pOp->p3 >> > ? >> > >> >> pOp->p3 is suppose to be the value of iGeneration when the statement was >> first prepared. It is set here: >> http://www.sqlite.org/src/artifact/8e2a4dedad?ln=160-162 >> >> I'm a little concerned that pOp->p3 is zero when iGeneration is 63. >> That's >> a lot of changes. When was the statement first prepared? When the >> program >> first starts up? Or is pOp->p3 getting zeroed somehow? > > > I didn't think of this until now. The test run starts with no database, > which means the entire create script must be run. It is physically > impossible for pOp->p3 to be legitimately set to a generation of 0. > > Something must be zeroing pOp->p3 > Physically impossible for a SELECT, UPDATE or INSERT prepared statement to be legitimately set to a generation of 0. _______________________________________________ sqlite-users mailing list sqlite-users@sqlite.org http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users