Sears Russell
0725af91be
Fixed page leak in Talloc().
2006-07-21 01:07:09 +00:00
Sears Russell
ffd3bd960b
switched to region allocator, but TpageAlloc currently grabs its own region...
2006-07-20 01:29:39 +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
c8c9b7af19
the logger understands special record types. (At least partially...); shortened blob tests, since the blob
...
implementation is fundamentally broken, and slow
2006-06-20 23:02:27 +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
1b3a08d434
added some todos
2006-06-13 22:46:11 +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
27f7df6f09
Fixed races on flushedLSN and page->dirty.
2006-06-12 20:05:28 +00:00
Sears Russell
ef43d5e4ce
Implemented log truncation.
2006-04-14 03:45:26 +00:00
Sears Russell
11c311bc91
Added support for raw pages, implemented posix_memalign workaround, and re-enabled O_DIRECT by default
2006-04-12 01:41:35 +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
10e7434d32
corrected slottedFrespace()'s declaration (it was returning an int, but needed to return a size_t
2006-04-05 02:54:14 +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
f28df29736
Fixed unit tests, added iterator interface, and generic (almost) iterator test harness.
2005-03-10 03:19:04 +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
80d4af4c9b
Added getRecordType()
2004-11-24 23:25:36 +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
6b265f28b0
Speedups, most notably in the logging subsystem.
2004-10-19 04:45:42 +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