1. 29 Dec, 2017 1 commit
  2. 28 Dec, 2017 6 commits
  3. 27 Dec, 2017 3 commits
    • Igor Babaev's avatar
      Fixed the bug MDEV-14755 Crash when executing prepared statement · bbb8c9d7
      Igor Babaev authored
      for a query that uses CTE
      
      The first reference to a CTE in the processed query uses the unit
      built by the parser for the CTE specification. This unit is
      considered as the specification of the derived table created for
      the first reference of the CTE. This requires some transformation of
      the original query tree: the unit of the specification must be moved
      to a new position as a slave of the select where the first reference
      to the CTE occurs. The transformation is performed by the function
      st_select_lex_node::move_as_slave(). There was an obvious bug in this
      function. As a result of this bug in many cases the moved unit turned
      out to be lost in the query tree. This could cause different problems.
      In particular the prepared statements for queries that used CTEs could
      miss cleanup for some selects that was performed at the end of the
      preparation/execution of the PSs. If such cleanup is not done for a PS
      the next execution of the PS causes an assertion abort or a crash.
      bbb8c9d7
    • Vicențiu Ciorbaru's avatar
      d1c2cd30
    • Alexander Barkov's avatar
      MDEV-14249 Wrong character set info of Query_log_event and the query in... · 02b7dc7b
      Alexander Barkov authored
      MDEV-14249 Wrong character set info of Query_log_event and the query in Query_log_event constructed by different charsets cause error when slave apply the event.
      02b7dc7b
  4. 25 Dec, 2017 9 commits
  5. 23 Dec, 2017 2 commits
  6. 22 Dec, 2017 5 commits
  7. 21 Dec, 2017 10 commits
  8. 20 Dec, 2017 4 commits
    • Sergei Petrunia's avatar
      Better comments part #2 · 207976d6
      Sergei Petrunia authored
      207976d6
    • Sergei Petrunia's avatar
      Better comments part #1 · e27e7ec7
      Sergei Petrunia authored
      e27e7ec7
    • Sergei Petrunia's avatar
    • Sachin Setiya's avatar
      MDEV-13478 Full SST sync fails because of the error in the cleaning part · 2a4faa8a
      Sachin Setiya authored
      Problem:
       The command was:
          find $paths -mindepth 1 -regex $cpat -prune -o -exec rm -rf {} \+
       Which was supposed to work as
          * skipping $paths directories themselves (-mindepth 1)
          * see if the dir/file name matches $cpat (-regex)
          * if yes - don't dive into the directory, skip it (-prune)
          * otherwise (-o)
          * remove it and everything inside (-exec)
       Now -exec ... \+ works like this:
          every new found path is appended to the end of the command line.
          when accumulated command line length reaches `getconf ARG_MAX` (~2Gb)
          it's executed, and find continues, appending to a new command line.
      
       What happens here, find appends some directory to the command line,
       then dives into it, and starts appending files from that directory.
       At some point command line overflows, rm -rf gets executed and removes
       the whole directory. Now find tries to continue scanning the directory
       that was already removed.
      
      Fix: don't dive into directories that will be recursively removed
      anyway, use -prune for them. Basically, we should be pruning both paths
      that have matched $cpat and paths that have not matched it. This is
      achived by pruning unconditionally, before the regex is tested:
          find $paths -mindepth 1 -prune -regex $cpat -o -exec rm -rf {} \+
      
      Patch Credit:- Serg
      2a4faa8a