Skip to content

Fix contradiction: autopopulate.md §5.5 shows a transaction inside make() #224

Description

@dimitri-yatsenko

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).

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingdocumentationImprovements or additions to documentation

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions