1. 19 Apr, 2020 10 commits
  2. 18 Apr, 2020 2 commits
  3. 17 Apr, 2020 3 commits
    • Kentoku SHIBA's avatar
      MDEV-20502 Queries against spider tables return wrong values for columns... · 181f17c3
      Kentoku SHIBA authored
      MDEV-20502 Queries against spider tables return wrong values for columns following constant declarations.
      
      When executing a query like "select id, 0 as const, val from ...", there are 3 columns(items) in Query->select at handlerton->create_group_by(). After that, MariaDB makes a temporary table with 2 columns. The skipped items are const item, so fixing Spider to skip const items for items at Query->select.
      181f17c3
    • Kentoku SHIBA's avatar
      b4dd996d
    • Vladislav Vaintroub's avatar
      Post-fixes for MDEV-18851 for Windows · e2a932c9
      Vladislav Vaintroub authored
      - On Windows, do not handle lack of SeLockMemory privilege as fatal error.
      Just like on any other platform, there is a fallback to ordinary pages.
      It is better than server that does not start, silently.
      
      - On Windows, remove incorrect  irritating "fallback to conventional pages failed"
      from the warning, when allocating large pages fails.
      e2a932c9
  4. 14 Apr, 2020 4 commits
    • Marko Mäkelä's avatar
      MDEV-22242 B-trees can become extremely skewed · 2f7d91bb
      Marko Mäkelä authored
      The test innodb.innodb_wl6326 that had been disabled in 10.4 due to
      MDEV-21535 is failing on 10.5 due to a different reason: the removal
      of the MLOG_COMP_END_COPY_CREATED operations in MDEV-12353
      commit 276f996a caused PAGE_LAST_INSERT
      to be set to something nonzero by the function page_copy_rec_list_end().
      
      This in turn would cause btr_page_get_split_rec_to_right() to behave
      differently: we would not attempt to split the page at all, but simply
      insert the new record into the new, empty, right leaf page.
      
      Even though the change reduced the sizes of some tables, it is better
      to aim for balanced trees.
      
      page_copy_rec_list_end(), PageBulk::finishPage():
      Preserve PAGE_LAST_INSERT, PAGE_N_DIRECTION, PAGE_DIRECTION.
      
      PageBulk::finish(): Move some common code from PageBulk::finishPage().
      2f7d91bb
    • Otto Kekäläinen's avatar
      MDEV-22150: Symlink and move test client plugins to client plugin path · 87a7968c
      Otto Kekäläinen authored
      Without this, the mtr will fail to load client plugins and the following
      tests would fail:
      
      - main.plugin_auth_qa_2
      - main.plugin_auth_qa_3
      - main.plugin_auth
      - plugins.multiauth
      - plugins.auth_ed25519
      87a7968c
    • Vicențiu Ciorbaru's avatar
      Specify a new client_plugindir path, to be used during testing · 8447edb7
      Vicențiu Ciorbaru authored
      When testing installed packages, the client (mariadb or mysql) can have
      plugins stored in a separate location compared to server. This change
      ensures that the correct paths are used for the plugin-dir directive in
      the my.cnf generated by mysql-test-run.
      
      The directives in my.cnf will be replaced like so:
      
      [client]
      plugin-dir=$client_plugindir
      
      [mysqld]
      plugin-dir=$plugindir
      
      where $<variable-name> corresponds to the variable name in mtr.
      8447edb7
    • Vicențiu Ciorbaru's avatar
      Update dialog to not provide plugin-dir path to mysqltest · 609a9312
      Vicențiu Ciorbaru authored
      plugin-dir is provided via --defaults-file=<config-file> already part of
      the exec call.
      609a9312
  5. 13 Apr, 2020 1 commit
    • Otto Kekäläinen's avatar
      MDEV-22053: Pass INSTALL_LAYOUT "DEB" correctly to CONC (libmariadb) · 4bc31a90
      Otto Kekäläinen authored
      As this was missing, the libmariadb/install.cmake section for Debian
      builds was not triggered at all, and existing fixes to make the
      Debian paths correct did not apply.
      
      Update libmariadb3 paths in Debian packaging after MariaDB Connector C
      3.1.8 upgrade
      
      Also now include caching_sha2_password.so which was previously omitted.
      
      Keep old libmariadbclient.a as symbolic link for backwards compatibility.
      
      Closes: CONC-304
      Related: CONC-456, MDEV-22150
      4bc31a90
  6. 12 Apr, 2020 2 commits
    • Sergei Golubchik's avatar
      cleanup: comments · 91e79dff
      Sergei Golubchik authored
      91e79dff
    • Sergei Golubchik's avatar
      MDEV-22218 InnoDB: Failing assertion: node->pcur->rel_pos == BTR_PCUR_ON upon... · fcd84da5
      Sergei Golubchik authored
      MDEV-22218 InnoDB: Failing assertion: node->pcur->rel_pos == BTR_PCUR_ON upon LOAD DATA with NO_BACKSLASH_ESCAPES in SQL_MODE and unique blob in table
      
      `inited == NONE` at the initialization time does not always mean
      that it'll be `NONE` later, at the execution time. Use a more complex
      caller-specific logic to decide whether to create a cloned lookup handler.
      
      Besides LOAD (as in the original bug report) make sure that all
      prepare_for_insert() invocations are covered by tests. Add tests for
      CREATE ... SELECT, multi-UPDATE, and multi-DELETE.
      
      Don't enable write cache with long uniques.
      fcd84da5
  7. 11 Apr, 2020 2 commits
  8. 10 Apr, 2020 5 commits
    • Vladislav Vaintroub's avatar
      remove debugging message · 364e7a9a
      Vladislav Vaintroub authored
      364e7a9a
    • Vladislav Vaintroub's avatar
      Windows build - use InstallRequiredSystemLibraries for MSVC_CRT_TYPE=/MD · 3ab21fd4
      Vladislav Vaintroub authored
      CMake parameter
      
      This includes compiler-specific dependencies
      - tiny part of CRT, mostly memcpy/memset in msvcr140.dll
      - exception handling in msvc140_1.dll
      - C++ standard library in msvcp140
      not much else
      
      CMake is smart enough to copy the dependencies into the bin directory
      itself.
      3ab21fd4
    • Vladislav Vaintroub's avatar
      MDEV-22214 mariadbd.exe calls function mysqld.exe, and crashes · 93efbc39
      Vladislav Vaintroub authored
      Stop linking plugins to the server executable on Windows.
      Instead, extract whole server functionality into a large DLL, called
      server.dll. Link both plugins, and small server "stub" exe to it.
      
      This eliminates plugin dependency on the name of the server executable.
      It also reduces the size of the packages (since tiny mysqld.exe
      and mariadbd.exe are now both linked to one big DLL)
      
      Also, simplify the functionality of exporing all symbols from selected
      static libraries. Rely on WINDOWS_EXPORT_ALL_SYMBOLS, rather than old
      self-backed solution.
      
      fix compile error
      
      replace GetProcAddress(GetModuleHandle(NULL), "variable_name")
      for server exported data with actual variable names.
      
      Runtime loading was never required,was error prone
      , since symbols could be missing at runtime, and now it actually failed,
      because we do not export symbols from executable anymore, but from a shared
      library
      
      This did require a MYSQL_PLUGIN_IMPORT decoration for the plugin,
      but made the code more straightforward, and avoids missing symbols at
      runtime (as mentioned before).
      
      The audit plugin is still doing some dynamic loading, as it aims to work
      cross-version. Now it won't work cross-version on Windows, as it already
      uses some symbols that are *not* dynamically loaded, e.g fn_format
      and those symbols now exported from server.dll , when earlier they were
      exported by mysqld.exe
      
      Windows, fixes for storage engine plugin loading
      after various rebranding stuff
      
      Create server.dll containing functionality of the whole server
      make mariadbd.exe/mysqld.exe a stub that is only  calling mysqld_main()
      
      fix build
      93efbc39
    • Vladislav Vaintroub's avatar
    • Vladislav Vaintroub's avatar
      CMake : Do not add compile flags, such as -Wconversion with ADD_DEFINITIONS · 11cebb4a
      Vladislav Vaintroub authored
      This broke clang-cl, apparently when compiling version resource file with
      RC tool, because RC would not aceept -Wxxx at all.
      11cebb4a
  9. 09 Apr, 2020 2 commits
  10. 08 Apr, 2020 9 commits