On Tue, Jan 24, 2012 at 7:46 PM, Richard Hipp <d...@sqlite.org> wrote:

> 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)
>
>
Progress.   A couple of representatives

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 '

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 = 'select bd.behavior_oid as behavior_oid   from
computation_definitions cd      , behavior_dependents bd  where
bd.behavior_oid = cd.behavior_oid    and bd.response_definition_oid =
:response_definition_oid '

current state = 'db=03FB1188, db->aDb[pOp->p1].pSchema=02110B18,
db->aDb[pOp->p1].pSchema->schema_cookie=63,
db->aDb[pOp->p1].pSchema->iGeneration=4, u.av.iMeta=63, u.av.iGen=4,
pOp->p1=0, pOp->p2=63, pOp->p3=2'

sql = 'select distinct FORM_DEFINITIONS.FORM_DEFINITION_OID from
FORM_DEFINITIONS where FORM_DEFINITIONS.guid=:FORM_DEFINITIONS_guid order
by FORM_DEFINITIONS.rowid '

current state = 'db=03FB1188, db->aDb[pOp->p1].pSchema=02110B18,
db->aDb[pOp->p1].pSchema->schema_cookie=63,
db->aDb[pOp->p1].pSchema->iGeneration=5, u.av.iMeta=63, u.av.iGen=5,
pOp->p1=0, pOp->p2=63, pOp->p3=2'

sql = 'select distinct FORM_DEFINITIONS.FORM_DEFINITION_OID from
FORM_FLAGS, FORM_DEFINITIONS, MANIFESTS, SURVEYS where
MANIFESTS.MANIFEST_OID=:MANIFESTS_MANIFEST_OID and
FORM_DEFINITIONS.FORM_DEFINITION_OID=:FORM_DEFINITIONS_FORM_DEFINITION_OID
and FORM_FLAGS.definition_parent=FORM_DEFINITIONS.FORM_DEFINITION_OID and
FORM_FLAGS.instance_parent=MANIFESTS.MANIFEST_OID and
FORM_DEFINITIONS.definition_parent=SURVEYS.SURVEY_OID and
MANIFESTS.definition_parent=SURVEYS.SURVEY_OID order by
FORM_DEFINITIONS.rowid '

Obviously, iGeneration and p3 are out of sync.  So, what exactly is pOp->p3
?
_______________________________________________
sqlite-users mailing list
sqlite-users@sqlite.org
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users

Reply via email to