[Prévia] [Próxima] [Prévia por assunto] [Próxima por assunto]
[Índice cronológico]
[Índice de assunto]
Re: HeapFile e Outros!
- Subject: Re: HeapFile e Outros!
- From: Francisco Reverbel <reverbel at ime.usp.br>
- Date: Sun, 23 May 1999 12:55:06 -0300
Nelson Guedes Paulo Junior writes:
> Francisco Reverbel wrote:
> >
> > Marcos Yamamoto writes:
> > >
> > > O que seria um pageType da classe HFPage?
> > > Esses tipos seriam: um para diretorio de Paginas, um para diretorio de
> > > Arquivos e um outro que guarda os DBObjects?
> >
> > Sim. Poderia tambem haver um tipo para "página livre".
> >
> > Mas veja bem: você não é obrigado a usar o pageType. Me parece que ele
> > está nas HFPages para facilitar a recuperação de (partes de) um Database
> > corrompido por problemas físicos no disco. Por exemplo: se uma lista
> > ligada de blocos foi cortada porque uma parte do disco se estragou, uma
> > programa de recuperação pode tentar recompor a lista ligada. É claro
> > que dados nos blocos ruins estão perdidos, mas os dados que apareciam
> > depois dos blocos ruins na lista ligada podem ser recuperados. Para esse
> > programa é muito bom que cada bloco contenha um pageType. Antes que você
> > se assuste mais: a implementação de um programa que recupere Databases
> > corrompidos não faz parte do nosso projeto!
>
> Isso siginifica então que podemos esquecer o PageType na nossa
> implementação? Em outras palavras: Não precisamos manipular o PageType
> para efeito dessa parte do projeto o que significa que não precisaremos
> nos preocupar em utiliza-lo nem mesmo implementar sua utilização?
Sim, você pode simplesmente remover o pageType das suas HFPages.
Mas eu não faria isso. Além de ser teoricamente útil para um programa de
recuperação de databases corrompidos (que não vamos implementar), na
prática o pageType pode ajudar na depuração do JBase. Custa tão pouco
colocar o valor adequado no pageType quando você inicializar uma
HFPage... Isso pode ajudar você a detetar inconsistências nos Databases
gerados por um JBase com bugs. (Você pode usar o nosso EP1 para dar um
"dump" de um Database e ver se ele está com uma "cara" boa ou não.)
Reverbel