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
Howard Chu
2f7ddb4103
Cleanup, add mdb_cursor_count()
13 years ago
Howard Chu
2e776bd36e
More DB checks
13 years ago
Howard Chu
39817f6e85
Parameter cleanup
13 years ago
Howard Chu
314ac28938
Sorted dups basically completed, needs testing
13 years ago
Howard Chu
f586e57742
Added cursor_get for sorted dups
13 years ago
Howard Chu
edf7869466
Add cursor_prev
13 years ago
Howard Chu
cc56ba04fb
Use BDB cursor terminology
13 years ago
Howard Chu
60550e14ee
Add some legalese
...
Note derived from Martin Hedenfalk's btree.c; the code
is significantly reworked but owes a lot to the original.
13 years ago
Howard Chu
852ac0e3bc
More sub-db stuff
13 years ago
Howard Chu
9b4c689601
Tweak mt_dbxs array
13 years ago
Howard Chu
4fd0f278d2
Tweaks to txn handling
13 years ago
Howard Chu
f89d0cc4b7
More subDBs, compiles now
13 years ago
Howard Chu
cb45191793
Start DB restructuring
13 years ago
Howard Chu
2766e88eeb
More prep for subdatabases
13 years ago
Howard Chu
661d4f80e3
Drop header page
...
it's useless, just use meta pages instead
14 years ago
Howard Chu
421ee6bb1d
Use toggling meta page instead of always appending
14 years ago
Howard Chu
f367441b69
Add locking support
14 years ago