Commit graph

52 commits

Author SHA1 Message Date
Jon Meredith 62e8fa569c Changed driver shutdown to clear util thread active flags before signalling them.
Added debug messages on util thread error.
2009-02-11 11:58:39 -07:00
Jon Meredith 09081f000b Changed the utility thread sleep function to use a custom sleep based on pipe/select
so they can be terminated quickly when the driver shuts down.
2009-02-11 11:22:44 -07:00
Jon Meredith 5ccd73c2ea Added some pedantic defaults to make super-duper-extra-special sure things are as we expect. 2009-02-10 15:24:04 -07:00
Jon Meredith c8699679c3 Added protection for growing past too many entries to the hash going off the end of the primes list. 2009-02-10 15:22:02 -07:00
Jon Meredith 153d4615cd Merge branch 'master' of ecommons@wax.hive:bdberl 2009-02-10 13:11:35 -07:00
Jon Meredith f6e84539d4 Added return value check to db_env_create.
Fixed uninitizialized variable error with fn pointer.
2009-02-10 08:59:16 -07:00
Jon Meredith d833ca708c Changed bdberl_tpool_run to set a pointer to the job structure
rather than return it.  There was an issue where the async thread cleanup
code finished before bdberl_tpool_run returned and wrote the address
of a freed TPoolJob structure into the ErlDrvPort.
2009-02-09 15:01:25 -07:00
Phillip Toland f1342dc2bd Added variant of truncate that truncates all open databases. 2009-02-03 10:57:50 -06:00
Phillip Toland 1c11f81416 Refactored to eliminate some code duplication. 2009-02-03 09:37:08 -06:00
Phillip Toland ed24fd72e4 Removed some unnecessary debugging statements. 2009-02-03 09:14:11 -06:00
Phillip Toland 1d7f86ed74 Added \r to the end of debug output so that things line up in the Erlang console properly. 2009-02-03 09:13:48 -06:00
Phillip Toland df6222a51c Added truncate command. 2009-02-02 15:51:47 -06:00
Phillip Toland 4ba6a03aec Change the way timing is handled for the checkpointer
to avoid problems on shutdown.
2009-01-30 12:42:58 -06:00
Phillip Toland 6bbb503da1 Remove old log files after a checkpoint. 2009-01-29 11:54:33 -06:00
Phillip Toland 75afb8502a Add background checkpoint thread. 2009-01-29 11:27:37 -06:00
Dave Smith 45606ddf56 Change binhelper to avoid stupid user errors; now grows the buffer on demand for the specific # of bytes; fix bugs in get_data_dirs/0 (driver and erlang caller) 2008-12-17 14:45:39 -07:00
Dave Smith 68813d0a53 Adding support for list database directories and txn'lly deleting databases 2008-12-17 13:07:36 -07:00
Dave Smith f9b3354c50 Adding support for packaging to enable easier publishing via faxien 2008-12-16 13:16:23 -07:00
Dave Smith 036e12fd62 Updating build lib to copy over the utilities 2008-12-15 15:52:24 -07:00
Dave Smith 61207c1482 Merge branch 'master' of ecommons@wax.hive:bdberl 2008-12-15 14:35:02 -07:00
Dave Smith f80a2b2ace Enable use of environment variables for setting location of database 2008-12-15 14:33:50 -07:00
Phillip Toland 28be3ac80a Wrapped debug printfs in bdberl_drv.c with a macro
so that they can easily be removed with a recompile.
2008-12-15 15:05:41 -06:00
Dave Smith 865f8958c5 Implemented support for put_commit 2008-12-15 11:47:38 -07:00
Dave Smith 2d323cb304 Adding support for cursor operations 2008-12-15 11:25:03 -07:00
Dave Smith f56351e1dc Overhaul driver to avoid use of pipes and simplify memory management 2008-12-15 09:23:19 -07:00
Phillip Toland 824ec5ef69 Fixes for 64bit Linux. 2008-12-12 15:26:20 -06:00
Dave Smith 987231cef9 Adding "tune" command that lets us get/set various timeouts 2008-12-11 14:13:37 -07:00
Dave Smith cc7d95a5b7 Adding support for trickle writes to disk 2008-12-11 11:51:55 -07:00
Dave Smith b4c6aae90c Merge branch 'master' of ecommons@wax.hive:bdberl
Conflicts:

	c_src/bdberl_drv.c
	src/bdberl_port.erl
2008-12-11 07:30:14 -07:00
Dave Smith aa3928b2c3 Re-enable transaction timeouts 2008-12-10 21:39:38 -07:00
Dave Smith 26db2c0756 Changing from a single signal to a broadcast 2008-12-10 21:38:49 -07:00
Dave Smith a71f18ee1b Now with 100% more threadiness and 50% less deadlocking 2008-12-10 19:47:00 -07:00
Dave Smith 8fc3cc3701 Interstitial commit 2008-12-10 18:17:44 -07:00
Phillip Toland 71f64d9666 Added flags for the txn_commit function. 2008-12-10 17:12:16 -06:00
Phillip Toland f743d855d8 Added flags for txn_begin function. 2008-12-10 17:05:08 -06:00
Phillip Toland 332e18e7be Added flags to get function. 2008-12-10 16:57:35 -06:00
Phillip Toland abb8ca7946 Renamed DECODE_ macros to UNPACK_ 2008-12-10 16:05:41 -06:00
Phillip Toland 7ec347c73e Added flags to the put function. 2008-12-10 16:04:34 -06:00
Phillip Toland eab107df7a Fixed a typo: foudn -> found 2008-12-10 15:41:41 -06:00
Dave Smith 700e66ba9d First crack at a threadpool 2008-12-10 14:31:36 -07:00
Phillip Toland cf6ef4d296 Added flags to the close_database function. 2008-12-10 12:58:54 -06:00
Phillip Toland d2f15bef80 Clean up and expand the binary decoding macros. 2008-12-10 12:30:52 -06:00
Phillip Toland c5e50712e1 Add the ability to pass flags to the open_database function. 2008-12-10 10:59:40 -06:00
Dave Smith 24d712840e Adding support for not_found on get and txn abort 2008-12-09 13:46:33 -07:00
Dave Smith 2f83430708 Adding support for get/put and basic transactions 2008-12-09 13:18:55 -07:00
Dave Smith c92a48356e Adding binary helper functions to ease crazy pointer arithmetic/copying when passing data back to erlang 2008-12-08 16:30:19 -07:00
Dave Smith cce9f59058 Fixes for 64-bit linux, courtesy of Phil Toland 2008-12-08 15:02:09 -07:00
Dave Smith 56ece164c7 Adding test code; cleanup whitespace in driver 2008-12-08 06:59:04 -07:00
Dave Smith ade3f99f81 Open/Close now seems to be functional 2008-12-07 23:28:04 -07:00
Dave Smith 20f872cdef Lots more work on getting basic system fleshed out. Basic structures in place for tracking open databases. 2008-12-06 22:08:36 -07:00