1. 24 Jul, 2018 1 commit
  2. 19 Jul, 2018 3 commits
  3. 15 Jun, 2018 1 commit
    • Sergei Golubchik's avatar
      fix galera sst tests · cf648afd
      Sergei Golubchik authored
      note that ${A#foo} is $A if there's no prefix foo. That's why
      galera nodes tried to connect to 127.0.0.1:127.0.0.1 if there was
      no port in the address
      
      Followup for 2b35db5a
      cf648afd
  4. 14 May, 2018 6 commits
    • Jan Lindström's avatar
      MDEV-15351: wsrep_sst_xtrabackup is broken in 10.1.31 · 215d652c
      Jan Lindström authored
      Remove the setup_ports function call. This is related to
      https://github.com/MariaDB/server/pull/717
      
      Thanks to Daniel Black and Bart S.
      215d652c
    • Daniel Black's avatar
      MDEV-13968: wsrep_log_error not defined until later in wsrep_sst_common · 82f26daf
      Daniel Black authored
      Fix for 990c4318a779645ee
      
      dash -vx './wsrep_sst_common.sh' --address '128.0.0.5:3333/module/lsn_version/sst_ver/some_future_option1/some_future_option2' --port 1111  2>&1  | more
      ....
      + readonly WSREP_SST_OPT_ADDR=128.0.0.5:3333/module/lsn_version/sst_ver/some_future_option1/some_future_option2
      + readonly WSREP_SST_OPT_HOST=128.0.0.5
      + readonly WSREP_SST_OPT_HOST_UNESCAPED=128.0.0.5
      + remain=3333/module/lsn_version/sst_ver/some_future_option1/some_future_option2
      + readonly WSREP_SST_OPT_ADDR_PORT=3333
      + remain=module/lsn_version/sst_ver/some_future_option1/some_future_option2
      + readonly WSREP_SST_OPT_MODULE=module
      + readonly WSREP_SST_OPT_PATH=module/lsn_version/sst_ver/some_future_option1/some_future_option2
      + remain=lsn_version/sst_ver/some_future_option1/some_future_option2
      + readonly WSREP_SST_OPT_LSN=lsn_version
      + remain=sst_ver/some_future_option1/some_future_option2
      + readonly WSREP_SST_OPT_SST_VER=sst_ver
      + shift
      + shift
      + [ 2 -gt 0 ]
      + readonly WSREP_SST_OPT_PORT=1111
      + shift
      + shift
      + [ 0 -gt 0 ]
      readonly WSREP_SST_OPT_BYPASS
      + readonly WSREP_SST_OPT_BYPASS
      readonly WSREP_SST_OPT_BINLOG
      + readonly WSREP_SST_OPT_BINLOG
      
      if [ -n "${WSREP_SST_OPT_ADDR_PORT:-}" ]; then
        if [ -n "${WSREP_SST_OPT_PORT:-}" ]; then
          if [ "$WSREP_SST_OPT_PORT" != "$WSREP_SST_OPT_ADDR_PORT" ]; then
            echo "WSREP_SST: [ERROR] port in --port=$WSREP_SST_OPT_PORT differs from port in --address=$WSREP_SST_OPT_ADDR" >&2
            exit 2
          fi
        else
          readonly WSREP_SST_OPT_PORT="$WSREP_SST_OPT_ADDR_PORT"
        fi
      fi
      + [ -n 3333 ]
      + [ -n 1111 ]
      + [ 1111 != 3333 ]
      + echo WSREP_SST: [ERROR] port in --port=1111 differs from port in --address=128.0.0.5:3333/module/lsn_version/sst_ver/some_future_option1/some_future_option2
      WSREP_SST: [ERROR] port in --port=1111 differs from port in --address=128.0.0.5:3333/module/lsn_version/sst_ver/some_future_option1/some_future_option2
      + exit 2
      
      dash -vx './wsrep_sst_common.sh' --address '128.0.0.5:3333/module/lsn_version/sst_ver/some_future_option1/some_future_option2'  2>&1  | more
      ...
      + [ 2 -gt 0 ]
      + readonly WSREP_SST_OPT_ADDR=128.0.0.5:3333/module/lsn_version/sst_ver/some_future_option1/some_future_option2
      + readonly WSREP_SST_OPT_HOST=128.0.0.5
      + readonly WSREP_SST_OPT_HOST_UNESCAPED=128.0.0.5
      + remain=3333/module/lsn_version/sst_ver/some_future_option1/some_future_option2
      + readonly WSREP_SST_OPT_ADDR_PORT=3333
      + remain=module/lsn_version/sst_ver/some_future_option1/some_future_option2
      + readonly WSREP_SST_OPT_MODULE=module
      + readonly WSREP_SST_OPT_PATH=module/lsn_version/sst_ver/some_future_option1/some_future_option2
      + remain=lsn_version/sst_ver/some_future_option1/some_future_option2
      + readonly WSREP_SST_OPT_LSN=lsn_version
      + remain=sst_ver/some_future_option1/some_future_option2
      + readonly WSREP_SST_OPT_SST_VER=sst_ver
      + shift
      + shift
      + [ 0 -gt 0 ]
      readonly WSREP_SST_OPT_BYPASS
      + readonly WSREP_SST_OPT_BYPASS
      readonly WSREP_SST_OPT_BINLOG
      + readonly WSREP_SST_OPT_BINLOG
      
      if [ -n "${WSREP_SST_OPT_ADDR_PORT:-}" ]; then
        if [ -n "${WSREP_SST_OPT_PORT:-}" ]; then
          if [ "$WSREP_SST_OPT_PORT" != "$WSREP_SST_OPT_ADDR_PORT" ]; then
            echo "WSREP_SST: [ERROR] port in --port=$WSREP_SST_OPT_PORT differs from port in --address=$WSREP_SST_OPT_ADDR" >&2
            exit 2
          fi
        else
          readonly WSREP_SST_OPT_PORT="$WSREP_SST_OPT_ADDR_PORT"
        fi
      fi
      + [ -n 3333 ]
      + [ -n  ]
      + readonly WSREP_SST_OPT_PORT=3333
      82f26daf
    • Sergei Golubchik's avatar
      MDEV-13968 sst fails with "WSREP_SST_OPT_PORT: readonly variable" · fe3c4a41
      Sergei Golubchik authored
      followup for 990c4318a779645ee
      
      fix broken script (set -u)
      fe3c4a41
    • Sergei Golubchik's avatar
    • Daniel Black's avatar
    • Daniel Black's avatar
      MDEV-15496: wsrep_sst_common - parse IPv6 correct · 2b35db5a
      Daniel Black authored
      Fix to e78e308e, IPv6 got split at :
      
      Also got rid of awk (yuck!) to parse port (commit: b4fbb418)
      
      Tested with dash to avoid bashisms:
      
      $ dash -vx './wsrep_sst_common.sh' --address '128.0.0.5:3333/module/lsn_version/sst_ver/some_future_option1/some_future_option2' 2>&1  | more
      + readonly WSREP_SST_OPT_ADDR=128.0.0.5:3333/module/lsn_version/sst_ver/some_future_option1/some_future_option2
      + readonly WSREP_SST_OPT_HOST=128.0.0.5
      + readonly WSREP_SST_OPT_HOST_UNESCAPED=128.0.0.5
      + remain=3333/module/lsn_version/sst_ver/some_future_option1/some_future_option2
      + readonly WSREP_SST_OPT_PORT=3333
      + remain=module/lsn_version/sst_ver/some_future_option1/some_future_option2
      + readonly WSREP_SST_OPT_MODULE=module
      + readonly WSREP_SST_OPT_PATH=module/lsn_version/sst_ver/some_future_option1/some_future_option2
      + remain=lsn_version/sst_ver/some_future_option1/some_future_option2
      + readonly WSREP_SST_OPT_LSN=lsn_version
      + remain=sst_ver/some_future_option1/some_future_option2
      + readonly WSREP_SST_OPT_SST_VER=sst_ver
      
      $ dash -vx './wsrep_sst_common.sh' --address '[2001:db8::1]:3333/module/lsn_version/sst_ver/some_future_option1/some_future_option2' 2>&1  | more
      + readonly WSREP_SST_OPT_ADDR=[2001:db8::1]:3333/module/lsn_version/sst_ver/some_future_option1/some_future_option2
      + addr_no_bracket=2001:db8::1]:3333/module/lsn_version/sst_ver/some_future_option1/some_future_option2
      + readonly WSREP_SST_OPT_HOST_UNESCAPED=2001:db8::1
      + readonly WSREP_SST_OPT_HOST=[2001:db8::1]
      + remain=:3333/module/lsn_version/sst_ver/some_future_option1/some_future_option2
      + remain=3333/module/lsn_version/sst_ver/some_future_option1/some_future_option2
      + readonly WSREP_SST_OPT_PORT=3333
      + remain=module/lsn_version/sst_ver/some_future_option1/some_future_option2
      + readonly WSREP_SST_OPT_MODULE=module
      + readonly WSREP_SST_OPT_PATH=module/lsn_version/sst_ver/some_future_option1/some_future_option2
      + remain=lsn_version/sst_ver/some_future_option1/some_future_option2
      + readonly WSREP_SST_OPT_LSN=lsn_version
      + remain=sst_ver/some_future_option1/some_future_option2
      + readonly WSREP_SST_OPT_SST_VER=sst_ver
      
      And bash as well:
      
      $ bash -vx './wsrep_sst_common.sh' --address '127.0.0.3:3333/module/lsn_version/sst_ver/some_future_option1/some_future_option2' 2>&1 | more
      + readonly WSREP_SST_OPT_ADDR=127.0.0.3:3333/module/lsn_version/sst_ver/some_future_option1/some_future_option2
      + WSREP_SST_OPT_ADDR=127.0.0.3:3333/module/lsn_version/sst_ver/some_future_option1/some_future_option2
      + case "${WSREP_SST_OPT_ADDR}" in
      + readonly WSREP_SST_OPT_HOST=127.0.0.3
      + WSREP_SST_OPT_HOST=127.0.0.3
      + readonly WSREP_SST_OPT_HOST_UNESCAPED=127.0.0.3
      + WSREP_SST_OPT_HOST_UNESCAPED=127.0.0.3
      + remain=3333/module/lsn_version/sst_ver/some_future_option1/some_future_option2
      + readonly WSREP_SST_OPT_PORT=3333
      + WSREP_SST_OPT_PORT=3333
      + remain=module/lsn_version/sst_ver/some_future_option1/some_future_option2
      + readonly WSREP_SST_OPT_MODULE=module
      + WSREP_SST_OPT_MODULE=module
      + readonly WSREP_SST_OPT_PATH=module/lsn_version/sst_ver/some_future_option1/some_future_option2
      + WSREP_SST_OPT_PATH=module/lsn_version/sst_ver/some_future_option1/some_future_option2
      + remain=lsn_version/sst_ver/some_future_option1/some_future_option2
      + readonly WSREP_SST_OPT_LSN=lsn_version
      + WSREP_SST_OPT_LSN=lsn_version
      + remain=sst_ver/some_future_option1/some_future_option2
      + readonly WSREP_SST_OPT_SST_VER=sst_ver
      + WSREP_SST_OPT_SST_VER=sst_ver
      
      $ bash -vx './wsrep_sst_common.sh' --address '[2001:db8::1]:3333/module/lsn_version/sst_ver/some_future_option1/some_future_option2' 2>&1 | more
      + readonly 'WSREP_SST_OPT_ADDR=[2001:db8::1]:3333/module/lsn_version/sst_ver/some_future_option1/some_future_option2'
      + WSREP_SST_OPT_ADDR='[2001:db8::1]:3333/module/lsn_version/sst_ver/some_future_option1/some_future_option2'
      + case "${WSREP_SST_OPT_ADDR}" in
      + addr_no_bracket='2001:db8::1]:3333/module/lsn_version/sst_ver/some_future_option1/some_future_option2'
      + readonly WSREP_SST_OPT_HOST_UNESCAPED=2001:db8::1
      + WSREP_SST_OPT_HOST_UNESCAPED=2001:db8::1
      + readonly 'WSREP_SST_OPT_HOST=[2001:db8::1]'
      + WSREP_SST_OPT_HOST='[2001:db8::1]'
      + remain=:3333/module/lsn_version/sst_ver/some_future_option1/some_future_option2
      + remain=3333/module/lsn_version/sst_ver/some_future_option1/some_future_option2
      + readonly WSREP_SST_OPT_PORT=3333
      + WSREP_SST_OPT_PORT=3333
      + remain=module/lsn_version/sst_ver/some_future_option1/some_future_option2
      + readonly WSREP_SST_OPT_MODULE=module
      + WSREP_SST_OPT_MODULE=module
      + readonly WSREP_SST_OPT_PATH=module/lsn_version/sst_ver/some_future_option1/some_future_option2
      + WSREP_SST_OPT_PATH=module/lsn_version/sst_ver/some_future_option1/some_future_option2
      + remain=lsn_version/sst_ver/some_future_option1/some_future_option2
      + readonly WSREP_SST_OPT_LSN=lsn_version
      + WSREP_SST_OPT_LSN=lsn_version
      + remain=sst_ver/some_future_option1/some_future_option2
      + readonly WSREP_SST_OPT_SST_VER=sst_ver
      + WSREP_SST_OPT_SST_VER=sst_ver
      2b35db5a
  5. 09 May, 2018 2 commits
  6. 08 May, 2018 6 commits
  7. 07 May, 2018 2 commits
  8. 01 May, 2018 3 commits
  9. 30 Apr, 2018 2 commits
  10. 29 Apr, 2018 1 commit
  11. 28 Apr, 2018 1 commit
  12. 27 Apr, 2018 1 commit
  13. 26 Apr, 2018 10 commits
    • Elena Stepanova's avatar
      d6dbe8e2
    • Sergei Golubchik's avatar
      Merge branch 'merge-pcre' into 10.0 · 48636f09
      Sergei Golubchik authored
      48636f09
    • Sergei Golubchik's avatar
      Squashed commit of connect/10.0: · 5ae2656b
      Sergei Golubchik authored
      commit c545d544378483bf68c4fb713cd4ec872d0df2c4
      Author: Olivier Bertrand <bertrandop@gmail.com>
      Date:   Tue Mar 27 23:13:14 2018 +0200
      
          - Fix MDEV-15577 CONNECT engine JDBC remote index prevents UPDATE
            Fixed in TDBJDBC::OpenDB because query can be null for updates
            modified:   storage/connect/tabjdbc.cpp
      
      commit c4f1fe2e8e74566e9c3296f435448d9f5c718b23
      Author: Olivier Bertrand <bertrandop@gmail.com>
      Date:   Wed Mar 14 12:21:17 2018 +0100
      
          - Fix MDEV-15429 CONNECT engine JDBC handling Postgresql UUID type
            Also handle Postgresql sending type VARCHAR for TEXT column and
            setting length to b x7FFFFFF when the length is unknown.
            modified:   storage/connect/Client.java
            modified:   storage/connect/JavaWrappers.jar
            modified:   storage/connect/JdbcInterface.java
            modified:   storage/connect/PostgresqlInterface.java
            modified:   storage/connect/global.h
            modified:   storage/connect/ha_connect.cc
            modified:   storage/connect/jdbconn.cpp
            modified:   storage/connect/jdbconn.h
            modified:   storage/connect/mysql-test/connect/r/jdbc_postgresql.result
            modified:   storage/connect/mysql-test/connect/t/jdbc_postgresql.test
            modified:   storage/connect/mysql-test/connect/t/jdbconn.inc
            modified:   storage/connect/plgdbsem.h
            modified:   storage/connect/tabjdbc.cpp
            modified:   storage/connect/tabjdbc.h
            added:      storage/connect/mysql-test/connect/std_data/JavaWrappers.jar
      
      commit 3068bb4882a316c6c32c624609db2bf24ae3ad40
      Author: Olivier Bertrand <bertrandop@gmail.com>
      Date:   Mon Feb 26 19:40:27 2018 +0100
      
          Revert to old cmake file to avoid compile error
      
      commit da8c1c0bd6a327fd03bd321be3170f468122ef67
      Author: Olivier Bertrand <bertrandop@gmail.com>
      Date:   Mon Feb 26 16:13:39 2018 +0100
      
          - Remove warning on not used tabtyp variable in connect_assisted_discovery
            modified:   storage/connect/ha_connect.cc
      
          - Fix a bug causing CONNECT to loop when expanding a JSON column
            when the expanded column value is null or void array.
          - Adding the FullArray option to JSON tables.
          - Skipping expanded JSON lines when the expanded column value is null.
            modified:   storage/connect/connect.cc
            modified:   storage/connect/tabdos.h
            modified:   storage/connect/tabjson.cpp
            modified:   storage/connect/tabjson.h
      
          - Fix MDEV-13353 No file privilege for ODBC, JDBC, MONGO, MAC, WMI file types.
            modified:   storage/connect/ha_connect.cc
      
          - Make some Json UDFs  to accept a non JSON item as 1st parameter.
            modified:   storage/connect/json.cpp
            modified:   storage/connect/json.h
            modified:   storage/connect/jsonudf.cpp
            modified:   storage/connect/jsonudf.h
      
          - Update Json UDF tests to cope with above changes.
            modified:   storage/connect/mysql-test/connect/r/json_udf.result
            modified:   storage/connect/mysql-test/connect/r/json_udf_bin.result
            modified:   storage/connect/mysql-test/connect/r/vcol.result
            modified:   storage/connect/mysql-test/connect/t/json_udf.test
            modified:   storage/connect/mysql-test/connect/t/vcol.test
      
          - Fix some compiler warning treated as error
            PlugSubAlloc no more exported because it does throw.
            modified:   storage/connect/global.h
            modified:   storage/connect/ha_connect.cc
            modified:   storage/connect/jsonudf.cpp
            modified:   storage/connect/tabjson.cpp
            modified:   storage/connect/tabjson.h
      
          - Other files modified (?) when going back to wrong merge
            modified:   storage/connect/CMakeLists.txt
            modified:   storage/connect/array.cpp
            modified:   storage/connect/colblk.cpp
            modified:   storage/connect/connect.cc
            modified:   storage/connect/csort.cpp
            modified:   storage/connect/domdoc.cpp
            modified:   storage/connect/filamap.cpp
            modified:   storage/connect/filamgz.cpp
            modified:   storage/connect/filamtxt.cpp
            modified:   storage/connect/filamzip.cpp
            modified:   storage/connect/filter.cpp
            modified:   storage/connect/fmdlex.c
            modified:   storage/connect/jdbconn.cpp
            modified:   storage/connect/macutil.cpp
            modified:   storage/connect/myconn.cpp
            modified:   storage/connect/odbconn.cpp
            modified:   storage/connect/plgdbutl.cpp
            modified:   storage/connect/plugutil.cpp
            modified:   storage/connect/preparse.h
            modified:   storage/connect/rcmsg.c
            modified:   storage/connect/rcmsg.h
            modified:   storage/connect/reldef.cpp
            modified:   storage/connect/tabdos.cpp
            modified:   storage/connect/tabfmt.cpp
            modified:   storage/connect/tabmac.cpp
            modified:   storage/connect/tabmul.cpp
            modified:   storage/connect/tabmysql.cpp
            modified:   storage/connect/tabmysql.h
            modified:   storage/connect/tabodbc.cpp
            modified:   storage/connect/tabtbl.cpp
            modified:   storage/connect/tabxml.cpp
            modified:   storage/connect/value.cpp
            modified:   storage/connect/xobject.cpp
      
      commit 5095628b31ed8c94bd7c794c6b0162894a9040b1
      Author: Olivier Bertrand <bertrandop@gmail.com>
      Date:   Tue Feb 13 14:29:00 2018 +0100
      
          - Fix a bug causing CONNECT to loop when expanding a JSON column
            when the expanded column value is null or void array.
          - Adding the FullArray option to JSON tables.
          - Skipping expanded JSON lines when the expanded column value is null.
            modified:   storage/connect/connect.cc
            modified:   storage/connect/tabdos.h
            modified:   storage/connect/tabjson.cpp
            modified:   storage/connect/tabjson.h
      
      commit 9896174328da42016735630c893fd09eb128b48e
      Author: Olivier Bertrand <bertrandop@gmail.com>
      Date:   Fri Feb 2 15:48:57 2018 +0100
      
          - Remove warning on not used tabtyp variable in connect_assisted_discovery
            modified:   storage/connect/ha_connect.cc
      
      commit d7e254c05f88173eb04d8dafc813013eb42ccdbe
      Author: Olivier Bertrand <bertrandop@gmail.com>
      Date:   Wed Jan 31 14:42:45 2018 +0100
      
          - Use delayed load for the MongoDB C Drive on Windows
            modified:   storage/connect/CMakeLists.txt
            modified:   storage/connect/cmgoconn.cpp
            modified:   storage/connect/ha_connect.cc
      
          - Add FORCE to the connect_type_conv enum values
            This will translate binary values to TYPE_STRING
            modified:   storage/connect/checklvl.h
            modified:   storage/connect/ha_connect.cc
            modified:   storage/connect/odbconn.cpp
      
          - Change the connect_xtrace variable to from int to set
            modified:   storage/connect/array.cpp
            modified:   storage/connect/blkfil.cpp
            modified:   storage/connect/block.h
            modified:   storage/connect/cmgoconn.cpp
            modified:   storage/connect/colblk.cpp
            modified:   storage/connect/connect.cc
            modified:   storage/connect/filamap.cpp
            modified:   storage/connect/filamdbf.cpp
            modified:   storage/connect/filamfix.cpp
            modified:   storage/connect/filamgz.cpp
            modified:   storage/connect/filamtxt.cpp
            modified:   storage/connect/filamvct.cpp
            modified:   storage/connect/filamzip.cpp
            modified:   storage/connect/filter.cpp
            modified:   storage/connect/global.h
            modified:   storage/connect/ha_connect.cc
            modified:   storage/connect/inihandl.cpp
            modified:   storage/connect/javaconn.cpp
            modified:   storage/connect/jdbconn.cpp
            modified:   storage/connect/jmgfam.cpp
            modified:   storage/connect/jmgoconn.cpp
            modified:   storage/connect/json.cpp
            modified:   storage/connect/jsonudf.cpp
            modified:   storage/connect/libdoc.cpp
            modified:   storage/connect/mongo.cpp
            modified:   storage/connect/mycat.cc
            modified:   storage/connect/myconn.cpp
            modified:   storage/connect/odbconn.cpp
            modified:   storage/connect/plgdbutl.cpp
            modified:   storage/connect/plugutil.cpp
            modified:   storage/connect/reldef.cpp
            modified:   storage/connect/tabcol.cpp
            modified:   storage/connect/tabdos.cpp
            modified:   storage/connect/tabext.cpp
            modified:   storage/connect/tabfix.cpp
            modified:   storage/connect/tabfmt.cpp
            modified:   storage/connect/tabjdbc.cpp
            modified:   storage/connect/tabjson.cpp
            modified:   storage/connect/table.cpp
            modified:   storage/connect/tabmul.cpp
            modified:   storage/connect/tabmysql.cpp
            modified:   storage/connect/tabodbc.cpp
            modified:   storage/connect/tabpivot.cpp
            modified:   storage/connect/tabsys.cpp
            modified:   storage/connect/tabtbl.cpp
            modified:   storage/connect/tabutil.cpp
            modified:   storage/connect/tabvct.cpp
            modified:   storage/connect/tabwmi.cpp
            modified:   storage/connect/tabxml.cpp
            modified:   storage/connect/user_connect.cc
            modified:   storage/connect/valblk.cpp
            modified:   storage/connect/value.cpp
            modified:   storage/connect/xindex.cpp
      
          - Restore connect_enable_mongo variable (but undocumented)
            modified:   storage/connect/ha_connect.cc
            modified:   storage/connect/mycat.cc
            modified:   storage/connect/mysql-test/connect/r/json_java_2.result
            modified:   storage/connect/mysql-test/connect/r/json_java_3.result
            modified:   storage/connect/mysql-test/connect/r/json_mongo_c.result
            modified:   storage/connect/mysql-test/connect/r/mongo_c.result
            modified:   storage/connect/mysql-test/connect/r/mongo_java_2.result
            modified:   storage/connect/mysql-test/connect/r/mongo_java_3.result
            modified:   storage/connect/mysql-test/connect/r/tbl_thread.result
            modified:   storage/connect/mysql-test/connect/t/mongo.inc
            modified:   storage/connect/mysql-test/connect/t/mongo_test.inc
            modified:   storage/connect/mysql-test/connect/t/tbl_thread.test
      5ae2656b
    • Sergei Golubchik's avatar
      1bd33ca8
    • Sergei Golubchik's avatar
      c74848ba
    • Sergei Golubchik's avatar
      58413787
    • Sergei Golubchik's avatar
      15ec8c2f
    • Sergei Golubchik's avatar
      MDEV-15456 Server crashes upon adding or dropping a partition in ALTER under... · 619afb15
      Sergei Golubchik authored
      MDEV-15456 Server crashes upon adding or dropping a partition in ALTER under LOCK TABLE after ER_SAME_NAME_PARTITION
      
      followup for bcb36ee2
      
      move reopening before trans_commit_stmt(thd);
      619afb15
    • Monty's avatar
      Fix compilation error when compiling with valgrind · 03da1253
      Monty authored
      03da1253
    • Monty's avatar
      Increase number of max table_open_cache instances · e86c0a5f
      Monty authored
      This is a backport of MDEV-11429 from 10.1
      e86c0a5f
  14. 25 Apr, 2018 1 commit
    • Igor Babaev's avatar
      MDEV-15035 Wrong results when calling a stored procedure · eb057dce
      Igor Babaev authored
      multiple times with different arguments.
      
      If the ON expression of an outer join is an OR formula with one
      of the disjunct being a constant formula then the expression
      cannot be null-rejected if the constant formula is true. Otherwise
      it can be null-rejected and if so the outer join can be converted
      into inner join. This optimization was added in the patch for
      mdev-4817. Yet the code had a defect: if the query was used in
      a stored procedure with parameters and the constant item contained
      some of them then the value of this constant item depended on the
      values of the parameters. With some parameters it may be true,
      for others not. The validity of conversion to inner join is checked
      only once and it happens only for the first call of procedure.
      So if the  parameters in the first call allowed the conversion it
      was done and next calls used the transformed query though there
      could be calls whose parameters made the conversion invalid.
      
      Fixed by cheking whether the constant disjunct in the ON expression
      originally contained an SP parameter. If so the expression is not
      considered as null-rejected. For this check a new item's attribute
      was intruduced: Item::with_param. It is calculated for each item
      by fix fields() functions.
      Also moved the call of optimize_constant_subqueries() in
      JOIN::optimize after the call of simplify_joins(). The reason
      for this is that after the optimization introduced by the patch
      for mdev-4817 simplify_joins() can use the results of execution
      of non-expensive constant subqueries and this is not valid.
      eb057dce