1. 06 Feb, 2014 11 commits
  2. 05 Feb, 2014 14 commits
    • Michael Widenius's avatar
      MDEV-5602: CREATE OR REPLACE obtains stricter locks than the connection had before · 1695fc45
      Michael Widenius authored
      mysql-test/r/create_or_replace.result:
        Added test case
      mysql-test/t/create_or_replace.test:
        Added test case
      sql/sql_base.cc:
        Downgrade locks in LOCK TABLES + CREATE TABLE OR REPLACE
      sql/sql_table.cc:
        Downgrade locks in LOCK TABLES + CREATE TABLE OR REPLACE
      1695fc45
    • Michael Widenius's avatar
      0557de84
    • Michael Widenius's avatar
      Automatic merge · 10001c8e
      Michael Widenius authored
      10001c8e
    • Sergei Golubchik's avatar
      revert bugfix for MDEV-5295 deb upgrade 5.5 to 10.0.6 does not work · a0de0fd5
      Sergei Golubchik authored
      it didn't help, instead it only broke upgrades even more
      a0de0fd5
    • Michael Widenius's avatar
      Replication changes for CREATE OR REPLACE TABLE · 5426facd
      Michael Widenius authored
      - CREATE TABLE is by default executed on the slave as CREATE OR REPLACE
      - DROP TABLE is by default executed on the slave as DROP TABLE IF NOT EXISTS
      
      This means that a slave will by default continue even if we try to create
      a table that existed on the slave (the table will be deleted and re-created) or
      if we try to drop a table that didn't exist on the slave.
      This should be safe as instead of having the slave stop because of an inconsistency between
      master and slave, it will fix the inconsistency.
      Those that would prefer to get a stopped slave instead for the above cases can set slave_ddl_exec_mode to STRICT. 
      
      - Ensure that a CREATE OR REPLACE TABLE which dropped a table is replicated
      - DROP TABLE that generated an error on master is handled as an identical DROP TABLE on the slave (IF NOT EXISTS is not added in this case)
      - Added slave_ddl_exec_mode variable to decide how DDL's are replicated
      
      New logic for handling BEGIN GTID ... COMMIT from the binary log:
      
      - When we find a BEGIN GTID, we start a transaction and set OPTION_GTID_BEGIN
      - When we find COMMIT, we reset OPTION_GTID_BEGIN and execute the normal COMMIT code.
      - While OPTION_GTID_BEGIN is set:
        - We don't generate implict commits before or after statements
        - All tables are regarded as transactional tables in the binary log (to ensure things are executed exactly as on the master)
      - We reset OPTION_GTID_BEGIN also on rollback
      
      This will help ensuring that we don't get any sporadic commits (and thus new GTID's) on the slave and will help keep the GTID's between master and slave in sync.
      
      
      mysql-test/extra/rpl_tests/rpl_log.test:
        Added testing of mode slave_ddl_exec_mode=STRICT
      mysql-test/r/mysqld--help.result:
        New help messages
      mysql-test/suite/rpl/r/create_or_replace_mix.result:
        Testing of CREATE OR REPLACE TABLE with replication
      mysql-test/suite/rpl/r/create_or_replace_row.result:
        Testing of CREATE OR REPLACE TABLE with replication
      mysql-test/suite/rpl/r/create_or_replace_statement.result:
        Testing replication of create or replace
      mysql-test/suite/rpl/r/rpl_gtid_startpos.result:
        Test must be run in slave_ddl_exec_mode=STRICT as part of the test depends on that DROP TABLE should fail on slave.
      mysql-test/suite/rpl/r/rpl_row_log.result:
        Updated result
      mysql-test/suite/rpl/r/rpl_row_log_innodb.result:
        Updated result
      mysql-test/suite/rpl/r/rpl_row_show_relaylog_events.result:
        Updated result
      mysql-test/suite/rpl/r/rpl_stm_log.result:
        Updated result
      mysql-test/suite/rpl/r/rpl_stm_mix_show_relaylog_events.result:
        Updated result
      mysql-test/suite/rpl/r/rpl_temp_table_mix_row.result:
        Updated result
      mysql-test/suite/rpl/t/create_or_replace.inc:
        Testing of CREATE OR REPLACE TABLE with replication
      mysql-test/suite/rpl/t/create_or_replace_mix.cnf:
        Testing of CREATE OR REPLACE TABLE with replication
      mysql-test/suite/rpl/t/create_or_replace_mix.test:
        Testing of CREATE OR REPLACE TABLE with replication
      mysql-test/suite/rpl/t/create_or_replace_row.cnf:
        Testing of CREATE OR REPLACE TABLE with replication
      mysql-test/suite/rpl/t/create_or_replace_row.test:
        Testing of CREATE OR REPLACE TABLE with replication
      mysql-test/suite/rpl/t/create_or_replace_statement.cnf:
        Testing of CREATE OR REPLACE TABLE with replication
      mysql-test/suite/rpl/t/create_or_replace_statement.test:
        Testing of CREATE OR REPLACE TABLE with replication
      mysql-test/suite/rpl/t/rpl_gtid_startpos.test:
        Test must be run in slave_ddl_exec_mode=STRICT as part of the test depends on that DROP TABLE should fail on slave.
      mysql-test/suite/rpl/t/rpl_stm_log.test:
        Removed some lines
      mysql-test/suite/sys_vars/r/slave_ddl_exec_mode_basic.result:
        Testing of slave_ddl_exec_mode
      mysql-test/suite/sys_vars/t/slave_ddl_exec_mode_basic.test:
        Testing of slave_ddl_exec_mode
      sql/handler.cc:
        Regard all tables as transactional in commit if OPTION_GTID_BEGIN is set.
        This is to ensure that statments are not commited too early if non transactional tables are used.
      sql/log.cc:
        Regard all tables as transactional in commit if OPTION_GTID_BEGIN is set.
        Also treat 'direct' log events as transactional (to get them logged as they where on the master)
      sql/log_event.cc:
        Ensure that the new error from DROP TABLE when trying to drop a view is treated same as the old one.
        Store error code that slave expects in THD.
        Set OPTION_GTID_BEGIN if we find a BEGIN.
        Reset OPTION_GTID_BEGIN if we find a COMMIT.
      sql/mysqld.cc:
        Added slave_ddl_exec_mode_options
      sql/mysqld.h:
        Added slave_ddl_exec_mode_options
      sql/rpl_gtid.cc:
        Reset OPTION_GTID_BEGIN if we record a gtid (safety)
      sql/sql_class.cc:
        Regard all tables as transactional in commit if OPTION_GTID_BEGIN is set.
      sql/sql_class.h:
        Added to THD: log_current_statement and slave_expected_error
      sql/sql_insert.cc:
        Ensure that CREATE OR REPLACE is logged if table was deleted.
        Don't do implicit commit for CREATE if we are under OPTION_GTID_BEGIN
      sql/sql_parse.cc:
        Change CREATE TABLE -> CREATE OR REPLACE TABLE for slaves
        Change DROP TABLE -> DROP TABLE IF EXISTS for slaves
        CREATE TABLE doesn't force implicit commit in case of OPTION_GTID_BEGIN
        Don't do commits before or after any statement if OPTION_GTID_BEGIN was set.
      sql/sql_priv.h:
        Added OPTION_GTID_BEGIN
      sql/sql_show.cc:
        Enhanced store_create_info() to also be able to handle CREATE OR REPLACE
      sql/sql_show.h:
        Updated prototype
      sql/sql_table.cc:
        Ensure that CREATE OR REPLACE is logged if table was deleted.
      sql/sys_vars.cc:
        Added slave_ddl_exec_mode
      sql/transaction.cc:
        Added warning if we got a GTID under OPTION_GTID_BEGIN
      5426facd
    • Sergei Golubchik's avatar
      more solaris fixes. xtradb and spider. · 5eb14585
      Sergei Golubchik authored
      5eb14585
    • Sergei Golubchik's avatar
      b25951cc
    • unknown's avatar
      Fix of rpl_parallel.test cleanup. · 2ab48b44
      unknown authored
      2ab48b44
    • unknown's avatar
      merge 10.0-base ->10.0 · 52311b72
      unknown authored
      52311b72
    • unknown's avatar
      merge 5.5->10.0-base · bfdbb179
      unknown authored
      bfdbb179
    • Elena Stepanova's avatar
      From MySQL 5.6.13 change log: · f68eac2e
      Elena Stepanova authored
      Unlike MyISAM, InnoDB does not support boolean full-text searches on 
      nonindexed columns, but this restriction was not enforced, resulting 
      in queries that returned incorrect results. (Bug #16434374)
      f68eac2e
    • Elena Stepanova's avatar
      Intentional change in logging · e068b7dc
      Elena Stepanova authored
      e068b7dc
    • Elena Stepanova's avatar
      unix_socket fails in some build environments when $USER variable · 41fd4844
      Elena Stepanova authored
      appears to be unset, or when it contains 'root' even though the user
      does not have real root permissions
      41fd4844
    • Alexander Barkov's avatar
      Merge 10.0->10.0-connect · 1b1ffe40
      Alexander Barkov authored
      1b1ffe40
  3. 04 Feb, 2014 10 commits
  4. 03 Feb, 2014 5 commits
    • Olivier Bertrand's avatar
      - Fix a few GCC errors an warnings · a25b5bd4
      Olivier Bertrand authored
      modified:
        storage/connect/ha_connect.cc
        storage/connect/mycat.cc
      a25b5bd4
    • Sergei Golubchik's avatar
      test fixes · 3b3a7a52
      Sergei Golubchik authored
      3b3a7a52
    • Alexander Barkov's avatar
      MDEV-5450 Assertion `cached_field_ type == MYSQL_TYPE_STRING || · 15639990
      Alexander Barkov authored
      ltime.time_type == MYSQL_TIMESTAMP_NONE ||
      mysql_type_to_time_type(cached_field_type) == ltime.time_type'
      fails with IF, ISNULL, ADDDATE
      15639990
    • Olivier Bertrand's avatar
      This is a major update of CONNECT that goes from version 1.1 to 1.2 · 5133cb5e
      Olivier Bertrand authored
      ===================================================================
      - Implement a first support of the ALTER TABLE command. This fixes MDEV-5440
        but does much more than only that. See the details of how ALTER is supported
        in the new documentation and also in MDEV-5440 comment.
        This is done principally by implementing for CONNECT the virtual function
        check_if_supported_inplace_alter.
      modified:
        storage/connect/connect.cc
        storage/connect/global.h
        storage/connect/ha_connect.cc
        storage/connect/ha_connect.h
        storage/connect/mysql-test/connect/r/bin.result
        storage/connect/mysql-test/connect/r/csv.result
        storage/connect/mysql-test/connect/r/dbf.result
        storage/connect/mysql-test/connect/r/dir.result
        storage/connect/mysql-test/connect/r/fix.result
        storage/connect/mysql-test/connect/r/index.result
        storage/connect/mysql-test/connect/r/ini.result
        storage/connect/mysql-test/connect/r/occur.result
        storage/connect/mysql-test/connect/r/pivot.result
        storage/connect/mysql-test/connect/r/vec.result
        storage/connect/mysql-test/connect/t/dbf.test
        storage/connect/plugutil.c
        storage/connect/user_connect.cc
      
      - Fixes the tabname/table_name issue for XML tables. Implement
        multiple files XML tables.
      modified:
        storage/connect/tabxml.cpp
        storage/connect/tabxml.h
      
      - Set to varchar(256) the fields of catalog tables stored
        as STRBLK's (had length 0 --> CHAR(1))
        Add the GetCharString function to the VALBLK class
      modified:
        storage/connect/ha_connect.cc
        storage/connect/valblk.cpp
        storage/connect/valblk.h
        storage/connect/value.cpp
      
      - Translate CONNECT error messages to system_charset
        to avoid truncation on not ASCII characters.
      modified:
        storage/connect/ha_connect.cc
      
      - Update version number
      modified:
        storage/connect/ha_connect.cc
        storage/connect/mysql-test/connect/r/xml.result
      
      - Move the TDBASE::data_charset body from xtable.h to table.cpp.
        (dont' remember why)
      modified:
        storage/connect/table.cpp
        storage/connect/xtable.h
      
      - Other modifications are to enhance the support of OEM tables.
        In particular, they can now provide column definition in dicovery.
      modified:
        storage/connect/colblk.h
        storage/connect/global.h
        storage/connect/ha_connect.cc
        storage/connect/mycat.cc
        storage/connect/plgcnx.h
        storage/connect/plgdbsem.h
        storage/connect/xtable.h
      
      - Or to add or modify tracing.
      modified:
        storage/connect/filamtxt.cpp
        storage/connect/ha_connect.cc
        storage/connect/plgdbutl.cpp
        storage/connect/tabfix.cpp
        storage/connect/tabmysql.cpp
      5133cb5e
    • Sergei Golubchik's avatar