1. 20 Jun, 2019 1 commit
  2. 19 Jun, 2019 2 commits
  3. 18 Jun, 2019 7 commits
    • Daniel Bartholomew's avatar
      bump the VERSION · efbfcc8b
      Daniel Bartholomew authored
      efbfcc8b
    • Michael Widenius's avatar
      MDEV-19595 fixed · 8acbf9c1
      Michael Widenius authored
      The test cases for the MDEV found several independent bugs
      in MariaDB server and Aria:
      - If a temporary table was marked as crashed, it could never
        be deleted.
      - Opening of a crashed temporary table gave an error message
        but the error was never forwarded to the caller which caused
        an assert() in my_ok()
      - init_read_record() did mmap of all temporary tables, which is
        probably not a good idea as this area can potentially be
        very big. Changed code to only mmap internal temporary tables.
      - mmap-ed tables where not unmapped in case of repair/optimize
        which caused bad data in table and crashes if the original
        table files where replaced with new ones (as the old mmap
        was still in place). Fixed by removing the mmap in case
        of repair.
      - Cleaned up usage of code that disabled mmap in Aria
      8acbf9c1
    • Sergei Golubchik's avatar
      3db4d018
    • Michael Widenius's avatar
      MDEV-18078 Assertion `trnman_has_locked_tables(trn) > 0' failed · b23c82fe
      Michael Widenius authored
      Problem was that in case of implicit rollback for alter table
      Aria did try to run commit twice.
      
      The test case for this is tricky to do in 10.2, so it will
      be added to 10.4 as part of BACKUP STAGE testing.
      b23c82fe
    • mkaruza's avatar
      MDEV-18832 Galera: 10.4 node crashed with Assertion `state() == s_committing'... · 48570eb6
      mkaruza authored
      MDEV-18832 Galera: 10.4 node crashed with Assertion `state() == s_committing' if you create SEQUENCE, use it, then drop and recreate and use again (#1339)
      
      We could still end committing to binlog even in rollback.
      Do not proceed with WSREP commit in this case.
      48570eb6
    • mkaruza's avatar
      MDEV-18940 Galera: Rolling upgrade: all nodes except upgraded node5 failed... · 03f3ba2d
      mkaruza authored
      MDEV-18940 Galera: Rolling upgrade: all nodes except upgraded node5 failed with Assertion `meta->gtid.seqno == wsrep_thd_trx_seqno(thd)' with SEQUENCEs (#1342)
      
      Empty write sets will not trigger apply callback, and will not
      update thread wsrep_trx_meta.gtid.seqno. Because of that assert will
      be triggered when commit callback is called.
      03f3ba2d
    • Alexander Barkov's avatar
      MDEV-17363 - Compressed columns cannot be restored from dump · 5352e968
      Alexander Barkov authored
      In collaboration with Sergey Vojtovich <svoj@mariadb.org>
      
      The COMPRESSED clause is now a part of the data type and goes immediately
      after the data type and length, but before the CHARACTER SET clause,
      and before column attributes such as DEFAULT, COLLATE, ON UPDATE,
      SYSTEM VERSIONING, engine specific column attributes.
      
      In the old reduction, the COMPRESSED clause was a column attribute.
      
      New syntax:
        <varchar or text data type> <length> <compression> <character set> <column attributes>
        <varbinary or blob data type> <length> <compression> <column attributes>
      
      New syntax examples:
        VARCHAR(1000) COMPRESSED CHARACTER SET latin1 DEFAULT ''
        BLOB COMPRESSED DEFAULT ''
      
      Deprecate syntax examples:
        VARCHAR(1000) CHARACTER SET latin1 COMPRESSED DEFAULT ''
        TEXT          CHARACTER SET latin1 DEFAULT '' COMPRESSED
        VARBINARY(1000) DEFAULT '' COMPRESSED
      
      As a side effect:
      - COMPRESSED is not valid as an SP label name in SQL/PSM routines any more
        (but it's still valid as an SP label name in sql_mode=ORACLE)
      
      - COMPRESSED is now allowed in combination with GENERATED ALWAYS AS:
      
        TEXT COMPRESSED GENERATED ALWAYS AS REPEAT('a',1000)
      5352e968
  4. 17 Jun, 2019 23 commits
    • Sergei Golubchik's avatar
      bugfix: crash on the empty db name · b8e655ce
      Sergei Golubchik authored
      followup for 0a43df4f
      b8e655ce
    • Sergei Golubchik's avatar
      10.4.6 is stable, not gamma · e85e4814
      Sergei Golubchik authored
      e85e4814
    • Vladislav Vaintroub's avatar
      Fix debug assert to match its intention. · 71eea0c3
      Vladislav Vaintroub authored
      Do not check my_errno before it is set, check errno instead.
      Also, do not check errno, if prior pread() did not fail.
      71eea0c3
    • Vladislav Vaintroub's avatar
      MDEV-19750 mysql command wrong encoding · 5804bb4e
      Vladislav Vaintroub authored
      Restore the detection of default charset in command line utilities.
      It worked up to 10.1, but was broken by Connector/C.
      
      Moved code for detection of default charset from sql-common/client.c
      to mysys, and make command line utilities to use this code if charset
      was not specified on the command line.
      5804bb4e
    • Vladislav Vaintroub's avatar
      Portability fix. · 81f60e8a
      Vladislav Vaintroub authored
      81f60e8a
    • Daniel Bartholomew's avatar
      bump the VERSION · 3784ed7a
      Daniel Bartholomew authored
      3784ed7a
    • Michael Widenius's avatar
      MDEV-19055 Failures with temporary tables and Aria · c8b5fa4a
      Michael Widenius authored
      There was two separate problems:
      - Aria pagecache didn't properly handle re-reading of blocks
        that have given errors before (this triggered an assert)
      - temporary tables that where opened several times where
        not properly closed in ALTER, REPAIR or OPTIMIZE table
      
      Other things
      - Added a couple of asserts that will make it easier to
        find problems like this in the future.
      c8b5fa4a
    • Sergei Golubchik's avatar
      MDEV-17592 Create MariaDB named commands/symlinks · 306e439c
      Sergei Golubchik authored
      post-merge fixes:
      * .gitignore
      * don't put the keyword COMPONENT into ${COMP} anymore
      * don't alias mytop, but do alias mysql_client_test
      * don't symlink manpages, use troff aliasing technique instead
        (symlinked manpages break rpm and out-of-source bintar builds)
      * move debian to use troff aliased manpages, fix typos in debian files,
        put aliases in the correct packages, add more aliases to match
        rpm/bintar packaging
      306e439c
    • Rasmus Johansson's avatar
      24503d57
    • Sergei Golubchik's avatar
      f02bc3cf
    • Sergei Golubchik's avatar
      compilation fix for fulltest-big · da619f01
      Sergei Golubchik authored
      da619f01
    • Sergei Golubchik's avatar
      make the heap.heap test portable · 20bb4ed1
      Sergei Golubchik authored
      in HEAP btree indexes, the address of a record in memory is part of the
      key. So, when inserting many identical keys, the actual btree
      shape is defined by how and where records in memory are allocated.
      
      records_in_range uses floats to estimate the size of the chunk of the
      btree between min and max records, it depends on the btree shape and,
      thus, is not portable either. As are optimizer decisions that are based
      on records_in_range estimations, if the number happens to be close
      to a tipping point.
      
      as a fix, reduce the number of matching rows, so that even with
      system-specific variations the optimizer would still pick the
      expected plan.
      
      Fixes heap.heap failure (range vs ALL) on ppc64
      20bb4ed1
    • Sergei Golubchik's avatar
      compilation failure on ppc with -DCMAKE_BUILD_TYPE=Debug · 13e8f728
      Sergei Golubchik authored
      if ${CRC32_LIBRARY} target has no COMPILE_FLAGS yet,
      GET_TARGET_PROPERTY returns COMPILE_FLAGS-NOTFOUND, which
      doesn't work very well when it's later fed back into COMPILE_FLAGS.
      
      GET_PROPERTY() returns an empty string in this case.
      13e8f728
    • Sergei Golubchik's avatar
      C/C · 09332120
      Sergei Golubchik authored
      09332120
    • Sergei Golubchik's avatar
      MDEV-15526 SysV init service deployed file '/etc/init.d/mysql' prevents... · a4cc6fb9
      Sergei Golubchik authored
      MDEV-15526 SysV init service deployed file '/etc/init.d/mysql' prevents systemctl disable command to work correctly (mariadb|mysql naming support) (debian/ubuntu)
      
      mariadb service is controlled by systemd
      
      Do not install SysV init script on Debian/Ubuntu in /etc/init.d/
      put it in /usr/share/mysql in case the user would need it for something.
      
      Use systemctl in pre/post scripts directly
      without funky conditionals and wrapper scripts
      a4cc6fb9
    • Sergei Golubchik's avatar
      MDEV-14735 better matching order for grants · 0a43df4f
      Sergei Golubchik authored
      fixes
      MDEV-14732 mysql.db privileges evaluated on order of grants rather than hierarchically
      MDEV-8269 Correct fix for Bug #20181776 :- ACCESS CONTROL DOESN'T MATCH MOST SPECIFIC HOST WHEN IT CONTAINS WILDCARD
      
      reimplement the old ad hoc get_sort() function to use a wildcard
      pattern ordering logic that works correctly in may be all practical cases.
      
      get_sort() is renamed to catch merge errors at compilation time.
      moved to a separate included file, because of a long comment.
      0a43df4f
    • Sergei Golubchik's avatar
      bugfix: PROXY privilege matched usernames incorrectly · fd00c449
      Sergei Golubchik authored
      username can be empty, meaning anybody, or must match literally.
      only db and host names are matched with wildcards.
      fd00c449
    • Georg Richter's avatar
      MDEV-14101 Provide an option to select TLS protocol version · d1308013
      Georg Richter authored
      Server and command line tools now support option --tls_version to specify the
      TLS version between client and server. Valid values are TLSv1.0, TLSv1.1, TLSv1.2, TLSv1.3
      or a combination of them. E.g.
      
      --tls_version=TLSv1.3
      --tls_version=TLSv1.2,TLSv1.3
      
      In case there is a gap between versions, the lowest version will be used:
      --tls_version=TLSv1.1,TLSv1.3 -> Only TLSv1.1 will be available.
      
      If the used TLS library doesn't support the specified TLS version, it will use
      the default configuration.
      
      Limitations:
      
      SSLv3 is not supported. The default configuration doesn't support TLSv1.0 anymore.
      TLSv1.3 protocol currently is only supported by OpenSSL 1.1.0 (client and server) and
      GnuTLS 3.6.5 (client only).
      
      Overview of TLS implementations and protocols
      
      Server:
      
      +-----------+-----------------------------------------+
      | Library   | Supported TLS versions                  |
      +-----------+-----------------------------------------+
      | WolfSSL   | TLSv1.1, TLSv1,2                        |
      +-----------+-----------------------------------------+
      | OpenSSL   | (TLSv1.0), TLSv1.1, TLSv1,2, TLSv1.3    |
      +-----------+-----------------------------------------+
      | LibreSSL  | (TLSv1.0), TLSv1.1, TLSv1,2, TLSv1.3    |
      +-----------+-----------------------------------------+
      
      Client (MariaDB Connector/C)
      +-----------+-----------------------------------------+
      | Library   | Supported TLS versions                  |
      +-----------+-----------------------------------------+
      | GnuTLS    | (TLSv1.0), TLSv1.1, TLSv1.2, TLSv1.3    |
      +-----------+-----------------------------------------+
      | Schannel  | (TLSv1.0), TLSv1.1, TLSv1.2             |
      +-----------+-----------------------------------------+
      | OpenSSL   | (TLSv1.0), TLSv1.1, TLSv1,2, TLSv1.3    |
      +-----------+-----------------------------------------+
      | LibreSSL  | (TLSv1.0), TLSv1.1, TLSv1,2, TLSv1.3    |
      +-----------+-----------------------------------------+
      d1308013
    • Sergei Golubchik's avatar
      MDEV-19765 Bug in CMakeLists.txt introduced by MDEV-11670 · 379ffc6e
      Sergei Golubchik authored
      fix a typo
      
      followup for 6e5c2466
      379ffc6e
    • Sergei Golubchik's avatar
      fix versioning.simple for embedded · b3f3b3ea
      Sergei Golubchik authored
      b3f3b3ea
    • Sergei Golubchik's avatar
      fix tests, failing after daf333ab · 7ad1e4a5
      Sergei Golubchik authored
      7ad1e4a5
    • Nikita Malyavin's avatar
    • Michael Widenius's avatar
      Rename of stat table tried to rename open table. · daf333ab
      Michael Widenius authored
      When compiling with -DEXTRA_DEBUG and run main.stat_tables_missing
      on go the warning:
      Warning:  Table: ./mysql/column_stats is open on rename old_table
      
      This happened because rename_table_in_stat_tables() re-open the
      table that was to be renamed.
      Fixed by moving update of stat tables after all renames has been made.
      daf333ab
  5. 16 Jun, 2019 7 commits