1. 06 Aug, 2023 1 commit
  2. 04 Aug, 2023 1 commit
  3. 03 Aug, 2023 1 commit
    • Oleg Smirnov's avatar
      MDEV-31743 Server crash in store_length, assertion failure in... · 8e8c020f
      Oleg Smirnov authored
      MDEV-31743 Server crash in store_length, assertion failure in Type_handler_string_result::sort_length
      
      After MDEV-21580 the truncation of SORT_FIELD::length
        set_if_smaller(sortorder->length, thd->variables.max_sort_length)
      
      became conditional:
        if (is_variable_sized())
          set_if_smaller(length, thd->variables.max_sort_length)
      
      To provide correct functioning of is_variable_sized() SORT_FIELD::type
      must be set properly. This commit adds the necessary initialization
      of SORT_FIELD::type to JOIN_TAB::remove_duplicates() as it is done
      in filesort's sortlength() function.
      
      DBUG_ASSERT is added to sortlength() just in case to prevent
      a possible uint32 overflow
      8e8c020f
  4. 02 Aug, 2023 2 commits
    • Sergei Golubchik's avatar
      MDEV-31822 ALTER TABLE ENGINE=x started failing instead of producing warning... · 61acb436
      Sergei Golubchik authored
      MDEV-31822 ALTER TABLE ENGINE=x started failing instead of producing warning on unsupported TRANSACTIONAL=1
      
      make TRANSACTIONAL table option behave similar to other engine-defined
      table options. If the engine doesn't suport it:
      * if specified expicitly in CREATE or ALTER - it's ER_UNKNOWN_OPTION
      * an error or a warning depending on sql_mode IGNORE_BAD_TABLE_OPTIONS
      * in ALTER TABLE from the engine that suppors it to the engine that
        doesn't - silently preserved (no warning)
      * it is commented out in SHOW CREATE unless IGNORE_BAD_TABLE_OPTIONS
      61acb436
    • Sergei Golubchik's avatar
      MDEV-18114 Foreign Key Constraint actions don't affect Virtual Column · da09ae05
      Sergei Golubchik authored
      * invoke check_expression() for all vcol_info's in
        mysql_prepare_create_table() to check for FK CASCADE
      * also check for SET NULL and SET DEFAULT
      * to check against existing FKs when a vcol is added in ALTER TABLE,
        old FKs must be added to the new_key_list just like other indexes are
      * check columns recursively, if vcol1 references vcol2,
        flags of vcol2 must be taken into account
      * remove check_table_name_processor(), put that logic under
        check_vcol_func_processor() to avoid walking the tree twice
      da09ae05
  5. 01 Aug, 2023 9 commits
  6. 31 Jul, 2023 6 commits
  7. 30 Jul, 2023 3 commits
  8. 29 Jul, 2023 1 commit
  9. 28 Jul, 2023 1 commit
  10. 27 Jul, 2023 2 commits
  11. 26 Jul, 2023 4 commits
  12. 25 Jul, 2023 3 commits
    • Oleksandr Byelkin's avatar
      new WolfSSL v5.6.3-stable · 2a46b358
      Oleksandr Byelkin authored
      2a46b358
    • Brandon Nesterenko's avatar
      MDEV-30619: Parallel Slave SQL Thread Can Update Seconds_Behind_Master with Active Workers · 063f4ac2
      Brandon Nesterenko authored
      MDEV-31749 sporadic assert in MDEV-30619 new test
      
      If the workers of a parallel replica are busy (potentially with long
      queues), but the SQL thread has no events left to distribute (so it
      goes idle), then the next event that comes from the primary will
      update mi->last_master_timestamp with its timestamp, even if the
      workers have not yet finished.
      
      This patch changes the parallel replica logic which updates
      last_master_timestamp after idling from using solely sql_thread_caught_up
      (added in MDEV-29639) to using the latter with rli queued/dequeued
      event counters.
      That is, if  the queued count is equal to the dequeued count, it
      means all events have been processed and the replica is considered
      idle when the driver thread has also distributed all events.
      
      Low level details of the commit include
      - to make a more generalized test for Seconds_Behind_Master on
        the parallel replica, rpl_delayed_parallel_slave_sbm.test
        is renamed to rpl_parallel_sbm.test for this purpose.
      - pause_sql_thread_on_next_event usage was removed
        with the MDEV-30619 fixes. Rather than remove it, we adapt it
        to the needs of this test case
      - added test case to cover SBM spike of relay log read and LMT
        update that was fixed by MDEV-29639
      - rpl_seconds_behind_master_spike.test is made to use
        the negate_clock_diff_with_master debug eval.
      
      Reviewed By:
      ============
      Andrei Elkin <andrei.elkin@mariadb.com>
      063f4ac2
    • Yuchen Pei's avatar
      MDEV-31400 Simple plugin dependency resolution · 734583b0
      Yuchen Pei authored
      We introduce simple plugin dependency. A plugin init function may
      return HA_ERR_RETRY_INIT. If this happens during server startup when
      the server is trying to initialise all plugins, the failed plugins
      will be retried, until no more plugins succeed in initialisation or
      want to be retried.
      
      This will fix spider init bugs which is caused in part by its
      dependency on Aria for initialisation.
      
      The reason we need a new return code, instead of treating every
      failure as a request for retry, is that it may be impossible to clean
      up after a failed plugin initialisation. Take InnoDB for example, it
      has a global variable `buf_page_cleaner_is_active`, which may not
      satisfy an assertion during a second initialisation try, probably
      because InnoDB does not expect the initialisation to be called
      twice.
      734583b0
  13. 24 Jul, 2023 2 commits
  14. 23 Jul, 2023 2 commits
    • Georg Richter's avatar
      Remove CLIENT_SSL_VERIFY_SERVER_CERT · 1c9002cf
      Georg Richter authored
      Since TLS server certificate verification is a client
      only option, this flag is removed in both client (C/C)
      and MariaDB server capability flags.
      
      This patch reverts commit 89d759b9
      (MySQL Bug #21543) and stores the server certificate validation
      option in mysql->options.extensions.
      1c9002cf
    • Georg Richter's avatar
      Remove CLIENT_SSL_VERIFY_SERVER_CERT · 8b01c296
      Georg Richter authored
      Since TLS server certificate verification is a client
      only option, this flag is removed in both client (C/C)
      and MariaDB server capability flags.
      
      This patch reverts commit 89d759b9
      (MySQL Bug #21543) and stores the server certificate validation
      option in mysql->options.extensions.
      8b01c296
  15. 21 Jul, 2023 2 commits