[Prévia] [Próxima] [Prévia por assunto] [Próxima por assunto]
[Índice cronológico] [Índice de assunto]

RE: Duvidas...



Andrei Goldchleger writes:

 > Na classe buffer manager, no metodo pin,  tem um parametro booleano
 > readPageIntoFrame. Ele serve para que????

Caso a página que se deseja "alfinetar" não esteja no bufferPool, é
geralmente necessário lê-la do disco para um frame. Digo "geralmente",
pois há uma situação em que não é preciso ler a página. Pense num DBFile
recém-criado, todas as suas páginas contém lixo. Para escrever numa
dessas páginas voce tem que dar um "pin" nela, mas não quer que o lixo
seja lido do disco para um frame. Nesse caso voce chama pin com false em 
readPageIntoFrame. 

 > No construtor da buffer manager, existe o parametro pageSize. Imagino
 > que este parametro seja para alocar o tamanho do buffer de cada
 > pagina.Mas tem um probleminha...se eu aloco o buffer do tamanho
 > determinado por esse parametro, todos os arquivos que estiverem usando o
 > buffer manager vao ter que trabalhar com paginas desse tamanho ja
 > fixado. Mas parece que o enunciado diz que cada arquivo pode definir o
 > tamanho de pagina.Entao, o que deve prevalecer???


Sim, o parâmetro pageSize passado ao construtor do BufferManager deve
ser igual ao parâmetro blkSize passado para criar os DBFiles usados
com esse BufferManager. Um buffer manager só pode ser usado para
manipular arquivos com tamanho de bloco igual ao tamanho de página do
buffer manager.

Reverbel