Howard Chu
7bc62c5128
ITS#7190 fix merging of branch pages in deletes
13 years ago
Hallvard Furuseth
d50d57ed63
Fix libmdb comments
13 years ago
Hallvard Furuseth
d8b4598085
ITS#7191 Fix mdb_xcursor_init1() unaligned access
13 years ago
Howard Chu
1b07b48c1a
ITS#7196 use IOV_MAX if it's defined and small
13 years ago
Howard Chu
b23bb7a0b1
ITS#7160 get BYTE_ORDER def for HPUX (and Solaris)
13 years ago
Howard Chu
953796759e
Fix typo in e8e57be421
13 years ago
Howard Chu
e8e57be421
Add valgrind support with -DUSE_VALGRIND
...
Track allocations and invalid accesses to freed tmp pages.
13 years ago
Howard Chu
3d6b924c25
txn_commit must abort txn before returning errors
...
Fix for failure when committing a txn that is a child of
some parent txn.
13 years ago
Howard Chu
1c8de1883c
ITS#7121 fix page splits when newindx == 0
13 years ago
Howard Chu
b9cbcb0588
ITS#7126 fix cursor tracking code
...
Don't compare cursors that aren't deep enough to match the
current cursor.
13 years ago
Howard Chu
713bf092b6
Happy New Year!
13 years ago
Howard Chu
a17f8e7326
ITS#7121 fix page splits when data+key size is too large
13 years ago
Howard Chu
dd9c56f0fb
More s/DEBUG/MDB_DEBUG/
13 years ago
Howard Chu
575691ca8a
Alignment fixes for debug msgs
13 years ago
Howard Chu
51c1ba6818
s/DEBUG/MDB_DEBUG/
13 years ago
Howard Chu
29de655bc4
Add MDB_FDATASYNC to allow override to fsync if needed.
13 years ago
Howard Chu
291c0ce2db
Use <inttypes.h> instead of <stdint.h>
13 years ago
Howard Chu
8763c41e30
Fix size check
13 years ago
Howard Chu
04b522cc72
More Solaris warning cleanup
13 years ago
Howard Chu
68143e4532
More pgno alignment tweaks
13 years ago
Howard Chu
690792c170
Add dummy DKEY define
13 years ago
Howard Chu
cc7a89cd67
Add Solaris byte-order detection
13 years ago
Howard Chu
f0c9d77326
Fix mdb_drop return
13 years ago
Howard Chu
a103a64434
Android/ARM portability
...
2-byte alignment isn't good enough for subpages
13 years ago
Howard Chu
331bf92df5
Fix page_split with MDB_RESERVE
13 years ago
Howard Chu
19e4df476d
Fix subcursor initialization
13 years ago
Howard Chu
934a19553c
Don't use Append mode when splits are caused by sub-page inserts
...
Sub-pages need room to grow...
13 years ago
Howard Chu
ea0d07ffa3
Fix freelist bug on page split
...
NULL out env->pghead before writing it, so that its pages can't be used
to satisfy the write.
13 years ago
Howard Chu
85bfb3c1d1
Add rudimentary MDB_MULTIPLE support for puts
...
Only for DUPFIXED DBs. Still could do better.
13 years ago
Howard Chu
fa3c2945f5
Add MDB_APPEND to avoid splitting full pages
13 years ago
Howard Chu
163514e470
Fix 6e05ca17e9
...
Missed a MDB_RESERVE case
13 years ago
Howard Chu
28b8aaeb96
Add mdb_cursor_txn() and mdb_cursor_dbi() for querying the cursor
13 years ago
Howard Chu
6e05ca17e9
Add MDB_RESERVE mode
...
When putting a record, just make space for the data, don't copy it.
(Not compatible with MDB_DUPSORT, since the actual data is needed
to determine the insert location.)
13 years ago
Howard Chu
fe11433619
Tweak cursor adjustment code
...
Skip the original cursor that made the change
13 years ago
Howard Chu
19d1e72bbc
Make sure mdb_open actually got a sub-db record
13 years ago
Howard Chu
7a40080dd1
Add MDB_NOSUBDIR option
...
Create the data file using exactly the given pathname, and
the lock file using a suffix on the data file name.
13 years ago
Howard Chu
54eb76cc7a
Reader table notes
13 years ago
Howard Chu
4bcaabecf5
assert cleanup
13 years ago
Howard Chu
9bcc51ef5d
Only free malloc'd cursors
13 years ago
Howard Chu
b9d13a29e6
Track changes to all cursors.
...
For any change to a page or node, update all other cursors pointing
at the same page (or node). Cursors are now stored in a linked list
off their owning transaction. Cursors are all closed when the transaction
ends. Cursors in parent transactions are updated when their child
transaction commits.
13 years ago
Howard Chu
c4d5e6e786
Add support for nested transactions.
13 years ago
Howard Chu
02abfb91ba
Additional fix for prev commit
13 years ago
Howard Chu
4272e7de4f
Make sure 2 subpages fit in one real page
13 years ago
Howard Chu
237fabda64
Fix last delete from a subpage
13 years ago
Howard Chu
0ab841598f
Fix 09006ccec7
...
Check for stale DBs was in the wrong place.
13 years ago
Howard Chu
2c70d0430a
Fix mdb_drop() if not deleting the DB record
13 years ago
Howard Chu
77b1017b85
Fix typo, minor cleanup
13 years ago
Howard Chu
57b5fbea49
Add mdb_drop() for deleting a DB
...
Allow MIDLs to grow arbitrarily, to allow unlimited number of
pages to be freed in one txn.
13 years ago
Howard Chu
09006ccec7
API change, consistency check
...
mdb_close() takes an env, not a txn.
Also, add check for stale DB records (in case some other process
wrote to the DB last).
13 years ago
Howard Chu
b7057eb61e
New sorted-dup subpage support
...
Instead of converting directly to a subDB when the first duplicate
item is seen for a key, convert to a subpage instead. Allow the
subpage to grow up to the overflow limit, then convert to a subDB.
This saves a significant amount of space in a typical slapd index
database.
Currently we don't convert back to the smaller form if items are
later deleted. Probably could do that with some hysteresis, e.g.,
convert back from subDB to subpage when the size drops below
(overflow limit/2). Maybe later.
13 years ago