1. 12 Feb, 2019 1 commit
    • Julius Goryavsky's avatar
      MDEV-18426: Most of the mtr tests in the galera_3nodes suite fail · 5b827511
      Julius Goryavsky authored
      Most of the mtr tests in the galera_3nodes suite fail
      for a variety of reasons with a variety of errors.
      
      This patch fixes several substantial flaws
      in the galera_3nodes suite tests and in the mtr framework
      service files, adapting the tests from galera_3nodes
      for the current version of MariaDB.
      
      This patch also synchronizes some galera_3nodes-related
      files with the latest changes made for MDEV-17835 (v2 patch)
      and for MDEV-18379 in other branches (10.2 and 10.3).
      
      Closes #1161
      5b827511
  2. 11 Feb, 2019 1 commit
  3. 06 Feb, 2019 1 commit
  4. 05 Feb, 2019 1 commit
  5. 04 Feb, 2019 1 commit
  6. 03 Feb, 2019 1 commit
  7. 02 Feb, 2019 2 commits
    • Marko Mäkelä's avatar
      Merge 10.1 into 10.1 · 213ece2f
      Marko Mäkelä authored
      This is joint work with Oleksandr Byelkin.
      213ece2f
    • Marko Mäkelä's avatar
      Fix embedded innodb_plugin after 560799eb · c1e1764f
      Marko Mäkelä authored
      wsrep_certification_rules: Define as a weak global symbol.
      While there are separate _embedded.a for statically
      linked storage engine plugins, there is only one ha_innodb.so
      which is supposed to work with both values of WITH_WSREP.
      
      The merge from 10.0-galera introduced a reference to a global
      variable that is only defined when the server is built WITH_WSREP.
      We must define that symbol as weak global, so that when
      a dynamically linked InnoDB or XtraDB is used with the embedded
      server (which never includes write-set replication patches),
      the variable will be read as 0, instead of causing a failure to
      load the InnoDB or XtraDB plugin.
      c1e1764f
  8. 01 Feb, 2019 3 commits
  9. 31 Jan, 2019 3 commits
  10. 30 Jan, 2019 1 commit
  11. 29 Jan, 2019 6 commits
  12. 28 Jan, 2019 10 commits
  13. 27 Jan, 2019 2 commits
    • Sergei Golubchik's avatar
      Crude "auto-load-data-local-infile" mode · 2175bfce
      Sergei Golubchik authored
      Disable LOAD DATA LOCAL INFILE suport by default and
      auto-enable it for the duration of one query, if the query
      string starts with the word "load". In all other cases the application
      should enable LOAD DATA LOCAL INFILE support explicitly.
      2175bfce
    • Vicențiu Ciorbaru's avatar
      MDEV-18360 Prevent set_max_open_files from allocating too many files · 21f90371
      Vicențiu Ciorbaru authored
      If the rlimit.rlim_cur value returned by getrlimit is not the
      RLIM_INFINITY magic constant, but a *very* large number, we can allocate
      too many open files. Restrict set_max_open_files to only return at most
      max_file_limit, as passed via its parameter.
      21f90371
  14. 26 Jan, 2019 1 commit
    • Julius Goryavsky's avatar
      MDEV-18379: Unification of check for IPv6 · 4aea6b3e
      Julius Goryavsky authored
      This patch contains the port of the MDEV-18379 patch
      for 10.1 branch, but also includes a number of changes
      made within MDEV-17835, which are necessary for the
      normal operation of tests that use IPv6:
      
      1) Fixed flaws in the galera_3nodes mtr suite control scripts,
      because of which they could not work with mariabackup.
      
      2) Fixed numerous bugs in the SST scripts and in the mtr test
      files (galera_3nodes mtr suite) that prevented the use of Galera
      with IPv6 addresses.
      
      3) Fixed flaws in tests for rsync and mysqldump (for galera_3nodes
      mtr tests suite). These tests were not performed successfully
      without these fixes.
      
      4) Currently, the three-node mtr suite for Galera (galera_3nodes)
      uses a separate IPv6 availability check using the "have_ipv6.inc"
      file. This check duplicates a more accurate check at suite.pm
      level, which can be used by including the file "check_ipv6.inc".
      This patch removes this discrepancy between suites.
      
      5) GAL-501 test in the galera_3nodes suite does not contain the
      option "--bind-address=::" which is needed for the test to work
      correctly with IPv6 (at least on some systems), since without
      it the server will not wait for connections on the IPv6 interface.
      
      https://jira.mariadb.org/browse/MDEV-18379
      and partially https://jira.mariadb.org/browse/MDEV-17835
      4aea6b3e
  15. 25 Jan, 2019 4 commits
    • Andrei Elkin's avatar
      MDEV-17803: ulonglongization of table_mapping entry::table_id to fix windows... · ef0b91ea
      Andrei Elkin authored
      MDEV-17803: ulonglongization of table_mapping entry::table_id to fix windows compilation in particular.
      ef0b91ea
    • Olivier Bertrand's avatar
      Squashed commit of connect/10.0: · e6fcd723
      Olivier Bertrand authored
      commit 6a6a1f37798
      Author: Olivier Bertrand <bertrandop@gmail.com>
      Date:   Fri Jan 4 12:31:52 2019 +0100
      
          - Fix a few bug mainly concerning discovery and call from OEM
            (and prepare new table types)
      
            modified:   storage/connect/tabjson.cpp
            modified:   storage/connect/tabjson.h
            modified:   storage/connect/tabxml.cpp
            modified:   storage/connect/tabxml.h
      
          - Fix wrong line estimate
            modified:   storage/connect/mysql-test/connect/r/part_table.result
            modified:   storage/connect/mysql-test/connect/t/part_table.test
      
      commit bd7d2e912d9
      Author: Olivier Bertrand <bertrandop@gmail.com>
      Date:   Tue Dec 4 23:35:09 2018 +0100
      
          Fix wrong version number
      
      commit 4933680e7ab
      Author: Olivier Bertrand <bertrandop@gmail.com>
      Date:   Sun Dec 2 00:25:05 2018 +0100
      
          - Make PlugSubAlloc to be exportable
            Suppress unused parameter from PlugSubSet
            modified:   storage/connect/global.h
            modified:   storage/connect/plugutil.cpp
            modified:   storage/connect/jsonudf.cpp
            modified:   storage/connect/tabjson.cpp
            modified:   storage/connect/user_connect.cc
      
          - Fix a bug making column catalog XML tables fail
            modified:   storage/connect/tabxml.cpp
      
          - Comment out wrong message
            modified:   storage/connect/ha_connect.cc
      
          - Update error message when sorting an ODBC table fails
            modified:   storage/connect/tabodbc.cpp
      
          - Add error message when gettting an address
            from an OEM fails.
            modified:   storage/connect/reldef.cpp
      
          - Make some modifications useful for OEM module writting
            Export discovery functions for CSV, JDBC and XML
            Remove unuseful include from tabjson.h
            Move TDBXML::data_charset function from header file to source
            modified:   storage/connect/tabfmt.h
            modified:   storage/connect/tabjson.h
            modified:   storage/connect/tabxml.cpp
            modified:   storage/connect/tabxml.h
      
          - Update test result
            modified:   storage/connect/mysql-test/connect/r/jdbc_oracle.result
      e6fcd723
    • Sergei Golubchik's avatar
      cleanup: fill_alter_inplace_info · 38ad46e0
      Sergei Golubchik authored
      remove attempts to track "candidate keys", use what was already
      decided in create_table_impl().
      38ad46e0
    • Sergei Golubchik's avatar
      compiler warning · 013186eb
      Sergei Golubchik authored
      013186eb
  16. 24 Jan, 2019 2 commits
    • Andrei Elkin's avatar
      MDEV-10963 Fragmented BINLOG query · 5d48ea7d
      Andrei Elkin authored
      The problem was originally stated in
        http://bugs.mysql.com/bug.php?id=82212
      The size of an base64-encoded Rows_log_event exceeds its
      vanilla byte representation in 4/3 times.
      When a binlogged event size is about 1GB mysqlbinlog generates
      a BINLOG query that can't be send out due to its size.
      
      It is fixed with fragmenting the BINLOG argument C-string into
      (approximate) halves when the base64 encoded event is over 1GB size.
      The mysqlbinlog in such case puts out
      
          SET @binlog_fragment_0='base64-encoded-fragment_0';
          SET @binlog_fragment_1='base64-encoded-fragment_1';
          BINLOG @binlog_fragment_0, @binlog_fragment_1;
      
      to represent a big BINLOG.
      For prompt memory release BINLOG handler is made to reset the BINLOG argument
      user variables in the middle of processing, as if @binlog_fragment_{0,1} = NULL
      is assigned.
      
      Notice the 2 fragments are enough, though the client and server still may
      need to tweak their @@max_allowed_packet to satisfy to the fragment
      size (which they would have to do anyway with greater number of
      fragments, should that be desired).
      
      On the lower level the following changes are made:
      
      Log_event::print_base64()
        remains to call encoder and store the encoded data into a cache but
        now *without* doing any formatting. The latter is left for time
        when the cache is copied to an output file (e.g mysqlbinlog output).
        No formatting behavior is also reflected by the change in the meaning
        of the last argument which specifies whether to cache the encoded data.
      
      Rows_log_event::print_helper()
        is made to invoke a specialized fragmented cache-to-file copying function
        which is
      
      copy_cache_to_file_wrapped()
        that takes care of fragmenting also optionally wraps encoded
        strings (fragments) into SQL stanzas.
      
      my_b_copy_to_file()
        is refactored to into my_b_copy_all_to_file(). The former function
        is generalized
        to accepts more a limit argument to constraint the copying and does
        not reinitialize anymore the cache into reading mode.
        The limit does not do any effect on the fully read cache.
      5d48ea7d
    • Andrei Elkin's avatar
      MDEV-14605 Changes to "ON UPDATE CURRENT_TIMESTAMP" fields are not · f9ac7032
      Andrei Elkin authored
                 always logged properly with binlog_row_image=MINIMAL
      
      There are two issues fixed in this commit.
      The first is an observation of a multi-table UPDATE binlogged
      in row-format in binlog_row_image=MINIMAL mode. While the UPDATE aims
      at a table with an ON-UPDATE attribute its binlog after-image misses
      to record also installed default value.
      The reason for that turns out missed marking of default-capable fields
      in TABLE::write_set.
      
      This is fixed to mark such fields similarly to 10.2's MDEV-10134 patch (db7edfed)
      that introduced it. The marking follows up 93d1e5ce's idea
      to exploit TABLE:rpl_write_set introduced there though,
      and thus does not mess (in 10.1) with the actual MDEV-10134 agenda.
      The patch makes formerly arg-less TABLE::mark_default_fields_for_write()
      to accept an argument which would be TABLE:rpl_write_set.
      
      The 2nd issue is extra columns in in binlog_row_image=MINIMAL before-image
      while merely a packed primary key is enough. The test main.mysqlbinlog_row_minimal
      always had a wrong result recorded.
      This is fixed to invoke a function that intended for read_set
      possible filtering and which is called (supposed to) in all type of MDL, UPDATE
      including; the test results have gotten corrected.
      
      At *merging* from 10.1->10.2 the 1st "main" part of the patch is unnecessary
      since the bug is not observed in 10.2, so only hunks from
      
        sql/sql_class.cc
      
      are required.
      f9ac7032