• unknown's avatar
    Implementation of rows-in-block · 345959c6
    unknown authored
    - Fixes some things missed in myisam->maria port
    - Moved variables that holds the state for the current row to 'cur_row'
    - Changed most uchar * to byte * to be able to remove a lot of casts
    - Removed RAID support
    - Added CHECK for rows-in-block
    - Added allocate_dynamic() for easier usage of dynamic rows when we know how many entries we will need
    - Reorder columns after CREATE for more optimal row storage (for rows-in-block)
    - Removed flag 'RRND_PRESERVER_LASTINX' (not needed)
    - Extended ma_test_all.sh to test more completely all row formats
    - New structs and variables to hold rows-in-block and bitmap information
    - Added org_data_file_type in header to allow easy restore of old record format when doing maria_pack / maria_chk -u
    - More virtual functions to handle different row types
    - Pointer to row is now MARIA_RECORD_POS instead of my_off_t
    - New header signature for MARIA index files
    - Fixed bugs in ma_test1.c and ma_test2.c
    - All key and row blocks are now of same size
    - We now only have one link chain for deleted key blocks
    
    
    include/m_string.h:
      Define bzero_if_purify
    include/maria.h:
      Implementation of rows-in-block
    include/my_base.h:
      Implementation of rows-in-block
    include/my_handler.h:
      Cleanup macros
      Added size_to_store_key_length()
    include/my_sys.h:
      Added 'allocate_dynamic()'
    include/myisamchk.h:
      Implementation of rows-in-block
    mysys/array.c:
      Added allocate_dynamic()
    mysys/mf_keycache.c:
      Moved DBUG_ENTER to it's right position
    mysys/my_pread.c:
      Ensure my_errno is always set
    sql/filesort.cc:
      Fixed some compiler warnings
    sql/gen_lex_hash.cc:
      Removed not needed 'inline'
    sql/ha_maria.cc:
      Implementation of rows-in-block
      Fixed compiler warnings
    sql/mysqld.cc:
      Fixed setting of wrong variable
    sql/uniques.cc:
      Fixed compiler warnings
    storage/maria/Makefile.am:
      Implementation of rows-in-block
    storage/maria/ma_check.c:
      Removed RAID functions
      Added support for CHECK of rows-in-blocks rows
    storage/maria/ma_checksum.c:
      Implementation of rows-in-block
    storage/maria/ma_close.c:
      Implementation of rows-in-block
    storage/maria/ma_create.c:
      Implementation of rows-in-block:
      - Reorder columns
      - All key blocks are now of same size
      - Removed old RAID support
    storage/maria/ma_dbug.c:
      Implementation of rows-in-block
    storage/maria/ma_delete.c:
      Implementation of rows-in-block
    storage/maria/ma_delete_all.c:
      Implementation of rows-in-block
    storage/maria/ma_dynrec.c:
      info->rec_buff is now allocated through _ma_alloc_buffer()
      Use new info->cur_row structure
    storage/maria/ma_extra.c:
      Implementation of rows-in-block
    storage/maria/ma_ft_boolean_search.c:
      Removed compiler warnings
      Indentation fixes
    storage/maria/ma_ft_nlq_search.c:
      Removed compiler warnings
      Indentation fixes
    storage/maria/ma_ft_update.c:
      Removed some casts
    storage/maria/ma_fulltext.h:
      Changed pointer type
    storage/maria/ma_info.c:
      Implementation of rows-in-block
      More general _ma_report_error()
    storage/maria/ma_init.c:
      Implementation of rows-in-block
    storage/maria/ma_key.c:
      Implementation of rows-in-block
      Removed some casts
    storage/maria/ma_keycache.c:
      Fixed DBUG entry
    storage/maria/ma_locking.c:
      Implementation of rows-in-block
    storage/maria/ma_open.c:
      Implementation of rows-in-block
    storage/maria/ma_packrec.c:
      Indentation fixes
      Changed uchar * to byte * to make it possible to remove some casts
    storage/maria/ma_page.c:
      Implementation of rows-in-block
    storage/maria/ma_range.c:
      Implementation of rows-in-block
    storage/maria/ma_rfirst.c:
      Implementation of rows-in-block
    storage/maria/ma_rkey.c:
      Implementation of rows-in-block
      Indentation fixes
    storage/maria/ma_rlast.c:
      Implementation of rows-in-block
    storage/maria/ma_rnext.c:
      Implementation of rows-in-block
    storage/maria/ma_rnext_same.c:
      Implementation of rows-in-block
    storage/maria/ma_rprev.c:
      Implementation of rows-in-block
    storage/maria/ma_rrnd.c:
      Implementation of rows-in-block
      Removed flag 'RRND_PRESERVER_LASTINX', by not resetting lastinx (This is reset by maria_scan_init())
    storage/maria/ma_rsame.c:
      Implementation of rows-in-block
    storage/maria/ma_rsamepos.c:
      Implementation of rows-in-block
    storage/maria/ma_rt_index.c:
      Implementation of rows-in-block
    storage/maria/ma_rt_index.h:
      Implementation of rows-in-block
    storage/maria/ma_rt_key.c:
      Implementation of rows-in-block
    storage/maria/ma_rt_key.h:
      Implementation of rows-in-block
    storage/maria/ma_rt_mbr.c:
      Implementation of rows-in-block
    storage/maria/ma_rt_mbr.h:
      Implementation of rows-in-block
    storage/maria/ma_rt_split.c:
      Implementation of rows-in-block
    storage/maria/ma_rt_test.c:
      Indentation fix
    storage/maria/ma_scan.c:
      Implementation of rows-in-block
      Added 'maria_scan_end()'
    storage/maria/ma_search.c:
      Implementation of rows-in-block
    storage/maria/ma_sort.c:
      Indentation fixes
      uchar -> byte to be able to remove some casts
    storage/maria/ma_sp_defs.h:
      uchar * -> byte *
    storage/maria/ma_sp_key.c:
      uchar * -> byte *
    storage/maria/ma_sp_test.c:
      Indentation fixes
    storage/maria/ma_static.c:
      New header signature for MARIA
    storage/maria/ma_statrec.c:
      int -> my_bool functions
      my_off_t -> MARIA_RECORD_POS
      Fixed argument order for _ma_read_static_record()
    storage/maria/ma_test1.c:
      Implementation of rows-in-block
      Fixed some bugs in VARCHAR and BLOB testing
    storage/maria/ma_test2.c:
      Implementation of rows-in-block
      Fixed bug in BLOB testing
    storage/maria/ma_test3.c:
      Implementation of rows-in-block
    storage/maria/ma_test_all.sh:
      Run all tests with dynamic, static and block row formats
      (For the moment we skip REPAIR test of rows-in-block as this is not yet implemented)
    storage/maria/ma_unique.c:
      Implementation of rows-in-block
    storage/maria/ma_update.c:
      Implementation of rows-in-block
    storage/maria/ma_write.c:
      Implementation of rows-in-block
      Write of row is split into two parts, as rows-in-block format require us to do write of row before keys (to get row position) in contrast to all other row formats
    storage/maria/maria_chk.c:
      Implementation of rows-in-block
    storage/maria/maria_def.h:
      Implementation of rows-in-block
      - New structs and variables to hold rows-in-block and bitmap information
      - Added org_data_file_type in header to allow easy restore of old record format when doing maria_pack / maria_chk -u
      - More virtual functions to handle different row types
      - Pointer to row is now MARIA_RECORD_POS instead of my_off_t
      - uchar -> byte for many parameters to avoid casts
    storage/maria/maria_ftdump.c:
      Implementation of rows-in-block
    storage/maria/maria_pack.c:
      Implementation of rows-in-block
    storage/myisam/mi_check.c:
      Added new row types into switch to avoid compiler warnings
      Added some casts to avoid warnings after changing type of lastkey and buff
    storage/myisam/mi_create.c:
      Fix that 'pack_fields' is calculated correctly
    storage/myisam/mi_rsamepos.c:
      Implementation of rows-in-block
    storage/myisam/mi_test2.c:
      Fixed wrong printf
    storage/myisam/sort.c:
      uchar * -> byte *
    support-files/magic:
      Added support for Maria files
      Fided wrong entry's for MyISAM files
    storage/maria/ma_bitmap.c:
      New BitKeeper file ``storage/maria/ma_bitmap.c''
    storage/maria/ma_blockrec.c:
      New BitKeeper file ``storage/maria/ma_blockrec.c''
    storage/maria/ma_blockrec.h:
      New BitKeeper file ``storage/maria/ma_blockrec.h''
    345959c6
ma_search.c 58 KB