• unknown's avatar
    WL#3072 Maria recovery: · 372b4ed4
    unknown authored
    preparation to enable recoverability of the table's state, more exactly
    info->state->checksum. This will require that info->state->checksum
    be updated in a inwrite_hook when writing an UNDO record, thus
    info->cur_row.checksum needs to be accessible to inwrite_hook, so we
    make translog_write_record() accept a MARIA_HA* (info) instead of
    MARIA_SHARE* (info->s); with this, we will be able to access
    info->cur_row.checksum. Old code which needed the MARIA_SHARE
    can derive it from MARIA_HA. Fix for typos and compiler warnings.
    
    
    storage/maria/ma_blockrec.c:
      fix for new loghandler API. Removing strange lines (how could gcc
      accept that?)
    storage/maria/ma_check.c:
      fix for new loghandler API
    storage/maria/ma_delete_all.c:
      fix for new loghandler API
    storage/maria/ma_loghandler.c:
      functions now take a MARIA_HA in argument, this is more powerful
      than a MARIA_SHARE (MARIA_SHARE can be derived from MARIA_HA, not
      the other way around). MARIA_HA will be needed to allow recoverability
      of the table's state.
      Fixing wrong DBUG_PRINT ('i' is not the id).
      When writing the LOGREC_FILE_ID, we don't have a MARIA_HA around,
      so we cannot ask translog_write_record() to store the id for us;
      we thus store the file's id by ourselves. Alternative would have been
      to pass MARIA_HA to translog_assign_id_to_share() but I didn't like it.
    storage/maria/ma_loghandler.h:
      new loghandler API
    storage/maria/tablockman.c:
      fix for compiler warning (intptr is int on my machine)
    372b4ed4
ma_loghandler.h 11.4 KB