Commit graph

1370 commits

Author SHA1 Message Date
Howard Chu
a06bcbbd4d ITS#10521 LMDB: more for prev commit 2026-06-10 20:42:09 +01:00
Howard Chu
962f072a62 ITS#10521 LMDB: fix mdb_txn_begin
Don't allow read txns to have child txns. Broken by ITS#10395.
Simplify the conditional tests to make it obvious.
2026-06-10 20:32:41 +01:00
Howard Chu
e27f3d616b ITS#10519 LMDB: fix ovpage size calculation with encryptino & checksums 2026-06-09 13:36:18 +01:00
Howard Chu
741c1e8c89 ITS#10518 lmdb: fix mutex leak from ITS#10395 2026-06-08 16:56:11 +01:00
Howard Chu
b7c68db29c ITS#9009 LMDB add release notes/upgrading info 2026-06-04 21:41:32 +01:00
Howard Chu
2504582629 ITS#10515 LMDB: Fix warnings on Windows 2026-06-01 17:06:46 +01:00
Howard Chu
bb90ea14dc ITS#9009 LMDB: doxygen updates for 1.0 2026-05-26 20:56:18 +01:00
Howard Chu
756724e417 ITS#10203 lmdb: fixup lmdb.pc 2026-05-22 21:14:01 +01:00
Howard Chu
83992afea7 ITS#10504 lmdb: silence warning on MacOS linker 2026-05-14 14:15:55 +01:00
Howard Chu
62129b7426 ITS#9009 LMDB: update some version and copyright stamps 2026-05-06 21:23:40 +01:00
Josh Soref
93c460b8e4 ITS#8605 - spelling fixes 2026-05-06 21:16:42 +01:00
Howard Chu
c38375ec8c ITS#9011 LMDB: fix typo in prev commit 2026-05-04 14:50:25 +01:00
Howard Chu
4de954fe1c Whitespace cleanup 2026-05-04 14:47:50 +01:00
Christopher Zimmermann
cf1478d280 ITS#9011 LMDB: add mdb_txn_flags() 2026-05-04 14:46:11 +01:00
Howard Chu
5639419b4f ITS#9619 LMDB: more for prev commit
Also needed to set overflow pgno.
2026-04-29 18:28:57 +01:00
Markus Junginger
340f04593e ITS#9291 LMDB: quick sanity check on env open
Validate root page numbers and page sum against file size while opening env.
2026-04-27 19:49:12 +01:00
Howard Chu
fb4737e91c ITS#10203 LMDB: add lmdb.pc to Makefile 2026-04-27 19:31:44 +01:00
Howard Chu
0ff5b99e40 ITS#8335 LMDB: reject MDB_MULTIPLE put with 0 items
Also check for overflow of count and size.
2026-04-27 18:42:49 +01:00
Howard Chu
25f9efab91 ITS#9388 LMDB: fix mdb_stat page counts for dupsort DBs 2026-04-27 17:28:19 +01:00
Kerollmops
4e8a093a86 ITS#10454 LMDB: fix prev commit for Mac OSX + WRITEMAP 2026-04-27 15:18:24 +01:00
Howard Chu
134e5ace04 ITS#7772 LMDB: fix sub-page growth
Check for available space before deciding to grow the sub-page.
The test program will still leave some unused space, but after the
first iteration the extra space will be used instead of growing more.
2026-04-27 14:59:00 +01:00
Howard Chu
ed917c6c02 Revert "ITS#8250 LMDB: add option MDB_ROTXN_RESET flag for txn_begin"
This reverts commit 4cd8e45167.
Cost/benefit makes no sense.
2026-04-26 15:07:40 +01:00
Nir Soffer
7a1f36d51a ITS#8803 LMDB: add tool option to disable locking
For use with environments that use their own locking mechanism
instead of LMDB's internal locking.
2026-04-24 20:19:46 +01:00
James Rouzier
4cd8e45167 ITS#8250 LMDB: add option MDB_ROTXN_RESET flag for txn_begin
Create a readonly txn in a reset state, it cannot be used until
mdb_txn_renew() is called.
2026-04-24 20:01:52 +01:00
Howard Chu
ba6e001801 ITS#8192 fix prev commit 2026-04-24 18:07:42 +01:00
Howard Chu
bf5c4e0f23 ITS#8192 LMDB: define new error codes to avoid errno abuse
And avoid confusion with Windows error codes
2026-04-24 16:05:40 +01:00
Howard Chu
cf52db2bee ITS#8579 LMDB: all descriptors should have O_CLOEXEC
There's nothing useful that can be done with them if they're kept around.
2026-04-23 18:55:06 +01:00
Howard Chu
9aa3ac0056 ITS#9619 LMDB: fix mdb_env_copy2(MDB_COMPACT) for overflow pages
Wasn't resetting txnid in page header
2026-04-23 11:44:34 +01:00
Howard Chu
c607a4b98a ITS#9223 more cleanup for prev commit 2026-04-23 10:33:01 +01:00
Lorenz Bauer
81697bc220 ITS#8590 LMDB: Use F_SETNOSIGPIPE on OS X
It seems like OS X delivers SIGPIPE to the whole process, instead of the generating thread,
as on other UNIXes. Therefore the current code sometimes works, but mostly doesn't, since
the call to sigwait doesn't happen quickly enough.

Instead of masking SIGPIPE, we use an OS X specific fcntl to disable SIGPIPE for that particular fd.
2026-04-22 19:32:45 +01:00
Howard Chu
63698faf2c ITS#9027 LMDB: expose address of memory map
Returned in MDB_envinfo.
2026-04-22 19:22:56 +01:00
Howard Chu
a0cb775d89 mdb_dump: fix symbol clash on Windows
rename byte() to dobyte()
2026-04-22 17:43:41 +01:00
Howard Chu
d0fcfd3d02 ITS#8174 LMDB: fixes for mdb_drop(MAIN_DBI) 2026-04-22 17:24:28 +01:00
Howard Chu
0734803dba ITS#8165 more for prev commit
Fixup .so symlinks, fixup install, add MacOSX linker option
2026-04-22 12:45:11 +01:00
Howard Chu
4367042042 ITS#8165 LMDB: add soname, lib version 2026-04-22 11:26:00 +01:00
Howard Chu
e11d5a0529 ITS#9223 LMDB: cleanup prev commit
Fix age check of meta pages.
Use MAX_WRITE consistently in copy functions.
2026-04-22 09:34:27 +01:00
Howard Chu
4fadb7075c ITS#9223 LMDB: add incremental dump/load 2026-04-21 16:43:09 +01:00
Howard Chu
0da8bdd940 ITS#10275 mdb_load: add -Q to usage message 2026-04-21 16:39:49 +01:00
Howard Chu
b2cfdd23a2 ITS#8739 lmdb: No fdatasync on FreeBSD 11.0 and older 2026-04-15 20:03:06 +01:00
Howard Chu
bd9cd548b0 ITS#10454 lmdb: can't rely on O_DSYNC on MacOS
So we must explicitly sync writes to the metapage.
2026-04-15 19:47:58 +01:00
Howard Chu
e30a2d1672 ITS#10108 mdb_dump: fix comment about -a option
No change in behavior, manpage doc was always correct.
2026-04-15 19:15:43 +01:00
Howard Chu
5b3df47632 ITS#8824 mdb_dump: cleanup check for MDB_SUCCESS 2026-04-15 18:18:44 +01:00
Philipp Storz
06680017d3 ITS#8386 lmdb: be a bit more precise that mdb_get retrieves data in intro.doc 2026-04-15 17:33:05 +01:00
Howard Chu
7025c4ea34 ITS#10054 lmdb: more for prev commit 2026-04-15 15:24:01 +01:00
Howard Chu
b0facd0288 ITS#10054 lmdb: break up large overflow page writes
We were ignoring MAX_WRITE when a single overflow page was larger.
Now we guarantee that all writes are <= MAX_WRITE (1GB).
2026-04-15 15:14:37 +01:00
Kerollmops
10161b20fe ITS#10395 LMDB: Allow multiple nested read txns from a write txn 2026-04-03 16:26:58 +01:00
Howard Chu
425525fbec ITS#9224 lmdb: add support for PREPARE/2-phase commit 2026-02-03 16:48:47 +00:00
Ali Caglayan
be217bf254 ITS#10420 LMDB: add support for Haiku 2026-01-13 16:50:48 +00:00
Ali Caglayan
22206c0f5f ITS#10419 LMDB: add support for NetBSD 2026-01-13 16:50:45 +00:00
Howard Chu
7b136c42f1 ITS#10421 mdb_load: check for malicious input 2026-01-06 20:53:01 +00:00