Commit graph

42 commits

Author SHA1 Message Date
Sears Russell
3054256c6e Documentation fix 2006-10-05 00:51:01 +00:00
Sears Russell
73436d0d6c Disables fsckSlottedPage() by default. 2006-08-10 23:59:13 +00:00
Sears Russell
8a390c40d2 Improved latch profiling, especially for loadPage. 2006-08-04 23:45:27 +00:00
Sears Russell
45a5996215 Documented subtle hack; TallocPage() really needs a way to set page type at recovery. Currently, this just doesn't happen, since page types are lazily set.
Perhaps Talloc() could handle it?
2006-07-25 01:05:02 +00:00
Sears Russell
2af892709f Rewrote slottedCompact; added fsckSlottedPage 2006-07-22 00:01:42 +00:00
Sears Russell
0725af91be Fixed page leak in Talloc(). 2006-07-21 01:07:09 +00:00
Sears Russell
1ac3dc6779 More progress on boundary tags. (Still not tested/working yet...) 2006-07-18 23:59:00 +00:00
Sears Russell
4d79c0a466 Simplified allocation 2006-06-20 21:40:21 +00:00
Sears Russell
e14877821f Fixed blob bug. The reason it's so slow is that it's logging a preimage + postimage of each blob and then synchronously writing to a second copy each time the blob is
written to(!!!)
2006-06-20 00:03:38 +00:00
Sears Russell
3e4cac0fe3 Continued cleaning up allocation code. It seems really slow all of a sudden, so this commit probably introduced a performance bug. 2006-06-17 00:25:09 +00:00
Sears Russell
209a6916e5 Updated some comments. 2006-06-16 00:27:02 +00:00
Sears Russell
dc8a3e5d60 Eliminated slottedPreRalloc 2006-06-16 00:05:44 +00:00
Sears Russell
50515ffd23 More steps toward factoring page allocation out of record allocation. 2006-06-15 05:31:20 +00:00
Sears Russell
59bd80a2a8 half-hearted attempt to fix -Wextra warnings... 2006-06-13 23:58:04 +00:00
Sears Russell
1cf3119eb7 renamed __really_do_ralloc to really_do_ralloc 2006-06-13 22:45:30 +00:00
Sears Russell
a11fbdd9e6 Did away with slottedPreRallocFromPage. 2006-06-13 20:00:46 +00:00
Sears Russell
ab541b7dc8 Created bufferPool, moved memory management for page structs to it 2006-04-11 20:35:21 +00:00
Sears Russell
d9f1df0476 Fixed behavior when __really_do_ralloc() is called, but the record's slot is greater than numslots_ptr().
Optimized slotted_compact and __really_do_ralloc() so that they try to put lower numbered slots earlier in the freelist.
2006-04-05 02:52:40 +00:00
Sears Russell
d896155b82 Fixed freespace measurement during recovery/abort by adding slottedFreespaceForSlot()
(This version is still broken, because __really_do_ralloc() does not properly increment numslots_ptr
2006-04-05 00:38:11 +00:00
Sears Russell
2250b7a6c7 More freespace troubles... Should be correct now. 2006-03-28 21:27:10 +00:00
Sears Russell
3c55daede9 The freespace calculations were double counting the new slot's header. 2006-03-28 21:21:47 +00:00
Sears Russell
ced022d0fe partial fixes 2006-03-28 20:15:31 +00:00
Sears Russell
bb37db0857 Partial port to amd64. 2006-03-20 23:11:46 +00:00
Sears Russell
08ceca11ce Enabled compactPage in TallocFromPage() 2005-03-24 11:04:06 +00:00
Sears Russell
890a7385d0 Fixeds cht test / finished error checking within LLADD, but haven't tested error handling yet. 2005-02-24 21:12:36 +00:00
Sears Russell
41fb85eef0 More error handling... 2005-02-22 03:10:54 +00:00
Sears Russell
84a20a3c96 Started adding error handling code to LLADD. 2005-02-16 04:11:14 +00:00
Sears Russell
b8a67cbfb2 Numerous lock manager fixes; more realistic test case for lock manager, added support for optional page-level locking.(Still need to report deadlocks back up to the caller.) 2005-02-10 03:51:09 +00:00
Sears Russell
54ecc0d3c4 page->dirty is now set correctly (assuming LSN's are updated properly). pageFile.c makes use of this fact by ignoring write requests on clean pages. 2005-02-02 02:12:40 +00:00
Sears Russell
bb69197a65 Fixed blob implementation (it was impossible to distinguish between a blob and a record of length 12), removed jbhash, and ported cht to linearHashNTA. 2005-01-31 01:29:52 +00:00
Sears Russell
7cf5fdee6e Re-implemented pageOrientedListNTA from scratch. It's now more flexible, but relies on features that are not provided by Talloc/Tdealloc, so performance isn't as good as it could be. 2005-01-29 01:17:37 +00:00
Sears Russell
17f76264aa Implemented pageOrientedList, also did some bug fixing, and added some support functions to alloc.c 2005-01-28 03:32:17 +00:00
Sears Russell
55b0ddf1b6 Fixed nasty bug that was causing the LLADD header to be lost (!!) 2004-12-06 01:20:48 +00:00
Sears Russell
ec99c0e258 Lots of optimizations; re-did on-disk layout for the linear hash table. 2004-10-19 21:16:37 +00:00
Sears Russell
5064e3fac2 Implemented pages that store fixed sized records efficiently, and a java-style ArrayList data structure that efficiently supports (relatively) clustered, O(1) access time expandable arrays. (This will be used for the hash implementation...) 2004-10-06 06:08:09 +00:00
Sears Russell
96e7af92a4 Added test cases for Tprepare(), implemented some redo-only operations, and started to clean up record allocation/deallocation.
Also, numerous bugfixes.
2004-10-02 07:29:34 +00:00
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
82e3fdb53a Added (untested) support for whole-page operations, lladdhash now works. 2004-08-03 02:04:56 +00:00
Sears Russell
e51759b517 Implemented indirect pages, and fixed some bugs here and there. (Still need to add transactional support for indirect pages...) 2004-07-31 00:27:55 +00:00
Sears Russell
a74c499dd7 Fixed data corruption bug in the freelist implementation, and corrected lsn updates. 2004-07-30 02:07:41 +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