@@ -224,42 +224,71 @@ static_assert(sizeof(Page) == PAGE_SIZE, "The total sizeof page");
224
224
inline void BufferFrame::ToJSON (rapidjson::Value* resultObj,
225
225
rapidjson::Value::AllocatorType& allocator) {
226
226
DCHECK (resultObj->IsObject ());
227
+
228
+ // header
229
+ rapidjson::Value headerObj (rapidjson::kObjectType );
227
230
{
228
231
auto stateStr = header.StateString ();
229
232
rapidjson::Value member;
230
233
member.SetString (stateStr.data (), stateStr.size (), allocator);
231
- resultObj-> AddMember (" header. mState" , member, allocator);
234
+ headerObj. AddMember (" mState" , member, allocator);
232
235
}
233
236
234
237
{
235
238
rapidjson::Value member;
236
239
member.SetBool (header.mKeepInMemory );
237
- resultObj-> AddMember (" header. mKeepInMemory" , member, allocator);
240
+ headerObj. AddMember (" mKeepInMemory" , member, allocator);
238
241
}
239
242
240
243
{
241
244
rapidjson::Value member;
242
245
member.SetUint64 (header.mPageId );
243
- resultObj-> AddMember (" header. mPageId" , member, allocator);
246
+ headerObj. AddMember (" mPageId" , member, allocator);
244
247
}
245
248
246
249
{
247
250
rapidjson::Value member;
248
251
member.SetUint64 (header.mLastWriterWorker );
249
- resultObj-> AddMember (" header. mLastWriterWorker" , member, allocator);
252
+ headerObj. AddMember (" mLastWriterWorker" , member, allocator);
250
253
}
251
254
252
255
{
253
256
rapidjson::Value member;
254
257
member.SetUint64 (header.mFlushedPSN );
255
- resultObj-> AddMember (" header. mFlushedPSN" , member, allocator);
258
+ headerObj. AddMember (" mFlushedPSN" , member, allocator);
256
259
}
257
260
258
261
{
259
262
rapidjson::Value member;
260
263
member.SetBool (header.mIsBeingWrittenBack );
261
- resultObj->AddMember (" header.mIsBeingWrittenBack" , member, allocator);
264
+ headerObj.AddMember (" mIsBeingWrittenBack" , member, allocator);
265
+ }
266
+
267
+ resultObj->AddMember (" header" , headerObj, allocator);
268
+
269
+ // page without payload
270
+ rapidjson::Value pageMetaObj (rapidjson::kObjectType );
271
+ {
272
+ rapidjson::Value member;
273
+ member.SetUint64 (page.mPSN );
274
+ pageMetaObj.AddMember (" mPSN" , member, allocator);
275
+ }
276
+ {
277
+ rapidjson::Value member;
278
+ member.SetUint64 (page.mGSN );
279
+ pageMetaObj.AddMember (" mGSN" , member, allocator);
280
+ }
281
+ {
282
+ rapidjson::Value member;
283
+ member.SetUint64 (page.mBTreeId );
284
+ pageMetaObj.AddMember (" mBTreeId" , member, allocator);
285
+ }
286
+ {
287
+ rapidjson::Value member;
288
+ member.SetUint64 (page.mMagicDebuging );
289
+ pageMetaObj.AddMember (" mMagicDebuging" , member, allocator);
262
290
}
291
+ resultObj->AddMember (" pageWithoutPayload" , pageMetaObj, allocator);
263
292
}
264
293
265
294
} // namespace storage
0 commit comments