Commit graph

99 commits

Author SHA1 Message Date
Jon Meredith
552f2ac89a Made sure all erlang binary signed/unsigned integers match up with C data types
through the control function.
2009-02-12 13:20:14 -07:00
Jon Meredith
d3dba23aed Moved zero-ing of async_pool/job inside mutex to avoid risk of race
in bdberl_drv_stop.
2009-02-12 11:19:51 -07:00
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
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
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
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
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
Dave Smith
f1c52ba1c9 Various cleanup/fleshout 2008-12-05 23:52:51 -07:00
Dave Smith
ceb66315e7 Initial commit 2008-12-05 23:20:26 -07:00