1. 22 Feb, 2021 6 commits
  2. 18 Feb, 2021 2 commits
  3. 17 Feb, 2021 3 commits
  4. 16 Feb, 2021 4 commits
    • Marko Mäkelä's avatar
      MDEV-15641 fixup: Make the test faster · 067465cd
      Marko Mäkelä authored
      Let us avoid the excessive allocation of explicit record locks
      (a work-around of MDEV-24813) so that the test will execute
      much faster under AddressSanitizer, MemorySanitizer, Valgrind.
      067465cd
    • Varun Gupta's avatar
      MDEV-23291: SUM column from a derived table returns invalid values · 3544643f
      Varun Gupta authored
      The issue here was the read_set bitmap was not set for a field which
      was used as a reference in an inner select.
      We need to make sure that if we are in an inner select and we have
      references from outer select then we update the table bitmaps for
      such references.
      
      Introduced a function in the class Item_subselect that would
      update bitmaps of table for the references within a
      subquery that are defined in outer selects.
      3544643f
    • Varun Gupta's avatar
      MDEV-24779: main.subselect fails in buildbot with --ps-protocol · 7e9a6b7f
      Varun Gupta authored
      Follow-up fix to commit 26f50335(MDEV-23449)
      The GROUP BY clause inside IN/ALL/ANY subquery is removed
      when there is no aggregate function or HAVING clause in the subquery.
      
      When the GROUP BY clause is removed, a subquery can also be removed
      if it part of the GROUP BY clause. This is done inside the function
      remove_redundant_subquery_clauses. Here we walk over the GROUP BY list
      and remove a subselect from its unit via the callback function
      eliminate_subselect_processor.
      
      The issue here was that when the query was being re-executed it was trying
      to reinitialize the select that was removed as stated above.
      This is not required, so the fix would be to remove select_lex
      both from tree lex structure and the global list of nodes so that
      we don't do the reinitialization again.
      7e9a6b7f
    • Varun Gupta's avatar
      MDEV-19474: Histogram statistics are used even with optimizer_use_condition_selectivity=3 · a461e4d3
      Varun Gupta authored
      The issue here was histogram statistics were being used even when
      the level of optimizer_use_condition_selectivity doesn't allow
      usage of statistics from histogram.
      
      The histogram statistics are read for a table only when
      optimizer_use_condition_selectivity > 3. But the TABLE structure can be
      stored in the internal table cache and be reused for the next query.
      So in this case the histogram statistics will be available for the next query.
      
      The fix would be to make sure to use the histogram statistics only when
      optimizer_use_condition_selectivity > 3.
      a461e4d3
  5. 15 Feb, 2021 2 commits
  6. 12 Feb, 2021 3 commits
  7. 11 Feb, 2021 2 commits
    • Julius Goryavsky's avatar
      MDEV-19950: Galera test failure on galera_ssl_upgrade · 95003eab
      Julius Goryavsky authored
      The test requires adaptation for MariaDB, which is done
      in this patch. In addition, this patch includes a fix for
      the SST script startup code that adds escaping for special
      characters on the command line (in case they are contained
      in the arguments to mysqld). The fix does not require
      separate tests, as the required tests are already part
      of the mtr suite for Galera.
      95003eab
    • Jan Lindström's avatar
      Update Galera disabled.def · 362dcf9e
      Jan Lindström authored
      362dcf9e
  8. 08 Feb, 2021 1 commit
  9. 07 Feb, 2021 1 commit
    • Marko Mäkelä's avatar
      Make innodb_gis.rtree_purge run faster · 739abf51
      Marko Mäkelä authored
      A locking SELECT from an InnoDB table is very slow especially
      in debug builds. Replacing some INSERT...SELECT should not reduce
      the test coverage, because the test will still do DELETE
      (which will acquire explicit record locks).
      739abf51
  10. 05 Feb, 2021 5 commits
  11. 03 Feb, 2021 1 commit
    • Sujatha's avatar
      MDEV-22741: *SAN: ERROR: AddressSanitizer: use-after-poison on address in... · eef4c5d3
      Sujatha authored
      MDEV-22741: *SAN: ERROR: AddressSanitizer: use-after-poison on address in instrings/strmake.c:36 from change_master (on optimized builds)
      
      Problem:
      ========
      CHANGE MASTER TO MASTER_USER='root', MASTER_SSL=0, MASTER_SSL_CA='',
        MASTER_SSL_CERT='', MASTER_SSL_KEY='', MASTER_SSL_CRL='',
        MASTER_SSL_CRLPATH='';
      
      CHANGE MASTER TO MASTER_USER='root', MASTER_PASSWORD='', MASTER_SSL=0;
      
      use-after-poison is reported for lex_mi->ssl_crl
      
      File: sql_repl.cc
      
      if (lex_mi->ssl_crl)
        strmake_buf(mi->ssl_crl, lex_mi->ssl_crl);
      
      Analysis:
      ========
      At the end of CHANGE MASTER statement execution, the LEX_MASTER_INFO
      parameters are reset so that the next query will have a clean state. But
      'ssl_crl' and 'ssl_crl_path' members of LEX_MASTER_INFO object are not
      cleared during 'LEX_MASTER_INFO::reset'. Hence when a new CHANGE MASTER
      statement is executed, the stale value of lex_mi->ssl_crl is used, so ASAN
      reports use-after-poison.
      
      Fix:
      ===
      Clear 'ssl_crl' and 'ssl_crl_path' as part of 'reset'.
      eef4c5d3
  12. 02 Feb, 2021 3 commits
  13. 01 Feb, 2021 3 commits
  14. 31 Jan, 2021 1 commit
    • Varun Gupta's avatar
      MDEV-23449: alias do not exist and a query do not report an error · 26f50335
      Varun Gupta authored
      For an IN/ANY/ALL subquery without an aggregate function and HAVING clause,
      the GROUP BY clause is removed.
      Due to the GROUP BY list being removed, the invalid reference in the GROUP BY
      clause was never resolved.
      Remove the GROUP BY list only when the all the items in the GROUP BY list
      are resolved.
      Also removing the GROUP BY list later would not affect the extension that allows
      using non-aggregated field in an aggregate function (when ONLY_FULL_GROUP_BY
      is not set) because the GROUP BY list is removed only when their is
      NO aggregate function in IN/ALL/ANY subquery.
      26f50335
  15. 30 Jan, 2021 3 commits
    • Varun Gupta's avatar
      MDEV-22583: Selectivity for BIT columns in filtered column for EXPLAIN is incorrect · 072b39da
      Varun Gupta authored
      For BIT columns when EITS is collected, we store the integral value in
      text representation in the min and max fields of the statistical table
      When this value is retrieved from the statistical table to original table
      field then we try to store the text representation in the original field
      which is INCORRECT.
      
      The value that is retrieved should be converted to integral type and that
      value should be stored back in the original field. This would get us the
      correct estimate for selectivity of the predicate.
      072b39da
    • Olivier Bertrand's avatar
      Fix failed test bson and xml · c2aecb05
      Olivier Bertrand authored
      c2aecb05
    • Varun Gupta's avatar
      MDEV-11172: EXPLAIN shows non-sensical value for key_len with type=index · b87c342d
      Varun Gupta authored
      The issue happens when the secondary keys are extended with primary
      key parts. Inside the function TABLE_SHARE::init_from_binary_frm_image()
      adds the length bytes for the primary key key parts to the length of the
      secondary key. This is not needed because when the extended keys are
      used we recalculate the length for the used key parts.
      
      Also removed TABLE_SHARE::total_key_length as it is not used in the code
      Apporved-by: default avatarMonty <monty@mariadb.org>
      b87c342d