1. 19 May, 2020 3 commits
    • Alexander Barkov's avatar
      49b29e35
    • Alexander Barkov's avatar
      810b7f8e
    • Alexander Barkov's avatar
      MDEV-21995 Server crashes in Item_field::real_type_handler with table value constructor · 06fb78c6
      Alexander Barkov authored
      1. Code simplification:
      
      Item_default_value handled all these values:
      a. DEFAULT(field)
      b. DEFAULT
      c. IGNORE
      and had various conditions to distinguish (a) from (b) and from (c).
      
      Introducing a new abstract class Item_contextually_typed_value_specification,
      to handle (b) and (c), so the hierarchy now looks as follows:
      
      Item
        Item_result_field
          Item_ident
            Item_field
              Item_default_value                      - DEFAULT(field)
        Item_contextually_typed_value_specification
          Item_default_specification                  - DEFAULT
          Item_ignore_specification                   - IGNORE
      
      2. Introducing a new virtual method is_evaluable_expression() to
      determine if an Item is:
      - a normal expression, so its val_xxx()/get_date() methods can be called
      - or a just an expression substitute, whose value methods cannot be called.
      
      3. Disallowing Items that are not evalualble expressions in table value
         constructors.
      06fb78c6
  2. 18 May, 2020 21 commits
  3. 17 May, 2020 5 commits
    • Otto Kekäläinen's avatar
      Travis-CI: Remove builds that always fail to make CI useful again · c995090a
      Otto Kekäläinen authored
      Also clean away dead code that is not used and will never have any use
      on the 10.2 branch.
      c995090a
    • Otto Kekäläinen's avatar
      Travis-CI: Shorten deb build log to keep it under 4 MB · 8d056aff
      Otto Kekäläinen authored
      There is a 4 MB hard limit on Travis-CI and build output needs to be less
      than that. Silencing the 'make install' step gets rid of a lot of
      "Installing.." and "Missing.." and removing all mysql-test files will
      make the dh_missing warnings much shorter.
      
      Cherry-picked from 41952c85.
      8d056aff
    • Otto Kekäläinen's avatar
      Travis-CI: Add missing build dependency dh-exec · 9ddeccc2
      Otto Kekäläinen authored
      Backported from 30b44aae.
      9ddeccc2
    • Varun Gupta's avatar
      MDEV-22556: Incorrect result for window function when using encrypt-tmp-files=ON · 0a5668f5
      Varun Gupta authored
      The issue here is that end_of_file for encrypted temporary IO_CACHE (used by filesort) is updated
      using lseek.
      Encryption adds storage overhead and hides it from the caller by recalculating offsets and lengths.
      Two different IO_CACHE cannot possibly modify the same file
      because the encryption key is randomly generated and stored in the IO_CACHE.
      So when the tempfiles are encrypted DO NOT use lseek to change end_of_file.
      
      Further observations about updating end_of_file using lseek
      1) The end_of_file update is only used for binlog index files
      2) The whole point is to update file length when the file was modified via a different file descriptor.
      3) The temporary IO_CACHE files can never be modified via a different file descriptor.
      4) For encrypted temporary IO_CACHE, end_of_file should not be updated with lseek
      0a5668f5
    • Thirunarayanan Balathandayuthapani's avatar
      MDEV-21269 Parallel merging of fts index rebuild fails · 4f26aea5
      Thirunarayanan Balathandayuthapani authored
      Problem:
      =======
        - During alter rebuild, document read from old table is tokenzied
      parallelly by innodb_ft_sort_pll_degree threads and stores it
      in respective merge files. While doing the parallel merge, InnoDB
      wrongly skips the root level selection of merging buffer records.
      So it leads to insertion of merge records in non-ascending order.
      
      Solution:
      ==========
        Build selection tree for the root level also. So that root of
      selection tree can always contain sorted buffer.
      4f26aea5
  4. 16 May, 2020 11 commits
    • Otto Kekäläinen's avatar
      MDEV-21976: Re-disable main.udf, reverts mistake in merge b30a0131 · 5d85bc08
      Otto Kekäläinen authored
      This test was disabled in a135f0ab, but
      accidentally reverted during the merge in
      https://github.com/MariaDB/server/compare/0186b0a07760...b30a01314217
      
      Because it was a 3-way merge, the removal is not directly visible.
      It can be verified manually though:
      
        Line not changed:
        git diff a135f0ab..0186b0a0 mysql-test/unstable-tests
      
        Line removed:
        git diff a135f0ab..b30a0131 mysql-test/unstable-tests
      
      
      This commit fixes the Travis-CI build and makes the main 10.5 git branch
      green again on Travis-CI (and whatever else build environment that also
      is failing due to this test).
      
      Related: MDEV-22592
      5d85bc08
    • Alexander Barkov's avatar
      54c169a9
    • Otto Kekäläinen's avatar
      Deb: Create empty migrated-from-my.cnf-settings.conf for Buildbot tests · 91446c82
      Otto Kekäläinen authored
      The buildbot.askmonty.org has explicit tests that check that this file
      exists, thus to get tests pass, an empty placeholder must be created.
      Remove this once CI has been updated not to expect this file.
      91446c82
    • Otto Kekäläinen's avatar
      Deb: Stop using mariadb-service-convert · dab5698b
      Otto Kekäläinen authored
      We can't expect that users want to always convert their mysqld_safe
      settings on an upgrade. In its current form it will always run, and that
      seems unnecessary on every single installation.
      
      Also the script is buggy, leaks mysqld_safe output into the written file
      and since it gets syntax errors the whole mariadb.service will fail to
      work.
      dab5698b
    • Otto Kekäläinen's avatar
      Deb: Add manually dh_systemd_start snippets · 69964c44
      Otto Kekäläinen authored
      These do now show up automatically due to init and systemd customizations,
      so the handiest fix is to add them manually. This has been the praxis
      in downstream MariaDB packaging for a couple years now, and works fine.
      
      - Ensure service is loaded and started after installation,
        (fixes service start issues in Debian/Ubuntu upgrades where
        otherwise service mysql status stayed stopped)
      
      - Ensure service stopped before removal/purge
        (fixes unstopped processes detected by piuparts)
      
      - Ensure systemd daemon is reloaded after removal/purge when service
        has been removed
      69964c44
    • Otto Kekäläinen's avatar
      Deb: Add support for legacy init systems again · 764dd39c
      Otto Kekäläinen authored
      Partially reverts commit a4cc6fb9.
      
      While all current versions of Linux have systemd, support for traditional
      init.d is still needed e.g. on Linux subsystem on Windows, kFreeBSD and
      special variants of Debian/Ubuntu that for other reasons don't have
      systemd.
      
      Thus, re-introduce the init file that was remove, but this time with
      then name 'mariadb'.
      
      Supporting traditional sysv init in paraller with systemd is easy, since
      Debian has facilities for it.
      
      Also simplify and update salsa-ci.yml install/upgrade testing works
      for all previous MariaDB and MySQL releases without any excess quirks.
      
      Note that in fresh installs the salsa-ci.yml needs to run command
      'service mariadb status' to control the service, while on upgrades
      it is enough to run 'service mysql status', since the init.d/mysql
      file is left behind from previous install, along with some other
      config files such as /etc/default/mysql and /etc/mysql/* stuff.
      764dd39c
    • Alexander Barkov's avatar
      Merge remote-tracking branch 'origin/10.1' into 10.2 · bf8ae812
      Alexander Barkov authored
      Also, adding 10.2 related changes for MDEV-22579
      bf8ae812
    • Marko Mäkelä's avatar
      Merge 10.3 into 10.4 · 66f1e288
      Marko Mäkelä authored
      66f1e288
    • Marko Mäkelä's avatar
      Merge 10.3 into 10.4 · 9e6e4355
      Marko Mäkelä authored
      We will expose some more std::atomic internals in Atomic_counter,
      so that dict_index_t::lock will support the default assignment operator.
      9e6e4355
    • Marko Mäkelä's avatar
      Merge 10.2 into 10.3 · 38d62189
      Marko Mäkelä authored
      38d62189
    • Marko Mäkelä's avatar
      Merge 10.3 into 10.4 · 4f29d776
      Marko Mäkelä authored
      4f29d776