Databases Reference
In-Depth Information
HEADER INFORMATION
m_slotCnt=1
m_freedata=111
HEADER
INFORMATION
(1,100)
(3,300)
FIGURE 7-12
Before the “2,200” transaction could update the metadata, the “3,300” transaction had arrived.
This second transaction checked the m _ freedata i eld, found the location to write the row, and
made the change. By now Transaction 1 has updated the header information, but this is also
overwritten by Transaction 2. The change made by Transaction 1 is gone, and we have a lost
update, as seen in Figure 7-13 and Figure 7-14.
PAGE HEADER:
Page @0x00000002F9FA2000
m_pageId = (1:73)
m_typeFlagBits = 0x0
m_objId (AllocUnitId.idobj) = 84
Metadata: AllocUnitId = 72057594043432960
Metadata: PartitionId = 72057594039042048
Metadata: ObjectId = 245575913
pminlen = 12
m_freeData = 126
m_xactReserved = 0
m_tornBits = 1769750384
m_headerVersion = 1
m_level = 0
m_indexId (AllocUnitId.idInd) = 256
m_type = 1
m_flagBits = 0x8200
m_prevPage = (0:0)
m_slotCnt = 2
m_reservedCnt = 2
m_xdesId = (0:0)
DB Frag ID = 1
Metadata: IndexId = 0
m_nextPage = (0:0)
m_freeCnt = 8062
m_lsn = (32:77:2)
m_ghostRecCnt = 0
Allocation Status
GAM (1:2) = ALLOCATED
PFS (1:1) = 0X61 MIXED_EXT ALLOCATED
ML (1:7) = NOT MIN_LOGGED
SGAM (1:3) = ALLOCATED
50_PCT_FULL
DIFF (1:6) = CHANGED
DATA:
Slot 0, Offset 0x60, Length 15, DumpStyle BYTE
Record Type = PRIMARY_RECORD
Memory Dump @0x0000000011FEA060
Record Attributes = NULL_BITMAP
Record Size = 15
0000000000000000:
10000c00 01000000 64000000 020000
........d......
Slot 1, Offset 0x6f, Length 15, DumpStyle BYTE
Record Type = PRIMARY_RECORD
Record Attributes = NULL_BITMAP
Record Size = 15
Memory Dump @0x0000000011FEA06F
0000000000000000:
10000c00 03000000 2c010000 020000
........,......
OFFSET TABLE:
Row - Offset
1 (0x1) - 111 (0x6f)
0 (0x0) - 96 (0x60)
FIGURE 7-13
Search WWH ::




Custom Search