1. 05 Jan, 2017 3 commits
  2. 04 Jan, 2017 2 commits
  3. 03 Jan, 2017 1 commit
    • Marko Mäkelä's avatar
      MDEV-11694 InnoDB tries to create unused table SYS_ZIP_DICT · 80d5d145
      Marko Mäkelä authored
      MariaDB Server 10.0.28 and 10.1.19 merged code from Percona XtraDB
      that introduced support for compressed columns. Much but not all
      of this code was disabled by placing #ifdef HAVE_PERCONA_COMPRESSED_COLUMNS
      around it.
      
      Among the unused but not disabled code is code to access
      some new system tables related to compressed columns.
      
      The creation of these system tables SYS_ZIP_DICT and SYS_ZIP_DICT_COLS
      would cause a crash in --innodb-read-only mode when upgrading
      from an earlier version to 10.0.28 or 10.1.19.
      
      Let us remove all the dead code related to compressed columns.
      Users who already upgraded to 10.0.28 and 10.1.19 will have the two
      above mentioned empty tables in their InnoDB system tablespace.
      Subsequent versions of MariaDB Server will completely ignore those tables.
      80d5d145
  4. 01 Jan, 2017 2 commits
    • Elena Stepanova's avatar
      MDEV-10100 main.pool_of_threads fails sporadically in buildbot · 3871477c
      Elena Stepanova authored
      The patch fixes two test failures:
      - on slow builders, sometimes a connection attempt which should
        fail due to the exceeded number of thread_pool_max_threads
        actually succeeds;
      - on even slow builders, MTR sometimes cannot establish the
        initial connection, and check-testcase fails prior to the
        test start
      
      The problem with check-testcase was caused by connect-timeout=2
      which was set for all clients in the test config file. On slow
      builders it might be not enough.
      There is no way to override it for the pre-test check, so it needed
      to be substantially increased or removed.
      
      The other problem was caused by a race condition between sleeps
      that the test performs in existing connections and the connect
      timeout for the connection attempt which was expected to fail.
      If sleeps finished before the connect-timeout was exceeded, it
      would allow the connection to succeed.
      
      To solve each problem without making the other one worse,
      connect-timeout should be configured dynamically during the test.
      Due to the nature of the test (all connections must be busy
      at the moment when we need to change the timeout, and cannot execute
      SET GLOBAL ...), it needs to be done independently from the server.
      
      The solution:
      - recognize 'connect_timeout' as a connection option in mysqltest's
        "connect" command;
      - remove connect-timeout from the test configuration file;
      - use the new connect_timeout option for those connections which
        are expected to fail;
      - re-arrange the test flow to allow running a huge SLEEP
        without affecting the test execution time (because it would be
        interrupted after the main test flow is finished).
      
      The test is still subject to false negatives, e.g. if the connection
      fails due to timeout rather than due to the exceeded number of
      allowed threads, or if the connection on extra port succeeds due
      to a race condition and not because the special logic for the extra
      port. But those false negatives have always been possible there
      on slow builders, they should not be critical because faster builders
      should catch such failures if they appear.
      3871477c
    • Sachin Setiya's avatar
      MDEV-11636 Extra persistent columns on slave always gets NULL in RBR · d02a77bc
      Sachin Setiya authored
      Problem:- In replication if slave has extra persistent column then these
      column are not computed while applying write-set from master.
      
      Solution:- While applying row events from server, we will generate values
      for extra persistent columns.
      d02a77bc
  5. 27 Dec, 2016 1 commit
  6. 19 Dec, 2016 1 commit
    • Marko Mäkelä's avatar
      MDEV-11602 InnoDB leaks foreign key metadata on DDL operations · 9f863a15
      Marko Mäkelä authored
      Essentially revert MDEV-6759, which addressed a double free of memory
      by removing the freeing altogether, introducing the memory leaks.
      No double free was observed when running the test suite -DWITH_ASAN.
      
      Replace some mem_heap_free(foreign->heap) with dict_foreign_free(foreign)
      so that the calls can be located and instrumented more easily when needed.
      9f863a15
  7. 10 Dec, 2016 1 commit
    • Vicențiu Ciorbaru's avatar
      MDEV-11533: Roles with trailing white spaces are not cleared correctly · eb4f2e06
      Vicențiu Ciorbaru authored
      Role names with trailing whitespaces are truncated in length as of
      956e92d9 to fix MDEV-8609. The problem
      is that the code that creates role mappings expects the string to be null
      terminated.
      
      Add the null terminator to account for that as well. In the future
      the rest of the code can be cleaned up to never assume c style strings
      but only LEX_STRINGS.
      eb4f2e06
  8. 09 Dec, 2016 1 commit
  9. 08 Dec, 2016 2 commits
    • Sergei Golubchik's avatar
      MDEV-10713: signal 11 error on multi-table update - crash in... · 03dabfa8
      Sergei Golubchik authored
      MDEV-10713: signal 11 error on multi-table update - crash in handler::increment_statistics or in make_select or assertion failure pfs_thread == ((PFS_thread*) pthread_getspecific((THR_PFS)))
      
      Different fix. Don't allow Item_func_sp to be evaluated unless
      all tables are prelocked.
      
      Extend the test case to make sure Item_func_sp::val_str is called
      (the table must have at least one row for that).
      03dabfa8
    • Sergei Golubchik's avatar
      Revert "MDEV-10713: signal 11 error on multi-table update - crash in... · ab65db6d
      Sergei Golubchik authored
      Revert "MDEV-10713: signal 11 error on multi-table update - crash in handler::increment_statistics or in make_select or assertion failure pfs_thread == ((PFS_thread*) pthread_getspecific((THR_PFS)))"
      
      This reverts commit 035a5ac6.
      
      Two minor problems and one regression:
      1. caching the value in str_result. Other Item methods may use it,
         destroying the cache. See, for example, Item::save_in_field, where
         str_result is moved to use a local buffer (this failed main.grant)
      2. Item_func_conv_charset::safe is now set too late, it's initialized
         only in val_str() but checked before that, this failed many tests
         in optimized builds.
      
      to fix 1 - use tmp_result instead of str_result, to fix 2, use
      the else branch in the Item_func_conv_charset constructor to set
      safe purely from charset properties.
      
      But this introduces a regression, constant strings can no longer be
      converted, say, from utf8 to latin1 (because 'safe' will be false).
      This fails few tests too. There is no way to fix it without reverting
      the commit and converting constants, as before, in the constructor.
      ab65db6d
  10. 07 Dec, 2016 6 commits
  11. 06 Dec, 2016 5 commits
  12. 05 Dec, 2016 2 commits
    • Sergei Golubchik's avatar
      MDEV-10293 'setupterm' was not declared in this scope · 18cdff67
      Sergei Golubchik authored
      Check for readline before checking for curses headers, because
      MYSQL_CHECK_READLINE fails when curses is not found, but
      CHECK_INCLUDE_FILES simply remembers the fact and continues.  So if
      there's no curses, MYSQL_CHECK_READLINE will abort, the user will then
      installs curses and continue the build. Thus, CHECK_INCLUDE_HEADERS
      will remember that there is no curses, but other checks from
      MYSQL_CHECK_READLINE will remember that curses are there. It will
      result in inconsistent HAVE_xxx defines.
      18cdff67
    • Sergei Golubchik's avatar
      02d153c7
  13. 04 Dec, 2016 4 commits
  14. 03 Dec, 2016 3 commits
  15. 02 Dec, 2016 2 commits
  16. 01 Dec, 2016 2 commits
  17. 29 Nov, 2016 2 commits