1. 20 Dec, 2022 1 commit
    • Dmitry Shulga's avatar
      MDEV-5816: Stored programs: validation of stored program statements · 584f57a2
      Dmitry Shulga authored
      This is the prerequisite patch to move the sp_instr class and classes derived
      from it into the files sp_instr.cc/sp_instr.h. The classes sp_lex_cursor and
      sp_lex_keeper have been also moved to the files files sp_instr.cc/sp_instr.h.
      
      Additionally,
        * all occurrences of macroses NULL, FALSE, TRUE have been replaced
          with the corresponding C++ keywords nullptr, false, true.
        * the keyword 'override' has been added in and the keyword 'virtual' removed
          from signatures of every virtual method implemented in classes derived
          from the base class sp_instr.
        * trivial destructors like
           virtual ~sp_instr_stmt() {}
          have been removed for every class derived from the base class sp_instr
          since they are meaningless.
        * added the keyword 'final' into declaration of the class sp_lex_keeper
          since this class shouldn't have a derived class by design.
        * made the function cmp_rqp_locations as static since it is not called
          outside the file sp_instr.cc.
        * moved the function subst_spvars() into the file sp_instr.cc since this
          function is used only by the class sp_instr_stmt that is located
          in the file sp_instr.cc.
      584f57a2
  2. 19 Dec, 2022 1 commit
    • Dmitry Shulga's avatar
      MDEV-5816: Stored programs: validation of stored program statements · bda2ce67
      Dmitry Shulga authored
      This is the prerequisite patch to make interface of the class
      Reprepare_observer more like the one used by MySQL.
      
      This patch adds the method can_retry() to the class Reprepare_observer
      that returns true in case max. number of attempts to re-run a failing
      statement is not yet reached. To control a number of re-run attempts
      already done the data member m_attempt has been introduced. Doing this way,
      we encapsulate activity with incrementing a counter on every statement
      run and checking whether it reaches a limit or not inside implementation
      of the class Reprepare_observer instead duplicating such boiler plate code
      in every place where controlling for reaching a limit of max. number attempts
      for re-running failed statement is required.
      bda2ce67
  3. 16 Dec, 2022 7 commits
  4. 15 Dec, 2022 6 commits
  5. 14 Dec, 2022 22 commits
  6. 13 Dec, 2022 3 commits