• Satya B's avatar
    Fix for BUG#18828 - If InnoDB runs out of undo slots, · 34255325
    Satya B authored
                        it returns misleading 'table is full'
    
    Innodb returns a misleading error message "table is full" 
    when the number of active concurrent transactions is greater
    than 1024.
    
    Fixed by adding errorcode "ER_TOO_MANY_CONCURRENT_TRXS" to the
    error codes. Innodb should return HA_TOO_MANY_CONCURRENT_TRXS
    to mysql which is then mapped to ER_TOO_MANY_CONCURRENT_TRXS
    
    
    Note: testcase is not written as this was reproducible only by
          changing innodb code.
    
    extra/perror.c:
      Add error number and message for HA_ERR_TOO_MANY_CONCURRENT_TRXS
    include/my_base.h:
      Add error number and message for HA_ERR_TOO_MANY_CONCURRENT_TRXS
    sql/ha_innodb.cc:
      Return HA_ERR_TOO_MANY_CONCURRENT_TRXS to mysql server
    sql/handler.cc:
      Add error number and message for HA_ERR_TOO_MANY_CONCURRENT_TRXS
    sql/share/errmsg.txt:
      Add error message for ER_TOO_MANY_CONCURRENT_TRXS
    34255325
handler.cc 79.6 KB