Here a Mini doc of what is a Pager for me.. or how I understand.. please
help me to understand better :D
thanks to all
http://pdbm.sourceforge.net/pager.html
On 18/01/07, John Stanton <[EMAIL PROTECTED]> wrote:
You may find that adding backward pointers will allow you to do
deletions better.
Cesar Rodas wrote:
> project called, PDBM.
>
> The project is DBM like project, with a B+tree, and key -> value data,
> similar to BDB, QDBM or GDBM.
>
> For that project I need implement a Pager system.
>
> As I understand a Page is the minimum IO block, and a Data could have
more
> than a Page but a Page just one Data.. Am I right?
>
> Here I will write you my structures... please correct me if i am
wrong...
>
>
> /*
> ** This is the Page 0. This is a special Page that have information
> ** about total of pages, total of allocated but free pages, a pointer
to
> the
> ** first and last allocated but free pages.
> */
> typedef struct MainPage
> {
> unsigned char lock;
> size_t first_free;
> size_t last_free;
> size_t total;
> size_t free;
> } MainPage;
>
>
> /*
> ** The pager struct. A page is a chunk of 1024 bytes of data.
> ** A data cold have more than a page, but a page could have only
> ** a data. So a Page is the minimun allocated space for a data.
> */
> typedef struct Pager
> {
>
> /***********************************************/
>
> unsigned char lock; /* 1-Byte, if the Page is locked.
> */
> size_t main; /* 4-Byte, a pointer to the begin of the
data
> */
> size_t next; /* 4-Byte, a pointer to the next Page
position
> */
> unsigned char file; /* 1-Byte, In what file part if the next
Pager
> */
> unsigned char data[1024]; /* 1 KB, the content of a Page
> */
>
> /***********************************************/
> } Pager;
>
> #define PAGER_LOCKED 0xAF
> #define PAGER_UNLOCK 0xFF
>
>
-----------------------------------------------------------------------------
To unsubscribe, send email to [EMAIL PROTECTED]
-----------------------------------------------------------------------------
--
Cesar Rodas
http://www.sf.net/projects/pagerank (The PageRank made easy...)
http://www.sf.net/projects/fastfs ( The Fast File System)
Mobile Phone: 595 961 974165
Phone: 595 21 645590
[EMAIL PROTECTED]
[EMAIL PROTECTED]