1
0
mirror of https://github.com/MariaDB/server.git synced 2025-07-30 16:24:05 +03:00

Bug#17400 (CRBR: Delete and update of table w/o PK fails on slave):

Fixing bug where UPDATE failed on slave and some cleanup of ndb_unpack_record().


mysql-test/r/rpl_bit_npk.result:
  Result change
mysql-test/t/disabled.def:
  Disabling tests
mysql-test/t/rpl_bit_npk.test:
  Making test storage-engine independent
mysql-test/t/rpl_ndb_innodb2ndb-slave.opt:
  Storage engine name change
mysql-test/t/rpl_ndb_myisam2ndb-slave.opt:
  Storage engine name change
sql/ha_ndbcluster.cc:
  Using move_field_offset() to move field pointer.
  Using my_ptrdiff_t instead of uint for pointer difference.
  Removing ineffective cast.
  Calling member function directly, bypassing the virtual mechanism
  for Field_bit.
sql/log_event.cc:
  Starting and stopping range scan and index read inside find_and_fetch row
  instead of in calling function. There are storage engines that require the
  search to be restarted for every changed row.
This commit is contained in:
unknown
2006-05-11 11:09:58 +02:00
parent 94c6f6dc48
commit 8b17d33df6
7 changed files with 118 additions and 104 deletions

View File

@ -70,18 +70,22 @@ 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;
SELECT hex(bit1) from test.t1;
SELECT hex(bit2) from test.t1;
SELECT hex(bit3) from test.t1;
SELECT oSupp, sSuppD, GSuppDf, VNotSupp, x034
FROM test.t1
ORDER BY oSupp, sSuppD, GSuppDf, VNotSupp, x034;
SELECT hex(bit1) from test.t1 ORDER BY bit1;
SELECT hex(bit2) from test.t1 ORDER BY bit2;
SELECT hex(bit3) from test.t1 ORDER BY bit3;
save_master_pos;
connection slave;
sync_with_master;
SELECT oSupp, sSuppD, GSuppDf, VNotSupp, x034 FROM test.t1;
SELECT hex(bit1) from test.t1;
SELECT hex(bit2) from test.t1;
SELECT hex(bit3) from test.t1;
SELECT oSupp, sSuppD, GSuppDf, VNotSupp, x034
FROM test.t1
ORDER BY oSupp, sSuppD, GSuppDf, VNotSupp, x034;
SELECT hex(bit1) from test.t1 ORDER BY bit1;
SELECT hex(bit2) from test.t1 ORDER BY bit2;
SELECT hex(bit3) from test.t1 ORDER BY bit3;
connection master;
CREATE TABLE test.t2 (a INT, b BIT(1));
@ -94,14 +98,14 @@ 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;
SELECT * FROM test.t3;
SELECT a, hex(b) FROM test.t2 ORDER BY a,b;
SELECT * FROM test.t3 ORDER BY a,b;
save_master_pos;
connection slave;
sync_with_master;
SELECT a, hex(b) FROM test.t2;
SELECT * FROM test.t3;
SELECT a, hex(b) FROM test.t2 ORDER BY a,b;
SELECT * FROM test.t3 ORDER BY a,b;
connection master;
DROP TABLE IF EXISTS test.t1;