Commit graph

167 commits

Author SHA1 Message Date
Sears Russell
4c8466555c Cleaned up Tupdate() by adding TupdateRaw(); removed *_RAW and updated linear hash accordingly. 2007-03-28 09:21:07 +00:00
Sears Russell
4e6330492c Adaptor between the pageFile interface and stasis_handle_t 2007-03-13 08:40:31 +00:00
Sears Russell
00cf6b8a49 Support for multiple inclusion. 2007-03-13 06:52:35 +00:00
Sears Russell
17845a59ed A O(1) lru implementation. 2007-03-11 07:45:17 +00:00
Sears Russell
8145e8db6f A doubly linked list implementation. All operations are O(1), including the ability to remove things from
within the list, assuming you already have an appropriate pointer to it.
2007-03-11 07:37:20 +00:00
Sears Russell
61249c29a7 New "default" buffer manager that aims to replace the current one, but
without deadlocks.  Still need to track down a memory corruption bug
that this introduces, or exercises.
2007-03-08 07:56:53 +00:00
Sears Russell
8f3d503ea8 Added TdurabilityLevel().
Test cases now pass with LOG_TO_MEMORY and BUFFER_MANAGER_MEM_ARRAY
2007-03-07 06:45:28 +00:00
Sears Russell
1a34e55d22 Updated documentation string. 2007-03-06 00:06:44 +00:00
Sears Russell
237bbe0fbe Added ability to override default bufferManager implementation with
-DUSE_BUFFER_MANAGER
2007-03-06 00:00:26 +00:00
Sears Russell
44aef7e8ea Added ability to override default logging implementation with
-DUSE_LOGGER
2007-03-05 23:56:38 +00:00
Sears Russell
a8cf422e49 Added BUFFER_MANAGER_MEM_ARRAY 2007-03-04 02:51:19 +00:00
Sears Russell
5650953c4f Added .cvsignore files. 2007-03-04 00:40:15 +00:00
Sears Russell
26e5aa3069 truncation.c no longer includes on pageFile.h 2007-03-04 00:36:45 +00:00
Sears Russell
73788eb910 Reworked intialization code, includes to isolate bufferManager
implementation from the rest of Stasis.
2007-03-03 01:52:03 +00:00
Sears Russell
006cd1e621 Moved roundUp/Down to 'static inline' in header; completed unit test's checks. 2007-02-12 07:54:32 +00:00
Sears Russell
fe30fbbd74 RangeTracker seems to be working; still need to write unit tests for its return value. 2007-02-06 02:32:01 +00:00
Sears Russell
99bcf8acd9 Randomized test; bugfixes 2007-01-25 22:38:22 +00:00
Sears Russell
c2fa9913b1 Added partial implementation of range tracking for pinning arbitrary
regions.  Currently, tracks regions, and is O(m log(n)) for each
operation, where m is the number of transition points per range, and n
is the number of transition points in the system.  A transition point is
a place in memory where the pincount changes.
2007-01-24 01:03:52 +00:00
Sears Russell
3aa83e7a48 Added link to test.c from main API page, and doxygenified the test.c comments. 2006-12-18 01:12:30 +00:00
Sears Russell
495db15775 Documentation fix 2006-12-14 02:53:14 +00:00
Sears Russell
802eeb33e7 New non-blocking implementation, with backpressure. Still doesn't handle overlapping writes. (Multiple writes to the same region is OK though.) 2006-11-21 06:50:12 +00:00
Sears Russell
a1a53d26f5 Updated front page of API documentation. 2006-11-13 21:49:57 +00:00
Sears Russell
329b5b26b9 fixed compile warnings 2006-11-10 11:18:24 +00:00
Sears Russell
499fdc9dfa Removed FILE_OFFSET_BITS, as it is now set by ./configure. 2006-11-09 23:00:09 +00:00
Sears Russell
c86688884a Updates for 32-bit x86. There are still real 32-bit bugs being emitted as compiler warnings. 2006-11-07 20:36:59 +00:00
Sears Russell
8481e9cdd6 non_blocking is closer to working (it now flushes writes out in the background). This required some api changes. It still passes unit tests, but it's losing data on close()... 2006-10-28 03:33:02 +00:00
Sears Russell
faf55911df Added non-blocking io implementation. It doesn't actually work yet, but it passes the unit tests. ;) 2006-10-26 05:48:30 +00:00
Sears Russell
10b77729f5 Simple (blocking, poor truncation performance) file handle implementation. 2006-10-18 00:57:36 +00:00
Sears Russell
32347b12e4 Added a "debug" handle dumps a trace of requests passed to it, and passes the requests through to another handle implementation. 2006-10-17 03:26:01 +00:00
Sears Russell
80a4148543 First cut at a new io API, with an in-memory reference implementation + test case. 2006-10-13 04:39:03 +00:00
Sears Russell
84dcdf228f Documentation Fix 2006-10-05 00:46:18 +00:00
Sears Russell
bec4e81032 Documentation Fix; also added instructions for people that have old autoconf-1.4 set as default. 2006-10-05 00:44:53 +00:00
Sears Russell
2903e48e71 Added INTERNALLOG 2006-10-04 04:39:30 +00:00
Sears Russell
4bd93ee66a Added support for computing size of internal log entries. 2006-10-04 04:38:21 +00:00
Sears Russell
23dd227654 Cleaned up API. 2006-09-27 20:32:27 +00:00
Sears Russell
c11e1167b2 Commented-out #defines for finding leaked pages in multithreaded apps. 2006-09-27 20:31:29 +00:00
Sears Russell
b615f0bc3e Towards 64-bit pageids. bufferManager can handle 64-bit offsets, but recordid.page is still 32 bit... 2006-08-11 19:31:42 +00:00
Sears Russell
1a60582a0c Added function to handle code that allocates data without first consulting the allocationPolicy 2006-08-11 03:01:16 +00:00
Sears Russell
7847331771 Minor cleanup, added ability to calculate the global average number of
buckets traversed per find().  Added a warning for code that actually
relies upon PBL's way of interpreting insert.
2006-08-10 23:43:53 +00:00
Sears Russell
d3f87b5af4 Added support for locking on deallocation. 2006-08-10 23:39:36 +00:00
Sears Russell
8a390c40d2 Improved latch profiling, especially for loadPage. 2006-08-04 23:45:27 +00:00
Sears Russell
c413203ec8 Talloc() now reuses space when possible. It still needs to call slottedCompact() intelligentally. Also, allocationPolicy should support an extra tier
of pages, so it doesn't suggest ones that aren't already in the buffer pool unless it has to.
2006-07-29 00:56:54 +00:00
Sears Russell
cdd44a2f2d Initial import of redblack implementation. 2006-07-28 00:01:57 +00:00
Sears Russell
3725cc9b8e Added a function that returns the number of allocated entries in the list 2006-07-28 00:00:32 +00:00
Sears Russell
e9880654e4 Added the INVALID_XID constant. 2006-07-27 00:03:36 +00:00
Sears Russell
7888d647ed Removed unused abort/commit callbacks. 2006-07-26 17:48:36 +00:00
Sears Russell
62abe94bf5 added fsckRegions(), and call it from the unit tests. 2006-07-25 22:23:15 +00:00
Sears Russell
aec9148b83 added call to get the page type. 2006-07-25 22:22:49 +00:00
Sears Russell
6501e7a24d MAX_BUFFER_SIZE can now be specified in CFLAGS. 2006-07-25 17:43:39 +00:00
Sears Russell
0f45b97eda regions now make use of nested top actions, so they're almost correct. (Still need to lock freed regions until end of transaction.) 2006-07-25 00:56:50 +00:00