libmdbx/src/bits.md
Leonid Yuriev 55d190bad9 mdbx: avoid MDBX_TXN_FULL while searching for a large multi-page region.
Resolves https://github.com/erthink/libmdbx/issues/123
but with TODO:
 - provide a user-configurable threshold instead of currently hard-coded default (MDBX_PNL_MAX/2).

Change-Id: Ia7bfd5f8d36e027444d234e3c3aabe4832313466
2020-10-22 18:04:02 +03:00

2.4 KiB

N MASK ENV TXN DB PUT DBI NODE PAGE
0 0000 0001 ALLOC_CACHE TXN_FINISHED DBI_DIRTY F_BIGDATA P_BRANCH
1 0000 0002 ALLOC_GC TXN_ERROR REVERSEKEY DBI_STALE F_SUBDATA P_LEAF
2 0000 0004 ALLOC_NEW TXN_DIRTY DUPSORT DBI_FRESH F_DUPDATA P_OVERFLOW
3 0000 0008 TXN_SPILLS INTEGERKEY DBI_CREAT P_META
4 0000 0010 TXN_HAS_CHILD DUPFIXED NOOVERWRITE DBI_VALID P_DIRTY
5 0000 0020 INTEGERDUP NODUPDATA DBI_USRVALID P_LEAF2
6 0000 0040 REVERSEDUP CURRENT DBI_DUPDATA P_SUBP
7 0000 0080 ALLDUPS DBI_AUDITED
8 0000 0100
9 0000 0200
10 0000 0400
11 0000 0800
12 0000 1000
13 0000 2000
14 0000 4000 NOSUBDIR P_LOOSE
15 0000 8000 DB_VALID P_KEEP
16 0001 0000 SAFE_NOSYNC TXN_NOSYNC RESERVE RESERVE
17 0002 0000 RDONLY TXN_RDONLY APPEND APPEND
18 0004 0000 NOMETASYNC TXN_NOMETASYNC CREATE APPENDDUP
19 0008 0000 WRITEMAP <= MULTIPLE
20 0010 0000 UTTERLY
21 0020 0000 NOTLS <=
22 0040 0000 EXCLUSIVE
23 0080 0000 NORDAHEAD
24 0100 0000 NOMEMINIT TXN_PREPARE
25 0200 0000 COALESCE
26 0400 0000 LIFORECLAIM
27 0800 0000 PAGEPERTURB
28 1000 0000 ENV_TXKEY TXN_TRY
29 2000 0000 ENV_ACTIVE
30 4000 0000 ACCEDE SHRINK_ALLOWED DB_ACCEDE
31 8000 0000 FATAL_ERROR