1. 13 Feb, 2019 5 commits
    • Vladislav Vaintroub's avatar
      Fix compilation on old gcc · d28dab76
      Vladislav Vaintroub authored
      d28dab76
    • Jan Lindström's avatar
      Merge pull request #1182 from grooverdan/10.4-friendlier-wsrep-message · 91451739
      Jan Lindström authored
      cmake-wsrep: friendly error message about missing wsrep_api.h
      91451739
    • Varun Gupta's avatar
      MDEV-6111 Optimizer Trace · be8709eb
      Varun Gupta authored
      This task involves the implementation for the optimizer trace.
      
      This feature produces a trace for any SELECT/UPDATE/DELETE/,
      which contains information about decisions taken by the optimizer during
      the optimization phase (choice of table access method, various costs,
      transformations, etc). This feature would help to tell why some decisions were
      taken by the optimizer and why some were rejected.
      
      Trace is session-local, controlled by the @@optimizer_trace variable.
      To enable optimizer trace we need to write:
         set @@optimizer_trace variable= 'enabled=on';
      
      To display the trace one can run:
         SELECT trace FROM INFORMATION_SCHEMA.OPTIMIZER_TRACE;
      
      This task also involves:
          MDEV-18489: Limit the memory used by the optimizer trace
          introduces a switch optimizer_trace_max_mem_size which limits
          the memory used by the optimizer trace. This was implemented by
          Sergei Petrunia.
      be8709eb
    • Varun Gupta's avatar
      Extending the API for json_writer by introdcing · 6b979416
      Varun Gupta authored
      classes for Json_writer_object and Json_writer_array.
      These classes will be used for the implementation
      of the optimizer trace.
      6b979416
    • Daniel Black's avatar
      cmake-wsrep: friendly error message about missing wsrep_api.h · 4f5c6536
      Daniel Black authored
      Without this commit the error message is:
      
      $ cmake . -DWITH_WSREP=ON
      -- Running cmake version 3.12.1
      -- MariaDB 10.4.3
      CMake Error at cmake/wsrep.cmake:36 (FILE):
        FILE STRINGS file
        ".../mariadb-server-10.4/wsrep-lib/wsrep-API/v26/wsrep_api.h"
        cannot be read.
      Call Stack (most recent call first):
        CMakeLists.txt:147 (INCLUDE)
      
      Having 'git config cmake.update-submodules yes' nicely updates the
      build without error.
      
      $ cmake . -DWITH_WSREP=ON
      -- Running cmake version 3.12.1
      -- MariaDB 10.4.3
      Submodule path 'wsrep-lib': checked out 'e7d72ae7f6a6995a21d743389426a963429a1fff'
      Submodule path 'wsrep-lib/wsrep-API/v26': checked out '75a5f452f2ba07b0f4a3a9a94825fccc71b27398'
      4f5c6536
  2. 12 Feb, 2019 8 commits
  3. 11 Feb, 2019 6 commits
  4. 08 Feb, 2019 8 commits
  5. 07 Feb, 2019 5 commits
  6. 06 Feb, 2019 5 commits
  7. 05 Feb, 2019 1 commit
  8. 04 Feb, 2019 2 commits
    • Sergei Golubchik's avatar
      MDEV-11340 Allow multiple alternative authentication methods for the same user · 7075d7fc
      Sergei Golubchik authored
      test a multi-auth with a missing auth plugin on the client
      
      update (and simplify) plugin_auth.test to match
      7075d7fc
    • Sergei Golubchik's avatar
      MDEV-11340 Allow multiple alternative authentication methods for the same user · 5b15cc61
      Sergei Golubchik authored
      introduce the syntax
      
      ... IDENTIFIED { WITH | VIA }
            plugin [ { USING | AS } auth ]
       [ OR plugin [ { USING | AS } auth ]
       [ OR ... ]]
      
      Server will try auth plugins in the specified order until the first
      success. No protocol changes, server uses the existing "switch plugin"
      packet.
      
      The auth chain is stored in json as
      
        "auth_or":[{"plugin":"xxx","authentication_string":"yyy"},
                   {},
                   {"plugin":"foo","authentication_string":"bar"},
                  ...],
        "plugin":"aaa", "authentication_string":"bbb"
      
      Note:
      * "auth_or" implies that there might be "auth_and" someday;
      * one entry in the array is an empty object, meaning to take plugin/auth
        from the main json object. This preserves compatibility with
        the existing mysql.global_priv table and with the mysql.user view.
        This entry is preferrably a mysql_native_password plugin for a
        non-empty mysql.user.password column.
      
      SET PASSWORD is supported and changes the password for the *first*
      plugin in the chain that has a notion of a "password"
      5b15cc61