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 _______________________________________________ sqlite-users mailing list sqlite-users@sqlite.org http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users