1. 25 Sep, 2019 1 commit
  2. 16 Sep, 2019 1 commit
  3. 09 Sep, 2019 1 commit
  4. 07 Sep, 2019 1 commit
  5. 06 Sep, 2019 1 commit
    • Galina Shalygina's avatar
      Removed old is_deterministic() function version. · f089a900
      Galina Shalygina authored
      Changed it on new is_determinstic() function and class.
      
      Removed unuseful tests.
      Changed comments.
      Changed methods in the way that virtual columns and views/derived tables
      on the weak part of the LEFT JOIN are handled properly.
      f089a900
  6. 29 Aug, 2019 1 commit
  7. 16 Aug, 2019 1 commit
    • Galina Shalygina's avatar
      MDEV-11588 Support for ONLY_FULL_GROUP_BY functional dependency · 1fb2c7d4
      Galina Shalygina authored
      Support functional dependencies usage when ONLY_FULL_GROUP_BY
      SQL_MODE is enabled.
      
      It is allowed to use fields that are either GROUP BY fields or
      fields that are functionally dependent on GROUP BY fields in
      SELECT list, HAVING clause and ORDER BY clause.
      Functionally dependent fields can be extracted from the WHERE clause
      (for the most outer JOIN tables) and ON expressions (for JOIN weak part
      tables) equalities.
      
      For these equalities such rules should hold:
      1. Equalities should be of the form (1):
      
         F2 = g(H11,..,H1n), where
      
         (H11, ..., H1n)  are some functions of GROUP BY fields and/or
                          GROUP BY fields and/or constants.
          g               is some function. It can be identity function.
          F2              is some non GROUP BY field.
      
          F2 here can be extracted as a new functionally dependent field.
      2. If F2 is from the left part of LEFT JOIN it can’t be extracted
      3. If F2 is from the right part of the LEFT JOIN either:
         2.1. H11,...,H1n should be fields from the right part
         2.2  n=1 and H1 is from the left part of the considered JOIN
      4. If (1) is used in ON expression this ON expression can't depend
         on non GROUP BY fields of the left part of the LEFT JOIN.
      5. If (1) is used in ON expression this ON expression can't depend
         on the right JOIN part fields only.
      6. 4 and 5 doesn't work if F2 table has at least one field used in
         GROUP BY.
      1fb2c7d4
  8. 28 May, 2019 1 commit
  9. 27 May, 2019 2 commits
  10. 26 May, 2019 5 commits
  11. 25 May, 2019 3 commits
  12. 24 May, 2019 4 commits
    • Yuqi's avatar
      Armv8 CRC32 optimization (#772) · 0928596a
      Yuqi authored
      ARMv8 (AArch64) CPUs implement the CRC32 extension which is implemented by inline assembly ,
      so they can also benefit from hardware acceleration in IO-intensive workloads.
      
      The patch optimizes crc32c calculate with the armv8 crypto instruction(Intrinsics) when available
      rather than original linear crc instructions.
      
      Change-Id: I05d36a64c726d910c47befad93390108f4e6567f
      Signed-off-by: default avatarYuqi Gu <yuqi.gu@arm.com>
      0928596a
    • Marko Mäkelä's avatar
      MDEV-19584 Allocate recv_sys statically · 5d2619b6
      Marko Mäkelä authored
      There is only one InnoDB crash recovery subsystem.
      Allocating recv_sys statically removes one level of pointer indirection
      and makes code more readable, and removes the awkward initialization of
      recv_sys->dblwr.
      
      recv_sys_t::create(): Replaces recv_sys_init().
      
      recv_sys_t::debug_free(): Replaces recv_sys_debug_free().
      
      recv_sys_t::close(): Replaces recv_sys_close().
      
      recv_sys_t::add(): Replaces recv_add_to_hash_table().
      
      recv_sys_t::empty(): Replaces recv_sys_empty_hash().
      5d2619b6
    • Sergey Vojtovich's avatar
      MDEV-16548 - Innodb fails to start on older kernels that don't support F_DUPFD_CLOEXEC · a74b01ea
      Sergey Vojtovich authored
      InnoDB duplicates file descriptor returned by create_temp_file() to
      workaround further inconsistent use of this descriptor.
      
      Use mysys file descriptors consistently for innobase_mysql_tmpfile(path).
      Mostly close it by appropriate mysys wrappers.
      a74b01ea
    • Sergey Vojtovich's avatar
      MDEV-16548 - Innodb fails to start on older kernels that don't support F_DUPFD_CLOEXEC · 5f5a0b3b
      Sergey Vojtovich authored
      InnoDB duplicates file descriptor returned by create_temp_file() to
      workaround further inconsistent use of this descriptor.
      
      Use mysys file descriptors consistently for innobase_mysql_tmpfile(NULL).
      Mostly close it by appropriate mysys wrappers.
      5f5a0b3b
  13. 23 May, 2019 9 commits
    • Marko Mäkelä's avatar
      MDEV-19570 Deprecate and ignore innodb_undo_logs, remove innodb_rollback_segments · 893472d0
      Marko Mäkelä authored
      The option innodb_rollback_segments was deprecated already in
      MariaDB Server 10.0. Its misleadingly named replacement innodb_undo_logs
      is of very limited use. It makes sense to always create and use the
      maximum number of rollback segments.
      
      Let us remove the deprecated parameter innodb_rollback_segments and
      deprecate&ignore the parameter innodb_undo_logs (to be removed in a
      later major release).
      
      This work involves some cleanup of InnoDB startup. Similar to other
      write operations, DROP TABLE will no longer be allowed if
      innodb_force_recovery is set to a value larger than 3.
      893472d0
    • Alexander Barkov's avatar
    • Marko Mäkelä's avatar
      Merge 10.4 into 10.5 · 826f9d4f
      Marko Mäkelä authored
      826f9d4f
    • Marko Mäkelä's avatar
      MDEV-19551 Remove alias innodb_stats_sample_pages · e5d71e0b
      Marko Mäkelä authored
      The parameter innodb_stats_sample_pages became an alias for
      innodb_stats_transient_sample_pages and was deprecated in
      MariaDB Server 10.0. Let us finally remove that alias.
      e5d71e0b
    • Marko Mäkelä's avatar
      MDEV-19544 Remove innodb_locks_unsafe_for_binlog · 1a6f4704
      Marko Mäkelä authored
      The transaction isolation levels READ COMMITTED and READ UNCOMMITTED
      should behave similarly to the old deprecated setting
      innodb_locks_unsafe_for_binlog=1, that is, avoid acquiring gap locks.
      
      row_search_mvcc(): Reduce the scope of some variables, and clean up
      the initialization and use of the variable set_also_gap_locks.
      1a6f4704
    • Marko Mäkelä's avatar
      MDEV-19543 Deprecate and ignore innodb_log_checksums · 47cede64
      Marko Mäkelä authored
      The parameter innodb_log_checksums that was introduced in MariaDB 10.2.2
      via mysql/mysql-server@af0acedd885eb7103e319f79d25fda7386ef1506
      does not make much sense. The original motivation of introducing this
      parameter (initially called innodb_log_checksum_algorithm in
      mysql/mysql-server@22ba38218e1d76c24f69b5a5595ad3bf5933acb0)
      was that the InnoDB redo log used the slow and insecure innodb algorithm.
      With hardware or SIMD accelerated CRC-32C, there should be no reason to
      allow checksums to be disabled on the redo log.
      
      The parameter innodb_encrypt_log already implies innodb_log_checksums=ON.
      
      Let us deprecate the parameter innodb_log_checksums and always compute
      redo log checksums, even if innodb_log_checksums=OFF is specified.
      
      An upgrade from MariaDB 10.2.2 or later will only be possible after
      using the default value innodb_log_checksums=ON. If the non-default
      value innodb_log_checksums=OFF was in effect when the server was shut down,
      a log block checksum mismatch will be reported and the upgraded server
      will fail to start up.
      47cede64
    • Marko Mäkelä's avatar
      MDEV-17841: Fix -Wsometimes-uninitialized · 3eef9f21
      Marko Mäkelä authored
      maria_open(): Initialize share->mode=0 for S3
      3eef9f21
    • Marko Mäkelä's avatar
      Adjust innodb.innodb-wl5522-debug result · 483536ec
      Marko Mäkelä authored
      The test result was affected by
      commit 007f68c3
      but the adjustment was inadvertently omitted.
      483536ec
    • Alexander Barkov's avatar
  14. 22 May, 2019 9 commits