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.
2011-09-01 16:31:10 -07:00
Howard Chu
720c4b0a3d
Set MINKEYS to 2
...
For better space utilization
2011-09-01 16:31:10 -07:00
Howard Chu
66a647e55d
Keep re-using dpages instead of freeing them
2011-09-01 16:31:10 -07:00
Hallvard B Furuseth
ca496bd357
Avoid cast-away-const for errstr[]
2011-09-01 16:31:10 -07:00
Hallvard B Furuseth
5b3b522313
Wrap O_DSYNC in MDB_DSYNC.
...
If O_DSYNC is not defined, that may be due to poor compiler options.
We could fall back to the less efficient O_SYNC, but it seems better
to let the user learn of the problem and give better compiler options.
2011-09-01 16:31:10 -07:00
Hallvard B Furuseth
cb7c955220
Simplify: Replace IDL*_CMP() with CMP()
2011-09-01 16:31:10 -07:00
Hallvard B Furuseth
3029bb694d
Macro cleanup: Parenthesize, simplify, remove a ;
2011-09-01 16:31:10 -07:00
Hallvard B Furuseth
a1b4144b80
Drop gcc extension ,##__VA_ARGS__. Add DPUTS().
...
C99 says DPRINTF(fmt, ...) must get at least 2 args. Using DPUTS for 1 arg.
2011-09-01 16:31:10 -07:00
Howard Chu
8f77043372
Fix cursor_set for dups
...
Also make sure dups are counted in md_entries
2011-09-01 16:31:10 -07:00
Howard Chu
edf9d8e51b
Sorted dups fix
...
Write the first datum normally. Convert to a sub-db if
additional items for the same key are written.
2011-09-01 16:31:10 -07:00
Howard Chu
e15d4d16b6
Don't alloc in cursor_push/pop
2011-09-01 16:31:10 -07:00
Howard Chu
1ceae5c2c0
Fix multi-page commits
2011-09-01 16:31:10 -07:00
Howard Chu
6d924c1dda
Fix overflow page read
2011-09-01 16:31:10 -07:00
Howard Chu
3dd815162c
Sub-DB init/dirty fixes
2011-09-01 16:31:10 -07:00
Howard Chu
11308a190d
Fix dupsort fetch
2011-09-01 16:31:10 -07:00
Howard Chu
697e00a8e2
More txn/cursor cleanup
2011-09-01 16:31:10 -07:00
Howard Chu
e29660566c
Update DB tables on commit even if no dirty pages
2011-09-01 16:31:10 -07:00
Howard Chu
bab6be8077
Add mdb_strerror(), mdb_env_set_flags()
2011-09-01 16:31:10 -07:00
Howard Chu
9902a7764e
allow silent commit of read-only TXNs
2011-09-01 16:31:10 -07:00
Howard Chu
9860d5a43f
Protect err codes
2011-09-01 16:31:10 -07:00
Howard Chu
5e3a3db1f2
Error cleanup
...
Replace MDB_FAIL with more specific codes
Return MDB_PANIC after failure to write meta page
2011-09-01 16:31:09 -07:00
Howard Chu
5ef6c43acf
Get rid of AC_MEMCPY
2011-09-01 16:31:09 -07:00
Howard Chu
1aa5105b67
Use IDL2 for dirty page list
2011-09-01 16:31:09 -07:00
Howard Chu
88a5f35c43
Use O_DSYNC on metafd.
...
Use sync writes in mtest.
2011-09-01 16:31:09 -07:00
Howard Chu
3e1c72a08e
Minor cleanup
2011-09-01 16:31:09 -07:00
Howard Chu
19f5eebff8
Better defs for locker structures
2011-09-01 16:31:09 -07:00
Howard Chu
af0b49aa60
Silence stupid warning
2011-09-01 16:31:09 -07:00
Howard Chu
f9f0ec92a9
Add mdb_version()
2011-09-01 16:31:09 -07:00
Howard Chu
76d7ca8ce0
Rationalize mdbenv namespace
2011-09-01 16:31:09 -07:00
Howard Chu
c378b2525c
Move MDB_VERSION to mdb.h, use major/minor/patch
2011-09-01 16:17:08 -07:00
Howard Chu
af70c0d9ce
Tweak MDB_val to match struct berval
2011-09-01 16:17:08 -07:00
Howard Chu
985f765dc5
Rename idl to midl
2011-09-01 16:17:08 -07:00
Howard Chu
f5297dfc25
Add another FIXME comment
2011-09-01 16:17:07 -07:00
Howard Chu
35fca0f6af
Add mtest2 and 3
2011-09-01 16:17:07 -07:00
Howard Chu
b070f7bff9
Portability tweak
2011-09-01 16:17:07 -07:00
Howard Chu
170703b0e4
Make a shared library too
2011-09-01 16:17:07 -07:00
Howard Chu
785d8e184c
Start using as a library
2011-09-01 16:17:07 -07:00
Howard Chu
920115f747
Sorted dup fixes
2011-09-01 16:17:07 -07:00
Howard Chu
ce9456d95c
Add MDB_INTEGERKEY db flag
2011-09-01 16:17:07 -07:00
Howard Chu
d499c244cd
Allow setting DB flags on main DB
2011-09-01 16:17:07 -07:00
Howard Chu
2f7ddb4103
Cleanup, add mdb_cursor_count()
2011-09-01 16:17:07 -07:00
Howard Chu
2e776bd36e
More DB checks
2011-09-01 16:17:07 -07:00
Howard Chu
b834dc05b3
Consolidate stat functions
2011-09-01 16:17:07 -07:00
Howard Chu
11204d176a
Header cleanup
2011-09-01 16:17:07 -07:00
Howard Chu
40df306d52
More subDB fixes
2011-09-01 16:17:07 -07:00
Howard Chu
39817f6e85
Parameter cleanup
2011-09-01 16:17:07 -07:00
Howard Chu
819d98169e
Valgrind complaints
2011-09-01 16:17:07 -07:00
Howard Chu
01c2f7816f
More subDB stuff
2011-09-01 16:17:07 -07:00
Howard Chu
2fe9fbd1a3
Make sure subDB info is saved after writes
2011-09-01 16:17:07 -07:00
Howard Chu
314ac28938
Sorted dups basically completed, needs testing
2011-09-01 16:17:07 -07:00