Sears Russell
811bc5c710
Implemented a freespace manager that should safely allocate space, even in the face of crashes, and can reclaim unused space (unless an application opens more than one simultaneous transaction that performs allocations)
...
Fixed some blob bugs (by adding extra fdatasync() calls).
Began factoring out the page management code so that it is an extenstion, and a less integral part of lladd.
2004-08-21 00:03:30 +00:00
Sears Russell
b4d7883f66
Fixed regressions, major update of page / slotted interfaces in anticipation of moving LLADD towards a generic transactional page system.
2004-08-17 01:46:17 +00:00
Sears Russell
961b63af15
Rewrote / refactored page.h. Now, it uses a freelist to reclaim slotid's within a page, and is implemented as two seperate modules. The first handles lsn's, and (will soon) check the type of each page, and then delegate work to a particular implementation of the second module.
2004-07-30 01:28:39 +00:00
Sears Russell
8cb59f0c23
Blobs are now re-entrant.
2004-07-26 20:37:04 +00:00
Sears Russell
422198418a
bufferMananger is (really!) re-entrant now, performed big refactoring to prevent deadlocks, check_transactional2 ran overnight without coring, w/ 25 threads, and 10000 allocate/write/reads per thread. (The whole test suite was run in a loop...)
2004-07-23 20:21:44 +00:00
Sears Russell
490dd86c09
pageCache.c is now re-entrant.
2004-07-20 00:15:17 +00:00
Sears Russell
9712e291e6
Moved page.h and some of the logging headers out of the public API.
2004-07-14 21:25:59 +00:00
Sears Russell
2b42451280
Cleaning up bufferManager / page for locking. Want to limit access to the Page struct.
2004-07-14 20:49:18 +00:00
Sears Russell
475b8141d3
page.c is re-entrant (mostly), and now reuses DeRalloced space properly. (For now, BufferManager still is not re-entrant, and also prevents space from being reused.)
2004-07-13 23:48:20 +00:00