Lines Matching refs:filepos

34 static int _mi_find_writepos(MI_INFO *info,ulong reclength,my_off_t *filepos,
36 static int update_dynamic_record(MI_INFO *info,my_off_t filepos,uchar *record,
38 static int delete_dynamic_record(MI_INFO *info,my_off_t filepos,
40 static int _mi_cmp_buffer(File file, const uchar *buff, my_off_t filepos,
340 my_off_t filepos;
369 if (_mi_find_writepos(info,reclength,&filepos,&length))
371 if (_mi_write_part_record(info,filepos,length,
388 my_off_t *filepos, /* Return file pos */
399 *filepos=info->s->state.dellink;
417 *filepos=info->state->data_file_length;
451 if (block_info->filepos == info->s->state.dellink)
491 if (info->nextpos == block_info->filepos)
513 my_off_t filepos)
525 mi_sizestore(buff,filepos);
541 static int delete_dynamic_record(MI_INFO *info, my_off_t filepos,
551 error= update_backward_delete_link(info, info->s->state.dellink, filepos);
557 if ((b_type=_mi_get_block_info(&block_info,info->dfile,filepos))
560 (length=(uint) (block_info.filepos-filepos) +block_info.block_len) <
569 if (_mi_get_block_info(&del_block,info->dfile,filepos+length) &
584 if (info->s->file_write(info,(uchar*) block_info.header,20,filepos,
587 info->s->state.dellink = filepos;
590 filepos=block_info.next_filepos;
604 my_off_t filepos, /* points at empty block */
722 my_off_t next_block=filepos+length+extra_length+res_length;
745 info->s->state.dellink= filepos+length+extra_length;
757 length+extra_length+del_length,filepos))
768 del_length,filepos,info->s->write_flag))
793 static int update_dynamic_record(MI_INFO *info, my_off_t filepos, uchar *record,
823 if ((error=_mi_get_block_info(&block_info,info->dfile,filepos))
850 if (filepos != info->s->state.dellink)
853 if ((error=_mi_get_block_info(&block_info,info->dfile,filepos))
862 length=(ulong) (block_info.filepos-filepos) + block_info.block_len;
870 if (block_info.filepos + block_info.block_len ==
895 block_info.filepos + block_info.block_len) &
911 next_pos= del_block.filepos+ del_block.block_len - rest_length;
937 if (_mi_find_writepos(info,reclength,&filepos,&length))
940 if (_mi_write_part_record(info,filepos,length,block_info.next_filepos,
943 if ((filepos=block_info.next_filepos) == HA_OFFSET_ERROR)
946 filepos=info->s->state.dellink;
1442 int _mi_read_dynamic_record(MI_INFO *info, my_off_t filepos, uchar *buf)
1451 if (filepos != HA_OFFSET_ERROR)
1459 if (filepos == HA_OFFSET_ERROR)
1462 info->rec_cache.pos_in_file < filepos + MI_BLOCK_INFO_HEADER_LENGTH &&
1466 if ((b_type= _mi_get_block_info(&block_info, file, filepos))
1492 uint offset= (uint) (block_info.filepos - filepos);
1494 filepos+= sizeof(block_info.header);
1510 info->rec_cache.pos_in_file < filepos + block_info.data_len &&
1519 filepos, MYF(MY_NABP)))
1524 filepos= block_info.next_filepos;
1576 my_off_t filepos;
1603 filepos=info->lastpos;
1605 block_info.next_filepos=filepos;
1631 if (_mi_cmp_buffer(info->dfile,record,block_info.filepos,
1651 static int _mi_cmp_buffer(File file, const uchar *buff, my_off_t filepos,
1658 next_length= IO_SIZE*2 - (uint) (filepos & (IO_SIZE-1));
1662 if (mysql_file_pread(file, temp_buff, next_length, filepos, MYF(MY_NABP)) ||
1665 filepos+=next_length;
1670 if (mysql_file_pread(file, temp_buff, length, filepos, MYF(MY_NABP)))
1713 register my_off_t filepos,
1746 if (filepos >= info->state->data_file_length)
1755 if (filepos >= info->state->data_file_length)
1763 if (_mi_read_cache(&info->rec_cache,(uchar*) block_info.header,filepos,
1768 b_type=_mi_get_block_info(&block_info,-1,filepos);
1773 info->rec_cache.pos_in_file < filepos + MI_BLOCK_INFO_HEADER_LENGTH &&
1777 b_type=_mi_get_block_info(&block_info,info->dfile,filepos);
1787 filepos=block_info.filepos+block_info.block_len;
1799 info->lastpos=block_info.filepos;
1800 info->nextpos=block_info.filepos+block_info.block_len;
1808 info->lastpos=filepos;
1824 uint offset=(uint) (block_info.filepos - filepos);
1826 filepos=block_info.filepos;
1836 filepos+=tmp_length;
1844 if (_mi_read_cache(&info->rec_cache,(uchar*) to,filepos,
1854 block_info.filepos + block_info.data_len &&
1873 info->nextpos= block_info.filepos + block_info.block_len;
1878 filepos=block_info.next_filepos;
1899 uint _mi_get_block_info(MI_BLOCK_INFO *info, File file, my_off_t filepos)
1911 mysql_file_seek(file, filepos, MY_SEEK_SET, MYF(0));
1935 info->filepos=filepos;
1951 info->filepos=filepos+3;
1955 info->filepos=filepos+4;
1963 info->filepos=filepos+16;
1969 info->filepos=filepos+4;
1974 info->filepos=filepos+5;
1982 info->filepos=filepos+13;
1989 info->filepos=filepos+15;
1995 info->filepos=filepos+3;
1999 info->filepos=filepos+4;
2005 info->filepos=filepos+4;
2010 info->filepos=filepos+5;
2017 info->filepos=filepos+11;
2023 info->filepos=filepos+12;