1. 15 Apr, 2014 6 commits
    • 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
  2. 14 Apr, 2014 2 commits
  3. 13 Apr, 2014 1 commit
  4. 11 Apr, 2014 1 commit
  5. 10 Apr, 2014 3 commits
  6. 09 Apr, 2014 1 commit
  7. 08 Apr, 2014 3 commits
  8. 07 Apr, 2014 3 commits
  9. 11 Apr, 2014 4 commits
  10. 10 Apr, 2014 1 commit
  11. 03 Apr, 2014 1 commit
  12. 27 Mar, 2014 1 commit
  13. 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
  14. 25 Mar, 2014 3 commits
  15. 24 Mar, 2014 6 commits
  16. 23 Mar, 2014 1 commit