• unknown's avatar
    Bug#22645 LC_TIME_NAMES: Statement not replicated · 4474cc84
    unknown authored
    Problem: replication of LC_TIME_NAMES didn't work.
    Thus, INSERTS or UPDATES using date_format() always
    worked with en_US on the slave side.
    Fix: adding ONE_SHOT implementation for LC_TIME_NAMES.
    
    
    mysql-test/r/variables.result:
      Adding various tests with LC_TIME_NAMES and
      string and numeric constants and expressions.
    mysql-test/t/variables.test:
      Adding various tests with LC_TIME_NAMES and
      string and numeric constants and expressions.
    sql/log.cc:
      Adding ONE_SHOT trick for lc_time_names.
    sql/mysql_priv.h:
      Adding new member "number" - for unique locale IDs.
      Adding prototype for my_locale_by_number().
    sql/set_var.cc:
      Modifying lc_time_names variable to understand both:
      - string valyes (using locale name)
      - number values (using locale IDs)
    sql/set_var.h:
      - Marking lc_time_names as ONE_SHOT capable.
      - Marking lc_time_names as INT_RESULT compatible.
    sql/sql_locale.cc:
      - adding local IDs
      - better layout for locale data declarations
        (splitting long lines into short ones)
      - adding DBUG_ASSERT into my_locale_by_name()
        and moving this function towards the end of file -
        after "my_locales" declaration
      - adding my_locale_by_number() implementation
    sql/sql_parse.cc:
      Adding initialization of lc_time_names
      to its default value (en_US)
    mysql-test/r/rpl_locale.result:
      Adding test case
    mysql-test/t/rpl_locale.test:
      Adding test case
    4474cc84
mysql_priv.h 50.7 KB