On Tue, Jan 24, 2012 at 7:37 PM, John Elrick <john.elr...@fenestra.com>wrote:
> > It appears that the value is set here: > > u.av.pBt = db->aDb[pOp->p1].pBt; > if( u.av.pBt ){ > sqlite3BtreeGetMeta(u.av.pBt, BTREE_SCHEMA_VERSION, (u32 *)&u.av.iMeta); > u.av.iGen = db->aDb[pOp->p1].pSchema->iGeneration; > }else{ > u.av.iGen = u.av.iMeta = 0; > } > > > I added a log trace to the else condition and it never fired off, so > something is causing db->aDb[pOp->p1].pSchema->iGeneration to change > relative to pOp->p3. Give me some guidance as to where to dig and I'll be > glad to do so > iGeneration changes in only one place in the code: http://www.sqlite.org/src/artifact/5069f2248?ln=431 May I recommend that you put a printf() before this line http://www.sqlite.org/src/artifact/fc1b97fa6816?ln=3022 And have that printf display the following values: db (rendered using %p) pOp->p1 (using %d) db->aDb[pOp->p1].pSchema (using %p) db->aDb[pOp->p1].pSchema->schema_cookie (using %d) db->aDb[pOp->p1].pSchema->iGeneration (using %d) iMeta (using %d) pOp->p2 (using %d) pOp->p3 (using %d) p->zSql (using %s) And then also add a printf on the line above where iGeneration changes and display its new value every time it changes. -- D. Richard Hipp d...@sqlite.org _______________________________________________ sqlite-users mailing list sqlite-users@sqlite.org http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users