1. 24 Jul, 2019 7 commits
    • Marko Mäkelä's avatar
      Reduce the amount of time(NULL) calls for lock processing · 9e5df967
      Marko Mäkelä authored
      lock_t::requested_time: Document what the field is used for.
      
      lock_t::wait_time: Document that the field is only used for
      diagnostics and may be garbage if the system time is being adjusted.
      
      srv_slot_t::suspend_time: Document that this is duplicating
      trx_lock_t::wait_started.
      
      lock_table_print(), lock_rec_print(): Declare in static scope.
      Add a parameter for the current time.
      
      lock_deadlock_check_and_resolve(), lock_deadlock_lock_print(),
      lock_deadlock_joining_trx_print():
      Add a parameter for the current time.
      9e5df967
    • Marko Mäkelä's avatar
      MDEV-14154: Document some time_t fields better · 2b5bc761
      Marko Mäkelä authored
      srv_slot_t::suspend_time, os_aio_slot_t::reservation_time,
      sync_cell_t::reservation_time: Explain what could happen
      if the system time has is being adjusted.
      
      fts_sync_t::start_time: Document that the field is mostly unused.
      2b5bc761
    • Marko Mäkelä's avatar
      Always initialize trx_t::start_time_micro · 10727b69
      Marko Mäkelä authored
      This affects the function has_higher_priority() for internal or
      recovered transactions.
      10727b69
    • Marko Mäkelä's avatar
      Remove ut_usectime(), ut_gettimeofday() · 10ee1b95
      Marko Mäkelä authored
      Replace ut_usectime() with my_interval_timer(),
      which is equivalent, but monotonically counting nanoseconds
      instead of counting the microseconds of real time.
      
      os_event_wait_time_low(): Use my_hrtime() instead of ut_usectime().
      
      FIXME: Set a clock attribute on the condition variable that allows
      a monotonic clock to be chosen as the time base, so that the wait
      is immune to adjustments of the system clock.
      10ee1b95
    • Marko Mäkelä's avatar
      Correct the type of a parameter · e764d5bc
      Marko Mäkelä authored
      e764d5bc
    • Marko Mäkelä's avatar
      MDEV-14154: Remove ut_time_us() · ab6dd774
      Marko Mäkelä authored
      Use microsecond_interval_timer()
      or my_interval_timer() [in nanoseconds] instead.
      ab6dd774
    • Marko Mäkelä's avatar
      Remove unused ut_get_year_month_day() · 86767f4a
      Marko Mäkelä authored
      86767f4a
  2. 23 Jul, 2019 6 commits
  3. 22 Jul, 2019 1 commit
    • Marko Mäkelä's avatar
      MDEV-20102 Phantom InnoDB table remains after interrupted CREATE...SELECT · a5e268a2
      Marko Mäkelä authored
      This is a regression due to MDEV-16515 that affects some versions in
      the MariaDB 10.1 server series starting with 10.1.35, and possibly
      all versions starting with 10.2.17, 10.3.8, and 10.4.0.
      
      The idea of MDEV-16515 is to allow DROP TABLE to be interrupted,
      in case it was stuck due to some concurrent activity. We already
      made some cases of internal DROP TABLE immune to kill in MDEV-18237,
      MDEV-16647, MDEV-17470. We must include the cleanup of
      CREATE TABLE...SELECT in the list of such internal DROP TABLE.
      
      ha_innobase::delete_table(): Pass create_failed=true if the current
      SQL statement is CREATE, so that the table will be dropped.
      
      row_drop_table_for_mysql(): If create_failed=true, do not allow
      the operation to be interrupted.
      a5e268a2
  4. 19 Jul, 2019 1 commit
  5. 18 Jul, 2019 7 commits
  6. 15 Jul, 2019 1 commit
    • Sujatha's avatar
      MDEV-11154: Write_on_release_cache(log_event.cc) function will not write... · 10ebdb7f
      Sujatha authored
      MDEV-11154: Write_on_release_cache(log_event.cc) function will not write "COMMIT", if use "mysqlbinlog ... | mysql ..."
      
      Problem:
      =======
      Executing command, "mysqlbinlog --read-from-remote-server --host='xx.xx.xx.xx'
      --port=3306 --user=xxx --password=xxx --database=mysql --to-last-log
      mysql-bin.000001 --start-position=1098699 --stop-never |mysql -uxxx -pxxx", we
      found that last data read from remote couldn't commit.
      
      Analysis:
      ========
      The purpose of 'Write_on_release_cache' is that the contents of the Cache will
      automatically be written to a dedicated result file on destruction. Flush
      operation on the result file is controlled by a flag 'FLUSH_F'. Events which
      require force flush upon their destruction will have to enable this
      'Write_on_release_cache::FLUSH_F'. At present the 'FLUSH_F' flag is defined as
      an enum as shown below.
      
      enum flag
      {
        FLUSH_F
      };
      
      Since 'FLUSH_F' is the first member without initialization it get the default
      value '0'. Because of this the following flush condition never succeeds.
      
      if (m_flags & FLUSH_F)
        fflush(m_file);
      
      At present the file gets flushed only during my_fclose(result_file) operation.
      When continuous streaming is enabled through --stop-never option it never gets
      flushed and hence events are not replicated.
      
      Fix:
      ===
      Initialize the enum value to non zero value.
      10ebdb7f
  7. 11 Jul, 2019 2 commits
  8. 10 Jul, 2019 4 commits
  9. 09 Jul, 2019 1 commit
    • Varun Gupta's avatar
      MDEV-17963: Assertion `field_pos < field_count' failed in... · fd08f953
      Varun Gupta authored
      MDEV-17963: Assertion `field_pos < field_count' failed in Protocol_text::store, Assertion `field_handlers == 0 || field_pos < field_count'
      
      The problem was that sp_head::MULTI_RESULTS was not set correctly for ANALYZE statement
      with SELECT ... INTO variable.
      This is a follow up fix for MDEV-7023
      fd08f953
  10. 08 Jul, 2019 1 commit
  11. 06 Jul, 2019 1 commit
  12. 05 Jul, 2019 3 commits
  13. 04 Jul, 2019 3 commits
  14. 03 Jul, 2019 1 commit
  15. 02 Jul, 2019 1 commit