reference/specs/autopopulate.md §5.5 "Manual Transaction Control" shows opening a transaction inside make():
def make(self, key):
with dj.conn().transaction:
self.insert1(...)
self.Part.insert(parts)
This directly contradicts explanation/computation-model.md ("Don't Open a Transaction Inside make()"), which states that populate() already holds a transaction for the call, so starting a nested one raises an error (DataJoint doesn't support nested transactions).
One of the two is wrong. Fix §5.5 — remove/replace the in-make() transaction example and align it with computation-model.md (a make() is already atomic; no explicit transaction is needed or allowed inside it).
From an internal datajoint-book → docs coverage review (priority P8).
reference/specs/autopopulate.md§5.5 "Manual Transaction Control" shows opening a transaction insidemake():This directly contradicts
explanation/computation-model.md("Don't Open a Transaction Inside make()"), which states thatpopulate()already holds a transaction for the call, so starting a nested one raises an error (DataJoint doesn't support nested transactions).One of the two is wrong. Fix §5.5 — remove/replace the in-
make()transaction example and align it withcomputation-model.md(amake()is already atomic; no explicit transaction is needed or allowed inside it).From an internal datajoint-book → docs coverage review (priority P8).