1. 11 Apr, 2020 1 commit
  2. 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
  3. 09 Apr, 2020 2 commits
  4. 08 Apr, 2020 14 commits
  5. 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
  6. 06 Apr, 2020 5 commits
  7. 05 Apr, 2020 8 commits
  8. 04 Apr, 2020 2 commits
    • Otto Kekäläinen's avatar
      4ac76936
    • Otto Kekäläinen's avatar
      Deb: Build depend on libcurl4-openssl-dev as primary option · b541defe
      Otto Kekäläinen authored
      The package libcurl4-dev is a virtual package, and no package with that
      name actually exists. Depend on libcurl4-openssl-dev as the primary
      option in case no libcurl4-dev providing package has been installed, and
      if some of them (libcurl4-gnutls-dev, libcurl4-nss-dev,
      libcurl4-openssl-dev ) are installed, they also satisfy the dependency
      via the virtual package.
      
      The Travis-CI still runs on libcurl3-dev as Travis-CI also runs Ubuntu
      Xenial which does not yet have libcurl4 available.
      
      This complements commit 2e0a40bd.
      b541defe