mirror of
https://github.com/MariaDB/server.git
synced 2025-01-19 05:22:25 +01:00
dededdec0a
mysql-test/r/rpl_bit_npk.result: Updated results mysql-test/t/disabled.def: rpl_bit_npk now works sql/field.h: Field_bit::cmp_binary_offset wrongly used base class method that does not work for Field_bit This was discussed with Monty and should be pushed into 5.0 too sql/log_event.cc: Added checks for null bits Swapped use of m_after_image (was m_search_record) and table->record[1] to use record[i] in the same way as other MySQL code (i.e. use record[1] for scan data). Removed use of cmp_binary in record_compare (it is currently wrong to use that without copying the null bits to the compare data record) sql/log_event.h: Name change to indicate new semantics
165 lines
3.1 KiB
Text
165 lines
3.1 KiB
Text
stop slave;
|
|
drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
|
|
reset master;
|
|
reset slave;
|
|
drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
|
|
start slave;
|
|
DROP TABLE IF EXISTS test.t1;
|
|
CREATE TABLE test.t1 (
|
|
dummyKey INTEGER NOT NULL,
|
|
f01 TINYINT,
|
|
f10 TINYINT,
|
|
f12 TINYINT,
|
|
f15 TINYINT,
|
|
f16 TINYINT,
|
|
f7 TINYINT,
|
|
f9 TINYINT,
|
|
f29 TINYINT,
|
|
f0 TINYINT,
|
|
fA1 TINYINT,
|
|
C32 TINYINT,
|
|
A42 TINYINT,
|
|
CA3 TINYINT,
|
|
A044 TINYINT,
|
|
f001 TINYINT,
|
|
A3002 TINYINT,
|
|
fC003 TINYINT,
|
|
CA300 TINYINT,
|
|
A305 TINYINT,
|
|
CA321 TINYINT,
|
|
r001 TINYINT,
|
|
bit1 BIT(6),
|
|
bit2 BIT(6),
|
|
bit3 BIT(6),
|
|
State1 TINYINT,
|
|
State2 TINYINT,
|
|
State3 TINYINT,
|
|
State4 TINYINT,
|
|
SubState TINYINT,
|
|
gState TINYINT,
|
|
oSupp TINYINT,
|
|
tSupp TINYINT,
|
|
sSuppD TINYINT,
|
|
mSuppf TINYINT,
|
|
GSuppDf TINYINT,
|
|
VNotSupp TINYINT,
|
|
x034 TINYINT);
|
|
LOCK TABLES test.t1 WRITE;
|
|
INSERT INTO test.t1 VALUES (6,1,1,1,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,b'111111',b'111110',b'110101',4,5,5,5,5,5,5,5,5,5,3,NULL,1);
|
|
INSERT INTO test.t1 VALUES (1,1,1,1,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,b'111111',b'000000',b'100100',4,5,5,5,5,5,5,5,5,5,3,2,1);
|
|
INSERT INTO test.t1 VALUES (2,1,1,1,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,b'000000',b'101010',b'010101',4,5,5,5,5,5,5,5,5,5,3,2,1);
|
|
INSERT INTO test.t1 VALUES (3,1,1,1,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,b'101010',b'111111',b'000000',4,5,5,5,5,5,5,5,5,5,3,2,1);
|
|
INSERT INTO test.t1 VALUES (4,1,1,1,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,b'0',1,1,4,5,5,5,5,5,5,5,5,5,3,2,1);
|
|
INSERT INTO test.t1 VALUES (5,1,1,1,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,4,5,5,5,5,5,5,5,5,5,3,2,1);
|
|
INSERT INTO test.t1 VALUES (7,1,1,1,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,4,5,5,5,5,5,5,5,5,5,3,2,1);
|
|
INSERT INTO test.t1 VALUES (8,1,1,1,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,4,5,5,5,5,5,5,5,5,5,3,2,1);
|
|
UNLOCK TABLES;
|
|
UPDATE test.t1 set x034 = 50 where bit3 = b'000000';
|
|
UPDATE test.t1 set VNotSupp = 33 where bit1 = b'0';
|
|
SELECT oSupp, sSuppD, GSuppDf, VNotSupp, x034 FROM test.t1;
|
|
oSupp sSuppD GSuppDf VNotSupp x034
|
|
5 5 3 NULL 1
|
|
5 5 3 2 1
|
|
5 5 3 33 1
|
|
5 5 3 2 50
|
|
5 5 3 33 1
|
|
5 5 3 33 1
|
|
5 5 3 33 1
|
|
5 5 3 33 1
|
|
SELECT hex(bit1) from test.t1;
|
|
hex(bit1)
|
|
3F
|
|
3F
|
|
0
|
|
2A
|
|
0
|
|
0
|
|
0
|
|
0
|
|
SELECT hex(bit2) from test.t1;
|
|
hex(bit2)
|
|
3E
|
|
0
|
|
2A
|
|
3F
|
|
1
|
|
1
|
|
1
|
|
1
|
|
SELECT hex(bit3) from test.t1;
|
|
hex(bit3)
|
|
35
|
|
24
|
|
15
|
|
0
|
|
1
|
|
1
|
|
1
|
|
1
|
|
SELECT oSupp, sSuppD, GSuppDf, VNotSupp, x034 FROM test.t1;
|
|
oSupp sSuppD GSuppDf VNotSupp x034
|
|
5 5 3 NULL 1
|
|
5 5 3 2 1
|
|
5 5 3 33 1
|
|
5 5 3 2 50
|
|
5 5 3 33 1
|
|
5 5 3 33 1
|
|
5 5 3 33 1
|
|
5 5 3 33 1
|
|
SELECT hex(bit1) from test.t1;
|
|
hex(bit1)
|
|
3F
|
|
3F
|
|
0
|
|
2A
|
|
0
|
|
0
|
|
0
|
|
0
|
|
SELECT hex(bit2) from test.t1;
|
|
hex(bit2)
|
|
3E
|
|
0
|
|
2A
|
|
3F
|
|
1
|
|
1
|
|
1
|
|
1
|
|
SELECT hex(bit3) from test.t1;
|
|
hex(bit3)
|
|
35
|
|
24
|
|
15
|
|
0
|
|
1
|
|
1
|
|
1
|
|
1
|
|
CREATE TABLE test.t2 (a INT, b BIT(1));
|
|
INSERT INTO test.t2 VALUES (1, b'0');
|
|
INSERT INTO test.t2 VALUES (1, b'1');
|
|
UPDATE test.t2 SET a = 2 WHERE b = b'1';
|
|
CREATE TABLE test.t3 (a INT, b INT);
|
|
INSERT INTO test.t3 VALUES (1, NULL);
|
|
INSERT INTO test.t3 VALUES (1, 0);
|
|
UPDATE test.t3 SET a = 2 WHERE b = 0;
|
|
SELECT a, hex(b) FROM test.t2;
|
|
a hex(b)
|
|
1 0
|
|
2 1
|
|
SELECT * FROM test.t3;
|
|
a b
|
|
1 NULL
|
|
2 0
|
|
SELECT a, hex(b) FROM test.t2;
|
|
a hex(b)
|
|
1 0
|
|
2 1
|
|
SELECT * FROM test.t3;
|
|
a b
|
|
1 NULL
|
|
2 0
|
|
DROP TABLE IF EXISTS test.t1;
|
|
DROP TABLE IF EXISTS test.t2;
|
|
DROP TABLE IF EXISTS test.t3;
|