1. 18 Apr, 2014 1 commit
  2. 17 Apr, 2014 1 commit
    • Igor Babaev's avatar
      Fixed bugs mdev-5927 and mdev-6116. · 13dc299a
      Igor Babaev authored
      Both bugs are caused by the same problem: the function optimize_cond() should
      update the value of *cond_equal rather than the value of join->cond_equal,
      because it is called not only for the WHERE condition, but for the HAVING
      condition as well.
      13dc299a
  3. 16 Apr, 2014 1 commit
  4. 15 Apr, 2014 7 commits
    • Alexey Botchkov's avatar
      MDEV-4856 SQL_ERROR_LOG shows 1146 errors which didnt appear in mysql client. · 142c20ed
      Alexey Botchkov authored
          The fill_schema_table() function used to call get_table_share() for a table name in WHERE
          then clear the error list. That way plugins receive the superfluous error notification if it
          happens in it. Also the problem was that error handler didn't prevent the suppressed
          error message from logging anyway as the logging happens in THD::raise_condition
          before the handler call.
          Trigger_error_handler is remade into Warnings_only_error_handler, so it stores the error
          message in all cases in the thd->stmt_da.
          Then later the stored error is raised.
      142c20ed
    • Alexey Botchkov's avatar
      MDEV-5138 Numerous test failures in "mtr --ps --embedded". · 708ba733
      Alexey Botchkov authored
           If a prepared statement calls an stored procedure,
           the thd->server_status out of the SP goes up
           to the PS and then to the client. So that the
           client gets the SERVER_STATUS_CURSOR_EXISTS status
           if the SP uses a cursor. Which makes the embedded
           server fail.
           Fixed by saving/restoring the upper-level server_status
           in sp_head::execute().
      708ba733
    • Alexey Botchkov's avatar
      MDEV-5138 Numerous test failures in "mtr --ps --embedded". · 9d32b8b2
      Alexey Botchkov authored
           Thread can be disconnected internally for example after COMMIT statements.
           So we should check this for the statement execution.
      9d32b8b2
    • Alexey Botchkov's avatar
      MDEV-5138 Numerous test failures in "mtr --ps --embedded". · 8a6a95a1
      Alexey Botchkov authored
          mysqltest in the 'embedded-server' mode runs queries in a separate thread,
          but it didn't do so for the prepared statements - they were run in the main thread.
          That leads to inconsistencies.
          When a test sets SESSION 'dbug' variable like
                  SET SESSION debug_dbug="+d,warn_during_ha_commit_trans";
          it is run as a plain query in that separate thread, so the main thread remains unaffected.
          After that the prepared statement run in the main thread doesn't produce expected 'dbug' errors,
          so the test fails.
          To fix that I made prepared statement to be run in that special thread along with the plain queries.
          That makes the environment consistent.
      8a6a95a1
    • Alexey Botchkov's avatar
      MDEV-5138 Numerous test failures in "mtr --ps --embedded". · 365960a0
      Alexey Botchkov authored
        As Davi added code like
                sav_protocol= thd->protocol
                thd->protocol= &thd->protocol_binary
                ...
                thd->protocol= sav_protocol
        the fucntions like emb_store_querycache_result() cannot determine
        the used protocol testing thd->protocol == &thd->protocol_binary.
        Fixed by additional check thd->command == COM_STMT_EXECUTE.
      365960a0
    • Alexey Botchkov's avatar
      MDEV-5138 Numerous test failures in "mtr --ps --embedded". · 7d103311
      Alexey Botchkov authored
              The function Protocol::net_store_data(a, b, CHARSET_A, CHARSET_B) should
              be adapted to be working in the embedded server as it's done
              with the Protocol::net_store_data(a, b).
              That new function renamed as net_store_data_cs, so we can make it
              virtual.
      7d103311
    • unknown's avatar
      MDEV-5991: crash in Item_field::used_tables · 05722f06
      unknown authored
      Units of subqueroes from excluded expressions should be excluded from select_lex/select_unit tree.
      05722f06
  5. 14 Apr, 2014 2 commits
  6. 13 Apr, 2014 1 commit
  7. 11 Apr, 2014 4 commits
  8. 10 Apr, 2014 3 commits
  9. 09 Apr, 2014 1 commit
  10. 08 Apr, 2014 3 commits
  11. 07 Apr, 2014 3 commits
  12. 11 Apr, 2014 1 commit
  13. 10 Apr, 2014 1 commit
  14. 03 Apr, 2014 1 commit
  15. 27 Mar, 2014 1 commit
  16. 26 Mar, 2014 3 commits
    • Sergei Golubchik's avatar
      MDEV-5955 Server crashes in handler::ha_external_lock or assertion... · 44002a34
      Sergei Golubchik authored
      MDEV-5955 Server crashes in handler::ha_external_lock or assertion `m_lock_type == 2' fails in handler::ha_close on disconnect with a locked temporary table
      
      first unlock locked tables, then close and remove temporary
      44002a34
    • Michael Widenius's avatar
      MDEV-5905: Creating tmp. memory table kills the server · ded448d1
      Michael Widenius authored
      The reason was that a couple of variables that hold number of rows that was used to calculate buffers was uint and caused an overflow.
      
      Fixed by changing variables that could hold number of rows from uint to ulong and also added a cast for this test.
      
      include/heap.h:
        Reorder to get better alignment. Changed variables that could hold number of rows from uint to ulong
      mysql-test/suite/heap/heap.result:
        Added test case
      mysql-test/suite/heap/heap.test:
        Added test case
      mysql-test/suite/plugins/t/server_audit.test:
        Added sleep as we want to have disconnect logged before we try a new connect
      storage/heap/ha_heap.cc:
        Changed variables that could hold number of rows from uint to ulong
        Limit number of rows to 4G  (as most of the variables that holds rows are ulong anyway)
        reset records_changed when key_stat_version is changed to not cause increments for every row changed
      storage/heap/ha_heap.h:
        changed records_changed to ulong as this can get big
      storage/heap/hp_create.c:
        Changed variables that could hold number of rows from uint to ulong
        Added cast (fixed the original bug)
      storage/heap/hp_delete.c:
        Changed variables that could hold number of rows from uint to ulong
      storage/heap/hp_open.c:
        Removed not needed cast
      storage/heap/hp_write.c:
        Changed variables that could hold number of rows from uint to ulong
      support-files/compiler_warnings.supp:
        Removed extra : from supression
      ded448d1
    • Sergei Golubchik's avatar
  17. 25 Mar, 2014 3 commits
  18. 24 Mar, 2014 3 commits