Loading BUILD/compile-dist +25 −8 Original line number Diff line number Diff line Loading @@ -13,34 +13,51 @@ path=`dirname $0` # Default to gcc for CC and CXX if test -z "$CXX" ; then export CXX=gcc CXX=gcc # Set some required compile options if test -z "$CXXFLAGS" ; then export CXXFLAGS="-felide-constructors -fno-exceptions -fno-rtti" CXXFLAGS="-felide-constructors -fno-exceptions -fno-rtti" fi fi if test -z "$CC" ; then export CC=gcc CC=gcc fi # Use ccache, if available if ccache -V > /dev/null 2>&1 then if ! (echo "$CC" | grep "ccache" > /dev/null) if echo "$CC" | grep "ccache" > /dev/null then export CC="ccache $CC" : else CC="ccache $CC" fi if ! (echo "$CXX" | grep "ccache" > /dev/null) if echo "$CXX" | grep "ccache" > /dev/null then export CXX="ccache $CXX" : else CXX="ccache $CXX" fi fi if test -z "$MAKE" then if gmake -v > /dev/null 2>&1 then MAKE="gmake" else MAKE="make" fi fi export CC CXX MAKE # Make sure to enable all features that affect "make dist" # Remember that configure restricts the man pages to the configured features ! ./configure \ --with-embedded-server \ --with-ndbcluster make $MAKE configure.in +37 −27 Original line number Diff line number Diff line Loading @@ -405,12 +405,15 @@ dnl Find paths to some shell programs AC_PATH_PROG(LN, ln, ln) # This must be able to take a -f flag like normal unix ln. AC_PATH_PROG(LN_CP_F, ln, ln) if ! ( expr "$SYSTEM_TYPE" : ".*netware.*" > /dev/null ); then case $SYSTEM_TYPE in *netware*) ;; *) # If ln -f does not exists use -s (AFS systems) if test -n "$LN_CP_F"; then LN_CP_F="$LN_CP_F -s" fi fi ;; esac AC_PATH_PROG(MV, mv, mv) AC_PATH_PROG(RM, rm, rm) Loading Loading @@ -1642,14 +1645,16 @@ else OPTIMIZE_CXXFLAGS="-O" fi if expr "$SYSTEM_TYPE" : ".*netware.*" > /dev/null; then case $SYSTEM_TYPE in *netware*) DEBUG_CFLAGS="-g -DDEBUG -sym internal,codeview4" DEBUG_CXXFLAGS="-g -DDEBUG -sym internal,codeview4" DEBUG_OPTIMIZE_CC="-DDEBUG" DEBUG_OPTIMIZE_CXX="-DDEBUG" OPTIMIZE_CFLAGS="-O3 -DNDEBUG" OPTIMIZE_CXXFLAGS="-O3 -DNDEBUG" fi ;; esac # If the user specified CFLAGS, we won't add any optimizations if test -n "$SAVE_CFLAGS" Loading Loading @@ -1915,7 +1920,9 @@ MYSQL_TZNAME # Do the c++ compiler have a bool type MYSQL_CXX_BOOL # Check some common bugs with gcc 2.8.# on sparc if ! ( expr "$SYSTEM_TYPE" : ".*netware.*" > /dev/null ); then case $SYSTEM_TYPE in *netware*) ;; *) MYSQL_CHECK_LONGLONG_TO_FLOAT if test "$ac_cv_conv_longlong_to_float" != "yes" then Loading @@ -1923,7 +1930,8 @@ then If you are using gcc 2.8.# you should upgrade to egcs 1.0.3 or newer and try again]) fi fi ;; esac AC_CHECK_TYPES([sigset_t, off_t], [], [], [#include <sys/types.h>]) AC_CHECK_TYPES([size_t], [], [], [#include <stdio.h>]) AC_CHECK_TYPES([u_int32_t]) Loading Loading @@ -2549,11 +2557,12 @@ readline_h_ln_cmd="" readline_link="" want_to_use_readline="no" if expr "$SYSTEM_TYPE" : ".*netware.*" > /dev/null then case $SYSTEM_TYPE in *netware*) # For NetWare, do not need readline echo "Skipping readline" else ;; *) if [test "$with_libedit" = "yes"] || [test "$with_libedit" = "undefined"] && [test "$with_readline" = "undefined"] then readline_topdir="cmd-line-utils" Loading Loading @@ -2606,7 +2615,8 @@ else be built with libreadline. Please use --with-libedit to use the bundled version of libedit instead.]) fi fi ;; esac AC_SUBST(readline_dir) AC_SUBST(readline_topdir) Loading mysql-test/extra/rpl_tests/rpl_row_basic.test +99 −0 Original line number Diff line number Diff line Loading @@ -553,3 +553,102 @@ DROP TABLE t1, t2; --enable_abort_on_error --echo EOF OF TESTS # # BUG#40004: Replication failure with no PK + no indexes # # The test cases are taken from the bug report. It is difficult to # produce a test case that generates a HA_ERR_RECORD_DELETED, so we go # with the test cases we have. connection master; eval CREATE TABLE t1 (a int) ENGINE=$type; INSERT IGNORE INTO t1 VALUES (NULL); INSERT INTO t1 ( a ) VALUES ( 0 ); INSERT INTO t1 ( a ) VALUES ( 9 ); INSERT INTO t1 ( a ) VALUES ( 2 ); INSERT INTO t1 ( a ) VALUES ( 9 ); INSERT INTO t1 ( a ) VALUES ( 5 ); UPDATE t1 SET a = 5 WHERE a = 9; DELETE FROM t1 WHERE a < 6; UPDATE t1 SET a = 9 WHERE a < 3; INSERT INTO t1 ( a ) VALUES ( 3 ); UPDATE t1 SET a = 0 WHERE a < 4; UPDATE t1 SET a = 8 WHERE a < 5; sync_slave_with_master; let $diff_table_1=master:test.t1; let $diff_table_2=slave:test.t1; source include/diff_tables.inc; connection master; drop table t1; sync_slave_with_master; # # Bug #39752: Replication failure on RBR + MyISAM + no PK # # The test cases are taken from the bug report. It is difficult to # produce a test case that generates a HA_ERR_RECORD_DELETED, so we go # with the test cases we have. connection master; --disable_warnings eval CREATE TABLE t1 (a bit) ENGINE=$type; INSERT IGNORE INTO t1 VALUES (NULL); INSERT INTO t1 ( a ) VALUES ( 0 ); UPDATE t1 SET a = 0 WHERE a = 1 LIMIT 3; INSERT INTO t1 ( a ) VALUES ( 5 ); DELETE FROM t1 WHERE a < 2 LIMIT 4; DELETE FROM t1 WHERE a < 9 LIMIT 4; INSERT INTO t1 ( a ) VALUES ( 9 ); UPDATE t1 SET a = 8 WHERE a = 0 LIMIT 6; INSERT INTO t1 ( a ) VALUES ( 8 ); UPDATE t1 SET a = 0 WHERE a < 6 LIMIT 0; INSERT INTO t1 ( a ) VALUES ( 4 ); INSERT INTO t1 ( a ) VALUES ( 3 ); UPDATE t1 SET a = 0 WHERE a = 7 LIMIT 6; DELETE FROM t1 WHERE a = 4 LIMIT 7; UPDATE t1 SET a = 9 WHERE a < 2 LIMIT 9; UPDATE t1 SET a = 0 WHERE a < 9 LIMIT 2; DELETE FROM t1 WHERE a < 0 LIMIT 5; INSERT INTO t1 ( a ) VALUES ( 5 ); UPDATE t1 SET a = 4 WHERE a < 6 LIMIT 4; INSERT INTO t1 ( a ) VALUES ( 5 ); UPDATE t1 SET a = 9 WHERE a < 5 LIMIT 8; DELETE FROM t1 WHERE a < 8 LIMIT 8; INSERT INTO t1 ( a ) VALUES ( 6 ); DELETE FROM t1 WHERE a < 6 LIMIT 7; UPDATE t1 SET a = 7 WHERE a = 3 LIMIT 7; UPDATE t1 SET a = 8 WHERE a = 0 LIMIT 6; INSERT INTO t1 ( a ) VALUES ( 7 ); DELETE FROM t1 WHERE a < 9 LIMIT 4; INSERT INTO t1 ( a ) VALUES ( 7 ); INSERT INTO t1 ( a ) VALUES ( 6 ); UPDATE t1 SET a = 8 WHERE a = 3 LIMIT 4; DELETE FROM t1 WHERE a = 2 LIMIT 9; DELETE FROM t1 WHERE a = 1 LIMIT 4; UPDATE t1 SET a = 4 WHERE a = 2 LIMIT 7; INSERT INTO t1 ( a ) VALUES ( 0 ); DELETE FROM t1 WHERE a < 3 LIMIT 0; UPDATE t1 SET a = 8 WHERE a = 5 LIMIT 2; INSERT INTO t1 ( a ) VALUES ( 1 ); UPDATE t1 SET a = 9 WHERE a < 5 LIMIT 3; --enable_warnings sync_slave_with_master; let $diff_table_1=master:test.t1; let $diff_table_2=slave:test.t1; source include/diff_tables.inc; connection master; drop table t1; sync_slave_with_master; mysql-test/r/innodb_mysql.result +9 −0 Original line number Diff line number Diff line Loading @@ -1668,3 +1668,12 @@ explain select a from t2 where a=b; id select_type table type possible_keys key key_len ref rows Extra 1 SIMPLE t2 index NULL a 10 NULL # Using where; Using index drop table t1, t2; SET SESSION BINLOG_FORMAT=STATEMENT; SET SESSION TRANSACTION ISOLATION LEVEL READ COMMITTED; select @@session.sql_log_bin, @@session.binlog_format, @@session.tx_isolation; @@session.sql_log_bin 1 @@session.binlog_format STATEMENT @@session.tx_isolation READ-COMMITTED CREATE TABLE t1 ( a INT ) ENGINE=InnoDB; INSERT INTO t1 VALUES(1); DROP TABLE t1; mysql-test/r/partition.result +74 −0 Original line number Diff line number Diff line drop table if exists t1, t2; CREATE TABLE t1 (a INT NOT NULL, KEY(a)) PARTITION BY RANGE(a) (PARTITION p1 VALUES LESS THAN (200), PARTITION pmax VALUES LESS THAN MAXVALUE); INSERT INTO t1 VALUES (2), (40), (40), (70), (60), (90), (199); SELECT a FROM t1 WHERE a BETWEEN 60 AND 95 ORDER BY a ASC; a 60 70 90 SELECT a FROM t1 WHERE a BETWEEN 60 AND 95; a 60 70 90 INSERT INTO t1 VALUES (200), (250), (210); SELECT a FROM t1 WHERE a BETWEEN 60 AND 220 ORDER BY a ASC; a 60 70 90 199 200 210 SELECT a FROM t1 WHERE a BETWEEN 200 AND 220 ORDER BY a ASC; a 200 210 SELECT a FROM t1 WHERE a BETWEEN 60 AND 95 ORDER BY a DESC; a 90 70 60 SELECT a FROM t1 WHERE a BETWEEN 60 AND 220 ORDER BY a DESC; a 210 200 199 90 70 60 SELECT a FROM t1 WHERE a BETWEEN 200 AND 220 ORDER BY a DESC; a 210 200 SELECT a FROM t1 WHERE a BETWEEN 60 AND 220; a 199 200 210 60 70 90 SELECT a FROM t1 WHERE a BETWEEN 200 AND 220; a 200 210 SELECT a FROM t1 WHERE a BETWEEN 60 AND 95; a 60 70 90 SELECT a FROM t1 WHERE a BETWEEN 60 AND 220; a 199 200 210 60 70 90 SELECT a FROM t1 WHERE a BETWEEN 200 AND 220; a 200 210 DROP TABLE t1; CREATE TABLE t1 ( a INT NOT NULL, b MEDIUMINT NOT NULL, Loading Loading
BUILD/compile-dist +25 −8 Original line number Diff line number Diff line Loading @@ -13,34 +13,51 @@ path=`dirname $0` # Default to gcc for CC and CXX if test -z "$CXX" ; then export CXX=gcc CXX=gcc # Set some required compile options if test -z "$CXXFLAGS" ; then export CXXFLAGS="-felide-constructors -fno-exceptions -fno-rtti" CXXFLAGS="-felide-constructors -fno-exceptions -fno-rtti" fi fi if test -z "$CC" ; then export CC=gcc CC=gcc fi # Use ccache, if available if ccache -V > /dev/null 2>&1 then if ! (echo "$CC" | grep "ccache" > /dev/null) if echo "$CC" | grep "ccache" > /dev/null then export CC="ccache $CC" : else CC="ccache $CC" fi if ! (echo "$CXX" | grep "ccache" > /dev/null) if echo "$CXX" | grep "ccache" > /dev/null then export CXX="ccache $CXX" : else CXX="ccache $CXX" fi fi if test -z "$MAKE" then if gmake -v > /dev/null 2>&1 then MAKE="gmake" else MAKE="make" fi fi export CC CXX MAKE # Make sure to enable all features that affect "make dist" # Remember that configure restricts the man pages to the configured features ! ./configure \ --with-embedded-server \ --with-ndbcluster make $MAKE
configure.in +37 −27 Original line number Diff line number Diff line Loading @@ -405,12 +405,15 @@ dnl Find paths to some shell programs AC_PATH_PROG(LN, ln, ln) # This must be able to take a -f flag like normal unix ln. AC_PATH_PROG(LN_CP_F, ln, ln) if ! ( expr "$SYSTEM_TYPE" : ".*netware.*" > /dev/null ); then case $SYSTEM_TYPE in *netware*) ;; *) # If ln -f does not exists use -s (AFS systems) if test -n "$LN_CP_F"; then LN_CP_F="$LN_CP_F -s" fi fi ;; esac AC_PATH_PROG(MV, mv, mv) AC_PATH_PROG(RM, rm, rm) Loading Loading @@ -1642,14 +1645,16 @@ else OPTIMIZE_CXXFLAGS="-O" fi if expr "$SYSTEM_TYPE" : ".*netware.*" > /dev/null; then case $SYSTEM_TYPE in *netware*) DEBUG_CFLAGS="-g -DDEBUG -sym internal,codeview4" DEBUG_CXXFLAGS="-g -DDEBUG -sym internal,codeview4" DEBUG_OPTIMIZE_CC="-DDEBUG" DEBUG_OPTIMIZE_CXX="-DDEBUG" OPTIMIZE_CFLAGS="-O3 -DNDEBUG" OPTIMIZE_CXXFLAGS="-O3 -DNDEBUG" fi ;; esac # If the user specified CFLAGS, we won't add any optimizations if test -n "$SAVE_CFLAGS" Loading Loading @@ -1915,7 +1920,9 @@ MYSQL_TZNAME # Do the c++ compiler have a bool type MYSQL_CXX_BOOL # Check some common bugs with gcc 2.8.# on sparc if ! ( expr "$SYSTEM_TYPE" : ".*netware.*" > /dev/null ); then case $SYSTEM_TYPE in *netware*) ;; *) MYSQL_CHECK_LONGLONG_TO_FLOAT if test "$ac_cv_conv_longlong_to_float" != "yes" then Loading @@ -1923,7 +1930,8 @@ then If you are using gcc 2.8.# you should upgrade to egcs 1.0.3 or newer and try again]) fi fi ;; esac AC_CHECK_TYPES([sigset_t, off_t], [], [], [#include <sys/types.h>]) AC_CHECK_TYPES([size_t], [], [], [#include <stdio.h>]) AC_CHECK_TYPES([u_int32_t]) Loading Loading @@ -2549,11 +2557,12 @@ readline_h_ln_cmd="" readline_link="" want_to_use_readline="no" if expr "$SYSTEM_TYPE" : ".*netware.*" > /dev/null then case $SYSTEM_TYPE in *netware*) # For NetWare, do not need readline echo "Skipping readline" else ;; *) if [test "$with_libedit" = "yes"] || [test "$with_libedit" = "undefined"] && [test "$with_readline" = "undefined"] then readline_topdir="cmd-line-utils" Loading Loading @@ -2606,7 +2615,8 @@ else be built with libreadline. Please use --with-libedit to use the bundled version of libedit instead.]) fi fi ;; esac AC_SUBST(readline_dir) AC_SUBST(readline_topdir) Loading
mysql-test/extra/rpl_tests/rpl_row_basic.test +99 −0 Original line number Diff line number Diff line Loading @@ -553,3 +553,102 @@ DROP TABLE t1, t2; --enable_abort_on_error --echo EOF OF TESTS # # BUG#40004: Replication failure with no PK + no indexes # # The test cases are taken from the bug report. It is difficult to # produce a test case that generates a HA_ERR_RECORD_DELETED, so we go # with the test cases we have. connection master; eval CREATE TABLE t1 (a int) ENGINE=$type; INSERT IGNORE INTO t1 VALUES (NULL); INSERT INTO t1 ( a ) VALUES ( 0 ); INSERT INTO t1 ( a ) VALUES ( 9 ); INSERT INTO t1 ( a ) VALUES ( 2 ); INSERT INTO t1 ( a ) VALUES ( 9 ); INSERT INTO t1 ( a ) VALUES ( 5 ); UPDATE t1 SET a = 5 WHERE a = 9; DELETE FROM t1 WHERE a < 6; UPDATE t1 SET a = 9 WHERE a < 3; INSERT INTO t1 ( a ) VALUES ( 3 ); UPDATE t1 SET a = 0 WHERE a < 4; UPDATE t1 SET a = 8 WHERE a < 5; sync_slave_with_master; let $diff_table_1=master:test.t1; let $diff_table_2=slave:test.t1; source include/diff_tables.inc; connection master; drop table t1; sync_slave_with_master; # # Bug #39752: Replication failure on RBR + MyISAM + no PK # # The test cases are taken from the bug report. It is difficult to # produce a test case that generates a HA_ERR_RECORD_DELETED, so we go # with the test cases we have. connection master; --disable_warnings eval CREATE TABLE t1 (a bit) ENGINE=$type; INSERT IGNORE INTO t1 VALUES (NULL); INSERT INTO t1 ( a ) VALUES ( 0 ); UPDATE t1 SET a = 0 WHERE a = 1 LIMIT 3; INSERT INTO t1 ( a ) VALUES ( 5 ); DELETE FROM t1 WHERE a < 2 LIMIT 4; DELETE FROM t1 WHERE a < 9 LIMIT 4; INSERT INTO t1 ( a ) VALUES ( 9 ); UPDATE t1 SET a = 8 WHERE a = 0 LIMIT 6; INSERT INTO t1 ( a ) VALUES ( 8 ); UPDATE t1 SET a = 0 WHERE a < 6 LIMIT 0; INSERT INTO t1 ( a ) VALUES ( 4 ); INSERT INTO t1 ( a ) VALUES ( 3 ); UPDATE t1 SET a = 0 WHERE a = 7 LIMIT 6; DELETE FROM t1 WHERE a = 4 LIMIT 7; UPDATE t1 SET a = 9 WHERE a < 2 LIMIT 9; UPDATE t1 SET a = 0 WHERE a < 9 LIMIT 2; DELETE FROM t1 WHERE a < 0 LIMIT 5; INSERT INTO t1 ( a ) VALUES ( 5 ); UPDATE t1 SET a = 4 WHERE a < 6 LIMIT 4; INSERT INTO t1 ( a ) VALUES ( 5 ); UPDATE t1 SET a = 9 WHERE a < 5 LIMIT 8; DELETE FROM t1 WHERE a < 8 LIMIT 8; INSERT INTO t1 ( a ) VALUES ( 6 ); DELETE FROM t1 WHERE a < 6 LIMIT 7; UPDATE t1 SET a = 7 WHERE a = 3 LIMIT 7; UPDATE t1 SET a = 8 WHERE a = 0 LIMIT 6; INSERT INTO t1 ( a ) VALUES ( 7 ); DELETE FROM t1 WHERE a < 9 LIMIT 4; INSERT INTO t1 ( a ) VALUES ( 7 ); INSERT INTO t1 ( a ) VALUES ( 6 ); UPDATE t1 SET a = 8 WHERE a = 3 LIMIT 4; DELETE FROM t1 WHERE a = 2 LIMIT 9; DELETE FROM t1 WHERE a = 1 LIMIT 4; UPDATE t1 SET a = 4 WHERE a = 2 LIMIT 7; INSERT INTO t1 ( a ) VALUES ( 0 ); DELETE FROM t1 WHERE a < 3 LIMIT 0; UPDATE t1 SET a = 8 WHERE a = 5 LIMIT 2; INSERT INTO t1 ( a ) VALUES ( 1 ); UPDATE t1 SET a = 9 WHERE a < 5 LIMIT 3; --enable_warnings sync_slave_with_master; let $diff_table_1=master:test.t1; let $diff_table_2=slave:test.t1; source include/diff_tables.inc; connection master; drop table t1; sync_slave_with_master;
mysql-test/r/innodb_mysql.result +9 −0 Original line number Diff line number Diff line Loading @@ -1668,3 +1668,12 @@ explain select a from t2 where a=b; id select_type table type possible_keys key key_len ref rows Extra 1 SIMPLE t2 index NULL a 10 NULL # Using where; Using index drop table t1, t2; SET SESSION BINLOG_FORMAT=STATEMENT; SET SESSION TRANSACTION ISOLATION LEVEL READ COMMITTED; select @@session.sql_log_bin, @@session.binlog_format, @@session.tx_isolation; @@session.sql_log_bin 1 @@session.binlog_format STATEMENT @@session.tx_isolation READ-COMMITTED CREATE TABLE t1 ( a INT ) ENGINE=InnoDB; INSERT INTO t1 VALUES(1); DROP TABLE t1;
mysql-test/r/partition.result +74 −0 Original line number Diff line number Diff line drop table if exists t1, t2; CREATE TABLE t1 (a INT NOT NULL, KEY(a)) PARTITION BY RANGE(a) (PARTITION p1 VALUES LESS THAN (200), PARTITION pmax VALUES LESS THAN MAXVALUE); INSERT INTO t1 VALUES (2), (40), (40), (70), (60), (90), (199); SELECT a FROM t1 WHERE a BETWEEN 60 AND 95 ORDER BY a ASC; a 60 70 90 SELECT a FROM t1 WHERE a BETWEEN 60 AND 95; a 60 70 90 INSERT INTO t1 VALUES (200), (250), (210); SELECT a FROM t1 WHERE a BETWEEN 60 AND 220 ORDER BY a ASC; a 60 70 90 199 200 210 SELECT a FROM t1 WHERE a BETWEEN 200 AND 220 ORDER BY a ASC; a 200 210 SELECT a FROM t1 WHERE a BETWEEN 60 AND 95 ORDER BY a DESC; a 90 70 60 SELECT a FROM t1 WHERE a BETWEEN 60 AND 220 ORDER BY a DESC; a 210 200 199 90 70 60 SELECT a FROM t1 WHERE a BETWEEN 200 AND 220 ORDER BY a DESC; a 210 200 SELECT a FROM t1 WHERE a BETWEEN 60 AND 220; a 199 200 210 60 70 90 SELECT a FROM t1 WHERE a BETWEEN 200 AND 220; a 200 210 SELECT a FROM t1 WHERE a BETWEEN 60 AND 95; a 60 70 90 SELECT a FROM t1 WHERE a BETWEEN 60 AND 220; a 199 200 210 60 70 90 SELECT a FROM t1 WHERE a BETWEEN 200 AND 220; a 200 210 DROP TABLE t1; CREATE TABLE t1 ( a INT NOT NULL, b MEDIUMINT NOT NULL, Loading