1. 29 Jan, 2019 1 commit
  2. 28 Jan, 2019 9 commits
  3. 27 Jan, 2019 2 commits
    • Sergei Golubchik's avatar
      Crude "auto-load-data-local-infile" mode · 2175bfce
      Sergei Golubchik authored
      Disable LOAD DATA LOCAL INFILE suport by default and
      auto-enable it for the duration of one query, if the query
      string starts with the word "load". In all other cases the application
      should enable LOAD DATA LOCAL INFILE support explicitly.
      2175bfce
    • Vicențiu Ciorbaru's avatar
      MDEV-18360 Prevent set_max_open_files from allocating too many files · 21f90371
      Vicențiu Ciorbaru authored
      If the rlimit.rlim_cur value returned by getrlimit is not the
      RLIM_INFINITY magic constant, but a *very* large number, we can allocate
      too many open files. Restrict set_max_open_files to only return at most
      max_file_limit, as passed via its parameter.
      21f90371
  4. 25 Jan, 2019 3 commits
    • Olivier Bertrand's avatar
      Squashed commit of connect/10.0: · e6fcd723
      Olivier Bertrand authored
      commit 6a6a1f37798
      Author: Olivier Bertrand <bertrandop@gmail.com>
      Date:   Fri Jan 4 12:31:52 2019 +0100
      
          - Fix a few bug mainly concerning discovery and call from OEM
            (and prepare new table types)
      
            modified:   storage/connect/tabjson.cpp
            modified:   storage/connect/tabjson.h
            modified:   storage/connect/tabxml.cpp
            modified:   storage/connect/tabxml.h
      
          - Fix wrong line estimate
            modified:   storage/connect/mysql-test/connect/r/part_table.result
            modified:   storage/connect/mysql-test/connect/t/part_table.test
      
      commit bd7d2e912d9
      Author: Olivier Bertrand <bertrandop@gmail.com>
      Date:   Tue Dec 4 23:35:09 2018 +0100
      
          Fix wrong version number
      
      commit 4933680e7ab
      Author: Olivier Bertrand <bertrandop@gmail.com>
      Date:   Sun Dec 2 00:25:05 2018 +0100
      
          - Make PlugSubAlloc to be exportable
            Suppress unused parameter from PlugSubSet
            modified:   storage/connect/global.h
            modified:   storage/connect/plugutil.cpp
            modified:   storage/connect/jsonudf.cpp
            modified:   storage/connect/tabjson.cpp
            modified:   storage/connect/user_connect.cc
      
          - Fix a bug making column catalog XML tables fail
            modified:   storage/connect/tabxml.cpp
      
          - Comment out wrong message
            modified:   storage/connect/ha_connect.cc
      
          - Update error message when sorting an ODBC table fails
            modified:   storage/connect/tabodbc.cpp
      
          - Add error message when gettting an address
            from an OEM fails.
            modified:   storage/connect/reldef.cpp
      
          - Make some modifications useful for OEM module writting
            Export discovery functions for CSV, JDBC and XML
            Remove unuseful include from tabjson.h
            Move TDBXML::data_charset function from header file to source
            modified:   storage/connect/tabfmt.h
            modified:   storage/connect/tabjson.h
            modified:   storage/connect/tabxml.cpp
            modified:   storage/connect/tabxml.h
      
          - Update test result
            modified:   storage/connect/mysql-test/connect/r/jdbc_oracle.result
      e6fcd723
    • Sergei Golubchik's avatar
      cleanup: fill_alter_inplace_info · 38ad46e0
      Sergei Golubchik authored
      remove attempts to track "candidate keys", use what was already
      decided in create_table_impl().
      38ad46e0
    • Sergei Golubchik's avatar
      compiler warning · 013186eb
      Sergei Golubchik authored
      013186eb
  5. 24 Jan, 2019 6 commits
  6. 23 Jan, 2019 9 commits
    • Eugene Kosov's avatar
      MDEV-16658 Memory leak in mysqltest on connect failure · ad220b96
      Eugene Kosov authored
      Close connection handler on connection failure. This fixes 14 failing tests in
      main suite under clang+ASAN build.
      
      ASAN report for main.connect looks like this:
      =================================================================
      ==25495==ERROR: LeakSanitizer: detected memory leaks
      
      Direct leak of 146280 byte(s) in 115 object(s) allocated from:
          #0 0x4fba47 in calloc /fun/cpp_projects/llvm_toolchain/llvm/projects/compiler-rt/lib/asan/asan_malloc_linux.cc:138
          #1 0x5a7a02 in mysql_init /work/mariadb/libmariadb/libmariadb/mariadb_lib.c:977:26
          #2 0x570a7a in do_connect(st_command*) /work/mariadb/client/mysqltest.cc:6096:26
          #3 0x584c39 in main /work/mariadb/client/mysqltest.cc:9321:9
          #4 0x7fd15514db96 in __libc_start_main /build/glibc-OTsEL5/glibc-2.27/csu/../csu/libc-start.c:310
      
      Indirect leak of 7065600 byte(s) in 115 object(s) allocated from:
          #0 0x4fb80f in __interceptor_malloc /fun/cpp_projects/llvm_toolchain/llvm/projects/compiler-rt/lib/asan/asan_malloc_linux.cc:129
          #1 0x637a83 in my_context_init /work/mariadb/libmariadb/libmariadb/ma_context.c:367:23
          #2 0x59fd16 in mysql_optionsv /work/mariadb/libmariadb/libmariadb/mariadb_lib.c:2738:9
          #3 0x5bc1d4 in mysql_options /work/mariadb/libmariadb/libmariadb/mariadb_lib.c:3242:10
          #4 0x570b94 in do_connect(st_command*) /work/mariadb/client/mysqltest.cc:6103:7
          #5 0x584c39 in main /work/mariadb/client/mysqltest.cc:9321:9
          #6 0x7fd15514db96 in __libc_start_main /build/glibc-OTsEL5/glibc-2.27/csu/../csu/libc-start.c:310
      
      Indirect leak of 940240 byte(s) in 115 object(s) allocated from:
          #0 0x4fb80f in __interceptor_malloc /fun/cpp_projects/llvm_toolchain/llvm/projects/compiler-rt/lib/asan/asan_malloc_linux.cc:129
          #1 0x64386e in ma_init_dynamic_array /work/mariadb/libmariadb/libmariadb/ma_array.c:49:31
          #2 0x649ead in _hash_init /work/mariadb/libmariadb/libmariadb/ma_hash.c:52:7
          #3 0x5a3080 in mysql_optionsv /work/mariadb/libmariadb/libmariadb/mariadb_lib.c:2938:13
          #4 0x5bc20c in mysql_options4 /work/mariadb/libmariadb/libmariadb/mariadb_lib.c:3248:10
          #5 0x56f63b in connect_n_handle_errors(st_command*, st_mysql*, char const*, char const*, char const*, char const*, int, char const*) /work/mariadb/client/mysqltest.cc:5874:3
          #6 0x57146b in do_connect(st_command*) /work/mariadb/client/mysqltest.cc:6193:7
          #7 0x584c39 in main /work/mariadb/client/mysqltest.cc:9321:9
          #8 0x7fd15514db96 in __libc_start_main /build/glibc-OTsEL5/glibc-2.27/csu/../csu/libc-start.c:310
      ...
      
      Closes #809
      ad220b96
    • Andrei Elkin's avatar
      MDEV-17803 Row-based event is not applied when table map id is greater · cce2b45c
      Andrei Elkin authored
                 32 bit int
      
      Row-based slave applier could not parse correctly the table id when
      the value exceeded the max of 32 bit unsigned int.
      The reason turns out in that the being parsed value placeholder
      was sized as 4 bytes.
      
      The type is fixed to ulonglong.
      
      Additionally the patch works around Rows_log_event::m_table_id 4 bytes
      size on 32 bits platforms. In case of last_table_id value overflows
      the 4 byte max, there won't be the zero value for m_table_id generated
      and the first wrapped-around value is one, this is thanks to excluding
      UINT_MAX32 + 1 from TABLE_SHARE::table_map_id.
      cce2b45c
    • Sergei Golubchik's avatar
      MDEV-18059 `support-files/mysql.server.sh stop` must run as root · 94955928
      Sergei Golubchik authored
      don't run `su - mysql` is $USER is already mysql
      94955928
    • Sergei Golubchik's avatar
      a8da66f8
    • Sreeharsha Ramanavarapu's avatar
      Bug #28499924: INCORRECT BEHAVIOR WITH UNION IN SUBQUERY · b20d94da
      Sreeharsha Ramanavarapu authored
      Issue:
      ------
      When a subquery contains UNION the count of the number of
      subquery columns is calculated incorrectly. Only the first
      query block in the subquery's UNION is considered and an
      array indexing goes out-of-bounds, and this is caught by an
      assert.
      
      Solution:
      ---------
      Sum up the columns from all query blocks of the query
      expression.
      
      Change specific to 5.6/5.5:
      ---------------------------
      The "child" points to the last query block of the UNION
      (as opposed to 5.7+ where it points to the first member of
      UNION). So "child->master_unit()->first_select()" is used
      to reach the first query block of UNION.
      b20d94da
    • Aditya A's avatar
      Bug #28178776 COMPARISON OF UNINITAILIZED MEMORY IN LOG_IN_USE · 6de2928d
      Aditya A authored
      PROBLEM
      -------
      Memory sanitizer reports uninitialized comparisons
      in log_in_use(), because strings are compared with
      memcmp() instead of strncmp.
      
      FIX
      ---
      Use strncmp() to compare strings
      6de2928d
    • Sergei Golubchik's avatar
      Bug#28867993: POSSIBLE ISSUE WITH MYSQL SERVER RESTART · 2a0f1d61
      Sergei Golubchik authored
      on startup innodb is checking whether files "ib_logfileN"
      (for N from 1 to 100) exist, and whether they're readable.
      A non-existent file aborted the scan.
      A directory instead of a file made InnoDB to fail.
      
      Now it treats "directory exists" as "file doesn't exist".
      2a0f1d61
    • Marko Mäkelä's avatar
      MDEV-18349 InnoDB file size changes are not safe when file system crashes · 31d592ba
      Marko Mäkelä authored
      When InnoDB is invoking posix_fallocate() to extend data files, it
      was missing a call to fsync() to update the file system metadata.
      If file system recovery is needed, the file size could be incorrect.
      
      When the setting innodb_flush_method=O_DIRECT_NO_FSYNC
      that was introduced in MariaDB 10.0.11 (and MySQL 5.6) is enabled,
      InnoDB would wrongly skip fsync() after extending files.
      
      Furthermore, the merge commit d8b45b0c
      inadvertently removed XtraDB error checking for posix_fallocate()
      which this fix is restoring.
      
      fil_flush(): Add the parameter bool metadata=false to request that
      fil_buffering_disabled() be ignored.
      
      fil_extend_space_to_desired_size(): Invoke fil_flush() with the
      extra parameter. After successful posix_fallocate(), invoke
      os_file_flush(). Note: The bookkeeping for fil_flush() would not be
      updated the posix_fallocate() code path, so the "redundant"
      fil_flush() should be a no-op.
      31d592ba
    • Marko Mäkelä's avatar
      MDEV-18349 InnoDB file size changes are not safe when file system crashes · 942a6bd0
      Marko Mäkelä authored
      fil_extend_space_to_desired_size(): Invoke fsync() after posix_fallocate()
      in order to durably extend the file in a crash-safe file system.
      942a6bd0
  7. 21 Jan, 2019 4 commits
  8. 19 Jan, 2019 1 commit
  9. 18 Jan, 2019 1 commit
    • Varun Gupta's avatar
      MDEV-14440: Assertion `inited==RND' failed in handler::ha_rnd_end · 2061e00c
      Varun Gupta authored
      In the function QUICK_RANGE_SELECT::init_ror_merged_scan we create a seperate handler if the handler in
      head->file cannot be reused. The flag free_file tells us if we have a seperate handler or not.
      There are cases where you might create a handler and then there might be a failure(running ALTER)
      and then we have to revert the handler back to the original one. The code does that
      but it does not reset the flag 'free_file' in this case.
      Also backported f2c41807.
      2061e00c
  10. 16 Jan, 2019 4 commits