• Michael Widenius's avatar
    Fix for LP#588251: doStartTableScan() result not checked. · e9166ca1
    Michael Widenius authored
    The issue was that we didn't always check result of ha_rnd_init() which caused a problem for handlers that returned an error in this code.
    - Changed prototype of ha_rnd_init() to ensure that we get a compile warning if result is not checked.
    - Added ha_rnd_init_with_error() that prints error on failure.
    - Checked all usage of ha_rnd_init() and ensure we generate an error message on failures.
    - Changed init_read_record() to return 1 on failure.
    
    
    
    
    sql/create_options.cc:
      Fixed wrong printf
    sql/event_db_repository.cc:
      Check result from init_read_record()
    sql/events.cc:
      Check result from init_read_record()
    sql/filesort.cc:
      Check result from ha_rnd_init()
    sql/ha_partition.cc:
      Check result from ha_rnd_init()
    sql/ha_partition.h:
      Fixed compiler warning
    sql/handler.cc:
      Added ha_rnd_init_with_error()
      Check result from ha_rnd_init()
    sql/handler.h:
      Added ha_rnd_init_with_error()
      Changed prototype of ha_rnd_init() to ensure that we get a compile warning if result is not checked
    sql/item_subselect.cc:
      Check result from ha_rnd_init()
    sql/log.cc:
      Check result from ha_rnd_init()
    sql/log_event.cc:
      Check result from ha_rnd_init()
    sql/log_event_old.cc:
      Check result from ha_rnd_init()
    sql/mysql_priv.h:
      init_read_record() now returns error code on failure
    sql/opt_range.cc:
      Check result from ha_rnd_init()
    sql/records.cc:
      init_read_record() now returns error code on failure
      Check result from ha_rnd_init()
    sql/sql_acl.cc:
      Check result from init_read_record()
    sql/sql_cursor.cc:
      Print error if ha_rnd_init() fails
    sql/sql_delete.cc:
      Check result from init_read_record()
    sql/sql_help.cc:
      Check result from init_read_record()
    sql/sql_plugin.cc:
      Check result from init_read_record()
    sql/sql_select.cc:
      Check result from ha_rnd_init()
      Print error if ha_rnd_init() fails.
    sql/sql_servers.cc:
      Check result from init_read_record()
    sql/sql_table.cc:
      Check result from init_read_record()
    sql/sql_udf.cc:
      Check result from init_read_record()
    sql/sql_update.cc:
      Check result from init_read_record()
    storage/example/ha_example.cc:
      Don't return error on rnd_init()
    storage/ibmdb2i/ha_ibmdb2i.cc:
      Removed not relevant comment
    e9166ca1
handler.h 82.3 KB