mirror of
https://github.com/MariaDB/server.git
synced 2026-02-03 01:09:07 +01:00
Problem was that row_mysql_read_blob_ref can return NULL in case when blob datatype is used in a key and its real value is NULL. This NULL pointer is then used in memcpy function in wsrep_store_key_val_for_row. However, memcpy is defined so that argument 2 must not be NULL. Fixed by adding conditions before memcpy functions so that argument 2 is always non NULL. Additional fixes after review - Removed unnecessary copying key data from one buffer to another. Use original key data buffer as input and temporary buffer as output. Extra output buffer is needed because strnxfrm might expand input buffer contents. - Removed unnecessary initialization of variables and move declaration where first time needed. - Removed unnecessary intitialization of temporary buffer because we already keep track actual filled length. - Remove unneccessary extra call to charset->strnxfrm
371 lines
15 KiB
Text
371 lines
15 KiB
Text
--source include/galera_cluster.inc
|
|
|
|
#
|
|
# MDEV-30732 : wsrep_store_key_val_for_row() may invoke memcpy() on nullptr
|
|
# original test case
|
|
#
|
|
SET GLOBAL sql_mode=0;
|
|
SET sql_mode=DEFAULT;
|
|
CREATE TABLE t (c INT,c2 BLOB NOT NULL,KEY k2 (c2 (1),c)) DEFAULT CHARSET=latin1 ROW_FORMAT=COMPACT;
|
|
INSERT INTO t (c) VALUES (1),(1),(1),(1),(1);
|
|
SELECT * from t;
|
|
DROP TABLE t;
|
|
#
|
|
# Additional test cases
|
|
#
|
|
CREATE TABLE t (c INT,c2 BLOB NOT NULL,UNIQUE KEY k2 (c2 (1),c)) DEFAULT CHARSET=latin1 ROW_FORMAT=COMPACT;
|
|
INSERT INTO t (c) VALUES (1),(2),(3),(4),(5);
|
|
UPDATE t SET c2=NULL WHERE c = 1;
|
|
UPDATE t SET c2="" WHERE c=1;
|
|
UPDATE t SET c2="TESTtest" WHERE c = 1;
|
|
UPDATE t SET c2="BUGbug" WHERE c2 = "TESTtest";
|
|
DELETE FROM t WHERE c2="BUGbug";
|
|
SELECT * from t;
|
|
DROP TABLE t;
|
|
CREATE TABLE t (c INT,c2 BLOB NOT NULL,KEY k2 (c, c2 (1))) DEFAULT CHARSET=latin1 ROW_FORMAT=COMPACT;
|
|
INSERT INTO t (c) VALUES (1),(2),(3),(4),(5);
|
|
UPDATE t SET c2=NULL WHERE c = 1;
|
|
UPDATE t SET c2="" WHERE c=1;
|
|
UPDATE t SET c2="TESTtest" WHERE c = 1;
|
|
UPDATE t SET c2="BUGbug" WHERE c2 = "TESTtest";
|
|
DELETE FROM t WHERE c2="BUGbug";
|
|
SELECT * from t;
|
|
DROP TABLE t;
|
|
CREATE TABLE t (c INT,c2 VARCHAR(270) NOT NULL,UNIQUE KEY k2 (c2 (1),c)) DEFAULT CHARSET=latin1 ROW_FORMAT=COMPACT;
|
|
INSERT INTO t (c) VALUES (1),(2),(3),(4),(5);
|
|
UPDATE t SET c2=NULL WHERE c = 1;
|
|
UPDATE t SET c2="" WHERE c=1;
|
|
UPDATE t SET c2="TESTtest" WHERE c = 1;
|
|
UPDATE t SET c2="BUGbug" WHERE c2 = "TESTtest";
|
|
DELETE FROM t WHERE c2="BUGbug";
|
|
SELECT * from t;
|
|
DROP TABLE t;
|
|
CREATE TABLE t (c INT,c2 VARCHAR(270) NOT NULL,KEY k2 (c, c2 (1))) DEFAULT CHARSET=latin1 ROW_FORMAT=COMPACT;
|
|
INSERT INTO t (c) VALUES (1),(2),(3),(4),(5);
|
|
UPDATE t SET c2=NULL WHERE c = 1;
|
|
UPDATE t SET c2="" WHERE c=1;
|
|
UPDATE t SET c2="TESTtest" WHERE c = 1;
|
|
UPDATE t SET c2="BUGbug" WHERE c2 = "TESTtest";
|
|
DELETE FROM t WHERE c2="BUGbug";
|
|
SELECT * from t;
|
|
DROP TABLE t;
|
|
CREATE TABLE t (c INT,c2 CHAR(80) NOT NULL,UNIQUE KEY k2 (c2 (1),c)) DEFAULT CHARSET=latin1 ROW_FORMAT=COMPACT;
|
|
UPDATE t SET c2=NULL WHERE c = 1;
|
|
UPDATE t SET c2="" WHERE c=1;
|
|
UPDATE t SET c2="TESTtest" WHERE c = 1;
|
|
UPDATE t SET c2="BUGbug" WHERE c2 = "TESTtest";
|
|
DELETE FROM t WHERE c2="BUGbug";
|
|
INSERT INTO t (c) VALUES (1),(2),(3),(4),(5);
|
|
SELECT * from t;
|
|
DROP TABLE t;
|
|
CREATE TABLE t (c INT,c2 CHAR(80) NOT NULL,KEY k2 (c, c2 (1))) DEFAULT CHARSET=latin1 ROW_FORMAT=COMPACT;
|
|
UPDATE t SET c2=NULL WHERE c = 1;
|
|
UPDATE t SET c2="" WHERE c=1;
|
|
UPDATE t SET c2="TESTtest" WHERE c = 1;
|
|
UPDATE t SET c2="BUGbug" WHERE c2 = "TESTtest";
|
|
DELETE FROM t WHERE c2="BUGbug";
|
|
INSERT INTO t (c) VALUES (1),(2),(3),(4),(5);
|
|
SELECT * from t;
|
|
DROP TABLE t;
|
|
CREATE TABLE t (c INT,c2 TEXT NOT NULL,UNIQUE KEY k2 (c2 (1),c)) DEFAULT CHARSET=latin1 ROW_FORMAT=COMPACT;
|
|
INSERT INTO t (c) VALUES (1),(2),(3),(4),(5);
|
|
UPDATE t SET c2=NULL WHERE c = 1;
|
|
UPDATE t SET c2="" WHERE c=1;
|
|
UPDATE t SET c2="TESTtest" WHERE c = 1;
|
|
UPDATE t SET c2="BUGbug" WHERE c2 = "TESTtest";
|
|
DELETE FROM t WHERE c2="BUGbug";
|
|
SELECT * from t;
|
|
DROP TABLE t;
|
|
CREATE TABLE t (c INT,c2 TEXT NOT NULL,KEY k2 (c, c2 (1))) DEFAULT CHARSET=latin1 ROW_FORMAT=COMPACT;
|
|
INSERT INTO t (c) VALUES (1),(2),(3),(4),(5);
|
|
UPDATE t SET c2=NULL WHERE c = 1;
|
|
UPDATE t SET c2="" WHERE c=1;
|
|
UPDATE t SET c2="TESTtest" WHERE c = 1;
|
|
UPDATE t SET c2="BUGbug" WHERE c2 = "TESTtest";
|
|
DELETE FROM t WHERE c2="BUGbug";
|
|
SELECT * from t;
|
|
DROP TABLE t;
|
|
|
|
CREATE TABLE t (c INT PRIMARY KEY,c2 BLOB NOT NULL,UNIQUE KEY k2 (c2 (1),c)) DEFAULT CHARSET=latin1 ROW_FORMAT=COMPACT;
|
|
INSERT INTO t (c) VALUES (1),(2),(3),(4),(5);
|
|
UPDATE t SET c2=NULL WHERE c = 1;
|
|
UPDATE t SET c2="" WHERE c=1;
|
|
UPDATE t SET c2="TESTtest" WHERE c = 1;
|
|
UPDATE t SET c2="BUGbug" WHERE c2 = "TESTtest";
|
|
DELETE FROM t WHERE c2="BUGbug";
|
|
SELECT * from t;
|
|
DROP TABLE t;
|
|
CREATE TABLE t (c INT PRIMARY KEY,c2 BLOB NOT NULL,KEY k2 (c, c2 (1))) DEFAULT CHARSET=latin1 ROW_FORMAT=COMPACT;
|
|
INSERT INTO t (c) VALUES (1),(2),(3),(4),(5);
|
|
UPDATE t SET c2=NULL WHERE c = 1;
|
|
UPDATE t SET c2="" WHERE c=1;
|
|
UPDATE t SET c2="TESTtest" WHERE c = 1;
|
|
UPDATE t SET c2="BUGbug" WHERE c2 = "TESTtest";
|
|
DELETE FROM t WHERE c2="BUGbug";
|
|
SELECT * from t;
|
|
DROP TABLE t;
|
|
CREATE TABLE t (c INT PRIMARY KEY,c2 VARCHAR(270) NOT NULL,UNIQUE KEY k2 (c2 (1),c)) DEFAULT CHARSET=latin1 ROW_FORMAT=COMPACT;
|
|
INSERT INTO t (c) VALUES (1),(2),(3),(4),(5);
|
|
UPDATE t SET c2=NULL WHERE c = 1;
|
|
UPDATE t SET c2="" WHERE c=1;
|
|
UPDATE t SET c2="TESTtest" WHERE c = 1;
|
|
UPDATE t SET c2="BUGbug" WHERE c2 = "TESTtest";
|
|
DELETE FROM t WHERE c2="BUGbug";
|
|
SELECT * from t;
|
|
DROP TABLE t;
|
|
CREATE TABLE t (c INT PRIMARY KEY,c2 VARCHAR(270) NOT NULL,KEY k2 (c, c2 (1))) DEFAULT CHARSET=latin1 ROW_FORMAT=COMPACT;
|
|
INSERT INTO t (c) VALUES (1),(2),(3),(4),(5);
|
|
UPDATE t SET c2=NULL WHERE c = 1;
|
|
UPDATE t SET c2="" WHERE c=1;
|
|
UPDATE t SET c2="TESTtest" WHERE c = 1;
|
|
UPDATE t SET c2="BUGbug" WHERE c2 = "TESTtest";
|
|
DELETE FROM t WHERE c2="BUGbug";
|
|
SELECT * from t;
|
|
DROP TABLE t;
|
|
CREATE TABLE t (c INT PRIMARY KEY,c2 CHAR(80) NOT NULL,UNIQUE KEY k2 (c2 (1),c)) DEFAULT CHARSET=latin1 ROW_FORMAT=COMPACT;
|
|
UPDATE t SET c2=NULL WHERE c = 1;
|
|
UPDATE t SET c2="" WHERE c=1;
|
|
UPDATE t SET c2="TESTtest" WHERE c = 1;
|
|
UPDATE t SET c2="BUGbug" WHERE c2 = "TESTtest";
|
|
DELETE FROM t WHERE c2="BUGbug";
|
|
INSERT INTO t (c) VALUES (1),(2),(3),(4),(5);
|
|
SELECT * from t;
|
|
DROP TABLE t;
|
|
CREATE TABLE t (c INT PRIMARY KEY,c2 CHAR(80) NOT NULL,KEY k2 (c, c2 (1))) DEFAULT CHARSET=latin1 ROW_FORMAT=COMPACT;
|
|
UPDATE t SET c2=NULL WHERE c = 1;
|
|
UPDATE t SET c2="" WHERE c=1;
|
|
UPDATE t SET c2="TESTtest" WHERE c = 1;
|
|
UPDATE t SET c2="BUGbug" WHERE c2 = "TESTtest";
|
|
DELETE FROM t WHERE c2="BUGbug";
|
|
INSERT INTO t (c) VALUES (1),(2),(3),(4),(5);
|
|
SELECT * from t;
|
|
DROP TABLE t;
|
|
CREATE TABLE t (c INT PRIMARY KEY,c2 TEXT NOT NULL,UNIQUE KEY k2 (c2 (1),c)) DEFAULT CHARSET=latin1 ROW_FORMAT=COMPACT;
|
|
INSERT INTO t (c) VALUES (1),(2),(3),(4),(5);
|
|
UPDATE t SET c2=NULL WHERE c = 1;
|
|
UPDATE t SET c2="" WHERE c=1;
|
|
UPDATE t SET c2="TESTtest" WHERE c = 1;
|
|
UPDATE t SET c2="BUGbug" WHERE c2 = "TESTtest";
|
|
DELETE FROM t WHERE c2="BUGbug";
|
|
SELECT * from t;
|
|
DROP TABLE t;
|
|
CREATE TABLE t (c INT PRIMARY KEY,c2 TEXT NOT NULL,KEY k2 (c, c2 (1))) DEFAULT CHARSET=latin1 ROW_FORMAT=COMPACT;
|
|
INSERT INTO t (c) VALUES (1),(2),(3),(4),(5);
|
|
UPDATE t SET c2=NULL WHERE c = 1;
|
|
UPDATE t SET c2="" WHERE c=1;
|
|
UPDATE t SET c2="TESTtest" WHERE c = 1;
|
|
UPDATE t SET c2="BUGbug" WHERE c2 = "TESTtest";
|
|
DELETE FROM t WHERE c2="BUGbug";
|
|
SELECT * from t;
|
|
DROP TABLE t;
|
|
|
|
SET GLOBAL sql_mode=0;
|
|
SET sql_mode=DEFAULT;
|
|
CREATE TABLE t (c INT,c2 BLOB,KEY k2 (c2 (6),c)) DEFAULT CHARSET=latin1 ROW_FORMAT=COMPACT;
|
|
INSERT INTO t (c) VALUES (1),(1),(1),(1),(1);
|
|
UPDATE t SET c2=NULL WHERE c = 1;
|
|
UPDATE t SET c2="" WHERE c=1;
|
|
UPDATE t SET c2="TESTtest" WHERE c = 1;
|
|
UPDATE t SET c2="BUGbug" WHERE c2 = "TESTtest";
|
|
DELETE FROM t WHERE c2="BUGbug";
|
|
SELECT * FROM t;
|
|
DROP TABLE t;
|
|
CREATE TABLE t (c INT,c2 BLOB NOT NULL,KEY k2 (c2 (6),c)) DEFAULT CHARSET=latin1 ROW_FORMAT=COMPACT;
|
|
INSERT INTO t (c) VALUES (1),(1),(1),(1),(1);
|
|
UPDATE t SET c2=NULL WHERE c = 1;
|
|
UPDATE t SET c2="" WHERE c=1;
|
|
UPDATE t SET c2="TESTtest" WHERE c = 1;
|
|
UPDATE t SET c2="BUGbug" WHERE c2 = "TESTtest";
|
|
DELETE FROM t WHERE c2="BUGbug";
|
|
SELECT * FROM t;
|
|
DROP TABLE t;
|
|
CREATE TABLE t (c INT NOT NULL PRIMARY KEY,c2 BLOB,KEY k2 (c2 (6),c)) DEFAULT CHARSET=latin1 ROW_FORMAT=COMPACT;
|
|
INSERT INTO t (c) VALUES (1),(2),(3),(4),(5);
|
|
UPDATE t SET c2=NULL WHERE c = 1;
|
|
UPDATE t SET c2="" WHERE c=1;
|
|
UPDATE t SET c2="TESTtest" WHERE c = 1;
|
|
UPDATE t SET c2="BUGbug" WHERE c2 = "TESTtest";
|
|
DELETE FROM t WHERE c2="BUGbug";
|
|
SELECT * FROM t;
|
|
DROP TABLE t;
|
|
CREATE TABLE t (c INT NOT NULL PRIMARY KEY,c2 BLOB NOT NULL,KEY k2 (c2 (6),c)) DEFAULT CHARSET=latin1 ROW_FORMAT=COMPACT;
|
|
INSERT INTO t (c) VALUES (1),(2),(3),(4),(5);
|
|
UPDATE t SET c2=NULL WHERE c = 1;
|
|
UPDATE t SET c2="" WHERE c=1;
|
|
UPDATE t SET c2="TESTtest" WHERE c = 1;
|
|
UPDATE t SET c2="BUGbug" WHERE c2 = "TESTtest";
|
|
DELETE FROM t WHERE c2="BUGbug";
|
|
SELECT * FROM t;
|
|
DROP TABLE t;
|
|
CREATE TABLE t (c INT,c2 VARCHAR(270),KEY k2 (c2 (6),c)) DEFAULT CHARSET=latin1 ROW_FORMAT=COMPACT;
|
|
INSERT INTO t (c) VALUES (1),(1),(1),(1),(1);
|
|
UPDATE t SET c2=NULL WHERE c = 1;
|
|
UPDATE t SET c2="" WHERE c=1;
|
|
UPDATE t SET c2="TESTtest" WHERE c = 1;
|
|
UPDATE t SET c2="BUGbug" WHERE c2 = "TESTtest";
|
|
DELETE FROM t WHERE c2="BUGbug";
|
|
SELECT * FROM t;
|
|
DROP TABLE t;
|
|
CREATE TABLE t (c INT,c2 VARCHAR(270) NOT NULL,KEY k2 (c2 (6),c)) DEFAULT CHARSET=latin1 ROW_FORMAT=COMPACT;
|
|
INSERT INTO t (c) VALUES (1),(1),(1),(1),(1);
|
|
UPDATE t SET c2=NULL WHERE c = 1;
|
|
UPDATE t SET c2="" WHERE c=1;
|
|
UPDATE t SET c2="TESTtest" WHERE c = 1;
|
|
UPDATE t SET c2="BUGbug" WHERE c2 = "TESTtest";
|
|
DELETE FROM t WHERE c2="BUGbug";
|
|
SELECT * FROM t;
|
|
DROP TABLE t;
|
|
CREATE TABLE t (c INT NOT NULL PRIMARY KEY,c2 VARCHAR(270),KEY k2 (c2 (6),c)) DEFAULT CHARSET=latin1 ROW_FORMAT=COMPACT;
|
|
INSERT INTO t (c) VALUES (1),(2),(3),(4),(5);
|
|
UPDATE t SET c2=NULL WHERE c = 1;
|
|
UPDATE t SET c2="" WHERE c=1;
|
|
UPDATE t SET c2="TESTtest" WHERE c = 1;
|
|
UPDATE t SET c2="BUGbug" WHERE c2 = "TESTtest";
|
|
DELETE FROM t WHERE c2="BUGbug";
|
|
SELECT * FROM t;
|
|
DROP TABLE t;
|
|
CREATE TABLE t (c INT NOT NULL PRIMARY KEY,c2 VARCHAR(270) NOT NULL,KEY k2 (c2 (6),c)) DEFAULT CHARSET=latin1 ROW_FORMAT=COMPACT;
|
|
INSERT INTO t (c) VALUES (1),(2),(3),(4),(5);
|
|
UPDATE t SET c2=NULL WHERE c = 1;
|
|
UPDATE t SET c2="" WHERE c=1;
|
|
UPDATE t SET c2="TESTtest" WHERE c = 1;
|
|
UPDATE t SET c2="BUGbug" WHERE c2 = "TESTtest";
|
|
DELETE FROM t WHERE c2="BUGbug";
|
|
SELECT * FROM t;
|
|
DROP TABLE t;
|
|
CREATE TABLE t (c INT,c2 CHAR(80),KEY k2 (c2 (6),c)) DEFAULT CHARSET=latin1 ROW_FORMAT=COMPACT;
|
|
INSERT INTO t (c) VALUES (1),(1),(1),(1),(1);
|
|
UPDATE t SET c2=NULL WHERE c = 1;
|
|
UPDATE t SET c2="" WHERE c=1;
|
|
UPDATE t SET c2="TESTtest" WHERE c = 1;
|
|
UPDATE t SET c2="BUGbug" WHERE c2 = "TESTtest";
|
|
DELETE FROM t WHERE c2="BUGbug";
|
|
SELECT * FROM t;
|
|
DROP TABLE t;
|
|
CREATE TABLE t (c INT,c2 CHAR(80) NOT NULL,KEY k2 (c2 (6),c)) DEFAULT CHARSET=latin1 ROW_FORMAT=COMPACT;
|
|
INSERT INTO t (c) VALUES (1),(1),(1),(1),(1);
|
|
UPDATE t SET c2=NULL WHERE c = 1;
|
|
UPDATE t SET c2="" WHERE c=1;
|
|
UPDATE t SET c2="TESTtest" WHERE c = 1;
|
|
UPDATE t SET c2="BUGbug" WHERE c2 = "TESTtest";
|
|
DELETE FROM t WHERE c2="BUGbug";
|
|
SELECT * FROM t;
|
|
DROP TABLE t;
|
|
CREATE TABLE t (c INT NOT NULL PRIMARY KEY,c2 CHAR(80),KEY k2 (c2 (6),c)) DEFAULT CHARSET=latin1 ROW_FORMAT=COMPACT;
|
|
INSERT INTO t (c) VALUES (1),(2),(3),(4),(5);
|
|
UPDATE t SET c2=NULL WHERE c = 1;
|
|
UPDATE t SET c2="" WHERE c=1;
|
|
UPDATE t SET c2="TESTtest" WHERE c = 1;
|
|
UPDATE t SET c2="BUGbug" WHERE c2 = "TESTtest";
|
|
DELETE FROM t WHERE c2="BUGbug";
|
|
SELECT * FROM t;
|
|
DROP TABLE t;
|
|
CREATE TABLE t (c INT NOT NULL PRIMARY KEY,c2 CHAR(80) NOT NULL,KEY k2 (c2 (6),c)) DEFAULT CHARSET=latin1 ROW_FORMAT=COMPACT;
|
|
INSERT INTO t (c) VALUES (1),(2),(3),(4),(5);
|
|
UPDATE t SET c2=NULL WHERE c = 1;
|
|
UPDATE t SET c2="" WHERE c=1;
|
|
UPDATE t SET c2="TESTtest" WHERE c = 1;
|
|
UPDATE t SET c2="BUGbug" WHERE c2 = "TESTtest";
|
|
DELETE FROM t WHERE c2="BUGbug";
|
|
SELECT * FROM t;
|
|
DROP TABLE t;
|
|
CREATE TABLE t (c INT,c2 TEXT,KEY k2 (c2 (6),c)) DEFAULT CHARSET=latin1 ROW_FORMAT=COMPACT;
|
|
INSERT INTO t (c) VALUES (1),(1),(1),(1),(1);
|
|
UPDATE t SET c2=NULL WHERE c = 1;
|
|
UPDATE t SET c2="TESTtest" WHERE c = 1;
|
|
UPDATE t SET c2="BUGbug" WHERE c2 = "TESTtest";
|
|
DELETE FROM t WHERE c2="BUGbug";
|
|
SELECT * FROM t;
|
|
DROP TABLE t;
|
|
CREATE TABLE t (c INT,c2 TEXT NOT NULL,KEY k2 (c2 (6),c)) DEFAULT CHARSET=latin1 ROW_FORMAT=COMPACT;
|
|
INSERT INTO t (c) VALUES (1),(1),(1),(1),(1);
|
|
UPDATE t SET c2=NULL WHERE c = 1;
|
|
UPDATE t SET c2="TESTtest" WHERE c = 1;
|
|
UPDATE t SET c2="BUGbug" WHERE c2 = "TESTtest";
|
|
DELETE FROM t WHERE c2="BUGbug";
|
|
SELECT * FROM t;
|
|
DROP TABLE t;
|
|
CREATE TABLE t (c INT NOT NULL PRIMARY KEY,c2 TEXT,KEY k2 (c2 (6),c)) DEFAULT CHARSET=latin1 ROW_FORMAT=COMPACT;
|
|
INSERT INTO t (c) VALUES (1),(2),(3),(4),(5);
|
|
UPDATE t SET c2=NULL WHERE c = 1;
|
|
UPDATE t SET c2="TESTtest" WHERE c = 1;
|
|
UPDATE t SET c2="BUGbug" WHERE c2 = "TESTtest";
|
|
DELETE FROM t WHERE c2="BUGbug";
|
|
SELECT * FROM t;
|
|
DROP TABLE t;
|
|
CREATE TABLE t (c INT NOT NULL PRIMARY KEY,c2 TEXT NOT NULL,KEY k2 (c2 (6),c)) DEFAULT CHARSET=latin1 ROW_FORMAT=COMPACT;
|
|
INSERT INTO t (c) VALUES (1),(2),(3),(4),(5);
|
|
UPDATE t SET c2=NULL WHERE c = 1;
|
|
UPDATE t SET c2="TESTtest" WHERE c = 1;
|
|
UPDATE t SET c2="BUGbug" WHERE c2 = "TESTtest";
|
|
DELETE FROM t WHERE c2="BUGbug";
|
|
SELECT * FROM t;
|
|
DROP TABLE t;
|
|
|
|
SET GLOBAL sql_mode=DEFAULT;
|
|
|
|
CREATE TABLE t (c INT,c2 BLOB,KEY k2 (c2 (6),c)) DEFAULT CHARSET=latin1 ROW_FORMAT=COMPACT;
|
|
INSERT INTO t (c) VALUES (1),(1),(1),(1),(1);
|
|
UPDATE t SET c2=NULL WHERE c = 1;
|
|
UPDATE t SET c2="TESTtest" WHERE c = 1;
|
|
UPDATE t SET c2="BUGbug" WHERE c2 = "TESTtest";
|
|
DELETE FROM t WHERE c2="BUGbug";
|
|
SELECT * FROM t;
|
|
DROP TABLE t;
|
|
CREATE TABLE t (c INT,c2 VARCHAR(270),KEY k2 (c2 (6),c)) DEFAULT CHARSET=latin1 ROW_FORMAT=COMPACT;
|
|
INSERT INTO t (c) VALUES (1),(1),(1),(1),(1);
|
|
UPDATE t SET c2=NULL WHERE c = 1;
|
|
UPDATE t SET c2="TESTtest" WHERE c = 1;
|
|
UPDATE t SET c2="BUGbug" WHERE c2 = "TESTtest";
|
|
DELETE FROM t WHERE c2="BUGbug";
|
|
SELECT * FROM t;
|
|
DROP TABLE t;
|
|
CREATE TABLE t (c INT,c2 CHAR(80),KEY k2 (c2 (6),c)) DEFAULT CHARSET=latin1 ROW_FORMAT=COMPACT;
|
|
INSERT INTO t (c) VALUES (1),(1),(1),(1),(1);
|
|
UPDATE t SET c2=NULL WHERE c = 1;
|
|
UPDATE t SET c2="TESTtest" WHERE c = 1;
|
|
UPDATE t SET c2="BUGbug" WHERE c2 = "TESTtest";
|
|
DELETE FROM t WHERE c2="BUGbug";
|
|
SELECT * FROM t;
|
|
DROP TABLE t;
|
|
CREATE TABLE t (c INT,c2 TEXT,KEY k2 (c2 (6),c)) DEFAULT CHARSET=latin1 ROW_FORMAT=COMPACT;
|
|
INSERT INTO t (c) VALUES (1),(1),(1),(1),(1);
|
|
UPDATE t SET c2=NULL WHERE c = 1;
|
|
UPDATE t SET c2="TESTtest" WHERE c = 1;
|
|
UPDATE t SET c2="BUGbug" WHERE c2 = "TESTtest";
|
|
DELETE FROM t WHERE c2="BUGbug";
|
|
SELECT * FROM t;
|
|
DROP TABLE t;
|
|
|
|
CREATE TABLE t (c INT NOT NULL PRIMARY KEY,c2 BLOB,KEY k2 (c2 (6),c)) DEFAULT CHARSET=latin1 ROW_FORMAT=COMPACT;
|
|
INSERT INTO t (c) VALUES (1),(2),(3),(4),(5);
|
|
UPDATE t SET c2=NULL WHERE c = 1;
|
|
UPDATE t SET c2="TESTtest" WHERE c = 1;
|
|
UPDATE t SET c2="BUGbug" WHERE c2 = "TESTtest";
|
|
DELETE FROM t WHERE c2="BUGbug";
|
|
SELECT * FROM t;
|
|
DROP TABLE t;
|
|
CREATE TABLE t (c INT NOT NULL PRIMARY KEY,c2 VARCHAR(270),KEY k2 (c2 (6),c)) DEFAULT CHARSET=latin1 ROW_FORMAT=COMPACT;
|
|
INSERT INTO t (c) VALUES (1),(2),(3),(4),(5);
|
|
UPDATE t SET c2=NULL WHERE c = 1;
|
|
UPDATE t SET c2="TESTtest" WHERE c = 1;
|
|
UPDATE t SET c2="BUGbug" WHERE c2 = "TESTtest";
|
|
DELETE FROM t WHERE c2="BUGbug";
|
|
SELECT * FROM t;
|
|
DROP TABLE t;
|
|
CREATE TABLE t (c INT NOT NULL PRIMARY KEY,c2 CHAR(80),KEY k2 (c2 (6),c)) DEFAULT CHARSET=latin1 ROW_FORMAT=COMPACT;
|
|
INSERT INTO t (c) VALUES (1),(2),(3),(4),(5);
|
|
UPDATE t SET c2=NULL WHERE c = 1;
|
|
UPDATE t SET c2="TESTtest" WHERE c = 1;
|
|
UPDATE t SET c2="BUGbug" WHERE c2 = "TESTtest";
|
|
DELETE FROM t WHERE c2="BUGbug";
|
|
SELECT * FROM t;
|
|
DROP TABLE t;
|
|
CREATE TABLE t (c INT NOT NULL PRIMARY KEY,c2 TEXT,KEY k2 (c2 (6),c)) DEFAULT CHARSET=latin1 ROW_FORMAT=COMPACT;
|
|
INSERT INTO t (c) VALUES (1),(2),(3),(4),(5);
|
|
UPDATE t SET c2=NULL WHERE c = 1;
|
|
UPDATE t SET c2="TESTtest" WHERE c = 1;
|
|
UPDATE t SET c2="BUGbug" WHERE c2 = "TESTtest";
|
|
DELETE FROM t WHERE c2="BUGbug";
|
|
SELECT * FROM t;
|
|
DROP TABLE t;
|