platform/upstream/lmdb.git
13 years agoMore debug, fix MDB_DEL_DUP
Howard Chu [Fri, 26 Aug 2011 02:45:08 +0000 (19:45 -0700)]
More debug, fix MDB_DEL_DUP

13 years agoMore debug output
Howard Chu [Thu, 25 Aug 2011 09:08:56 +0000 (02:08 -0700)]
More debug output

13 years agoAdd txn_reset / txn_renew
Howard Chu [Wed, 24 Aug 2011 08:45:42 +0000 (01:45 -0700)]
Add txn_reset / txn_renew

13 years agoFirst cut at DUPFIXED support
Howard Chu [Mon, 22 Aug 2011 00:49:54 +0000 (17:49 -0700)]
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 agoSet MINKEYS to 2
Howard Chu [Sat, 20 Aug 2011 00:20:56 +0000 (17:20 -0700)]
Set MINKEYS to 2

For better space utilization

13 years agoKeep re-using dpages instead of freeing them
Howard Chu [Fri, 19 Aug 2011 23:43:57 +0000 (16:43 -0700)]
Keep re-using dpages instead of freeing them

13 years agoAvoid cast-away-const for errstr[]
Hallvard B Furuseth [Fri, 19 Aug 2011 06:45:57 +0000 (08:45 +0200)]
Avoid cast-away-const for errstr[]

13 years agoWrap O_DSYNC in MDB_DSYNC.
Hallvard B Furuseth [Fri, 19 Aug 2011 18:35:25 +0000 (20:35 +0200)]
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.

13 years agoSimplify: Replace IDL*_CMP() with CMP()
Hallvard B Furuseth [Fri, 19 Aug 2011 15:27:06 +0000 (17:27 +0200)]
Simplify: Replace IDL*_CMP() with CMP()

13 years agoMacro cleanup: Parenthesize, simplify, remove a ;
Hallvard B Furuseth [Fri, 19 Aug 2011 19:56:10 +0000 (21:56 +0200)]
Macro cleanup: Parenthesize, simplify, remove a ;

13 years agoDrop gcc extension ,##__VA_ARGS__. Add DPUTS().
Hallvard B Furuseth [Fri, 19 Aug 2011 18:18:18 +0000 (20:18 +0200)]
Drop gcc extension ,##__VA_ARGS__.  Add DPUTS().

C99 says DPRINTF(fmt, ...) must get at least 2 args.  Using DPUTS for 1 arg.

13 years agoFix cursor_set for dups
Howard Chu [Fri, 19 Aug 2011 20:57:36 +0000 (13:57 -0700)]
Fix cursor_set for dups

Also make sure dups are counted in md_entries

13 years agoSorted dups fix
Howard Chu [Fri, 19 Aug 2011 20:10:51 +0000 (13:10 -0700)]
Sorted dups fix

Write the first datum normally. Convert to a sub-db if
additional items for the same key are written.

13 years agoDon't alloc in cursor_push/pop
Howard Chu [Fri, 19 Aug 2011 07:14:16 +0000 (00:14 -0700)]
Don't alloc in cursor_push/pop

13 years agoFix multi-page commits
Howard Chu [Fri, 19 Aug 2011 06:09:17 +0000 (23:09 -0700)]
Fix multi-page commits

13 years agoFix overflow page read
Howard Chu [Fri, 19 Aug 2011 04:58:22 +0000 (21:58 -0700)]
Fix overflow page read

13 years agoSub-DB init/dirty fixes
Howard Chu [Fri, 19 Aug 2011 03:28:02 +0000 (20:28 -0700)]
Sub-DB init/dirty fixes

13 years agoFix dupsort fetch
Howard Chu [Fri, 19 Aug 2011 02:30:54 +0000 (19:30 -0700)]
Fix dupsort fetch

13 years agoMore txn/cursor cleanup
Howard Chu [Fri, 19 Aug 2011 02:22:24 +0000 (19:22 -0700)]
More txn/cursor cleanup

13 years agoUpdate DB tables on commit even if no dirty pages
Howard Chu [Fri, 19 Aug 2011 00:38:39 +0000 (17:38 -0700)]
Update DB tables on commit even if no dirty pages

13 years agoAdd mdb_strerror(), mdb_env_set_flags()
Howard Chu [Tue, 16 Aug 2011 23:47:15 +0000 (16:47 -0700)]
Add mdb_strerror(), mdb_env_set_flags()

13 years agoallow silent commit of read-only TXNs
Howard Chu [Tue, 16 Aug 2011 21:23:44 +0000 (14:23 -0700)]
allow silent commit of read-only TXNs

13 years agoProtect err codes
Howard Chu [Tue, 16 Aug 2011 01:40:50 +0000 (18:40 -0700)]
Protect err codes

13 years agoError cleanup
Howard Chu [Tue, 16 Aug 2011 01:37:30 +0000 (18:37 -0700)]
Error cleanup

Replace MDB_FAIL with more specific codes
Return MDB_PANIC after failure to write meta page

13 years agoGet rid of AC_MEMCPY
Howard Chu [Mon, 15 Aug 2011 03:12:20 +0000 (20:12 -0700)]
Get rid of AC_MEMCPY

13 years agoUse IDL2 for dirty page list
Howard Chu [Mon, 15 Aug 2011 03:01:26 +0000 (20:01 -0700)]
Use IDL2 for dirty page list

13 years agoUse O_DSYNC on metafd.
Howard Chu [Mon, 15 Aug 2011 00:36:44 +0000 (17:36 -0700)]
Use O_DSYNC on metafd.

Use sync writes in mtest.

13 years agoMinor cleanup
Howard Chu [Fri, 12 Aug 2011 11:59:12 +0000 (04:59 -0700)]
Minor cleanup

13 years agoBetter defs for locker structures
Howard Chu [Fri, 12 Aug 2011 11:47:00 +0000 (04:47 -0700)]
Better defs for locker structures

13 years agoSilence stupid warning
Howard Chu [Fri, 12 Aug 2011 11:11:14 +0000 (04:11 -0700)]
Silence stupid warning

13 years agoAdd mdb_version()
Howard Chu [Fri, 12 Aug 2011 06:20:16 +0000 (23:20 -0700)]
Add mdb_version()

13 years agoRationalize mdbenv namespace
Howard Chu [Fri, 12 Aug 2011 04:14:29 +0000 (21:14 -0700)]
Rationalize mdbenv namespace

13 years agoMove MDB_VERSION to mdb.h, use major/minor/patch
Howard Chu [Fri, 12 Aug 2011 03:23:39 +0000 (20:23 -0700)]
Move MDB_VERSION to mdb.h, use major/minor/patch

13 years agoTweak MDB_val to match struct berval
Howard Chu [Fri, 12 Aug 2011 03:16:10 +0000 (20:16 -0700)]
Tweak MDB_val to match struct berval

13 years agoRename idl to midl
Howard Chu [Fri, 12 Aug 2011 00:33:28 +0000 (17:33 -0700)]
Rename idl to midl

13 years agoAdd another FIXME comment
Howard Chu [Thu, 11 Aug 2011 22:03:33 +0000 (15:03 -0700)]
Add another FIXME comment

13 years agoAdd mtest2 and 3
Howard Chu [Thu, 11 Aug 2011 21:56:54 +0000 (14:56 -0700)]
Add mtest2 and 3

13 years agoPortability tweak
Howard Chu [Thu, 11 Aug 2011 21:55:58 +0000 (14:55 -0700)]
Portability tweak

13 years agoMake a shared library too
Howard Chu [Thu, 11 Aug 2011 21:35:52 +0000 (14:35 -0700)]
Make a shared library too

13 years agoStart using as a library
Howard Chu [Thu, 11 Aug 2011 21:23:01 +0000 (14:23 -0700)]
Start using as a library

13 years agoSorted dup fixes
Howard Chu [Thu, 11 Aug 2011 20:43:01 +0000 (13:43 -0700)]
Sorted dup fixes

13 years agoAdd MDB_INTEGERKEY db flag
Howard Chu [Thu, 11 Aug 2011 18:35:39 +0000 (11:35 -0700)]
Add MDB_INTEGERKEY db flag

13 years agoAllow setting DB flags on main DB
Howard Chu [Thu, 11 Aug 2011 12:04:49 +0000 (05:04 -0700)]
Allow setting DB flags on main DB

13 years agoCleanup, add mdb_cursor_count()
Howard Chu [Thu, 11 Aug 2011 11:46:14 +0000 (04:46 -0700)]
Cleanup, add mdb_cursor_count()

13 years agoMore DB checks
Howard Chu [Thu, 11 Aug 2011 11:00:19 +0000 (04:00 -0700)]
More DB checks

13 years agoConsolidate stat functions
Howard Chu [Thu, 11 Aug 2011 10:48:26 +0000 (03:48 -0700)]
Consolidate stat functions

13 years agoHeader cleanup
Howard Chu [Thu, 11 Aug 2011 10:30:00 +0000 (03:30 -0700)]
Header cleanup

13 years agoMore subDB fixes
Howard Chu [Thu, 11 Aug 2011 10:23:22 +0000 (03:23 -0700)]
More subDB fixes

13 years agoParameter cleanup
Howard Chu [Thu, 11 Aug 2011 08:36:12 +0000 (01:36 -0700)]
Parameter cleanup

13 years agoValgrind complaints
Howard Chu [Thu, 11 Aug 2011 08:08:16 +0000 (01:08 -0700)]
Valgrind complaints

13 years agoMore subDB stuff
Howard Chu [Thu, 11 Aug 2011 07:33:27 +0000 (00:33 -0700)]
More subDB stuff

13 years agoMake sure subDB info is saved after writes
Howard Chu [Thu, 11 Aug 2011 06:38:50 +0000 (23:38 -0700)]
Make sure subDB info is saved after writes

13 years agoSorted dups basically completed, needs testing
Howard Chu [Thu, 11 Aug 2011 06:21:36 +0000 (23:21 -0700)]
Sorted dups basically completed, needs testing

13 years agoAdded cursor_get for sorted dups
Howard Chu [Thu, 11 Aug 2011 05:50:34 +0000 (22:50 -0700)]
Added cursor_get for sorted dups

13 years agoAdd mdb_get for sorted dups
Howard Chu [Thu, 11 Aug 2011 03:17:06 +0000 (20:17 -0700)]
Add mdb_get for sorted dups

13 years agoAdd mdb_del for sorted dups
Howard Chu [Thu, 11 Aug 2011 03:00:13 +0000 (20:00 -0700)]
Add mdb_del for sorted dups

13 years agoAdd mdb_put for sorted dups
Howard Chu [Thu, 11 Aug 2011 02:26:06 +0000 (19:26 -0700)]
Add mdb_put for sorted dups

13 years agoFix reader txn locking
Howard Chu [Wed, 10 Aug 2011 23:09:29 +0000 (16:09 -0700)]
Fix reader txn locking

13 years agoDon't malloc the free_pgs list every time
Howard Chu [Wed, 10 Aug 2011 22:48:58 +0000 (15:48 -0700)]
Don't malloc the free_pgs list every time

13 years agoSetup context for sorted dups
Howard Chu [Wed, 10 Aug 2011 02:54:15 +0000 (19:54 -0700)]
Setup context for sorted dups

13 years agoAdd explicit md_dirty flag to dbxs
Howard Chu [Wed, 10 Aug 2011 01:56:08 +0000 (18:56 -0700)]
Add explicit md_dirty flag to dbxs

13 years agoAdd cursor_prev
Howard Chu [Tue, 9 Aug 2011 10:26:45 +0000 (03:26 -0700)]
Add cursor_prev

13 years agoUse BDB cursor terminology
Howard Chu [Tue, 9 Aug 2011 09:22:28 +0000 (02:22 -0700)]
Use BDB cursor terminology

13 years agoAdd some legalese
Howard Chu [Tue, 9 Aug 2011 08:13:55 +0000 (01:13 -0700)]
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 agoAdditional debug, fixes
Howard Chu [Tue, 9 Aug 2011 00:15:02 +0000 (17:15 -0700)]
Additional debug, fixes

Fixed order of mdb_del0 operations
Drop in-memory free list from env on txn_abort

13 years agoSave free-list in DB
Howard Chu [Mon, 8 Aug 2011 12:41:50 +0000 (05:41 -0700)]
Save free-list in DB

13 years agoMore sub-db stuff
Howard Chu [Mon, 8 Aug 2011 05:37:45 +0000 (22:37 -0700)]
More sub-db stuff

13 years agoUse STAILQ instead of SIMPLEQ
Howard Chu [Wed, 3 Aug 2011 22:09:45 +0000 (15:09 -0700)]
Use STAILQ instead of SIMPLEQ

For compat with ancient BSD. Will probably just copy <ldap_queue.h> instead.

13 years agoMore subdb stuff, add cursor_last()
Howard Chu [Wed, 3 Aug 2011 22:04:20 +0000 (15:04 -0700)]
More subdb stuff, add cursor_last()

13 years agoTweak mt_dbxs array
Howard Chu [Wed, 3 Aug 2011 18:51:36 +0000 (11:51 -0700)]
Tweak mt_dbxs array

13 years agoFix free page re-use
Howard Chu [Wed, 3 Aug 2011 10:29:15 +0000 (03:29 -0700)]
Fix free page re-use

13 years agoFixup metapage writes
Howard Chu [Wed, 3 Aug 2011 10:21:07 +0000 (03:21 -0700)]
Fixup metapage writes

13 years agoTweaks to txn handling
Howard Chu [Wed, 3 Aug 2011 09:23:16 +0000 (02:23 -0700)]
Tweaks to txn handling

13 years agoMore subDBs, compiles now
Howard Chu [Wed, 3 Aug 2011 08:41:54 +0000 (01:41 -0700)]
More subDBs, compiles now

13 years agoStart DB restructuring
Howard Chu [Wed, 3 Aug 2011 00:59:37 +0000 (17:59 -0700)]
Start DB restructuring

13 years agoReplace ulong with ULONG macro
Howard Chu [Sun, 31 Jul 2011 09:38:34 +0000 (02:38 -0700)]
Replace ulong with ULONG macro

13 years agoMore prep for subdatabases
Howard Chu [Sun, 3 Jul 2011 11:22:10 +0000 (04:22 -0700)]
More prep for subdatabases

13 years agoTweak comment about overflow allocations
Howard Chu [Sun, 3 Jul 2011 03:44:24 +0000 (20:44 -0700)]
Tweak comment about overflow allocations

13 years agoUse an environment directory
Howard Chu [Sun, 3 Jul 2011 03:15:54 +0000 (20:15 -0700)]
Use an environment directory

Go back to using an mmap'd lock file

13 years agoNo longer need -lssl
Howard Chu [Fri, 1 Jul 2011 13:37:51 +0000 (06:37 -0700)]
No longer need -lssl

13 years agoFix db_stat stuff
Howard Chu [Fri, 1 Jul 2011 13:25:36 +0000 (06:25 -0700)]
Fix db_stat stuff

13 years agoMore fixes for seeking
Howard Chu [Fri, 1 Jul 2011 12:45:56 +0000 (05:45 -0700)]
More fixes for seeking

13 years agoRe-use old pages
Howard Chu [Fri, 1 Jul 2011 10:56:09 +0000 (03:56 -0700)]
Re-use old pages

13 years agoDrop header page
Howard Chu [Fri, 1 Jul 2011 09:31:36 +0000 (02:31 -0700)]
Drop header page

it's useless, just use meta pages instead

13 years agoPrivate: make.sh
Hallvard B Furuseth [Wed, 29 Jun 2011 19:58:17 +0000 (21:58 +0200)]
Private: make.sh

13 years ago#define _XOPEN_SOURCE for random()
Hallvard B Furuseth [Wed, 29 Jun 2011 19:32:52 +0000 (21:32 +0200)]
#define _XOPEN_SOURCE for random()

13 years agoDrop unused vars
Hallvard B Furuseth [Wed, 29 Jun 2011 19:12:08 +0000 (21:12 +0200)]
Drop unused vars

13 years agoWarning cleanup: Make parent index unsigned
Hallvard B Furuseth [Wed, 29 Jun 2011 18:48:48 +0000 (20:48 +0200)]
Warning cleanup: Make parent index unsigned

13 years agoWarning cleanup: printf(%p, struct*)
Hallvard B Furuseth [Wed, 29 Jun 2011 18:40:22 +0000 (20:40 +0200)]
Warning cleanup: printf(%p, struct*)

13 years agoWarning cleanup: if(rc = mdb_<func>()) & co
Hallvard B Furuseth [Wed, 29 Jun 2011 18:35:40 +0000 (20:35 +0200)]
Warning cleanup: if(rc = mdb_<func>()) & co

13 years agoWarning cleanup: Drop unneeded 'unsigned >= 0'
Hallvard B Furuseth [Wed, 29 Jun 2011 18:13:56 +0000 (20:13 +0200)]
Warning cleanup: Drop unneeded 'unsigned >= 0'

13 years agoFix P_INVALID signedness
Hallvard B Furuseth [Wed, 29 Jun 2011 18:09:31 +0000 (20:09 +0200)]
Fix P_INVALID signedness

13 years agoFix formats, reduce PAGEHDRSZ size_t->unsigned.
Hallvard B Furuseth [Wed, 29 Jun 2011 17:52:37 +0000 (19:52 +0200)]
Fix formats, reduce PAGEHDRSZ size_t->unsigned.

NUMKEYS was size_t due to PAGEHDRSZ; printing unsigned int is simpler.

Instead increase PAGEFILL to long, since it involves a multiply.
Possibly uint32_t or something would be sufficient.

13 years agoCompact memnrcmp, just for fun
Hallvard B Furuseth [Wed, 29 Jun 2011 17:17:31 +0000 (19:17 +0200)]
Compact memnrcmp, just for fun

13 years agoFix memncmp(): Do not memcmp twice
Hallvard B Furuseth [Wed, 29 Jun 2011 16:59:53 +0000 (18:59 +0200)]
Fix memncmp(): Do not memcmp twice

13 years agoDPRINTF(): Fix format, handle non-gcc, simplify.
Hallvard B Furuseth [Wed, 29 Jun 2011 16:47:08 +0000 (18:47 +0200)]
DPRINTF(): Fix format, handle non-gcc, simplify.

Add C99-required 1st parameter.  Disable for for non-gcc.  Simplify.
GNU extension #define DPRINTF(<no 1st arg>...) -> GNU ext ,##__VA_ARGS__.
Fix __LINE__ format %ld -> %d.

13 years agoMakefile
Hallvard B Furuseth [Wed, 29 Jun 2011 16:07:37 +0000 (18:07 +0200)]
Makefile

13 years ago.gitignore
Hallvard B Furuseth [Wed, 29 Jun 2011 16:01:42 +0000 (18:01 +0200)]
.gitignore

13 years agoMore cursor tests, fail...
Howard Chu [Wed, 29 Jun 2011 08:55:53 +0000 (01:55 -0700)]
More cursor tests, fail...

13 years agoSave a byte in nodesz
Howard Chu [Wed, 29 Jun 2011 08:55:07 +0000 (01:55 -0700)]
Save a byte in nodesz