• unknown's avatar
    Remove SAFE_MODE for opt_range as it disables UPDATE to use keys · c9c58163
    unknown authored
    REDO optimization (Bascily avoid moving blocks from/to pagecache)
    More command line arguments to maria_read_log
    Fixed recovery bug when recreating table
    
    
    sql/opt_range.cc:
      Remove SAFE_MODE for opt_range as it disables UPDATE to use keys
    storage/maria/ma_blockrec.c:
      REDO optimization
      Use new interface for pagecache_reads to avoid copying page buffers
    storage/maria/ma_loghandler.c:
      Patch from Sanja:
      - Added new parameter to translog_get_page to use direct links to pagecache
      - Changed scanner to be able to use direct links
      
      This avoids a lot of calls to bmove512() in page cache.
    storage/maria/ma_loghandler.h:
      Added direct link to pagecache objects
    storage/maria/ma_open.c:
      Added const to parameter
      Added missing braces
    storage/maria/ma_pagecache.c:
      From Sanja:
      - Added direct links to pagecache (from pagecache_read())
        Dirrect link means that on pagecache_read we get back a pointer to the pagecache buffer
      
      
      From Monty:
      - Fixed arguments to init_page_cache to handle big page caches
      - Fixed compiler warnings
      - Replaced PAGECACHE_PAGE_LINK with PAGECACHE_BLOCK_LINK * to catch errors
    storage/maria/ma_pagecache.h:
      Changed block numbers from int to long to be able to handle big page caches
      Changed some PAGECACHE_PAGE_LINK to PAGECACHE_BLOCK_LINK
    storage/maria/ma_recovery.c:
      Fixed recovery bug when recreating table (table was kept open)
      Moved some variables to function start (portability)
      Added space to some print messages
    storage/maria/maria_chk.c:
      key_buffer_size -> page_buffer_size
    storage/maria/maria_def.h:
      Changed default page_buffer_size to 10M
    storage/maria/maria_read_log.c:
      Added more startup options:
      --version
      --undo (apply undo)
      --page_cache_size (to run with big cache sizes)
      --silent (to not get any output from --apply)
    storage/maria/unittest/ma_control_file-t.c:
      Fixed compiler warning
    storage/maria/unittest/ma_test_loghandler-t.c:
      Added new argument to translog_init_scanner()
    storage/maria/unittest/ma_test_loghandler_multigroup-t.c:
      Added new argument to translog_init_scanner()
    storage/maria/unittest/ma_test_loghandler_multithread-t.c:
      Added new argument to translog_init_scanner()
    c9c58163
ma_recovery.c 74.5 KB