Also referred to as the ACC
block, this is
the access control and lock management module, found in
storage/ndb/src/kernel/blocks/dbacc
. It
contains the following files:
Dbacc.hpp
.
Defines the Dbacc
class, along with
structures for operation, scan, table, and other
records.
DbaccInit.cpp
.
Dbacc
class constructor and
destructor; methods for initialising data and records.
DbaccMain.cpp
.
Implements Dbacc
class methods.
The ACC
block handles the database index
structures, which are stored in 8K pages. Database locks are
also handled in the ACC
block.
When a new tuple is inserted, the TUP
block
stores the tuple in a suitable space and returns an index (a
reference to the address of the tuple in memory).
ACC
stores both the primary key and this
tuple index of the tuple in a hash table.
Like the TUP
block, the
ACC
block implements part of the checkpoint
protocol. It also performs undo logging. It is implemented by
the Dbacc
class, which is defined in
storage/ndb/src/kernel/blocks/dbacc/DbaccMain.hpp
.
See also Section 6.4.8, “The DBTUP
Block”.