Loading include/my_base.h +6 −1 Original line number Diff line number Diff line Loading @@ -168,7 +168,12 @@ enum ha_extra_function { These flags are reset by the handler::extra(HA_EXTRA_RESET) call. */ HA_EXTRA_DELETE_CANNOT_BATCH, HA_EXTRA_UPDATE_CANNOT_BATCH HA_EXTRA_UPDATE_CANNOT_BATCH, /* Inform handler that an "INSERT...ON DUPLICATE KEY UPDATE" will be executed. This condition is unset by HA_EXTRA_NO_IGNORE_DUP_KEY. */ HA_EXTRA_INSERT_WITH_UPDATE }; /* The following is parameter to ha_panic() */ Loading myisam/ft_parser.c +4 −2 Original line number Diff line number Diff line Loading @@ -111,7 +111,7 @@ byte ft_get_word(CHARSET_INFO *cs, byte **start, byte *end, while (doc<end) { for (;doc<end;doc++) for (; doc < end; doc+= mbl) { if (true_word_char(cs,*doc)) break; if (*doc == FTB_RQUOT && param->quot) Loading @@ -120,6 +120,7 @@ byte ft_get_word(CHARSET_INFO *cs, byte **start, byte *end, *start=doc+1; return 3; /* FTB_RBR */ } mbl= my_mbcharlen(cs, *(uchar *)doc); if (!param->quot) { if (*doc == FTB_LBR || *doc == FTB_RBR || *doc == FTB_LQUOT) Loading Loading @@ -187,10 +188,11 @@ byte ft_simple_get_word(CHARSET_INFO *cs, byte **start, const byte *end, do { for (;; doc++) for (;; doc+= mbl) { if (doc >= end) DBUG_RETURN(0); if (true_word_char(cs, *doc)) break; mbl= my_mbcharlen(cs, *(uchar *)doc); } mwc= length= 0; Loading mysql-test/r/archive-big.result 0 → 100644 +19 −0 Original line number Diff line number Diff line CREATE TABLE t1(a BLOB) ENGINE=ARCHIVE; INSERT INTO t1 SELECT * FROM t1; INSERT INTO t1 SELECT * FROM t1; INSERT INTO t1 SELECT * FROM t1; INSERT INTO t1 SELECT * FROM t1; INSERT INTO t1 SELECT * FROM t1; INSERT INTO t1 SELECT * FROM t1; INSERT INTO t1 SELECT * FROM t1; INSERT INTO t1 SELECT * FROM t1; INSERT INTO t1 SELECT * FROM t1; INSERT INTO t1 SELECT * FROM t1; INSERT INTO t1 SELECT * FROM t1; INSERT INTO t1 SELECT * FROM t1; INSERT INTO t1 SELECT * FROM t1; INSERT INTO t1 SELECT * FROM t1; INSERT INTO t1 SELECT * FROM t1; INSERT INTO t1 SELECT * FROM t1; INSERT INTO t1 SELECT * FROM t1; DROP TABLE t1; mysql-test/r/archive.result +7 −0 Original line number Diff line number Diff line Loading @@ -12364,3 +12364,10 @@ select * from t1; i 1 drop table t1; create table t1(a longblob) engine=archive; insert into t1 set a=''; insert into t1 set a='a'; check table t1 extended; Table Op Msg_type Msg_text test.t1 check status OK drop table t1; mysql-test/r/federated.result +39 −0 Original line number Diff line number Diff line Loading @@ -1843,6 +1843,45 @@ C3A4C3B6C3BCC39F D18DD184D184D0B5D0BAD182D0B8D0B2D0BDD183D18E drop table federated.t1; drop table federated.t1; create table federated.t1 (a int primary key, b varchar(64)) DEFAULT CHARSET=utf8; create table federated.t1 (a int primary key, b varchar(64)) ENGINE=FEDERATED connection='mysql://root@127.0.0.1:SLAVE_PORT/federated/t1' DEFAULT CHARSET=utf8; insert ignore into federated.t1 values (1,"Larry"), (2,"Curly"), (1,"Moe"); select * from federated.t1; a b 1 Larry 2 Curly truncate federated.t1; replace into federated.t1 values (1,"Larry"), (2,"Curly"), (1,"Moe"); select * from federated.t1; a b 1 Moe 2 Curly update ignore federated.t1 set a=a+1; select * from federated.t1; a b 1 Moe 3 Curly drop table federated.t1; drop table federated.t1; create table federated.t1 (a int primary key, b varchar(64)) DEFAULT CHARSET=utf8; create table federated.t1 (a int primary key, b varchar(64)) ENGINE=FEDERATED connection='mysql://root@127.0.0.1:SLAVE_PORT/federated/t1' DEFAULT CHARSET=utf8; insert into federated.t1 values (1,"Larry"), (2,"Curly"), (1,"Moe") on duplicate key update a=a+100; ERROR 23000: Can't write; duplicate key in table 't1' select * from federated.t1; a b 1 Larry 2 Curly drop table federated.t1; drop table federated.t1; DROP TABLE IF EXISTS federated.t1; DROP DATABASE IF EXISTS federated; DROP TABLE IF EXISTS federated.t1; Loading Loading
include/my_base.h +6 −1 Original line number Diff line number Diff line Loading @@ -168,7 +168,12 @@ enum ha_extra_function { These flags are reset by the handler::extra(HA_EXTRA_RESET) call. */ HA_EXTRA_DELETE_CANNOT_BATCH, HA_EXTRA_UPDATE_CANNOT_BATCH HA_EXTRA_UPDATE_CANNOT_BATCH, /* Inform handler that an "INSERT...ON DUPLICATE KEY UPDATE" will be executed. This condition is unset by HA_EXTRA_NO_IGNORE_DUP_KEY. */ HA_EXTRA_INSERT_WITH_UPDATE }; /* The following is parameter to ha_panic() */ Loading
myisam/ft_parser.c +4 −2 Original line number Diff line number Diff line Loading @@ -111,7 +111,7 @@ byte ft_get_word(CHARSET_INFO *cs, byte **start, byte *end, while (doc<end) { for (;doc<end;doc++) for (; doc < end; doc+= mbl) { if (true_word_char(cs,*doc)) break; if (*doc == FTB_RQUOT && param->quot) Loading @@ -120,6 +120,7 @@ byte ft_get_word(CHARSET_INFO *cs, byte **start, byte *end, *start=doc+1; return 3; /* FTB_RBR */ } mbl= my_mbcharlen(cs, *(uchar *)doc); if (!param->quot) { if (*doc == FTB_LBR || *doc == FTB_RBR || *doc == FTB_LQUOT) Loading Loading @@ -187,10 +188,11 @@ byte ft_simple_get_word(CHARSET_INFO *cs, byte **start, const byte *end, do { for (;; doc++) for (;; doc+= mbl) { if (doc >= end) DBUG_RETURN(0); if (true_word_char(cs, *doc)) break; mbl= my_mbcharlen(cs, *(uchar *)doc); } mwc= length= 0; Loading
mysql-test/r/archive-big.result 0 → 100644 +19 −0 Original line number Diff line number Diff line CREATE TABLE t1(a BLOB) ENGINE=ARCHIVE; INSERT INTO t1 SELECT * FROM t1; INSERT INTO t1 SELECT * FROM t1; INSERT INTO t1 SELECT * FROM t1; INSERT INTO t1 SELECT * FROM t1; INSERT INTO t1 SELECT * FROM t1; INSERT INTO t1 SELECT * FROM t1; INSERT INTO t1 SELECT * FROM t1; INSERT INTO t1 SELECT * FROM t1; INSERT INTO t1 SELECT * FROM t1; INSERT INTO t1 SELECT * FROM t1; INSERT INTO t1 SELECT * FROM t1; INSERT INTO t1 SELECT * FROM t1; INSERT INTO t1 SELECT * FROM t1; INSERT INTO t1 SELECT * FROM t1; INSERT INTO t1 SELECT * FROM t1; INSERT INTO t1 SELECT * FROM t1; INSERT INTO t1 SELECT * FROM t1; DROP TABLE t1;
mysql-test/r/archive.result +7 −0 Original line number Diff line number Diff line Loading @@ -12364,3 +12364,10 @@ select * from t1; i 1 drop table t1; create table t1(a longblob) engine=archive; insert into t1 set a=''; insert into t1 set a='a'; check table t1 extended; Table Op Msg_type Msg_text test.t1 check status OK drop table t1;
mysql-test/r/federated.result +39 −0 Original line number Diff line number Diff line Loading @@ -1843,6 +1843,45 @@ C3A4C3B6C3BCC39F D18DD184D184D0B5D0BAD182D0B8D0B2D0BDD183D18E drop table federated.t1; drop table federated.t1; create table federated.t1 (a int primary key, b varchar(64)) DEFAULT CHARSET=utf8; create table federated.t1 (a int primary key, b varchar(64)) ENGINE=FEDERATED connection='mysql://root@127.0.0.1:SLAVE_PORT/federated/t1' DEFAULT CHARSET=utf8; insert ignore into federated.t1 values (1,"Larry"), (2,"Curly"), (1,"Moe"); select * from federated.t1; a b 1 Larry 2 Curly truncate federated.t1; replace into federated.t1 values (1,"Larry"), (2,"Curly"), (1,"Moe"); select * from federated.t1; a b 1 Moe 2 Curly update ignore federated.t1 set a=a+1; select * from federated.t1; a b 1 Moe 3 Curly drop table federated.t1; drop table federated.t1; create table federated.t1 (a int primary key, b varchar(64)) DEFAULT CHARSET=utf8; create table federated.t1 (a int primary key, b varchar(64)) ENGINE=FEDERATED connection='mysql://root@127.0.0.1:SLAVE_PORT/federated/t1' DEFAULT CHARSET=utf8; insert into federated.t1 values (1,"Larry"), (2,"Curly"), (1,"Moe") on duplicate key update a=a+100; ERROR 23000: Can't write; duplicate key in table 't1' select * from federated.t1; a b 1 Larry 2 Curly drop table federated.t1; drop table federated.t1; DROP TABLE IF EXISTS federated.t1; DROP DATABASE IF EXISTS federated; DROP TABLE IF EXISTS federated.t1; Loading