mirror of
https://github.com/isar/libmdbx.git
synced 2025-01-02 01:54:13 +08:00
d7c06b1337
Here are some changes to avoid recursive acquisition of SRW-lock, which is still in use: - Read transactions don't acquire the shared SRW-lock with `MDBX_NOTLS. - Memory-mapping of DB is always kept while DB opened, therefore following limitations are: - DB file can't be shrinked while it used, including auto-shrink due to auto-compactification with corresponding geometry settings. - The upper limit of DB size can't be changed while DB is used. - The DB can grow within the upper size limit defined while opening by a first process, but this does not work under Wine since there is no `NtExtendSection()` function. Partially fix https://github.com/erthink/libmdbx/issues/203
3.6 KiB
3.6 KiB
N | MASK | ENV | TXN | DB | PUT | DBI | NODE | PAGE | MRESIZE |
---|---|---|---|---|---|---|---|---|---|
0 | 0000 0001 | ALLOC_CACHE | TXN_FINISHED | DBI_DIRTY | F_BIGDATA | P_BRANCH | |||
1 | 0000 0002 | ALLOC_GC | TXN_ERROR | REVERSEKEY | F_SUBDATA | DBI_STALE | F_SUBDATA | P_LEAF | |
2 | 0000 0004 | ALLOC_NEW | TXN_DIRTY | DUPSORT | DBI_FRESH | F_DUPDATA | P_OVERFLOW | ||
3 | 0000 0008 | ALLOC_SLOT | TXN_SPILLS | INTEGERKEY | DBI_CREAT | P_META | |||
4 | 0000 0010 | TXN_HAS_CHILD | DUPFIXED | NOOVERWRITE | DBI_VALID | P_BAD | |||
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 | _MAY_MOVE | <= | ||||||
9 | 0000 0200 | _MAY_UNMAP | <= | ||||||
10 | 0000 0400 | ||||||||
11 | 0000 0800 | ||||||||
12 | 0000 1000 | ||||||||
13 | 0000 2000 | P_SPILLED | |||||||
14 | 0000 4000 | NOSUBDIR | P_LOOSE | ||||||
15 | 0000 8000 | DB_VALID | NOSPILL | P_FROZEN | |||||
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 |