91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 882KB
    文件類型: .rar
    金幣: 2
    下載: 0 次
    發布日期: 2021-06-12
  • 語言: C/C++
  • 標簽: C++??數據庫??

資源簡介

小型數據庫設計系統,通過實驗加深對DBMS及其內部實現技術的理解。 實踐系統軟件開發的工程化方法。

資源截圖

代碼片段和文件信息

/******************************************************************?

**?文件名:?Buffer.cpp

**?Copyright?(c)?2001-2002?計算機99F?MiniSQL開發小組其一?

**?創建人:?郭振宇

**?日??期:?2001-11-28

**?修改人:?郭振宇

**?日??期:?2002-01-05

**?描??述:?定義了MiniSQL?buffer模塊所有類和結構

**?版??本:?1.00

******************************************************************/

#include“Buffer.h“

//-------------------------------------------------------

_M_Buffer?Buffer;
unsigned?int?SizeOfPageHead?=?sizeof(_TB_PAGEHEAD);
unsigned?int?BTreeNodeSize?=?(FILE_PAGESIZE?-?SizeOfPageHead)/4;

//-------------------------------------------------------

//?初始化
void?_TB_PAGEHEAD::Initial(unsigned?long?mypageidbool?myisfixed)
{
????this->ulPageID?=?mypageid;
????this->bIsFixed?=?myisfixed;
}

//-------------------------------------------------------

//?初始化
void?_TB_FILECOND::InitialFileCond()
{
????this->ulPageTotal?=?1;
????this->DelFirst.Initialize();
????this->DelLast.Initialize();
????this->NewInsert.ulFilePageID?=?1;
????this->NewInsert.uiOffset?=?SizeOfPageHead;
}

//-------------------------------------------------------

//?文件頭信息(若頁PageID==0則有,否則返回空)
_TB_FILECOND*?_M_Page::Ptr2FileCond()
{
????return?(_TB_FILECOND*?)((char*)this->Ptr2PageBegin?+?SizeOfPageHead);
}

//-------------------------------------------------------

//?成員初始化,開辟內存空間
_M_Page::_M_Page()
{
this->Ptr2PageBegin?=?malloc(FILE_PAGESIZE);
????if(!this->Ptr2PageBegin)??throw?1000;???//?內存開辟失敗
this->Ptr2Head?=?(_TB_PAGEHEAD*)this->Ptr2PageBegin;
this->ulFilePageID?=?0;
this->uiFileID?=?0;
}

//-------------------------------------------------------

//?釋放內存空間
_M_Page::~_M_Page()
{
????this->ulFilePageID?=?0;
this->uiFileID?=?0;
free(this->Ptr2PageBegin);
????this->Ptr2Head?=?0;
????this->Ptr2PageBegin?=?0;
}

//-------------------------------------------------------

//**從文件中調入頁至開辟好的內存空間中
void?_M_Page::LoadFromFile(unsigned?int?fileidunsigned?long?filepageid)
{
????this->uiFileID?=?fileid;
????this->ulFilePageID?=?filepageid;

????if(?Buffer.GetIsNew(fileid)?)???//??文件新建
????{
????????this->Ptr2Head->Initial(filepageid1);???//?初始化頁頭信息
????????this->Ptr2FileCond()->InitialFileCond();?//?初始化文件頭信息
????????Buffer.SetIsNew(fileid0);???????????????//?設置使文件不再為新建狀態(以免下次訪問這個內存頁又要進行頭信息初始化)
????}
????else?if(?filepageid?>=?Buffer.GetPageTotal(fileid)?)?//?比現有文件總頁面要多那么開辟新的頁面加到文件末尾
????{
????????if(?filepageid?-?Buffer.GetPageTotal(fileid)?>?0)?throw?1004;?//?頁編號比現有文件最后一個頁編號+1?還要大(浪費磁盤空間)
????????this->Ptr2Head->Initial(filepageid0);???//?初始化頁頭信息
????????Buffer.AddPageTotal(fileid1);???????????//?使文件總頁數加1
????}
????else?????//?其他情況
????{
????lseek(Buffer.GetPtr2File(fileid)filepageid*FILE_PAGESIZE0);??//?定位到將要取出的文件頁的首地址
????int?temp?=?read(Buffer.GetPtr2File(fileid)this->Ptr2PageBeginFILE_PAGESIZE);?//?讀到內存中
????????if(?temp!=?FILE_PAGESIZE?)??throw?1031;?//?讀失敗
????}
}

//-------------------------------------------------

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----

?????目錄??????????0??2002-06-13?22:03??MiniSQL

?????文件?????205824??2002-09-02?20:33??MiniSQL\MiniSQL.ncb

?????文件??????23522??2002-06-13?22:03??MiniSQL\ctrl_center.cpp

?????文件??????12558??2002-06-13?22:03??MiniSQL\BUFFER.H

?????文件???????3971??2002-06-13?22:03??MiniSQL\CATALOG.H

?????文件??????25765??2002-06-13?22:03??MiniSQL\Buffer.cpp

?????目錄??????????0??2002-06-13?22:03??MiniSQL\Docs

?????文件????2479104??2002-06-13?22:03??MiniSQL\Docs\mini?sql?系統詳細設計說明書.doc

?????文件?????139264??2002-06-13?22:03??MiniSQL\Docs\SQLReadMe.doc

?????文件????????821??2002-06-13?22:03??MiniSQL\Docs\COMMAND.TXT

?????文件??????43998??2002-06-13?22:03??MiniSQL\Docs\新建?文本文檔.txt

?????文件????????308??2002-06-13?22:03??MiniSQL\Docs\test.txt

?????文件????????610??2002-06-13?22:03??MiniSQL\Docs\attention.txt

?????目錄??????????0??2002-06-13?22:03??MiniSQL\DATA

?????目錄??????????0??2002-06-13?22:03??MiniSQL\DATA\BookTest

?????文件??????57344??2002-06-13?22:03??MiniSQL\DATA\BookTest\d.idx

?????文件??????40960??2002-06-13?22:03??MiniSQL\DATA\BookTest\d.dbf

?????文件???????8192??2002-06-13?22:03??MiniSQL\DATA\BookTest\a.idx

?????文件???????4096??2002-06-13?22:03??MiniSQL\DATA\BookTest\a.dbf

?????文件???????1236??2002-06-13?22:03??MiniSQL\ctrl_center.h

?????文件??????38112??2002-06-13?22:03??MiniSQL\CATALOG.CPP

?????文件???????1156??2002-06-13?22:03??MiniSQL\SHOW.H

?????文件???????5986??2002-06-13?22:03??MiniSQL\SHOW.CPP

?????文件???????8874??2002-06-13?22:03??MiniSQL\RECORD.CPP

?????文件???????1788??2002-06-13?22:03??MiniSQL\RECORD.H

?????文件????????250??2002-09-02?20:33??MiniSQL\MiniSQL.plg

?????文件????????208??2002-06-13?22:03??MiniSQL\MiniSQL.h

?????文件???????4388??2002-06-13?22:03??MiniSQL\MiniSQL.dsp

?????文件????????537??2002-06-13?22:03??MiniSQL\MiniSQL.dsw

?????文件??????14997??2002-06-13?22:03??MiniSQL\intepretor.h

............此處省略14個文件信息

評論

共有 條評論