1. 07 Oct, 2017 7 commits
  2. 06 Oct, 2017 5 commits
    • Marko Mäkelä's avatar
      MDEV-13512 buf_flush_update_zip_checksum() corrupts SPATIAL INDEX in ROW_FORMAT=COMPRESSED tables · f9b50c06
      Marko Mäkelä authored
      In MariaDB Server 10.1, this problem manifests itself only as
      a debug assertion failure in page_zip_decompress() when an insert
      requires a page to be decompressed.
      
      In MariaDB 10.1, the encryption of InnoDB data files repurposes the
      previously unused field FILE_FLUSH_LSN for an encryption key version.
      This field was only used in the first page of each file of the system
      tablespace. For ROW_FORMAT=COMPRESSED tables, the field was always
      written as 0 until encryption was implemented.
      
      There is no bug in the encryption, because the buffer pool blocks will
      not be written to files. Instead, copies of the blocks will be encrypted.
      In these encrypted copies, the key version field will be updated before
      the buffer is written to the file. The field in the buffer pool is
      basically garbage that does not really matter.
      
      Already in MariaDB 10.0, the memset() calls to reset this unused field
      in buf_flush_update_zip_checksum() and buf_flush_write_block_low()
      are unnecessary, because fsp_init_file_page_low() would guarantee that
      the field is always 0 in the buffer pool (unless 10.1 encryption is
      used).
      
      Removing the unnecessary memset() calls makes page_zip_decompress()
      happy and will prevent a SPATIAL INDEX corruption bug in
      MariaDB Server 10.2. In MySQL 5.7.5, as part of WL#6968, the same
      field was repurposed for an R-tree split sequence number (SSN) and
      these memset() were removed. (Because of the repurposing, MariaDB
      encryption is not available for tables that contain SPATIAL INDEX.)
      f9b50c06
    • Alexander Barkov's avatar
      MDEV-11586 UNION of FLOAT type results in erroneous precision · a659291e
      Alexander Barkov authored
      Fixing the asymmetry in the array field_types_merge_rules[][]
      which caused data loss when mixing FLOAT + BIGINT in UNIONs
      or hybrid functions:
      
      1. FLOAT  + INT    = DOUBLE
      2. FLOAT  + BIGINT = FLOAT
      3. INT    + FLOAT  = DOUBLE
      4. BIGINT + FLOAT  = DOUBLE
      
      Now FLOAT + BIGINT (as in #2) also produces DOUBLE, like the cases #1,#3,#4 do.
      a659291e
    • Alexey Botchkov's avatar
      MDEV-12312 JSON_CONTAINS_PATH does not detect invalid path and returns · 3557de68
      Alexey Botchkov authored
      TRUE.
      
              Let's make empty brackets to be the syntax error in the JSON
              paths.
      3557de68
    • Alexey Botchkov's avatar
      MDEV-13703 Illegal mix of collations for operation 'json_object' on · a3ba8c36
      Alexey Botchkov authored
      using JSON_UNQUOTE as an argument.
      
              The coercibility and repertoire should be set properly for the
              JSON_UNQUOTE.
      a3ba8c36
    • Marko Mäkelä's avatar
      41e581b3
  3. 05 Oct, 2017 4 commits
  4. 04 Oct, 2017 5 commits
  5. 03 Oct, 2017 7 commits
  6. 02 Oct, 2017 9 commits
  7. 01 Oct, 2017 1 commit
    • Martynas Bendorius's avatar
      wrep_sst_common: Setting "-c ''" for my_print_defaults just takes no values... · 36ef89c9
      Martynas Bendorius authored
      wrep_sst_common: Setting "-c ''" for my_print_defaults just takes no values from config at all. $MY_PRINT_DEFAULTS is already set at the top of the script to have --defaults-file and --defaults-extra-file. If WSREP_SST_OPT_CONF if set to "--defaults-file=/etc/my.cnf --defaults-extra-file=/etc/my.extra.cnf", then "my_print_defaults -c "" --defaults-file=/etc/my.cnf" succeeds, but if WSREP_SST_OPT_CONF is empty - no default values are taken at all.
      wsrep_sst_xtrabackup-v2: innobackupex does not support --defaults-extra-file, so ${WSREP_SST_OPT_CONF} cannot be used as an argument, it has been changed to ${WSREP_SST_OPT_DEFAULT}. Removed --defaults-file= from INNOMOVE line, because WSREP_SST_OPT_CONF already includes it (INNOBACKUP was fine, INNOMOVE - not).
      36ef89c9
  8. 30 Sep, 2017 1 commit
  9. 29 Sep, 2017 1 commit