• unknown's avatar
    BUG#33946 - Join on Federated tables with Unique index gives error 1430 · b0dde216
    unknown authored
                from storage engine
    
    Federated may crash a server, return wrong result set, return
    "ERROR 1030 (HY000): Got error 1430 from storage engine" message
    when local (engine=federated) table has a key against nullable
    column.
    
    The problem was wrong implementation of function that creates
    WHERE clause for remote query from key.
    
    
    mysql-test/r/federated.result:
      A test case for BUG#33946.
    mysql-test/t/federated.test:
      A test case for BUG#33946.
    sql/ha_federated.cc:
      Fixed that federated adds " IS NULL " condition to a remote query,
      whereas "IS NOT NULL" requested by original query.
      
      Fixed that federated didn't check for end of key buffer, didn't
      setup key buffer pointer and remaining lenght of key buffer,
      didn't add " AND " between conditions in case original query
      has IS [NOT] NULL condition against nullable column.
      
      Fixed that federated wrongly shifts key buffer pointer by extra
      one byte when key part may be null (was: store_length + 1,
      now: store_length).
    b0dde216
ha_federated.cc 86.6 KB