1. 25 Oct, 2016 6 commits
    • Vladislav Vaintroub's avatar
      MDEV-10951 Field_newdate::cmp access violation · 82ab92bd
      Vladislav Vaintroub authored
      The crash is caused by macro uint3korr() accessing memory (1 byte) past
      the end of allocated page. The macro is written such it reads 4 bytes
      instead of 3 and discards the value of the last byte.
      
      However, it is not always guaranteed that all uint3korr accesses will be
      valid (i.e that the caller allocates an extra byte after the value).
      
      In particular, the tree in Item_func_group_concat does not account for
      any extra bytes that it would need for comparison of keys in some cases
      (Field_newdate::cmp, Field_medium::cmp)
      
      The fix change uint3korr so it does not access extra bytes.
      82ab92bd
    • Vicențiu Ciorbaru's avatar
      Revert "Add tokuftdump man page" · ed3998ae
      Vicențiu Ciorbaru authored
      This reverts commit 1daf746e.
      
      Removed temporarily to make sure there are no legal problems.
      ed3998ae
    • Vicențiu Ciorbaru's avatar
      Add tokuftdump man page · 1daf746e
      Vicențiu Ciorbaru authored
      The man page was already present in the debian release of MariaDB 10.0.
      1daf746e
    • Vicențiu Ciorbaru's avatar
      MDEV-10983: TokuDB does not compile on OS X 10.12 · 39dceaae
      Vicențiu Ciorbaru authored
      Make use of a different function to get the current tid.
      
      Additionally, librt doesn't exist on OS X. Use System library instead.
      39dceaae
    • Vladislav Vaintroub's avatar
      MDEV-11127 : Fix innochecksum to work with large files on Windows. · ba11dd69
      Vladislav Vaintroub authored
      - don't use stat() for file size, it doesn not handle large size
        use GetFileSizeEx() instead
      
      - don't use lseek(), it can't handle large files, use _lseeki64() instead.
      
      - Also, switch off OS file buffering for innochecksum on Windows,
      to avoid thrashing file cache.
      ba11dd69
    • Don Lewis's avatar
      MDEV-5944: Compile fix for OQGRAPH with LLVM · 3321f1ad
      Don Lewis authored
      Clang/LLVM has more strict schemantics than gcc.
      
      This patch quantifies the namesspace such that it will
      compile using clang.
      3321f1ad
  2. 23 Oct, 2016 1 commit
  3. 22 Oct, 2016 1 commit
    • Vladislav Vaintroub's avatar
      MDEV-11104 Fix client to correctly retrieve current user name on Windows · fb38d264
      Vladislav Vaintroub authored
      Prior to this patch name of the user was  read from environment variable
      USER, with a fallback to 'ODBC', if the environment variable is not set.
      
      The name of the env.variable is incorrect (USERNAME usually contains current
      user's name,  but not USER), which made client to  always determine
      current user as 'ODBC'.
      
      The fix is to use GetUserName() instead.
      fb38d264
  4. 21 Oct, 2016 3 commits
  5. 18 Oct, 2016 1 commit
  6. 16 Oct, 2016 1 commit
  7. 14 Oct, 2016 2 commits
  8. 29 Sep, 2016 2 commits
  9. 28 Sep, 2016 3 commits
    • Sergei Petrunia's avatar
    • Sergei Petrunia's avatar
      MDEV-10649: Optimizer sometimes use "index" instead of "range" access for UPDATE · a53f3c6d
      Sergei Petrunia authored
      (Fixing both InnoDB and XtraDB)
      
      Re-opening a TABLE object (after e.g. FLUSH TABLES or open table cache
      eviction) causes ha_innobase to call
      dict_stats_update(DICT_STATS_FETCH_ONLY_IF_NOT_IN_MEMORY).
      
      Inside this call, the following is done:
        dict_stats_empty_table(table);
        dict_stats_copy(table, t);
      
      On the other hand, commands like UPDATE make this call to get the "rows in
      table" statistics in table->stats.records:
      
        ha_innobase->info(HA_STATUS_VARIABLE|HA_STATUS_NO_LOCK)
      
      note the HA_STATUS_NO_LOCK parameter. It means, no locks are taken by
      ::info() If the ::info() call happens between dict_stats_empty_table
      and dict_stats_copy calls, the UPDATE's optimizer will get an estimate
      of table->stats.records=1, which causes it to pick a full table scan,
      which in turn will take a lot of row locks and cause other bad
      consequences.
      a53f3c6d
    • Vladislav Vaintroub's avatar
      Feedback plugin : add support for Windows 10 / Server 2016. · 0e76054b
      Vladislav Vaintroub authored
      Also add fallback version string for unknown future versions.
      0e76054b
  10. 27 Sep, 2016 10 commits
  11. 26 Sep, 2016 4 commits
  12. 24 Sep, 2016 1 commit
  13. 23 Sep, 2016 1 commit
  14. 22 Sep, 2016 1 commit
    • Sergey Vojtovich's avatar
      MDEV-10315 - Online ALTER TABLE may get stuck in tdc_remove_table · e56a5392
      Sergey Vojtovich authored
      There was race condition between online ALTER TABLE and statements performing
      TABLE_SHARE release without marking it flushed (e.g. in case of table cache
      overflow, SET @@global.table_open_cache, manager thread purging table cache).
      
      The reason was missing mysql_cond_broadcast().
      e56a5392
  15. 20 Sep, 2016 1 commit
    • Vicențiu Ciorbaru's avatar
      Fix tokudb jemalloc linking · 83d5b963
      Vicențiu Ciorbaru authored
      Linking tokudb with jemalloc privately causes problems on library
      load/unload. To prevent dangling destructor pointers, link with the same
      library as the server is using.
      83d5b963
  16. 19 Sep, 2016 1 commit
  17. 13 Sep, 2016 1 commit