1. 03 Feb, 2017 5 commits
    • Marko Mäkelä's avatar
      MDEV-11947 InnoDB purge workers fail to shut down · bc12d993
      Marko Mäkelä authored
      srv_release_threads(): Actually wait for the threads to resume
      from suspension. On CentOS 5 and possibly other platforms,
      os_event_set() may be lost.
      
      srv_resume_thread(): A counterpart of srv_suspend_thread().
      Optionally wait for the event to be set, optionally with a timeout,
      and then release the thread from suspension.
      
      srv_free_slot(): Unconditionally suspend the thread. It is always
      in resumed state when this function is entered.
      
      srv_active_wake_master_thread_low(): Only call os_event_set().
      
      srv_purge_coordinator_suspend(): Use srv_resume_thread() instead
      of the complicated logic.
      bc12d993
    • Marko Mäkelä's avatar
      MDEV-11782 Work-in-progress (test only). · 3ebe0820
      Marko Mäkelä authored
      Test server startup with an empty encrypted redo log from 10.1.21.
      FIXME: Pass the encryption parameters. Currently we only test startup
      without properly set up encryption.
      3ebe0820
    • Marko Mäkelä's avatar
      52855048
    • Igor Babaev's avatar
      Fixed bug mdev-9923. · fd7accab
      Igor Babaev authored
      Partition and order lists of a window specification cannot
      use constant integer to refer to select list elements.
      fd7accab
    • Igor Babaev's avatar
      Fixed bug mdev-11594. · 5606f878
      Igor Babaev authored
      Using window functions over results of implicit groupings
      required special handling in JOIN::make_aggr_tables_info.
      The patch made sure that the result of implicit grouping
      was written into a temporary table properly.
      5606f878
  2. 02 Feb, 2017 3 commits
    • Alexey Botchkov's avatar
      MDEV-11938 json.json_no_table crashes or fails with valgrind warnings in... · d123ed85
      Alexey Botchkov authored
      MDEV-11938 json.json_no_table crashes or fails with valgrind warnings in json_find_path / Item_func_json_length::val_int.
      
              Paths with quoted keynames handled improperly.
      d123ed85
    • Marko Mäkelä's avatar
      Extend the innodb.log_corruption test. · 650ffcd3
      Marko Mäkelä authored
      Remove the dependency on unzip. Instead, generate the InnoDB files
      with perl.
      
      log_block_checksum_is_ok(): Correct the error message.
      
      recv_scan_log_recs(): Remove the duplicated error message for
      log block checksum mismatch.
      
      innobase_start_or_create_for_mysql(): If the server is in read-only
      mode or if innodb_force_recovery>=3, do not try to modify the system
      tablespace. (If the doublewrite buffer or the non-core system tables
      do not exist, do not try to create them.)
      
      innodb_shutdown(): Relax a debug assertion. If the system tablespace
      did not contain a doublewrite buffer and if we started up in
      innodb_read_only mode or with innodb_force_recovery>=3, it will not
      be created.
      
      dict_create_or_check_sys_tablespace(): Set the flag
      srv_sys_tablespaces_open when the tables exist.
      650ffcd3
    • Igor Babaev's avatar
      Fixed bug mdev-11867. · 8481c70e
      Igor Babaev authored
      If a window function with aggregation is over the result
      set of a grouping query then the argument of the aggregate
      function from the window function is allowed to be an
      aggregate function itself.
      8481c70e
  3. 01 Feb, 2017 11 commits
    • Igor Babaev's avatar
      69114862
    • Nirbhay Choubey's avatar
    • Georg Richter's avatar
      Fix for MDEV-11174: · 23628d12
      Georg Richter authored
      A GCM encrypted ciphertext must contain an authentication tag with AES_BLOCK_SIZE length, so we need to check that the length of ciphertext is at least AES_BLOCK_SIZE.
      23628d12
    • Marko Mäkelä's avatar
      Clean up a test. · e1977712
      Marko Mäkelä authored
      Import and adapt the changes from MySQL 5.7.
      e1977712
    • Marko Mäkelä's avatar
      Shut down InnoDB after aborted startup. · 81b7fe9d
      Marko Mäkelä authored
      This fixes memory leaks in tests that cause InnoDB startup to fail.
      
      buf_pool_free_instance(): Also free buf_pool->flush_rbt, which would
      normally be freed when crash recovery finishes.
      
      fil_node_close_file(), fil_space_free_low(), fil_close_all_files():
      Relax some debug assertions to tolerate !srv_was_started.
      
      innodb_shutdown(): Renamed from innobase_shutdown_for_mysql().
      Changed the return type to void. Do not assume that all subsystems
      were started.
      
      que_init(), que_close(): Remove (empty functions).
      
      srv_init(), srv_general_init(): Remove as global functions.
      
      srv_free(): Allow srv_sys=NULL.
      
      srv_get_active_thread_type(): Only return SRV_PURGE if purge really
      is running.
      
      srv_shutdown_all_bg_threads(): Do not reset srv_start_state. It will
      be needed by innodb_shutdown().
      
      innobase_start_or_create_for_mysql(): Always call srv_boot() so that
      innodb_shutdown() can assume that it was called. Make more subsystems
      dependent on SRV_START_STATE_STAT.
      
      srv_shutdown_bg_undo_sources(): Require SRV_START_STATE_STAT.
      
      trx_sys_close(): Do not assume purge_sys!=NULL. Do not call
      buf_dblwr_free(), because the doublewrite buffer can exist while
      the transaction system does not.
      
      logs_empty_and_mark_files_at_shutdown(): Do a faster shutdown if
      !srv_was_started.
      
      recv_sys_close(): Invoke dblwr.pages.clear() which would normally
      be invoked by buf_dblwr_process().
      
      recv_recovery_from_checkpoint_start(): Always release log_sys->mutex.
      
      row_mysql_close(): Allow the subsystem not to exist.
      81b7fe9d
    • Marko Mäkelä's avatar
      MDEV-11671 Duplicated message for innodb_page_size · 774056c8
      Marko Mäkelä authored
      Display a NOTE, not a WARNING for non-default page size.
      774056c8
    • Marko Mäkelä's avatar
      Actually invoke free() in ut_allocator::deallocate(). · 16bc16f9
      Marko Mäkelä authored
      The necessary call was inadvertently commented out in a
      merge of MySQL 5.7.14 to MariaDB 10.2.1
      (commit fec844ac).
      16bc16f9
    • Marko Mäkelä's avatar
      Make the innochecksum tests more robust. · a5d8dc18
      Marko Mäkelä authored
      As noted in MDEV-11947, we should disable the InnoDB doublewrite buffer
      during the tests, because when rewriting page checksums, innochecksum
      would skip the pages that are in the doublewrite buffer area. Because
      the doublewrite buffer is emptied on server startup and not shutdown,
      we should initially start with the doublewrite buffer disabled, so that
      there will be no warning messages for wrong page checksums in the
      doublewrite buffer.
      
      Also, correct the obvious typo where restart_options should have been
      $restart_parameters, so that InnoDB is actually verifying that the
      checksums were rewritten.
      a5d8dc18
    • Igor Babaev's avatar
      Adjusted tests after the fix for bug mdev-9976. · ba8ab6a7
      Igor Babaev authored
      Now ROWS is a reserved key word, so cannot be used
      as an alias name.
      ba8ab6a7
    • Igor Babaev's avatar
      Fixed bug mdev-9976. · 9073f9fd
      Igor Babaev authored
      This bug happens due to a conflict in the construct window_spec.
      (win_ref conflicts with the non-reserved key word ROWS).
      The standard SQL-2003 says that ROWS is a reserved key word.
      Made this key word reserved in our grammar and removed
      the conflict.
      9073f9fd
    • Igor Babaev's avatar
      Fixed bug mdev-10875. · 81c1abe8
      Igor Babaev authored
      Now, after the implementation of mdev-8646
      "Re-engineer the code for post-join operations"
      create_sort_index() can be called for subqueries.
      81c1abe8
  4. 31 Jan, 2017 4 commits
  5. 30 Jan, 2017 5 commits
  6. 29 Jan, 2017 3 commits
  7. 28 Jan, 2017 3 commits
    • Igor Babaev's avatar
      Fixed bug mdev-10773. · abfcdb8f
      Igor Babaev authored
      The temporary tables created for recursive table references
      should be closed in close_thread_tables(), because they might
      be used in the statements like ANALYZE WITH r AS (...) SELECT * from r
      where r is defined through recursion.
      abfcdb8f
    • Sergei Golubchik's avatar
      mysqlbinlog memory leaks · 64b5e942
      Sergei Golubchik authored
      that failed main.mysqlbinlog
      64b5e942
    • Sergei Golubchik's avatar
      cleanup: thd_destructor_proxy · 30ba3100
      Sergei Golubchik authored
      1. wait for thd_destructor_proxy thread to start after creating it.
         this ensures that the thread is ready to receive a shutdown signal
         whenever we want to send it.
      2. join it at shutdown, this guarantees that no innodb THD will exist
         after innobase_end().
      
      this fixes crashes and memory leaks in main.mysqld_option_err
      (were innodb was started and then immediately shut down).
      30ba3100
  8. 27 Jan, 2017 6 commits