updating primary key in table fails to produce correct output in transaction_log/transaction_reader
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Drizzle |
Fix Released
|
Critical
|
Jay Pipes |
Bug Description
I created the following test for the transaction_log test suite that produces incorrect output: (note the update statement at the end of the bug report)
Heres the test:
--disable_warnings
DROP TABLE IF EXISTS t1;
--enable_warnings
CREATE TABLE t1 (
id INT NOT NULL
, padding VARCHAR(200) NOT NULL
, PRIMARY KEY (id)
);
INSERT INTO t1 VALUES (1, "I love testing.");
INSERT INTO t1 VALUES (2, "I hate testing.");
UPDATE t1 SET id=4 WHERE id=2;
Here is what is produced by the transaction_reader:
CREATE TABLE t1 ( id INT NOT NULL , padding VARCHAR(200) NOT NULL , PRIMARY KEY (id) );
INSERT INTO `test`.`t1` (`id`,`padding`) VALUES (1,'I love testing.');
INSERT INTO `test`.`t1` (`id`,`padding`) VALUES (2,'I hate testing.');
UPDATE `test`.`t1` SET `id`=4 WHERE `id`=4; <------- should be id=2
The update statement is not correct above.
Related branches
- Brian Aker: Pending requested
- Drizzle Developers: Pending requested
-
Diff: 1072 lines (+497/-37)26 files modifieddrizzled/message/statement_transform.cc (+8/-7)
drizzled/message/statement_transform.h (+2/-1)
drizzled/message/transaction_reader.cc (+6/-1)
plugin/transaction_log/tests/r/alter.result (+16/-0)
plugin/transaction_log/tests/r/auto_commit.result (+24/-10)
plugin/transaction_log/tests/r/blob.result (+12/-0)
plugin/transaction_log/tests/r/create_select.result (+16/-0)
plugin/transaction_log/tests/r/database.result (+4/-0)
plugin/transaction_log/tests/r/delete.result (+57/-1)
plugin/transaction_log/tests/r/filtered_replicator.result (+154/-12)
plugin/transaction_log/tests/r/insert.result (+8/-0)
plugin/transaction_log/tests/r/insert_multi.result (+4/-0)
plugin/transaction_log/tests/r/insert_on_duplicate_update.result (+12/-0)
plugin/transaction_log/tests/r/insert_select.result (+12/-0)
plugin/transaction_log/tests/r/no_modification.result (+8/-0)
plugin/transaction_log/tests/r/no_primary_key.result (+6/-0)
plugin/transaction_log/tests/r/rand.result (+10/-0)
plugin/transaction_log/tests/r/rename.result (+8/-0)
plugin/transaction_log/tests/r/replace.result (+28/-0)
plugin/transaction_log/tests/r/rollback.result (+6/-0)
plugin/transaction_log/tests/r/select_for_update.result (+12/-0)
plugin/transaction_log/tests/r/temp_tables.result (+8/-0)
plugin/transaction_log/tests/r/truncate.result (+10/-0)
plugin/transaction_log/tests/r/update.result (+36/-0)
plugin/transaction_log/tests/t/alter.inc (+3/-5)
plugin/transaction_log/tests/t/delete.inc (+27/-0)
Changed in drizzle: | |
assignee: | nobody → Jay Pipes (jaypipes) |
importance: | Undecided → Critical |
status: | New → Confirmed |
milestone: | none → bell |
Changed in drizzle: | |
status: | Confirmed → In Progress |
Changed in drizzle: | |
status: | In Progress → Fix Committed |
Changed in drizzle: | |
status: | Fix Committed → Fix Released |