LPP> With this enabled I sometimes get LPP> Database error 55000: currval of sequence "txn_id" is not yet LPP> defined in this session
can you catch a backtrace? it seems to be quite relevant here LPP> This should be easy to fix, either by using NEXTVAL all the time LPP> (not sure whether this will work or whether this is good at all) yep, that will just break logic LPP> or by ensuring that at least one NEXTVAL precedes usage of CURRVAL. that's the way it is meant to work: NEXTVAL is called in ensure-cache-up-to-date function, and ensure-cache-up-to-date is called before any operation on cache -- and before any write to DB. the only code path i'm aware of is (setf internal-get-value) on btree -> ins_upd_btree -> notify_btree_update -> currval but, before calling ins_upd_btree, (setf internal-get-value) calls txn-cache-set-value, that ensures cache is up to date, calling NEXTVAL so this code path seems to be correct -- NEXTVAL is always called before CURRVAL. so only reason i can think of at moment (before looking into backtrace, at least) is misconfiguration -- some processes/threads you launch have global sync cache enabled, while others have not. and those who don't have it enabled call CURRVAL without initializing it with NEXTVAL (because they are not initializing cache). _______________________________________________ elephant-devel site list elephant-devel@common-lisp.net http://common-lisp.net/mailman/listinfo/elephant-devel