Sears Russell
7660467f8e
Refactor page implementation to use multiple include trick (so the backing representation can be changed).
...
Also, fix apparent bug in stasis_page_fixed_set_record_type().
Otherwise, this change should not make any semantic changes.
2011-11-09 21:37:38 +00:00
Sears Russell
52cd86f7f6
move myrandom into stasis/util, rename it stasis_util_random64
2011-08-31 19:25:09 +00:00
Sears Russell
d8621db18f
move latching stuff to util/, blobs to operations/
2011-06-13 11:26:25 +00:00
Sears Russell
87d4563ab5
move compression and latchFree page formats to experimental/
2011-06-13 08:02:20 +00:00
Sears Russell
bb904e85cf
add latch-free slotted pages, and a bug-fix in page.c
2010-09-17 01:10:42 +00:00
Sears Russell
e5528ce218
relaxed page latching requirements; page.c, and dirtyPageTable no longer check / rely on holding rwlatch; removed (now) unnecessary latching from unit tests
2010-08-06 00:19:19 +00:00
Sears Russell
260310e151
Add page ops for tree implementations.
2009-07-26 06:18:54 +00:00
Sears Russell
7f2edd880d
New (more thorough, less frequent) tests for slotted pages. Renamed slotted methods, added microbenchmark for slotted pages.
2009-07-20 17:42:43 +00:00
Sears Russell
397b0fa245
remove indirect page implementation
2009-07-07 20:03:52 +00:00
Sears Russell
2593de7a2c
Move page type to Page_s struct. This breaks indirect.c (which is poorly thought out, and will be removed shortly), and was the next step on the road to segment-based recovery
2009-07-07 19:20:22 +00:00
Sears Russell
3cc48c4fc4
check for page leaks at shutdown; move myrandom() into check_includes.h, fix a number of page leaks / double frees
2009-05-30 02:23:17 +00:00
Sears Russell
5bb8dbc2b9
centralized #include <check.h>, removed obsolete (uncompiled) unit test.
2009-04-14 20:21:05 +00:00
Sears Russell
ff0887624c
Simplified the page locking conventions.
...
Added paranoid calls to assertlock() to page.c
Fixed race in abort():
- pick CLR LSN
- release page lock
- someone else updates page
- lock page
- apply undo
2008-09-28 05:50:59 +00:00
Sears Russell
6d17442380
Major refactoring:
...
- Changed operations to take only two arguments
- No more hacks regarding log argument sizes
- Set pageid = INVALID_PAGE if you want a logical operation
- Ported operation implementations to new api; exposed + fixed a number of concurrency bugs
- More fixes to prepare
- Fixed to nested top actions
- More coherent operations api / recovery implmentation
- TnaiveHash* and Tinstant* are (and were already) broken, and are set for removal
- Removed some instances of fail_unless
- Fixed design flaws in blob implementation.
- New naming convention for operation callback functions.
2008-09-28 03:11:24 +00:00
Sears Russell
afbd89e3ff
All headers now live in the header directory. (stasis/, not src/stasis)
2008-04-13 04:02:57 +00:00
Sears Russell
4fe834e37b
Valgrind fixes / properly completes writes now.
2008-02-19 21:56:32 +00:00
Sears Russell
c9bbf3af94
Converted page.h to follow new naming convention; documented new page api; begun stasis documentation cleanup.
2007-10-02 00:18:33 +00:00
Sears Russell
8963d6d381
Fixed recordNext(), add unit test for recordNext() on slotted and fixed pages.
2007-08-20 16:04:44 +00:00
Sears Russell
9fd91cffb8
Updated page api to handle page types that need to grab resources on record read/ write, or that perform callbacks when read / written to disk.
2007-07-18 20:09:14 +00:00
no author
d0274c3304
Renamed 'lladd' directories and python module to 'stasis'
2007-06-11 21:36:57 +00:00