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
13 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
Howard Chu
f6edbd7793
Add MDB_{FIRST,LAST}_DUP for cursor_get
13 years ago
Howard Chu
e91dae3ed5
Cleanup midl, start documenting internals
13 years ago
Howard Chu
b30d0266e7
Tweak docs
13 years ago
Howard Chu
2510bea718
API cleanup, doxygen docs for public API
13 years ago
Howard Chu
d54eb7dd81
Add txn_reset / txn_renew
13 years ago
Howard Chu
590c728044
First cut at DUPFIXED support
...
Also in cursor_set, check the current page (if already set from
before) before starting over again from the root.
13 years ago
Hallvard B Furuseth
3029bb694d
Macro cleanup: Parenthesize, simplify, remove a ;
13 years ago
Howard Chu
bab6be8077
Add mdb_strerror(), mdb_env_set_flags()
13 years ago
Howard Chu
9860d5a43f
Protect err codes
13 years ago
Howard Chu
5e3a3db1f2
Error cleanup
...
Replace MDB_FAIL with more specific codes
Return MDB_PANIC after failure to write meta page
13 years ago
Howard Chu
f9f0ec92a9
Add mdb_version()
13 years ago
Howard Chu
76d7ca8ce0
Rationalize mdbenv namespace
13 years ago
Howard Chu
c378b2525c
Move MDB_VERSION to mdb.h, use major/minor/patch
13 years ago
Howard Chu
af70c0d9ce
Tweak MDB_val to match struct berval
13 years ago
Howard Chu
ce9456d95c
Add MDB_INTEGERKEY db flag
13 years ago