1. 08 Nov, 2022 10 commits
  2. 07 Nov, 2022 6 commits
  3. 05 Nov, 2022 1 commit
    • Vladislav Vaintroub's avatar
      MDEV-29951 server hang in crash handler · 92be8d20
      Vladislav Vaintroub authored
      When trying to output stacktrace, and addr2line is not installed, the
      child process forked by start_addr2line_fork() will fail to do exec(),
      and finish with exit(1).
      
      There is a problem with exit() though - it runs exit handlers,
      and for the forked copy of crashing process, it is a bad idea.
      
      In 10.5+ code for example, exit handlers include
      tpool::task_group static destructors, and it will hang infinitely
      waiting for completion of the outstanding tasks.
      
      The fix is to use _exit() instead, which skips the execution of exit
      handlers
      92be8d20
  4. 03 Nov, 2022 1 commit
  5. 02 Nov, 2022 2 commits
  6. 01 Nov, 2022 1 commit
    • Sergei Golubchik's avatar
      MDEV-29924 Assertion `(((nr) % (1LL << 24)) % (int) log_10_int[6 - dec]) == 0'... · 1a3859ff
      Sergei Golubchik authored
      MDEV-29924 Assertion `(((nr) % (1LL << 24)) % (int) log_10_int[6 - dec]) == 0' failed in my_time_packed_to_binary on SELECT when using TIME field
      
      when assigning the cached item to the Item_cache for the first time
      make sure to use Item_cache::setup(), not Item_cache::store().
      Because the former copies the metadata (and allocates memory, in case
      of Item_cache_row), and Item_cache::decimal must be set for
      comparisons to work correctly.
      1a3859ff
  7. 31 Oct, 2022 1 commit
    • Oleg Smirnov's avatar
      MDEV-29624 MDEV-29655 Fix ASAN errors on pushdown of derived table · 0d927a57
      Oleg Smirnov authored
      Deallocation of TABLE_LIST::dt_handler and TABLE_LIST::pushdown_derived
      was performed in multiple places if code. This not only made the code
      more difficult to maintain but also led to memory leaks and
      ASAN heap-use-after-free errors.
      This commit puts deallocation of TABLE_LIST::dt_handler and
      TABLE_LIST::pushdown_derived to the single point - JOIN::cleanup()
      0d927a57
  8. 30 Oct, 2022 1 commit
    • Brad Smith's avatar
      Fix warning with signal typedef for *BSD · 7d96cb47
      Brad Smith authored
      /usr/ports/pobj/mariadb-10.9.3/mariadb-10.9.3/mysys/my_lock.c:183:7: warning: incompatible function pointer types assigning to 'sig_return' (aka 'void (*)(void)') from 'void (*)(int)' [-Wincompatible-function-pointer-types]
            ALARM_INIT;
            ^~~~~~~~~~
      /usr/ports/pobj/mariadb-10.9.3/mariadb-10.9.3/include/my_alarm.h:43:16: note: expanded from macro 'ALARM_INIT'
                              alarm_signal=signal(SIGALRM,my_set_alarm_variable);
                                          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      /usr/ports/pobj/mariadb-10.9.3/mariadb-10.9.3/mysys/my_lock.c:189:7: warning: incompatible function pointer types passing 'sig_return' (aka 'void (*)(void)') to parameter of type 'void (*)(int)' [-Wincompatible-function-pointer-types]
            ALARM_END;
            ^~~~~~~~~
      /usr/ports/pobj/mariadb-10.9.3/mariadb-10.9.3/include/my_alarm.h:44:41: note: expanded from macro 'ALARM_END'
                                                    ^~~~~~~~~~~~
      /usr/include/sys/signal.h:199:27: note: passing argument to parameter here
      void    (*signal(int, void (*)(int)))(int);
                                   ^
      2 warnings generated.
      
      The prototype is the same for all of the *BSD's.
      
      void
      (*signal(int sigcatch, void (*func)(int sigraised)))(int);
      7d96cb47
  9. 28 Oct, 2022 1 commit
  10. 27 Oct, 2022 2 commits
  11. 26 Oct, 2022 5 commits
  12. 25 Oct, 2022 9 commits
    • Alexey Botchkov's avatar
      MDEV-26161 crash in Gis_point::calculate_haversine · 77951dd7
      Alexey Botchkov authored
      More checks for bad geometry data added.
      77951dd7
    • Sergei Golubchik's avatar
      MDEV-26161 crash in Gis_point::calculate_haversine · e910dff8
      Sergei Golubchik authored
      return an error on invalid gis data
      e910dff8
    • Igor Babaev's avatar
      MDEV-28846 Poor performance when rowid filter contains no elements · 58cd0bd5
      Igor Babaev authored
      When a range rowid filter was used with an index ref access the cost of
      accessing the index entries for the records rejected by the filter was not
      taken into account. For a ref access by an index with big average number
      of records per key this led to poor execution plans if selectivity of the
      used filter was high.
      The patch resolves this problem. It also introduces a minor optimization
      that skips look-ups into a filter that turns out to be empty.
      With this patch the output of ANALYZE stmt reports the number of look-ups
      into used rowid filters.
      The patch also back-ports from 10.5 the code that properly sets the field
      TABLE::file::table for opened temporary tables.
      
      The test cases that were supposed to use rowid filters have been adjusted
      in order to use similar execution plans after this fix.
      
      Approved by Oleksandr Byelkin <sanja@mariadb.com>
      58cd0bd5
    • Sergei Golubchik's avatar
      cleanup: put casts in a separate statement · 72e79eaa
      Sergei Golubchik authored
      remove useless if()
      72e79eaa
    • Alexander Barkov's avatar
      MDEV-28545 MyISAM reorganize partition corrupt older table format · f1bbc1cd
      Alexander Barkov authored
      The ALTER related code cannot do at the same time both:
      - modify partitions
      - change column data types
      
      Explicit changing of a column data type together with a partition change is
      prohibited by the parter, so this is not allowed and returns a syntax error:
      
        ALTER TABLE t MODIFY ts BIGINT, DROP PARTITION p1;
      
      This fix additionally disables implicit data type upgrade
      (e.g. from "MariaDB 5.3 TIME" to "MySQL 5.6 TIME", or the other way
      around according to the current mysql56_temporal_format) in case of
      an ALTER modifying partitions, e.g.:
      
        ALTER TABLE t DROP PARTITION p1;
      
      In such commands now only the partition change happens, while
      the data types stay unchanged.
      
      One can additionally run:
      
        ALTER TABLE t FORCE;
      
      either before or after the ALTER modifying partitions to
      upgrade data types according to mysql56_temporal_format.
      f1bbc1cd
    • Lawrin Novitsky's avatar
      MDEV-29490 Renaming internally used client API to avoid name conflicts · 1ff476b4
      Lawrin Novitsky authored
      with C/C.
      The patch introduces mariadb_capi_rename.h which is included into
      mysql.h. The hew header contains macro definitions for the names being
      renamed. In versions 10.6+(i.e. where sql service exists) the renaming
      condition in the mariadb_capi_rename.h should be added with
      && !defined(MYSQL_DYNAMIC_PLUGIN)
      and look like
      The patch also contains removal of mysql.h from the api check.
      
      Disabling false_duper-6543 test for embedded.
      
      ha_federated.so uses C API. C API functions are being renamed in the server,
      but not renamed in embedded, since embedded server library should have proper
      C API, as expected by programs using it.
      Thus the same ha_federated.so cannot work both for server and embedded
      server library.
      
      As all federated tests are already disabled for embedded,
      federated isn't supposed to work for embedded anyway, and thus the test
      is being disabled.
      1ff476b4
    • Vladislav Vaintroub's avatar
      MDEV-29811 server advertises ssl even if it's unusable. · 32158be7
      Vladislav Vaintroub authored
      Abort startup, if SSL setup fails.
      Also, for the server always check that certificate matches private key
      (even if ssl_cert is not set, OpenSSL will try to use default one)
      32158be7
    • Jan Lindström's avatar
      Additional fixes · 8c5d3233
      Jan Lindström authored
      * galera_many_rows : reduce the time used
      * wsrep_thd.cc : remove incorrect assertion
      * disabled.def : disable failing test cases
      8c5d3233
    • Marko Mäkelä's avatar
      Merge 10.3 into 10.4 · 667d3fbb
      Marko Mäkelä authored
      667d3fbb