index_t Derived Type

type, public :: index_t


Components

Type Visibility Attributes Name Initial
integer, public :: ncols = 0

Number of member columns (1 = single-column)

character(len=SQR_NAME_LEN), public, allocatable :: columns(:)

Ordered member names

integer, public, allocatable :: col_idx(:)

Index of each member into the owning table%cols(:)

integer, public, allocatable :: key_off(:)

1-based offset of each member within the key

integer, public :: key_size = 0

Sum of member csizes (the B+-tree key length)

integer, public :: nentries = 0

Cached live-entry count, mirrored from bt

type(btree_t), public :: bt

On-disk B+-tree mapping the key to the int32 row id

logical, public :: unique = .false.

Enforce no duplicate live keys

class(*), public, pointer :: jctx => null()

Heap-owned bt_jhook_ctx_t while a txn's journal hook is installed on bt; freed at txn end