1. 16 Nov, 2016 1 commit
  2. 15 Nov, 2016 4 commits
    • Igor Babaev's avatar
      Made the result output deterministic. · 0b869814
      Igor Babaev authored
      0b869814
    • Igor Babaev's avatar
      Fixed bug mdev-11072. · 68e7d92c
      Igor Babaev authored
      In a general case the conditions with outer fields cannot
      be pushed into materialized views / derived tables.
      However if the outer field in the condition refers to a
      single row table then the condition may be pushable.
      In this case a special care should be taken for outer
      fields when pushing the condition into a materialized view /
      derived table.
      68e7d92c
    • Alexey Botchkov's avatar
      MDEV-9143 JSON_xxx functions. · ebe5ebba
      Alexey Botchkov authored
              The rest of mysql/json functions implemented.
              CAST AS JSON implemented.
      ebe5ebba
    • Sergey Vojtovich's avatar
      InnoDB cleanups · 1122c1f0
      Sergey Vojtovich authored
      - added missing backslash
      - removed duplicate definition of UT_LOW_PRIORITY_CPU/UT_RESUME_PRIORITY_CPU
      - removed duplicate UT_RESUME_PRIORITY_CPU call
      1122c1f0
  3. 13 Nov, 2016 2 commits
  4. 10 Nov, 2016 4 commits
  5. 09 Nov, 2016 2 commits
  6. 08 Nov, 2016 3 commits
  7. 07 Nov, 2016 12 commits
  8. 06 Nov, 2016 1 commit
  9. 04 Nov, 2016 2 commits
  10. 03 Nov, 2016 7 commits
    • Kristian Nielsen's avatar
      Re-generate .rdiff file in attempt to fix a test failure. · 7afcc7d1
      Kristian Nielsen authored
      The .rdiff applied ok locally with my copy of patch, but failed with
      "misordered hunks" on a test host. Maybe that host has a more strict
      version of `patch`.
      7afcc7d1
    • Oleksandr Byelkin's avatar
      Fixed print format. · 99d07aa9
      Oleksandr Byelkin authored
      99d07aa9
    • Sergey Vojtovich's avatar
      Scalability bottleneck in ha_innodb::general_fetch · 91511216
      Sergey Vojtovich authored
      With "WL#6047 - Do not allocate trx id for read-only transactions"
      m_prebuilt->trx->id is always 0 for read-only transactions. This makes
      it useless as an index for fuzzy counters.
      
      Use server thread id instead similarly to MySQL.
      91511216
    • Kristian Nielsen's avatar
      MDEV-11065: Compressed binary log. Merge code into current 10.2. · b002509b
      Kristian Nielsen authored
      Conflicts:
      	sql/share/errmsg-utf8.txt
      b002509b
    • Kristian Nielsen's avatar
      MDEV-11065: Compressed binary log. Fix BINLOG statement. · 56a041cd
      Kristian Nielsen authored
      BINLOG statement output by mysqlbinlog actually has the base64 of the
      non-compressed event. So remove my previous incorrect review change,
      which allowed compressed event types for BINLOG statement.
      
      Also add a couple test cases for this, running mysqlbinlog | mysql.
      56a041cd
    • Sergey Vojtovich's avatar
      MDEV-7660 - MySQL WL#6671 "Improve scalability by not using thr_lock.c locks · d665e79c
      Sergey Vojtovich authored
                  for InnoDB tables"
      
      Don't use thr_lock.c locks for InnoDB tables. Below is list of changes that
      were needed to implement this:
      - HANDLER OPEN acquireis MDL_SHARED_READ instead of MDL_SHARED
      - HANDLER READ calls external_lock() even if SE is not going to be locked by
        THR_LOCK
      - InnoDB lock wait timeouts are now honored which are much shorter by default
        than server lock wait timeouts (1 year vs 50 seconds)
      - with @@autocommit= 1 LOCK TABLES disables autocommit implicitely, though
        user still sees @@autocommt= 1
      - the above starts implicit transaction
      - transactions started by LOCK TABLES are now rolled back on disconnect
        (previously everything was committed due to autocommit)
      - transactions started by LOCK TABLES are now rolled back by ROLLBACK
        (previously everything was committed due to autocommit)
      - it is now impossible to change BINLOG_FORMAT under LOCK TABLES (at least
        to statement) due to running transaction
      - LOCK TABLES WRITE is additionally handled by MDL
      - ...in contrast LOCK TABLES READ protection against DML is pure InnoDB
      - combining transactional and non-transactional tables under LOCK TABLES
        may cause rolled back changes in transactional table and "committed"
        changes in non-transactional table
      - user may disable innodb_table_locks, which will cause LOCK TABLES to be
        noop basically
      
      Removed tests for BUG#45143 and BUG#55930 which cover InnoDB + THR_LOCK. To
      operate properly these tests require code flow to go through THR_LOCK debug
      sync points, which is not the case after this patch. These tests are removed
      by WL#6671 as well. An alternative is to port them to different storage engine.
      d665e79c
    • Kristian Nielsen's avatar
      MDEV-11065: Compressed binary log · 3c0ff615
      Kristian Nielsen authored
      .result file update for --embedded test run.
      3c0ff615
  11. 02 Nov, 2016 2 commits
    • Oleksandr Byelkin's avatar
      MDEV-9114: Bulk operations (Array binding) · e2d69126
      Oleksandr Byelkin authored
      (+ default values)
      e2d69126
    • Darshan M N's avatar
      Bug#23631471 BUF_BLOCK_ALIGN() MAKES INCORRECT ASSUMPTIONS ABOUT CHUNK SIZE · c6713f65
      Darshan M N authored
      Issue:
      ======
      Currently the approach we take to find the chunk corresponding to a given
      pointer uses srv_buf_pool_chunk_unit based on the assumption that
      srv_buf_pool_chunk_unit is the total size of all pages in a buffer pool
      chunk. We first step back by srv_buf_pool_chunk_unit bytes and use
      std::map::upper_bound() to find the first chunk in the map whose key >= the
      resulting pointer.
      
      However, the real size of a chunk (and thus, the total size of its pages)
      may differ from the value configured with innodb_buffer_pool_chunk_size
      due to rounding up to the OS page size. So, in some cases the above logic
      gives us the wrong chunk.
      
      Fix:
      ====
      We find out the chunk corresponding to the give pointer without using
      srv_buf_pool_chunk_unit. This is done by using std::map::upper_bound()
      to find the next chunk in the map which appears right after the pointer and
      decrementing the iterator, which would give us the chunk the pointer
      belongs to.
      
      Contribution by Alexey Kopytov.
      
      RB: 13347
      Reviewed-by: default avatarDebarun Banerjee <debarun.banerjee@oracle.com>
      c6713f65