Howard Chu
13f3bcd59c
Rename libmdb to liblmdb, lmdb.h
...
Avoid naming conflicts with other mdb* packages. Bump version to 0.9.5
12 years ago
Howard Chu
049b145ec7
Doc layout tweaks
12 years ago
Hallvard Furuseth
97ed96206d
mdb_env_sync(,force=1): Override MDB_MAPASYNC.
...
With MDB_MAPASYNC, the API provided no way to ensure full sync.
12 years ago
Hallvard Furuseth
7e620a34a2
API change: mdb_drop() only accepts del=0 or 1.
...
This allows for other flag values in the future.
12 years ago
Hallvard Furuseth
d903bed218
API change: mdb_env_set_maxdbs(, *named* DBs).
...
Let the user specify the number of databases he will actually
use. Adding 2 for FREE_DBI and MAIN_DBI is an internal matter.
12 years ago
Hallvard Furuseth
52e3adbdec
Renumber MDB_NOSUBDIR. Check mdb_env_open() flags.
...
MDB_NOSUBDIR was == MDB_REVERSEKEY. That affected the freelist:
Env flags are stored in mm_flags alias mm_dbs[FREE_DBI].md_flags.
It stays a persistent flag, in case mdb_env_open someday wants
to pick/verify which lockfile to use with the datafile.
Catch bad flags so they will no longer make it into the data file.
12 years ago
Howard Chu
617769bce5
Tweak output, add free page info
12 years ago
Howard Chu
754cd88819
Add mdb_env_info() to retrieve interesting env params
12 years ago
Hallvard Furuseth
e9d87866c4
mdb_env_open(): Keep mdb_env_set_flags() flags.
12 years ago
Howard Chu
ebb6859ea5
Add mdb_copy for backing up a DB environment
12 years ago
Hallvard Furuseth
756ce8e10c
Tweak MDB restrictions
12 years ago
Hallvard Furuseth
2b960613e0
ITS#7377 Document caveats/troubeshooting.
12 years ago
Howard Chu
ba6c3281a1
Add MDB_GET_CURRENT
...
return whatever the cursor is currently pointing at
12 years ago
Howard Chu
8bb10add24
More for ab04c50a32
...
Fix typos, error code ranges
12 years ago
Howard Chu
acbff5b1ea
Add mdb_cursor_renew()
...
Allow cursors on read-only txns to be reused with later txns.
12 years ago
Howard Chu
c542442c9f
Add MDB_SET_KEY cursor op
...
Overwrites the passed in key with the DB's key
12 years ago
Howard Chu
ab04c50a32
ITS#7383 More explicit error codes
12 years ago
Howard Chu
de77882898
Update comments, bump version
...
Note read-write vs read-only mmap tradeoffs.
12 years ago
Howard Chu
2e677bcb99
msync should default to fully synchronous
12 years ago
Howard Chu
1c733bdc4e
Add msync support for WRITEMAP option
12 years ago
Howard Chu
d8a89464cd
Add MDB_WRITEMAP to use a writable mmap
12 years ago
Howard Chu
d53644f682
Minor cleanup
12 years ago
Howard Chu
14fb1f59c7
Append tweaks, page_split fixes
...
Append mode now does no key comparisons, input must be in sorted order.
page_split was not updating cursor parents correctly.
13 years ago
Howard Chu
df7ddb6bf4
Add MDB_NOMETASYNC env option.
...
Just a trial. This may not make sense if we decide to split the
meta pages into their own separate file, to allow meta traffic to
reside on a separate spindle.
13 years ago
Howard Chu
fadf75a9cb
Further clarification of mdb_open()
13 years ago
Hallvard Furuseth
592b3f8727
libmdb: Add C++ 'extern "C" {}' to *.h
13 years ago
Howard Chu
191d78948b
ITS#7238 doc clarification
13 years ago
Hallvard Furuseth
d50d57ed63
Fix libmdb comments
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
713bf092b6
Happy New Year!
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
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
fa0d64242b
Doc for the MDB_NOSUBDIR env option
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
619e671f1c
txn_abort/commit free all their cursors now.
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
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
dc83777ab9
Minor tweaks, update relfunc behavior
13 years ago
Hallvard Furuseth
90ed553301
mdb integer type cleanup: Use MDB_dbi consistently.
...
This changes the prototype of mdb_env_set_maxdbs().
13 years ago
Hallvard Furuseth
b56be64d2e
Drop ULONG in favor of size_t.
13 years ago
Hallvard Furuseth
bf9d722bec
mdb type cleanup: Consistent reader count types.
...
Use unsigned int for reader counts/max limits, that's the smallest
change. Don't need uint32_t when mdb_env_set_maxreaders() takes less.
Change prototypes of mdb_env_set_maxreaders,mdb_env_get_maxreaders().
Check the mdb_env_set_maxreaders() argument.
13 years ago
Howard Chu
acdc248f57
If put(NOOVERWRITE) exists, return existing data
13 years ago
Howard Chu
a7edb95e64
Minor typos, additional clarification
13 years ago
Howard Chu
9ac8638d9d
More docs
13 years ago
Howard Chu
70a4f6f29d
mdb_cmp refactoring
13 years ago
Howard Chu
7f46832ec5
Begin reimplementing basic ops as cursor ops
13 years ago