• Jacob Mathew's avatar
    MDEV-16246: insert timestamp into spider table from mysqldump gets wrong time zone. · 813b7398
    Jacob Mathew authored
    The problem occurred because the Spider node was incorrectly handling
    timestamp values sent to and received from the data nodes.
    
    The problem has been corrected as follows:
    - Added logic to set and maintain the UTC time zone on the data nodes.
      To prevent timestamp ambiguity, it is necessary for the data nodes to use
      a time zone such as UTC which does not have daylight savings time.
    - Removed the spider_sync_time_zone configuration variable, which did not
      solve the problem and which interfered with the solution.
    - Added logic to convert to the UTC time zone all timestamp values sent to
      and received from the data nodes.  This is done for both unique and
      non-unique timestamp columns.  It is done for WHERE clauses, applying to
      SELECT, UPDATE and DELETE statements, and for UPDATE columns.
    - Disabled Spider's use of direct update when any of the columns to update is
      a timestamp column.  This is necessary to prevent false duplicate key value
      errors.
    - Added a new test spider.timestamp to thoroughly test Spider's handling of
      timestamp values.
    
    Author:
      Jacob Mathew.
    
    Reviewer:
      Kentoku Shiba.
    
    Cherry-Picked:
      Commit 97cc9d34 on branch bb-10.3-MDEV-16246
    813b7398
ha_partition.h 58.4 KB