1. 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
  2. 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
  3. 11 Apr, 2020 2 commits
  4. 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
  5. 09 Apr, 2020 2 commits
  6. 08 Apr, 2020 14 commits
  7. 07 Apr, 2020 3 commits
    • Marko Mäkelä's avatar
      0eab87ce
    • Marko Mäkelä's avatar
      MDEV-22169 Recovery fails after failing to insert into mlog_init · 1738c0f1
      Marko Mäkelä authored
      In a multi-batch recovery, we must ensure that INIT_PAGE and
      especially the MDEV-15528 FREE_PAGE records will be taken
      properly into account.
      
      Writing a FREE_PAGE record gives the server permission to omit
      a page write. If recovery insists on applying log to a page
      whose page flush has been omitted, then the consistency checks
      in the application of high-level redo log records (appending
      an undo log record, inserting or deleting an index record)
      will likely fail.
      
      mlog_init_t::add(): Return whether the state was changed.
      
      mlog_init_t::will_avoid_read(): Determine whether a page read
      will be avoided and whether older log records can be safely
      skipped.
      
      recv_sys_t::parse(): Even if store==STORE_NO, process the records
      INIT_PAGE and FREE_PAGE. While processing them, we can delete older
      redo log records for the page. If store!=STORE_NO, we can directly
      skip redo log recods of other types if mlog_init indicates that the
      page will be freed or initialized by at a later LSN.
      
      This fix was developed in cooperation with
      Thirunarayanan Balathandayuthapani.
      1738c0f1
    • Daniel Black's avatar
      MDEV-22010: mtr, "mariadbd" exists in mysys error messages · d848fcad
      Daniel Black authored
      Also executable can change for jemalloc.
      d848fcad
  8. 06 Apr, 2020 5 commits
  9. 05 Apr, 2020 6 commits