-
Type: Task
-
Resolution: Done
-
Affects Version/s: None
-
Component/s: None
-
None
Here's a first set of changes for WT-808.
It works and passes the usual tests, but there's still a fair amount of cleanup left to do. For example, I changed *wt_write() to take a size_t instead of a uint32_t, but I haven't yet made the corresponding change to *wt_read(), and there are a bunch of places where I cast values without working through if it's the "right" place to do the conversion.
I wanted everyone to get a sense of what's going on here so we can stop digging if this is a bad idea. There's a lot of fiddly changes in here, we're going to spend some amount of time over the next 6 months futzing with various interfaces so we're consistently using size_t when talking about buffers/objects in memory, and using uint32_t when writing to/from pages. As another example, we should get rid of almost all of the uses of uint32_t in the block manager code: the primary use is as the length of an address, which is really a size_t, since it's an object in memory.