1. 13 Feb, 2019 2 commits
    • 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
  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 5 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
    • Sergei Golubchik's avatar
      upgrade C/C to 3.1 · 798d1a9d
      Sergei Golubchik authored
      798d1a9d
    • Sergei Golubchik's avatar
      cleanup: sys_vars.cc · 3416e8ac
      Sergei Golubchik authored
      add DEPRECATED() warning for variables with "deprecated" in the
      help text. Remove redundant initializers.
      3416e8ac
    • Sergei Golubchik's avatar
      Fix the bug introduced in MDEV-17658 · 9c9b4590
      Sergei Golubchik authored
      if auth_root_socket is set, root user should be using unix_socket
      
      Followup for 4abb8216
      9c9b4590