• Sergey Vojtovich's avatar
    Applying InnoDB snapshot · 3fb46ab4
    Sergey Vojtovich authored
    Detailed revision comments:
    
    r6754 | marko | 2010-02-24 10:56:43 +0200 (Wed, 24 Feb 2010) | 17 lines
    branches/zip: Allocate the merge sort buffers from a heap, not stack.
    
    The merge sort can use up to 48KiB of buffers when merging blocks.
    That can cause a stack overflow, especially on 64-bit systems when not
    building with inlined functions.  This was reported as Issue #462.
    
    row_merge_dup_report(): Allocate buf and offsets from a heap.
    
    row_merge_heap_create(): Allocate space for buf[3] too. Fix bogus
    sizeof arithmetics that happened to work, because
    sizeof(ulint)==sizeof(void*).
    
    row_merge_blocks(), row_merge_blocks_copy(): Allocate buf[3] from heap.
    
    row_merge_insert_index_tuples(): Allocate buf from graph_heap.
    
    rb://258 approved and tested by Sunny Bains
    3fb46ab4
row0merge.c 67.1 KB