一、
#11X7a-6c
※ 引述《rafan (@[email protected]"""")》之铭言:
: 这个 function 是直接 call DB 去 deallocate page 就好?
: 还是说需要先检查在不在 buffer, 有没有人用之类的?
: 说明上似乎没写到这点
和同学讨论时发现了这个问题,且之前的助教并没有直接回答这个问题
也就是在freePage时Page是不是必须要在Buffer内才可以?
还是检查pin count后直接做deallocate?
讨论过后认为deallocate和在不在buffer内应该无关联,因此不需检查
二、
作业在批改时会不会检查error message是否会正确输出?
是不是做完pdf上所列出的error情况就好?
三、
pinPage时,如果read_page回传error,这时候pinPage所做的事情应该是
"抓交替"->"flush frame"->"read_page"->"read_page回传失败"->"直接回传pinPage"吗
这块buffer的description应该保留为flush后前一个page的状态,
还是考虑read_page可能弄烂了buffer要把这块当成INVALID_PAGE?
四、
buf.C的function是否应该避免tester对page -1做pin、unpin的操作?
因为INVALID_PAGE就是-1,tester执行这些操作会造成世界毁灭...
补:后来发现问题出在page是负的时候只用一次%会出事
五、
Status flushPage(int pageId);
^^^
pdf写错了...