1. 14 Nov, 2015 1 commit
  2. 13 Nov, 2015 9 commits
  3. 10 Nov, 2015 11 commits
  4. 09 Nov, 2015 1 commit
    • Nirbhay Choubey's avatar
      MDEV-9021: MYSQLD SEGFAULTS WHEN BUILT USING --WITH-MAX-INDEXES=128 · 7ec65585
      Nirbhay Choubey authored
      The bitmap implementation defines two template Bitmap classes. One
      optimized for 64-bit (default) wide bitmaps while the other is used for
      all other widths.
      
      In order to optimize the computations, Bitmap<64> class has defined its
      own member functions for bitmap operations, the other one, however,
      relies on mysys' bitmap implementation (mysys/my_bitmap.c).
      
      Issue 1:
      In case of non 64-bit Bitmap class, intersect() wrongly reset the
      received bitmap while initialising a new local bitmap structure
      (bitmap_init() clears the bitmap buffer) thus, the received bitmap was
      getting cleared.
      
      Fixed by initializing the local bitmap structure by using a temporary
      buffer and later copying the received bitmap to the initialised bitmap
      structure.
      
      Issue 2:
      The non 64-bit Bitmap class had the Iterator missing which caused
      compilation failure.
      
      Also added a cmake variable to hold the MAX_INDEXES value when supplied
      from the command prompt. (eg. cmake .. -DMAX_INDEXES=128U). Checks have
      been put in place to trigger build failure if MAX_INDEXES value is
      greater than 128.
      
      Test modifications:
      * Introduced include/have_max_indexes_[64|128].inc to facilitate
      skipping of tests for which the output differs with different
      MAX_INDEXES.
      
      * Introduced include/max_indexes.inc which would get modified by cmake
      to reflect the MAX_INDEXES value used to build the server. This file
      simply sets an mtr variable '$max_indexes' to show the MAX_INDEXES
      value, which will then be consumed by the above introduced include file.
      
      * Some tests (portions), dependent on MAX_INDEXES value, have been moved
      to separate test files.
      7ec65585
  5. 07 Nov, 2015 2 commits
  6. 06 Nov, 2015 7 commits
    • Elena Stepanova's avatar
    • Sergei Petrunia's avatar
      Merge pull request #112 from openquery/MDEV-8981 · 4e421687
      Sergei Petrunia authored
      MDEV-8981: Analyze stmt - cycles can overflow
      4e421687
    • Sergey Vojtovich's avatar
      MDEV-9082 - Debian: mysql_install_db is called on upgrade · b80cc31a
      Sergey Vojtovich authored
      A comment in debian/mariadb-server-10.1.postinst says: "can safely run on
      upgrades with existing databases". While this is true there're a few reasons not
      to do that:
      - it increases installation time (it has to run rather heavy mysqld multiple times)
      - as well as it increases mysqld downtime
      - it may fail if database has some plugin specific configs (see MDEV-8437)
      - there should be no need to run this script on upgrade: they should be handled
        by mysql_upgrade to
      - RPM postin doesn't call it if database directory exists
      
      Also postinst is not supposed to create database directories: let
      mysql_install_db do that intead.
      b80cc31a
    • Sergey Vojtovich's avatar
      MDEV-9080 - Debian: incorrect empty password check in postinst · 7f5e005d
      Sergey Vojtovich authored
      There was code that was supposed to "catch upgrades from previous versions where
      the root password wasn't set". But it is wrong in many regards:
      - it is supposed to be executed against running server, but at this point server
        should be down, which makes this code no-op
      - if the above is fixed, root password will be requested twice (initial root
        password request + this one)
      - it asks for a password only once, while "initial root password request" asks
        twice (password + password verification)
      - it may give false positive if unix socket based authentication is in effect
      
      Removed this code since it didn't work for quite a while (at least since
      mysql-5.1) and nobody cared about it.
      7f5e005d
    • Sergey Vojtovich's avatar
      MDEV-8437 - plugin variables conflict with bootstrap · 60ad3398
      Sergey Vojtovich authored
      There is no strong need to change password column: the only side effect is
      that 4.0 -> 10.1 upgrades may get root/debian-sys-maint passwords stored in old
      format. This should be perfectly acceptable, since all password at this point
      are stored in old format.
      60ad3398
    • Sergey Vojtovich's avatar
      MDEV-8437 - plugin variables conflict with bootstrap · 8e40f9b7
      Sergey Vojtovich authored
      Removed redundant attempt to create mysql.plugin table:
      - original code was supposed to INSTALL some plugins:
        INSERT INTO plugin VALUES ('innodb', 'ha_innodb.so'),
          ('federated', 'ha_federated.so'), ('blackhole', 'ha_blackhole.so'),
          ('archive', 'ha_archive.so');
      - original code was supposed to fail if mysql.plugin exists:
        The query sequence is supposed to be aborted if the CREATE TABLE fails due
        to an already existent table in which case the admin might already have
        chosen to remove one or more plugins.
      - mysql.plugin must've been created by preceeding mysql_install_db anyway
      8e40f9b7
    • Nirbhay Choubey's avatar
      MDEV-8975: 10.1 Fails To Join Existing Galera Cluster · 5079d69d
      Nirbhay Choubey authored
      During the process of guessing the IP address, if bind-address
      is INADDR_ANY, mysqld should proceed with address specified via
      wsrep_node_address or use one from network interfaces.
      
      Patch contributed by darkain (pull#115).
      5079d69d
  7. 05 Nov, 2015 1 commit
    • Jan Lindström's avatar
      MDEV-9040: 10.1.8 fails after upgrade from 10.0.21 · 25f87381
      Jan Lindström authored
      Analysis: Lengths which are not UNIV_SQL_NULL, but bigger than the following
      number indicate that a field contains a reference to an externally
      stored part of the field in the tablespace. The length field then
      contains the sum of the following flag and the locally stored len.
      
      This was incorrectly set to
      
      define UNIV_EXTERN_STORAGE_FIELD (UNIV_SQL_NULL - UNIV_PAGE_SIZE_MAX)
      
      When it should be
      
      define UNIV_EXTERN_STORAGE_FIELD (UNIV_SQL_NULL - UNIV_PAGE_SIZE_DEF)
      
      Additionally, we need to disable support for > 16K page size for
      row compressed tables because a compressed page directory entry
      reserves 14 bits for the start offset and 2 bits for flags.
      This limits the uncompressed page size to 16k. To support
      larger pages page directory entry needs to be larger.
      25f87381
  8. 04 Nov, 2015 2 commits
    • Nirbhay Choubey's avatar
      MDEV-9026: Revert patch for MDEV-6069 · f9e320c8
      Nirbhay Choubey authored
      Post-fix:
      Reverting the patch for MDEV-6069 brought some ALTERs with
      ENGINE=MYISAM back into the mysql_system_tables_fix.sql
      script. As a result, running mysql_upgrade with global
      enforce_storage_engine=INNODB (or any other non-MyISAM
      engine, for that matter) would fail.
      
      Fixed by locally unsetting enforce_storage_engine in the
      upgrade script.
      f9e320c8
    • Vladislav Vaintroub's avatar
      MDEV-8738 Application Verifier stop during server shutdown · 1216429c
      Vladislav Vaintroub authored
      The verifier exception is caused by using thread local storage key
      after key was deleted.
      
      my_free() used current_thd within malloc size callback, which does
      pthread_get_specific(THR_THD), but THR_THD is already deleted at this
      point.
      
      The fix moves pthread_key_delete() to a later point in shutdown.
      1216429c
  9. 03 Nov, 2015 6 commits