Lines Matching refs:block_info

390   MI_BLOCK_INFO block_info;  in _mi_find_writepos()  local
399 block_info.second_read=0; in _mi_find_writepos()
401 if (!(_mi_get_block_info(&block_info,info->dfile,info->s->state.dellink) & in _mi_find_writepos()
408 info->s->state.dellink=block_info.next_filepos; in _mi_find_writepos()
410 info->state->empty-= block_info.block_len; in _mi_find_writepos()
411 *length= block_info.block_len; in _mi_find_writepos()
447 static my_bool unlink_deleted_block(MI_INFO *info, MI_BLOCK_INFO *block_info) in unlink_deleted_block() argument
450 if (block_info->filepos == info->s->state.dellink) in unlink_deleted_block()
453 info->s->state.dellink=block_info->next_filepos; in unlink_deleted_block()
460 if (!(_mi_get_block_info(&tmp,info->dfile,block_info->prev_filepos) in unlink_deleted_block()
463 mi_sizestore(tmp.header+4,block_info->next_filepos); in unlink_deleted_block()
465 block_info->prev_filepos+4, MYF(MY_NABP))) in unlink_deleted_block()
468 if (block_info->next_filepos != HA_OFFSET_ERROR) in unlink_deleted_block()
470 if (!(_mi_get_block_info(&tmp,info->dfile,block_info->next_filepos) in unlink_deleted_block()
473 mi_sizestore(tmp.header+12,block_info->prev_filepos); in unlink_deleted_block()
475 block_info->next_filepos+12, in unlink_deleted_block()
482 info->state->empty-= block_info->block_len; in unlink_deleted_block()
490 if (info->nextpos == block_info->filepos) in unlink_deleted_block()
491 info->nextpos+=block_info->block_len; in unlink_deleted_block()
514 MI_BLOCK_INFO block_info; in update_backward_delete_link() local
519 block_info.second_read=0; in update_backward_delete_link()
520 if (_mi_get_block_info(&block_info,info->dfile,delete_block) in update_backward_delete_link()
544 MI_BLOCK_INFO block_info,del_block; in delete_dynamic_record() local
552 block_info.second_read=second_read; in delete_dynamic_record()
556 if ((b_type=_mi_get_block_info(&block_info,info->dfile,filepos)) in delete_dynamic_record()
559 (length=(uint) (block_info.filepos-filepos) +block_info.block_len) < in delete_dynamic_record()
576 block_info.header[0]=0; in delete_dynamic_record()
577 mi_int3store(block_info.header+1,length); in delete_dynamic_record()
578 mi_sizestore(block_info.header+4,info->s->state.dellink); in delete_dynamic_record()
580 bfill(block_info.header+12,8,255); in delete_dynamic_record()
582 mi_sizestore(block_info.header+12,block_info.next_filepos); in delete_dynamic_record()
583 if (info->s->file_write(info,(uchar*) block_info.header,20,filepos, in delete_dynamic_record()
589 filepos=block_info.next_filepos; in delete_dynamic_record()
798 MI_BLOCK_INFO block_info; in update_dynamic_record() local
801 flag=block_info.second_read=0; in update_dynamic_record()
822 if ((error=_mi_get_block_info(&block_info,info->dfile,filepos)) in update_dynamic_record()
834 if (block_info.rec_len < reclength) in update_dynamic_record()
838 reclength - block_info.rec_len + MI_MAX_DYN_BLOCK_HEADER) in update_dynamic_record()
844 block_info.second_read=0; in update_dynamic_record()
851 block_info.next_filepos= HA_OFFSET_ERROR; in update_dynamic_record()
852 if ((error=_mi_get_block_info(&block_info,info->dfile,filepos)) in update_dynamic_record()
861 length=(ulong) (block_info.filepos-filepos) + block_info.block_len; in update_dynamic_record()
869 if (block_info.filepos + block_info.block_len == in update_dynamic_record()
894 block_info.filepos + block_info.block_len) & in update_dynamic_record()
939 if (_mi_write_part_record(info,filepos,length,block_info.next_filepos, in update_dynamic_record()
942 if ((filepos=block_info.next_filepos) == HA_OFFSET_ERROR) in update_dynamic_record()
949 if (block_info.next_filepos != HA_OFFSET_ERROR) in update_dynamic_record()
957 if (delete_dynamic_record(info,block_info.next_filepos,1)) in update_dynamic_record()
1446 MI_BLOCK_INFO block_info; in _mi_read_dynamic_record() local
1454 block_info.second_read= 0; in _mi_read_dynamic_record()
1465 if ((b_type= _mi_get_block_info(&block_info, file, filepos)) in _mi_read_dynamic_record()
1475 if (block_info.rec_len > (uint) info->s->base.max_pack_length) in _mi_read_dynamic_record()
1479 if (!(to=mi_alloc_rec_buff(info, block_info.rec_len, in _mi_read_dynamic_record()
1485 left_length=block_info.rec_len; in _mi_read_dynamic_record()
1487 if (left_length < block_info.data_len || ! block_info.data_len) in _mi_read_dynamic_record()
1491 uint offset= (uint) (block_info.filepos - filepos); in _mi_read_dynamic_record()
1492 uint prefetch_len= (sizeof(block_info.header) - offset); in _mi_read_dynamic_record()
1493 filepos+= sizeof(block_info.header); in _mi_read_dynamic_record()
1495 if (prefetch_len > block_info.data_len) in _mi_read_dynamic_record()
1496 prefetch_len= block_info.data_len; in _mi_read_dynamic_record()
1499 memcpy((uchar*) to, block_info.header + offset, prefetch_len); in _mi_read_dynamic_record()
1500 block_info.data_len-= prefetch_len; in _mi_read_dynamic_record()
1506 if (block_info.data_len) in _mi_read_dynamic_record()
1509 info->rec_cache.pos_in_file < filepos + block_info.data_len && in _mi_read_dynamic_record()
1517 if (info->s->file_read(info, (uchar*) to, block_info.data_len, in _mi_read_dynamic_record()
1520 left_length-=block_info.data_len; in _mi_read_dynamic_record()
1521 to+=block_info.data_len; in _mi_read_dynamic_record()
1523 filepos= block_info.next_filepos; in _mi_read_dynamic_record()
1528 DBUG_RETURN(_mi_rec_unpack(info,buf,info->rec_buff,block_info.rec_len) != in _mi_read_dynamic_record()
1577 MI_BLOCK_INFO block_info; in _mi_cmp_dynamic_record() local
1603 flag=block_info.second_read=0; in _mi_cmp_dynamic_record()
1604 block_info.next_filepos=filepos; in _mi_cmp_dynamic_record()
1607 if ((b_type=_mi_get_block_info(&block_info,info->dfile, in _mi_cmp_dynamic_record()
1608 block_info.next_filepos)) in _mi_cmp_dynamic_record()
1619 if (reclength != block_info.rec_len) in _mi_cmp_dynamic_record()
1624 } else if (reclength < block_info.data_len) in _mi_cmp_dynamic_record()
1629 reclength-=block_info.data_len; in _mi_cmp_dynamic_record()
1630 if (_mi_cmp_buffer(info->dfile,record,block_info.filepos, in _mi_cmp_dynamic_record()
1631 block_info.data_len)) in _mi_cmp_dynamic_record()
1637 record+=block_info.data_len; in _mi_cmp_dynamic_record()
1718 MI_BLOCK_INFO block_info; in _mi_read_rnd_dynamic_record() local
1741 block_info.second_read= 0; in _mi_read_rnd_dynamic_record()
1762 if (_mi_read_cache(&info->rec_cache,(uchar*) block_info.header,filepos, in _mi_read_rnd_dynamic_record()
1763 sizeof(block_info.header), in _mi_read_rnd_dynamic_record()
1767 b_type=_mi_get_block_info(&block_info,-1,filepos); in _mi_read_rnd_dynamic_record()
1776 b_type=_mi_get_block_info(&block_info,info->dfile,filepos); in _mi_read_rnd_dynamic_record()
1785 filepos=block_info.filepos+block_info.block_len; in _mi_read_rnd_dynamic_record()
1786 block_info.second_read=0; in _mi_read_rnd_dynamic_record()
1792 info->lastpos=block_info.filepos; in _mi_read_rnd_dynamic_record()
1793 info->nextpos=block_info.filepos+block_info.block_len; in _mi_read_rnd_dynamic_record()
1799 if (block_info.rec_len > (uint) share->base.max_pack_length) in _mi_read_rnd_dynamic_record()
1804 if (!(to= mi_alloc_rec_buff(info, block_info.rec_len, in _mi_read_rnd_dynamic_record()
1810 left_len=block_info.rec_len; in _mi_read_rnd_dynamic_record()
1812 if (left_len < block_info.data_len) in _mi_read_rnd_dynamic_record()
1817 uint offset=(uint) (block_info.filepos - filepos); in _mi_read_rnd_dynamic_record()
1818 uint tmp_length= (sizeof(block_info.header) - offset); in _mi_read_rnd_dynamic_record()
1819 filepos=block_info.filepos; in _mi_read_rnd_dynamic_record()
1821 if (tmp_length > block_info.data_len) in _mi_read_rnd_dynamic_record()
1822 tmp_length= block_info.data_len; in _mi_read_rnd_dynamic_record()
1825 memcpy((uchar*) to, block_info.header+offset,tmp_length); in _mi_read_rnd_dynamic_record()
1826 block_info.data_len-=tmp_length; in _mi_read_rnd_dynamic_record()
1833 if (block_info.data_len) in _mi_read_rnd_dynamic_record()
1838 block_info.data_len, in _mi_read_rnd_dynamic_record()
1847 block_info.filepos + block_info.data_len && in _mi_read_rnd_dynamic_record()
1851 if (mysql_file_read(info->dfile, (uchar*) to, block_info.data_len, in _mi_read_rnd_dynamic_record()
1866 info->nextpos= block_info.filepos + block_info.block_len; in _mi_read_rnd_dynamic_record()
1869 left_len-=block_info.data_len; in _mi_read_rnd_dynamic_record()
1870 to+=block_info.data_len; in _mi_read_rnd_dynamic_record()
1871 filepos=block_info.next_filepos; in _mi_read_rnd_dynamic_record()
1876 if (_mi_rec_unpack(info,buf,info->rec_buff,block_info.rec_len) != in _mi_read_rnd_dynamic_record()