Commit graph

130 commits

Author SHA1 Message Date
Gregory Burd d0c587bdec Various fixes. 2011-12-05 12:16:25 -05:00
Gregory Burd 1f7ca0c189 Use proper string formats 2011-12-04 15:16:54 -05:00
Gregory Burd 3d7a6e41c6 Use a more portable method to determine if PID is alive or not. 2011-12-04 15:04:55 -05:00
Gregory Burd 92c906f105 Fix macros so that they use their arguments properly. 2011-12-04 14:47:32 -05:00
Gregory Burd 91d10a7d51 Error messages 2011-12-04 14:46:13 -05:00
Gregory Burd d7659ea8c1 Add BDB failchk support which requires thread_id and is_alive (implement thread_id_string while we're at it). 2011-12-04 14:45:30 -05:00
Gregory Burd 30b89d7808 Change scope of debugging macros. 2011-12-04 14:42:30 -05:00
Gregory Burd b649dc7d3b Whitespace and formatting only. 2011-12-04 14:40:54 -05:00
Gregory Burd 12e3012a05 Transmit BDB event notifications into Erlang port driver. 2011-12-03 10:23:40 -05:00
Gregory Burd fed8c726e2 Ensure all databases are opened with auto commit enabled. 2011-12-03 09:45:43 -05:00
Gregory Burd b70d9b8afa Add support for cursor->count() 2011-12-01 14:38:22 -05:00
Gregory Burd 11c864d949 Whitespace and log message formatting fixes. 2011-12-01 14:34:16 -05:00
Gregory Burd ad64781df6 Auto-download of db package now works properly. 2011-11-28 18:39:53 -05:00
Gregory Burd 7ff11a42a8 Consistently use driver_(alloc,realloc,free). 2011-11-28 16:02:00 -05:00
Gregory Burd f32973b044 Grab a reduced tar-ball from GitHub gburd/libdb 2011-11-28 13:41:16 -05:00
Gregory Burd 3e1fba24a4 No longer needed. 2011-11-28 12:39:50 -05:00
Gregory Burd db1eb122c6 Merge branch 'master' of git://github.com/kpy3/bdberl into merge-changes-from-kpy3
Conflicts:
	Makefile
	c_src/buildlib.sh
	include/bdberl.hrl
	int_test/DB_CONFIG
	rebar
	rebar.config
	test/bdberl_SUITE.erl
2011-11-28 12:39:11 -05:00
Gregory Burd 27438453bb Add support for cursor_get() which is used to position the cursor as
well as to get items based on its location.
2011-11-27 21:03:02 -05:00
Gregory Burd a29ccf2f22 Whitespace 2011-11-27 21:01:43 -05:00
Gregory Burd 469bf225a2 Added del()ete to Erlang API. 2011-08-10 17:26:19 -04:00
Gregory Burd 1f38bf630e Now passing all tests. 2011-08-09 12:15:08 -04:00
Gregory Burd 7b1350f899 Updated to Oracle Berkeley DB version 5.2.28 2011-08-09 11:01:44 -04:00
Sergey Yelin 5b3f7fb6e2 Remove diagnostic flags - unneeded 2011-07-18 19:43:56 +04:00
Sergey Yelin fad7dd5129 Sync flags and DB codes 2011-07-18 19:39:14 +04:00
Sergey Yelin e874dbf319 Do not force pthread and add more diagnostic 2011-07-18 18:26:48 +04:00
Sergey Yelin 5f73c3f32e Make this run on Debian/Ubuntu 2011-07-18 11:50:39 +04:00
Sergey Yelin a765b45841 Changes 2011-07-17 23:55:48 +04:00
Jon Meredith 25a78e0b8e Moved check_all_databases_closed inside check for G_DB_ENV != NULL, otherwise
fails on LOCK_DATABASE when G_DATABASES_MUTEX is uninitialized.
2009-12-05 04:37:33 +08:00
Phillip Toland e20a91e082 Updated Jon's email address. 2009-06-23 15:27:37 -05:00
Phillip Toland 09184b0399 Added license information. 2009-06-23 15:17:05 -05:00
Jon Meredith 663e7f24ec Cleaned up the const != var tests to var != const. 2009-06-23 15:05:21 -05:00
Jon Meredith 0affeb825c Cleaned up driver
- removed the lock checks now we are happy with the mutex
 - replaced 'const == var' tests with 'var == const' to make code consistent.
2009-06-23 15:02:33 -05:00
Jon Meredith 783acf09ba Relaced G_DATABASES rwlock with a mutex. 2009-06-23 15:02:33 -05:00
Jon Meredith 425d8ddf00 Added extra paranoia around G_DATABASES, checking it is valid at lock and unlock. 2009-06-23 15:02:33 -05:00
Jon Meredith 7c9da71b18 The read lock checks for the G_DATABASES rwlock were incorrect. Multiple readers
are possible.  Now the check for exclusive port/thread is only done on writes.

Added an integration test that reproduces conditions seen during the local-storage-ops-
in-coord branch.
2009-06-23 15:02:33 -05:00
Jon Meredith 3d422bec1d Heavily instrumented rwlock code - rwlock seems to be misbehaving.
About to replace with a mutex.wq
2009-06-23 15:02:33 -05:00
Jon Meredith bfb1620fb8 Improved debug output on driver stop.
Disabled active_dbs counter as coredump went away.
2009-06-23 15:02:33 -05:00
Jon Meredith 2077413b9e Added active counts to dbref and portref to help see what is being corrupted
in the coredump.
2009-06-23 15:02:33 -05:00
Jon Meredith 86f39286b1 Added extra debug/paranoia on bdberl_drv_stop/bdberl_drv_finish while
looking for the coredump on port close discovered on the local storage ops
inside coordinator branch.
2009-06-23 15:02:33 -05:00
Jon Meredith 92b7c3a6ef Refactored environment variable checks. All go through common functions
that validate conversion to unsigned int and prints an error message
on stderr if not used (would prefer to use SASL but it's as good as it
gets during driver setup).
2009-06-23 15:02:33 -05:00
Jon Meredith 13240670c3 Added bdberl:driver_info() function to get driver parameters. 2009-06-23 15:02:32 -05:00
Jon Meredith 1cc42dae71 Forgot to rename DBGCMDX for non-debug build. 2009-06-23 15:02:32 -05:00
Jon Meredith a3ae101dfb Cleaned up debugging code. 2009-06-23 15:02:32 -05:00
Jon Meredith 1e3b89e24e Broke stats code out into bdberl_stats.h module.
Had to rename some functions that became non-static.
Added some accessors to module static variables as needed.
2009-06-23 15:02:32 -05:00
Jon Meredith 6fe6651757 Added more comprehensive debug output if built with debug=1.
Made deadlock checker interval configurable.
2009-06-23 15:02:32 -05:00
Jon Meredith 19addac0fe Made size of thread pools configurable from environment variables
BDBERL_NUM_GENERAL_THREADS and BDBERL_NUM_TXN_THREADS.
2009-06-23 15:02:32 -05:00
Jon Meredith 497b9ca70f Forgot to remove a couple of unnecessary work_buffer copies. 2009-06-23 15:02:32 -05:00
Jon Meredith 56c1617f8e Converted truncate to use async_dbref. 2009-06-23 15:02:32 -05:00
Jon Meredith def6d9376a Changed stats functions to use async_dbref/async_flags to pass parameters
to async functions rather than work buffer.
2009-06-23 15:02:32 -05:00
Jon Meredith 512cec599e In cases where there was more than one pending request and no active requests,
the linked list would be corrupted linking the pending request on the list of
active requests.
2009-06-23 15:02:32 -05:00