errors(3)
π errors(3) β Return Codes π
okay bestie, so this is errors(3), a manual page from the Library Functions Manual section, and it's basically the β¨vibe checkβ¨ for every return code LMDB can hand you. Every macro, every number, every little "why did this fail" β all here. no cap. π«Ά
πΈ NAME πΈ
errors β Return Codes. that's it, that's the whole job. she returns codes. iconic behavior honestly. π
β¨ SYNOPSIS β¨
π Macros π
here's the whole squad, literally every one of them, copied exactly because numbers are sacred and I do NOT play with numbers:
#define MDB_SUCCESS 0
#define MDB_KEYEXIST (-30799)
#define MDB_NOTFOUND (-30798)
#define MDB_PAGE_NOTFOUND (-30797)
#define MDB_CORRUPTED (-30796)
#define MDB_PANIC (-30795)
#define MDB_VERSION_MISMATCH (-30794)
#define MDB_INVALID (-30793)
#define MDB_MAP_FULL (-30792)
#define MDB_DBS_FULL (-30791)
#define MDB_READERS_FULL (-30790)
#define MDB_TLS_FULL (-30789)
#define MDB_TXN_FULL (-30788)
#define MDB_CURSOR_FULL (-30787)
#define MDB_PAGE_FULL (-30786)
#define MDB_MAP_RESIZED (-30785)
#define MDB_INCOMPATIBLE (-30784)
#define MDB_BAD_RSLOT (-30783)
#define MDB_BAD_TXN (-30782)
#define MDB_BAD_VALSIZE (-30781)
#define MDB_BAD_DBI (-30780)
#define MDB_LAST_ERRCODE MDB_BAD_DBI
π¦ Detailed Description π¦
BerkeleyDB uses -30800 to -30999, we'll go under them
like... she literally just said "I'm going under their range, respectfully" and did it. main character energy fr. π
π Macro Definition Documentation π
β #define MDB_SUCCESS 0
Successful result. the good ending. the slay ending. everything worked and you can go touch grass. πΈ
β #define MDB_KEYEXIST (-30799)
key/data pair already exists. it's already there bestie, you can't sit with us twice. π
β #define MDB_NOTFOUND (-30798)
key/data pair not found (EOF). she's not here. the key ghosted you. π»
β #define MDB_PAGE_NOTFOUND (-30797)
Requested page not found - this usually indicates corruption. okay so this one is lowkey scary β it usually means your data is corrupted. not a cute look. π
β #define MDB_CORRUPTED (-30796)
Located page was wrong type. the page showed up to the party dressed completely wrong. wrong type, wrong vibe. π
β #define MDB_PANIC (-30795)
Update of meta page failed or environment had fatal error. FATAL. this is the screaming-in-the-group-chat error. do not ignore her. π¨
β #define MDB_VERSION_MISMATCH (-30794)
Environment version mismatch. you two are not on the same version and honestly it's giving incompatible. π
β #define MDB_INVALID (-30793)
File is not a valid LMDB file. bestie that's not an LMDB file, that's just... a file. π«
β #define MDB_MAP_FULL (-30792)
Environment mapsize reached. you ran out of room. the map said "no more". πΊοΈ
β #define MDB_DBS_FULL (-30791)
Environment maxdbs reached. too many databases, the limit said periodt. π
β #define MDB_READERS_FULL (-30790)
Environment maxreaders reached. every reader seat is taken, standing room only. π€
β #define MDB_TLS_FULL (-30789)
Too many TLS keys in use - Windows only. (Windows only, so if you're on Unix and see this... girl what.) πͺ
β #define MDB_TXN_FULL (-30788)
Txn has too many dirty pages. she's carrying too much, she needs to commit and let it go. π§³
β #define MDB_CURSOR_FULL (-30787)
Cursor stack too deep - internal error. stack got way too deep, this is an internal error, not your fault bestie. π³οΈ
β #define MDB_PAGE_FULL (-30786)
Page has not enough space - internal error. the page is full and it IS an internal error. nothing you did. π«Ά
β #define MDB_MAP_RESIZED (-30785)
Database contents grew beyond environment mapsize. she GREW. she ate. and now the mapsize can't hold her. π₯
β #define MDB_INCOMPATIBLE (-30784)
Operation and DB incompatible, or DB type changed. This can mean:
- The operation expects an
MDB_DUPSORT/MDB_DUPFIXEDdatabase. - Opening a named DB when the unnamed DB has
MDB_DUPSORT/MDB_INTEGERKEY. - Accessing a data record as a database, or vice versa.
- The database was dropped and recreated with different flags.
four whole reasons. it's giving "we need to talk". π
β #define MDB_BAD_RSLOT (-30783)
Invalid reuse of reader locktable slot. you tried to reuse a slot you were not allowed to reuse. not your slot, not your problem. π
β #define MDB_BAD_TXN (-30782)
Transaction must abort, has a child, or is invalid. this transaction has to abort β she has a child, or she's just invalid. messy either way. π΅
β #define MDB_BAD_VALSIZE (-30781)
Unsupported size of key/DB name/data, or wrong DUPFIXED size. the size is wrong. wrong for the key, the DB name, the data, or the DUPFIXED size. sizes matter. π
β #define MDB_BAD_DBI (-30780)
The specified DBI was changed unexpectedly. it changed on you with zero warning. that's not a plot twist, that's a bug. π
β #define MDB_LAST_ERRCODE MDB_BAD_DBI
The last defined error code. she's the final boss of error codes. nothing comes after her. periodt. π
π Author π
Generated automatically by Doxygen for LMDB from the source code.
π«Ά reminder bestie: don't hardcode vibes, hardcode the actual macro names. the numbers are-30799down to-30780and0, and they never ever change.
okay that's the whole page!! and a lil cute sign-off: this came from the LMDB manual, errors(3) β and it's signed off on the errors(3) page. mwah. π
β¨π
π¦ where this page comes from
- ubuntu noble: lmdb-doc 0.9.31-1build1 Β· OpenLDAP-2.8
- ubuntu questing: lmdb-doc 0.9.31-1build1
- ubuntu resolute: lmdb-doc 0.9.31-1build2 Β· OpenLDAP-2.8
- ubuntu stonking: lmdb-doc 0.9.35-1 Β· OpenLDAP-2.8
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms