• unknown's avatar
    BUG #19773 · 341ff742
    unknown authored
      
    Final-review fixes per Monty, pre-push. OK'd for 
    push. Please see each file's comments.
    
    
    
    mysql-test/r/federated.result:
      BUG #19773
          
      Results for multi-table deletes, updates
    mysql-test/t/federated.test:
      BUG #19773
          
      Test multi table update and delete. Added drop table to end of previous test.
    sql/ha_federated.cc:
      BUG #19773 
          
      Post-review changes, per Monty. 3rd patch, OK'd for push.
      - Added index_read_idx_with_result_set, which uses the result set passed to it
      - Hash by entire connection scheme
      - Protected store_result result set for table scan by adding a method result set
        to index_read_idx and index_read which is passed to index_read_with_result, which
        in turn iterates over the single record via read_next.
        This is a change from having two result sets in the first two patches. 
        This keeps the code clean and avoids the need for yet another result set.
      - Rewrote ::position and ::rnd_pos to store position - if primary key use 
        primary key, if not, use record buffer.
      - Rewrote get_share to store hash with connect string vs. table name
      - delete_row added subtration of "records" by affected->rows
      - Added read_next to handle what rnd_next used to do (converting raw record
         to query and vice versa)
      - Removed many DBUG_PRINT lines
      - Removed memset initialisation since subsequent loop accomplishes
      - Removed un-necessary mysql_free_result lines
    sql/ha_federated.h:
       BUG #19773
          
          Fixed "SET " to " SET " to make sure built statements are built with 
          "UPDATE `t1` SET .." instead of "UPDATE `t1`SET"
    341ff742
ha_federated.cc 81 KB