Sears Russell
08c8be07b1
add support for fallocate(); enable it by default if it is available at build time.
2011-08-25 21:29:51 +00:00
Sears Russell
9083bca1c3
Implement CLOCK replacement policy, and set it to be the default. Add flags to configure the default replacement policy.
2011-08-23 18:25:26 +00:00
Sears Russell
84bbeca165
filePool implementation is more-or-less complete. added remaining functions and latching
2011-04-19 18:51:43 +00:00
Sears Russell
c7e07c5c5d
cleaned up initialization code for stasis handles; it is no longer possible to instantiate the (long broken) non-blocking handle implementation
2010-12-03 02:18:56 +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
7a27e39e5b
MAX_BUFFER_SIZE is now a runtime (pre-tinit) option; clean up some doxygen warnings
2010-07-16 16:52:08 +00:00
Sears Russell
dc1f799a37
TarrayListAlloc() and TarrayListExtend() now generate O(1) bytes of log entries; they use the new multipage operation type.
2010-05-11 23:34:13 +00:00
Sears Russell
07df7c064a
add support for multi-page operations
2010-05-11 00:17:07 +00:00
Sears Russell
1ff9afb753
added new constant: INVALID_SIZE
2010-02-11 20:36:33 +00:00
Sears Russell
c30aaa3a1a
fix compiler warning; -1 is not comparable to entry->type
2010-01-07 21:50:17 +00:00
Sears Russell
20a3fe9df5
add support for soft commits, and making prior soft commits durable
2009-10-12 19:16:41 +00:00
Sears Russell
6a02f2f159
buffer manager implementation is now determined by an overridable factory method
2009-10-05 22:39:09 +00:00
Sears Russell
ebd6b14dbf
single-page btrees are working
2009-07-29 21:03:16 +00:00
Sears Russell
4493dbb88b
Added support for segment based recovery. For now, Stasis doesn't support hybrid recovery, so mixing page deallocation and segments will make recovery corrupt data / segfault.
2009-07-13 17:18:01 +00:00
Sears Russell
eb0661ceeb
added segment.c
2009-07-09 21:09:36 +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
b66328192c
in-memory group by implementation
2009-07-01 01:33:24 +00:00
Sears Russell
731da7456a
more eclipse refactoring; cleaned up some names, whitespace and documentation
2009-04-13 22:50:12 +00:00
Sears Russell
fba041469f
Added macro that provides id numbers for third-party Operations.
2009-04-03 22:00:27 +00:00
Sears Russell
564dfe426b
Renamed / refactored operation implementation + registration functions. Added support for third party operations
2009-03-31 05:02:54 +00:00
Sears Russell
45a2410a25
add support for lsn-free set (but not alloc, etc...)
2009-03-15 07:21:37 +00:00
Sears Russell
2dcc6598d2
added support for softcommit, and for compile / runtime configuration of stasis log + storefile locations
2008-12-01 22:45:32 +00:00
Sears Russell
db1d79efcd
Removed Tinstant* and broken logical hash stuff
2008-09-30 15:34:42 +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
944c7e984f
fixes / cleanups of Tprepare()
2008-09-24 03:08:32 +00:00
Sears Russell
fb4e91debe
removed deferred operation stubs
2008-09-12 23:08:41 +00:00
Sears Russell
146563ca45
Allow third parties to register new iterator types. (made iterator registration non-static; moved constants into constants.h)
2008-03-01 19:34:12 +00:00
Sears Russell
752606ad3b
Region tags are 1 offest (not zero), remove allocation manager id collision)
2008-02-20 22:49:24 +00:00
Sears Russell
a823255227
Added interface to let other stasis modules find regions' boundary tags
2008-02-19 22:07:13 +00:00
Sears Russell
7e2c37534e
Partial implementation of a collection oriented interface for ROSE. (Checking in to create version to diff against.)
2007-11-01 20:09:55 +00:00
Sears Russell
d7e56fc96f
Added more buffer manager flags (allow programs to bypass non_blocking).
2007-10-22 20:50:00 +00:00
Sears Russell
5f954eb239
Final commit from google.
2007-08-24 23:01:08 +00:00
Sears Russell
9c1c284406
Implemented range scans; lsmTree now supports keys that are stored as fixed length byte arrays.
2007-08-20 16:53:16 +00:00
Sears Russell
90f011b049
New access method for the buffer manager; write coalescing; runtime bufferManager selection and a few bufferManager bugfixes.
2007-08-20 16:23:57 +00:00
Sears Russell
9745d62887
Preliminary LSM tree implementation (hardcodes keys as ints for now)
2007-08-14 01:17:31 +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