Greetings! Just doing some more digging around MonetDB, and have a couple of questions. (1) If I am managing multiple BATs that are (supposedly) synced, how do I manage appends and the syncing? For example, I have a_p1 = BAT[void, int] and a_p2 = BAT[void, int] (a_p1 = <a> type things with property p1) (a_p2 = <a> type things with property p2) I wish to insert a new <a>=(1,2) thing. Do I do? bat("a_p1").append(1); bat("a_p2").append(2); How do I ensure that the "voids" are always synced? Is this just "assumed"? What if I fail in the middle of operations (such that a_p1 has an extra row) and stuck with dirty tables? Do I do a global "abort();" or a "clean();" to get back to a safe state? Will this reset the seqbase? (Is this documented someplace? I am trying to look at the architecture docs but cannot find anything that concretely answers similar questions.) (2) How does sync() work? Do I do a: sync(bat("a_p1"), bat("a_p2")); once and only once? After every update/append to the tables? There is the phrase "When two BATs effectively contain the same sequence of head elements, we call them 'synced'. This is implemented by storing a very large OID for each column. An update to the column destroys this OID.". This sounds as if any update/append breaks the correspondence, and also that it will limit the number of rows in the table (as an OID is a 32-bit number of 32-bit systems). If I have 10 properties I am tracking, would I pick one as the "primary" BAT, and sync() all others to it? Regards! Ed