Also referred to as the ACC block, this is
the access control and lock management module. It is also
responsible for storing primary key and unique key hash indexes
are stored. This block is found in
storage/ndb/src/kernel/blocks/dbacc, which
contains the following files:
Dbacc.hpp: Defines theDbaccclass, along with structures for operation, scan, table, and other records.DbaccInit.cpp:Dbaccclass constructor and destructor; methods for initialising data and records.DbaccMain.cpp: ImplementsDbaccclass methods.
The ACC block handles 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.
DBQACC is a subtype of this block, used for
query and recovery threads, added in NDB 8.0.23.
See also Section 4.10, “The DBTUP Block”.