Merge lp:~dshrews/drizzle/bug701056 into lp:drizzle/7.0

Proposed by David Shrewsbury
Status: Merged
Approved by: Brian Aker
Approved revision: 2070
Merged at revision: 2071
Proposed branch: lp:~dshrews/drizzle/bug701056
Merge into: lp:drizzle/7.0
Diff against target: 711 lines (+231/-370)
16 files modified
plugin/filtered_replicator/filtered_replicator.cc (+7/-6)
plugin/filtered_replicator/tests/r/filtered_replicator.result (+0/-322)
plugin/filtered_replicator/tests/r/var_filteredschemas.result (+19/-0)
plugin/filtered_replicator/tests/r/var_filteredtables.result (+29/-0)
plugin/filtered_replicator/tests/r/var_schemaregex.result (+21/-0)
plugin/filtered_replicator/tests/r/var_tableregex.result (+31/-0)
plugin/filtered_replicator/tests/t/filtered_replicator-master.opt (+0/-1)
plugin/filtered_replicator/tests/t/filtered_replicator.test (+0/-41)
plugin/filtered_replicator/tests/t/var_filteredschemas-master.opt (+1/-0)
plugin/filtered_replicator/tests/t/var_filteredschemas.test (+23/-0)
plugin/filtered_replicator/tests/t/var_filteredtables-master.opt (+1/-0)
plugin/filtered_replicator/tests/t/var_filteredtables.test (+34/-0)
plugin/filtered_replicator/tests/t/var_schemaregex-master.opt (+1/-0)
plugin/filtered_replicator/tests/t/var_schemaregex.test (+26/-0)
plugin/filtered_replicator/tests/t/var_tableregex-master.opt (+1/-0)
plugin/filtered_replicator/tests/t/var_tableregex.test (+37/-0)
To merge this branch: bzr merge lp:~dshrews/drizzle/bug701056
Reviewer Review Type Date Requested Status
Drizzle Developers Pending
Review via email: mp+45726@code.launchpad.net

Description of the change

Fixes filtered_replicator to recognize schema on CREATE TABLE queries. Also fixes a bug where a mutex was not released properly. Adds new test cases for filtered_replicator and removes one that actually tested nothing.

To post a comment you must log in.

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'plugin/filtered_replicator/filtered_replicator.cc'
2--- plugin/filtered_replicator/filtered_replicator.cc 2010-12-30 18:07:58 +0000
3+++ plugin/filtered_replicator/filtered_replicator.cc 2011-01-10 18:00:22 +0000
4@@ -192,13 +192,13 @@
5 }
6 case message::Statement::CREATE_TABLE:
7 {
8- // in_schema_name.assign(in_statement.create_table_statement().table().name());
9+ in_schema_name.assign(in_statement.create_table_statement().table().schema());
10 in_table_name.assign(in_statement.create_table_statement().table().name());
11 break;
12 }
13 case message::Statement::ALTER_TABLE:
14 {
15- // in_schema_name.assign(in_statement.alter_table_statement().table().name());
16+ in_schema_name.assign(in_statement.alter_table_statement().after().schema());
17 in_table_name.assign(in_statement.alter_table_statement().after().name());
18 break;
19 }
20@@ -498,6 +498,7 @@
21 _sch_filter.assign(input);
22 schemas_to_filter.clear();
23 populateFilter(_sch_filter, schemas_to_filter);
24+ pthread_mutex_unlock(&sysvar_sch_lock);
25 pthread_mutex_unlock(&sch_vector_lock);
26 }
27
28@@ -574,16 +575,16 @@
29 {
30 context("filteredschemas",
31 po::value<string>(&sysvar_filtered_replicator_sch_filters)->default_value(""),
32- N_("List of schemas to filter"));
33+ N_("Comma-separated list of schemas to exclude"));
34 context("filteredtables",
35 po::value<string>(&sysvar_filtered_replicator_tab_filters)->default_value(""),
36- N_("List of tables to filter"));
37+ N_("Comma-separated list of tables to exclude"));
38 context("schemaregex",
39 po::value<string>()->default_value(""),
40- N_("Regular expression to apply to schemas to filter"));
41+ N_("Regular expression to apply to schemas to exclude"));
42 context("tableregex",
43 po::value<string>()->default_value(""),
44- N_("Regular expression to apply to tables to filter"));
45+ N_("Regular expression to apply to tables to exclude"));
46 }
47
48 } /* namespace drizzle_plugin */
49
50=== removed file 'plugin/filtered_replicator/tests/r/filtered_replicator.result'
51--- plugin/filtered_replicator/tests/r/filtered_replicator.result 2010-12-21 20:47:29 +0000
52+++ plugin/filtered_replicator/tests/r/filtered_replicator.result 1970-01-01 00:00:00 +0000
53@@ -1,322 +0,0 @@
54-set global filtered_replicator_filteredtables=t2;
55-DROP TABLE IF EXISTS t1;
56-CREATE TABLE t1 (
57-id INT NOT NULL PRIMARY KEY
58-, padding VARCHAR(200) NOT NULL
59-);
60-INSERT INTO t1 VALUES (1, "I love testing.");
61-INSERT INTO t1 VALUES (2, "I hate testing.");
62-DROP TABLE t1;
63-DROP TABLE IF EXISTS t1;
64-CREATE TABLE t1 (
65-id INT NOT NULL PRIMARY KEY
66-, padding VARCHAR(200) NOT NULL
67-);
68-INSERT INTO t1 VALUES (1, "I love testing."), (2, "I hate testing.");
69-DROP TABLE t1;
70-DROP TABLE IF EXISTS t1;
71-DROP TABLE IF EXISTS t2;
72-CREATE TABLE t1 (
73-id INT NOT NULL PRIMARY KEY
74-, padding VARCHAR(200) NOT NULL
75-);
76-INSERT INTO t1 VALUES (1, "I love testing.");
77-INSERT INTO t1 VALUES (2, "I hate testing.");
78-CREATE TABLE t2 (
79-id INT NOT NULL PRIMARY KEY
80-, padding VARCHAR(200) NOT NULL
81-);
82-INSERT INTO t2 SELECT * FROM t1;
83-DROP TABLE t1, t2;
84-DROP TABLE IF EXISTS t1;
85-CREATE TABLE t1 (
86-id INT NOT NULL
87-, padding VARCHAR(200) NOT NULL
88-, PRIMARY KEY (id)
89-);
90-INSERT INTO t1 VALUES (1, "I love testing.");
91-INSERT INTO t1 VALUES (2, "I hate testing.");
92-ALTER TABLE t1 ADD dummy INT;
93-ALTER TABLE t1 ADD INDEX ix_padding (padding(20));
94-DROP TABLE t1;
95-DROP SCHEMA IF EXISTS my_new_schema;
96-CREATE SCHEMA my_new_warnings;
97-DROP SCHEMA my_new_warnings;
98-DROP TABLE IF EXISTS t1, t2;
99-CREATE TABLE t1 (
100-id INT NOT NULL
101-, padding VARCHAR(200) NOT NULL
102-, PRIMARY KEY (id)
103-);
104-RENAME TABLE t1 TO t2;
105-DROP TABLE t2;
106-DROP TABLE IF EXISTS t1;
107-CREATE TABLE t1 (
108-id INT NOT NULL
109-, padding VARCHAR(200) NOT NULL
110-, PRIMARY KEY (id)
111-);
112-INSERT INTO t1 VALUES (1, "I love testing.");
113-INSERT INTO t1 VALUES (2, "I hate testing.");
114-DELETE FROM t1 where id = 1;
115-DROP TABLE t1;
116-CREATE TABLE t1 (
117-id INT NOT NULL
118-, other INT NOT NULL
119-, PRIMARY KEY (id)
120-);
121-INSERT INTO t1 VALUES (1, 1);
122-INSERT INTO t1 VALUES (2, 2);
123-INSERT INTO t1 VALUES (3, 3);
124-INSERT INTO t1 VALUES (4, 4);
125-INSERT INTO t1 VALUES (5, 5);
126-INSERT INTO t1 VALUES (6, 6);
127-INSERT INTO t1 VALUES (7, 7);
128-INSERT INTO t1 VALUES (8, 8);
129-DELETE FROM t1;
130-DROP TABLE t1;
131-Start Test of LP Bug #496101
132-CREATE TABLE t1 (
133-id INT NOT NULL
134-, padding VARCHAR(200) NOT NULL
135-, PRIMARY KEY (id)
136-);
137-START TRANSACTION;
138-INSERT INTO t1 VALUES (1, "I love testing.");
139-INSERT INTO t1 VALUES (2, "I hate testing.");
140-DELETE FROM t1 where id = 1;
141-COMMIT;
142-DROP TABLE t1;
143-End Test of LP Bug #496101
144-DROP TABLE IF EXISTS t1;
145-CREATE TABLE t1 (
146-id INT NOT NULL
147-, padding VARCHAR(200) NOT NULL
148-, PRIMARY KEY (id)
149-);
150-INSERT INTO t1 VALUES (1, "I love testing.");
151-INSERT INTO t1 VALUES (2, "I hate testing.");
152-UPDATE t1 SET padding= "XXX" WHERE id= 1;
153-UPDATE t1 SET padding= "AAA";
154-DROP TABLE t1;
155-CREATE TABLE t1 (
156-id int AUTO_INCREMENT NOT NULL PRIMARY KEY
157-, name varchar(1024)
158-, alias varchar(1024)
159-);
160-INSERT INTO t1 (name,alias) VALUES ("jeff lebowski","dude");
161-UPDATE t1 SET alias = "the dude" WHERE alias = "dude";
162-DROP TABLE t1;
163-CREATE TABLE t1 (
164-id INT NOT NULL
165-, counter INT NOT NULL
166-, PRIMARY KEY (id)
167-);
168-INSERT INTO t1 (id, counter) VALUES (1,1),(2,2),(3,3);
169-UPDATE t1 SET counter = counter + 1 WHERE id = 1;
170-UPDATE t1 SET counter = counter + 1 WHERE id IN (2,3);
171-DROP TABLE t1;
172-CREATE TABLE t1 (
173-id INT NOT NULL
174-, padding VARCHAR(200) NOT NULL
175-, PRIMARY KEY (id)
176-);
177-INSERT INTO t1 VALUES (1, "I love testing.");
178-INSERT INTO t1 VALUES (2, "I hate testing.");
179-UPDATE t1 SET id = 4 WHERE id = 2;
180-DROP TABLE t1;
181-START TRANSACTION;
182-CREATE TABLE `test`.`t1` ( `id` INT NOT NULL, `padding` VARCHAR(200) COLLATE utf8_general_ci NOT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB COLLATE = utf8_general_ci;
183-COMMIT;
184-START TRANSACTION;
185-INSERT INTO `test`.`t1` (`id`,`padding`) VALUES (1,'I love testing.');
186-COMMIT;
187-START TRANSACTION;
188-INSERT INTO `test`.`t1` (`id`,`padding`) VALUES (2,'I hate testing.');
189-COMMIT;
190-START TRANSACTION;
191-DROP TABLE `test`.`t1`;
192-COMMIT;
193-START TRANSACTION;
194-CREATE TABLE `test`.`t1` ( `id` INT NOT NULL, `padding` VARCHAR(200) COLLATE utf8_general_ci NOT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB COLLATE = utf8_general_ci;
195-COMMIT;
196-START TRANSACTION;
197-INSERT INTO `test`.`t1` (`id`,`padding`) VALUES (1,'I love testing.');
198-INSERT INTO `test`.`t1` (`id`,`padding`) VALUES (2,'I hate testing.');
199-COMMIT;
200-START TRANSACTION;
201-DROP TABLE `test`.`t1`;
202-COMMIT;
203-START TRANSACTION;
204-CREATE TABLE `test`.`t1` ( `id` INT NOT NULL, `padding` VARCHAR(200) COLLATE utf8_general_ci NOT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB COLLATE = utf8_general_ci;
205-COMMIT;
206-START TRANSACTION;
207-INSERT INTO `test`.`t1` (`id`,`padding`) VALUES (1,'I love testing.');
208-COMMIT;
209-START TRANSACTION;
210-INSERT INTO `test`.`t1` (`id`,`padding`) VALUES (2,'I hate testing.');
211-COMMIT;
212-START TRANSACTION;
213-DROP TABLE `test`.`t1`;
214-COMMIT;
215-START TRANSACTION;
216-CREATE TABLE `test`.`t1` ( `id` INT NOT NULL, `padding` VARCHAR(200) COLLATE utf8_general_ci NOT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB COLLATE = utf8_general_ci;
217-COMMIT;
218-START TRANSACTION;
219-INSERT INTO `test`.`t1` (`id`,`padding`) VALUES (1,'I love testing.');
220-COMMIT;
221-START TRANSACTION;
222-INSERT INTO `test`.`t1` (`id`,`padding`) VALUES (2,'I hate testing.');
223-COMMIT;
224-START TRANSACTION;
225-ALTER TABLE t1 ADD dummy INT;
226-COMMIT;
227-START TRANSACTION;
228-ALTER TABLE t1 ADD INDEX ix_padding (padding(20));
229-COMMIT;
230-START TRANSACTION;
231-DROP TABLE `test`.`t1`;
232-COMMIT;
233-START TRANSACTION;
234-CREATE SCHEMA `my_new_warnings` COLLATE utf8_general_ci;
235-COMMIT;
236-START TRANSACTION;
237-DROP SCHEMA `my_new_warnings`;
238-COMMIT;
239-START TRANSACTION;
240-CREATE TABLE `test`.`t1` ( `id` INT NOT NULL, `padding` VARCHAR(200) COLLATE utf8_general_ci NOT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB COLLATE = utf8_general_ci;
241-COMMIT;
242-START TRANSACTION;
243-RENAME TABLE t1 TO t2;
244-COMMIT;
245-START TRANSACTION;
246-CREATE TABLE `test`.`t1` ( `id` INT NOT NULL, `padding` VARCHAR(200) COLLATE utf8_general_ci NOT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB COLLATE = utf8_general_ci;
247-COMMIT;
248-START TRANSACTION;
249-INSERT INTO `test`.`t1` (`id`,`padding`) VALUES (1,'I love testing.');
250-COMMIT;
251-START TRANSACTION;
252-INSERT INTO `test`.`t1` (`id`,`padding`) VALUES (2,'I hate testing.');
253-COMMIT;
254-START TRANSACTION;
255-DELETE FROM `test`.`t1` WHERE `id`=1;
256-COMMIT;
257-START TRANSACTION;
258-DROP TABLE `test`.`t1`;
259-COMMIT;
260-START TRANSACTION;
261-CREATE TABLE `test`.`t1` ( `id` INT NOT NULL, `other` INT NOT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB COLLATE = utf8_general_ci;
262-COMMIT;
263-START TRANSACTION;
264-INSERT INTO `test`.`t1` (`id`,`other`) VALUES (1,1);
265-COMMIT;
266-START TRANSACTION;
267-INSERT INTO `test`.`t1` (`id`,`other`) VALUES (2,2);
268-COMMIT;
269-START TRANSACTION;
270-INSERT INTO `test`.`t1` (`id`,`other`) VALUES (3,3);
271-COMMIT;
272-START TRANSACTION;
273-INSERT INTO `test`.`t1` (`id`,`other`) VALUES (4,4);
274-COMMIT;
275-START TRANSACTION;
276-INSERT INTO `test`.`t1` (`id`,`other`) VALUES (5,5);
277-COMMIT;
278-START TRANSACTION;
279-INSERT INTO `test`.`t1` (`id`,`other`) VALUES (6,6);
280-COMMIT;
281-START TRANSACTION;
282-INSERT INTO `test`.`t1` (`id`,`other`) VALUES (7,7);
283-COMMIT;
284-START TRANSACTION;
285-INSERT INTO `test`.`t1` (`id`,`other`) VALUES (8,8);
286-COMMIT;
287-START TRANSACTION;
288-DELETE FROM `test`.`t1` WHERE `id`=1;
289-DELETE FROM `test`.`t1` WHERE `id`=2;
290-DELETE FROM `test`.`t1` WHERE `id`=3;
291-DELETE FROM `test`.`t1` WHERE `id`=4;
292-DELETE FROM `test`.`t1` WHERE `id`=5;
293-DELETE FROM `test`.`t1` WHERE `id`=6;
294-DELETE FROM `test`.`t1` WHERE `id`=7;
295-DELETE FROM `test`.`t1` WHERE `id`=8;
296-COMMIT;
297-START TRANSACTION;
298-DROP TABLE `test`.`t1`;
299-COMMIT;
300-START TRANSACTION;
301-CREATE TABLE `test`.`t1` ( `id` INT NOT NULL, `padding` VARCHAR(200) COLLATE utf8_general_ci NOT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB COLLATE = utf8_general_ci;
302-COMMIT;
303-START TRANSACTION;
304-INSERT INTO `test`.`t1` (`id`,`padding`) VALUES (1,'I love testing.');
305-INSERT INTO `test`.`t1` (`id`,`padding`) VALUES (2,'I hate testing.');
306-DELETE FROM `test`.`t1` WHERE `id`=1;
307-COMMIT;
308-START TRANSACTION;
309-DROP TABLE `test`.`t1`;
310-COMMIT;
311-START TRANSACTION;
312-CREATE TABLE `test`.`t1` ( `id` INT NOT NULL, `padding` VARCHAR(200) COLLATE utf8_general_ci NOT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB COLLATE = utf8_general_ci;
313-COMMIT;
314-START TRANSACTION;
315-INSERT INTO `test`.`t1` (`id`,`padding`) VALUES (1,'I love testing.');
316-COMMIT;
317-START TRANSACTION;
318-INSERT INTO `test`.`t1` (`id`,`padding`) VALUES (2,'I hate testing.');
319-COMMIT;
320-START TRANSACTION;
321-UPDATE `test`.`t1` SET `padding`='XXX' WHERE `id`=1;
322-COMMIT;
323-START TRANSACTION;
324-UPDATE `test`.`t1` SET `padding`='AAA' WHERE `id`=1;
325-UPDATE `test`.`t1` SET `padding`='AAA' WHERE `id`=2;
326-COMMIT;
327-START TRANSACTION;
328-DROP TABLE `test`.`t1`;
329-COMMIT;
330-START TRANSACTION;
331-CREATE TABLE `test`.`t1` ( `id` INT NOT NULL AUTO_INCREMENT, `name` VARCHAR(1024) COLLATE utf8_general_ci DEFAULT NULL, `alias` VARCHAR(1024) COLLATE utf8_general_ci DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB COLLATE = utf8_general_ci;
332-COMMIT;
333-START TRANSACTION;
334-INSERT INTO `test`.`t1` (`id`,`name`,`alias`) VALUES (1,'jeff lebowski','dude');
335-COMMIT;
336-START TRANSACTION;
337-UPDATE `test`.`t1` SET `alias`='the dude' WHERE `id`=1;
338-COMMIT;
339-START TRANSACTION;
340-DROP TABLE `test`.`t1`;
341-COMMIT;
342-START TRANSACTION;
343-CREATE TABLE `test`.`t1` ( `id` INT NOT NULL, `counter` INT NOT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB COLLATE = utf8_general_ci;
344-COMMIT;
345-START TRANSACTION;
346-INSERT INTO `test`.`t1` (`id`,`counter`) VALUES (1,1);
347-INSERT INTO `test`.`t1` (`id`,`counter`) VALUES (2,2);
348-INSERT INTO `test`.`t1` (`id`,`counter`) VALUES (3,3);
349-COMMIT;
350-START TRANSACTION;
351-UPDATE `test`.`t1` SET `counter`=2 WHERE `id`=1;
352-COMMIT;
353-START TRANSACTION;
354-UPDATE `test`.`t1` SET `counter`=3 WHERE `id`=2;
355-UPDATE `test`.`t1` SET `counter`=4 WHERE `id`=3;
356-COMMIT;
357-START TRANSACTION;
358-DROP TABLE `test`.`t1`;
359-COMMIT;
360-START TRANSACTION;
361-CREATE TABLE `test`.`t1` ( `id` INT NOT NULL, `padding` VARCHAR(200) COLLATE utf8_general_ci NOT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB COLLATE = utf8_general_ci;
362-COMMIT;
363-START TRANSACTION;
364-INSERT INTO `test`.`t1` (`id`,`padding`) VALUES (1,'I love testing.');
365-COMMIT;
366-START TRANSACTION;
367-INSERT INTO `test`.`t1` (`id`,`padding`) VALUES (2,'I hate testing.');
368-COMMIT;
369-START TRANSACTION;
370-UPDATE `test`.`t1` SET `id`=4 WHERE `id`=2;
371-COMMIT;
372-START TRANSACTION;
373-DROP TABLE `test`.`t1`;
374-COMMIT;
375-SET GLOBAL transaction_log_truncate_debug= true;
376
377=== added file 'plugin/filtered_replicator/tests/r/var_filteredschemas.result'
378--- plugin/filtered_replicator/tests/r/var_filteredschemas.result 1970-01-01 00:00:00 +0000
379+++ plugin/filtered_replicator/tests/r/var_filteredschemas.result 2011-01-10 18:00:22 +0000
380@@ -0,0 +1,19 @@
381+CREATE SCHEMA foo;
382+CREATE SCHEMA bar;
383+USE foo;
384+CREATE TABLE foo1 (a INT NOT NULL PRIMARY KEY);
385+INSERT INTO foo1 VALUES (1);
386+UPDATE foo1 SET a = 2;
387+DELETE FROM foo1;
388+DROP SCHEMA foo;
389+DROP SCHEMA bar;
390+
391+We should only see the 'bar' schema in the log
392+
393+START TRANSACTION;
394+CREATE SCHEMA `bar` COLLATE utf8_general_ci;
395+COMMIT;
396+START TRANSACTION;
397+DROP SCHEMA `bar`;
398+COMMIT;
399+SET GLOBAL transaction_log_truncate_debug= true;
400
401=== added file 'plugin/filtered_replicator/tests/r/var_filteredtables.result'
402--- plugin/filtered_replicator/tests/r/var_filteredtables.result 1970-01-01 00:00:00 +0000
403+++ plugin/filtered_replicator/tests/r/var_filteredtables.result 2011-01-10 18:00:22 +0000
404@@ -0,0 +1,29 @@
405+CREATE TABLE t1 (a INT NOT NULL PRIMARY KEY);
406+INSERT INTO t1 VALUES (1);
407+UPDATE t1 SET a = 2;
408+DELETE FROM t1;
409+DROP TABLE t1;
410+CREATE TABLE t2 (a INT NOT NULL PRIMARY KEY);
411+INSERT INTO t2 VALUES (1);
412+UPDATE t2 SET a = 2;
413+DELETE FROM t2;
414+DROP TABLE t2;
415+
416+We should only see events for t1 table in the log
417+
418+START TRANSACTION;
419+CREATE TABLE `test`.`t1` ( `a` INT NOT NULL, PRIMARY KEY (`a`) ) ENGINE=InnoDB COLLATE = utf8_general_ci;
420+COMMIT;
421+START TRANSACTION;
422+INSERT INTO `test`.`t1` (`a`) VALUES (1);
423+COMMIT;
424+START TRANSACTION;
425+UPDATE `test`.`t1` SET `a`=2 WHERE `a`=1;
426+COMMIT;
427+START TRANSACTION;
428+DELETE FROM `test`.`t1` WHERE `a`=2;
429+COMMIT;
430+START TRANSACTION;
431+DROP TABLE `test`.`t1`;
432+COMMIT;
433+SET GLOBAL transaction_log_truncate_debug= true;
434
435=== added file 'plugin/filtered_replicator/tests/r/var_schemaregex.result'
436--- plugin/filtered_replicator/tests/r/var_schemaregex.result 1970-01-01 00:00:00 +0000
437+++ plugin/filtered_replicator/tests/r/var_schemaregex.result 2011-01-10 18:00:22 +0000
438@@ -0,0 +1,21 @@
439+CREATE SCHEMA foo;
440+CREATE SCHEMA foobar;
441+CREATE SCHEMA bar;
442+USE foobar;
443+CREATE TABLE foo1 (a INT NOT NULL PRIMARY KEY);
444+INSERT INTO foo1 VALUES (1);
445+UPDATE foo1 SET a = 2;
446+DELETE FROM foo1;
447+DROP SCHEMA foo;
448+DROP SCHEMA foobar;
449+DROP SCHEMA bar;
450+
451+We should only see the 'bar' schema in the log
452+
453+START TRANSACTION;
454+CREATE SCHEMA `bar` COLLATE utf8_general_ci;
455+COMMIT;
456+START TRANSACTION;
457+DROP SCHEMA `bar`;
458+COMMIT;
459+SET GLOBAL transaction_log_truncate_debug= true;
460
461=== added file 'plugin/filtered_replicator/tests/r/var_tableregex.result'
462--- plugin/filtered_replicator/tests/r/var_tableregex.result 1970-01-01 00:00:00 +0000
463+++ plugin/filtered_replicator/tests/r/var_tableregex.result 2011-01-10 18:00:22 +0000
464@@ -0,0 +1,31 @@
465+CREATE TABLE t1 (a INT NOT NULL PRIMARY KEY);
466+INSERT INTO t1 VALUES (1);
467+UPDATE t1 SET a = 2;
468+DELETE FROM t1;
469+DROP TABLE t1;
470+CREATE TABLE junk (a INT NOT NULL PRIMARY KEY);
471+INSERT INTO junk VALUES (1);
472+UPDATE junk SET a = 2;
473+DELETE FROM junk;
474+DROP TABLE junk;
475+CREATE TABLE junktesttable (a INT NOT NULL PRIMARY KEY);
476+DROP TABLE junktesttable;
477+
478+We should only see events for t1 table in the log
479+
480+START TRANSACTION;
481+CREATE TABLE `test`.`t1` ( `a` INT NOT NULL, PRIMARY KEY (`a`) ) ENGINE=InnoDB COLLATE = utf8_general_ci;
482+COMMIT;
483+START TRANSACTION;
484+INSERT INTO `test`.`t1` (`a`) VALUES (1);
485+COMMIT;
486+START TRANSACTION;
487+UPDATE `test`.`t1` SET `a`=2 WHERE `a`=1;
488+COMMIT;
489+START TRANSACTION;
490+DELETE FROM `test`.`t1` WHERE `a`=2;
491+COMMIT;
492+START TRANSACTION;
493+DROP TABLE `test`.`t1`;
494+COMMIT;
495+SET GLOBAL transaction_log_truncate_debug= true;
496
497=== removed file 'plugin/filtered_replicator/tests/t/filtered_replicator-master.opt'
498--- plugin/filtered_replicator/tests/t/filtered_replicator-master.opt 2010-10-26 20:53:27 +0000
499+++ plugin/filtered_replicator/tests/t/filtered_replicator-master.opt 1970-01-01 00:00:00 +0000
500@@ -1,1 +0,0 @@
501---plugin-add=filtered_replicator --transaction-log.enable --transaction-log.use-replicator=filtered --scheduler=multi_thread --filtered-replicator.filteredschemas=notest
502
503=== removed file 'plugin/filtered_replicator/tests/t/filtered_replicator.test'
504--- plugin/filtered_replicator/tests/t/filtered_replicator.test 2010-11-15 16:08:56 +0000
505+++ plugin/filtered_replicator/tests/t/filtered_replicator.test 1970-01-01 00:00:00 +0000
506@@ -1,41 +0,0 @@
507-#
508-# Holistic aggregate test case for the filtered replicator
509-# plugin integration with the transaction_log module
510-#
511-# This file runs the tests in various .inc files. The
512-# portions of the results that are non deterministic
513-# are then removed for making a comparision to a
514-# result file.
515-#
516-#
517-
518-# Ignore startup/shutdown events
519---disable_query_log
520---source ../plugin/transaction_log/tests/t/truncate_log.inc
521---enable_query_log
522-
523-# Filter all statements involving tables called "t2"
524-set global filtered_replicator_filteredtables=t2;
525-
526---source ../plugin/transaction_log/tests/t/insert.inc
527---source ../plugin/transaction_log/tests/t/insert_multi.inc
528---source ../plugin/transaction_log/tests/t/insert_select.inc
529---source ../plugin/transaction_log/tests/t/alter.inc
530---source ../plugin/transaction_log/tests/t/schema.inc
531---source ../plugin/transaction_log/tests/t/rename.inc
532---source ../plugin/transaction_log/tests/t/delete.inc
533---source ../plugin/transaction_log/tests/t/update.inc
534-#--source ../plugin/transaction_log/tests/t/auto_commit.inc
535-#--source ../plugin/transaction_log/tests/t/temp_tables.inc
536-
537-# MySQL Bug 36763
538-#--source ../plugin/transaction_log/tests/t/truncate.inc
539-# Needs fixing
540-#--source ../plugin/transaction_log/tests/t/rand.inc
541-
542-# Read in the transaction.log.
543-
544---exec ../plugin/transaction_log/utilities/transaction_reader var/master-data/local/transaction.log
545-
546-# Truncate the log file to reset for the next test
547---source ../plugin/transaction_log/tests/t/truncate_log.inc
548
549=== added file 'plugin/filtered_replicator/tests/t/var_filteredschemas-master.opt'
550--- plugin/filtered_replicator/tests/t/var_filteredschemas-master.opt 1970-01-01 00:00:00 +0000
551+++ plugin/filtered_replicator/tests/t/var_filteredschemas-master.opt 2011-01-10 18:00:22 +0000
552@@ -0,0 +1,1 @@
553+--plugin-add=filtered_replicator --transaction-log.enable --transaction-log.use-replicator=filtered --filtered-replicator.filteredschemas=foo
554
555=== added file 'plugin/filtered_replicator/tests/t/var_filteredschemas.test'
556--- plugin/filtered_replicator/tests/t/var_filteredschemas.test 1970-01-01 00:00:00 +0000
557+++ plugin/filtered_replicator/tests/t/var_filteredschemas.test 2011-01-10 18:00:22 +0000
558@@ -0,0 +1,23 @@
559+# Test of the filteredschemas variable
560+
561+# Ignore startup/shutdown events
562+--disable_query_log
563+--source ../plugin/transaction_log/tests/t/truncate_log.inc
564+--enable_query_log
565+
566+CREATE SCHEMA foo;
567+CREATE SCHEMA bar;
568+USE foo;
569+CREATE TABLE foo1 (a INT NOT NULL PRIMARY KEY);
570+INSERT INTO foo1 VALUES (1);
571+UPDATE foo1 SET a = 2;
572+DELETE FROM foo1;
573+DROP SCHEMA foo;
574+DROP SCHEMA bar;
575+
576+--echo
577+--echo We should only see the 'bar' schema in the log
578+--echo
579+--exec ../plugin/transaction_log/utilities/transaction_reader var/master-data/local/transaction.log
580+
581+--source ../plugin/transaction_log/tests/t/truncate_log.inc
582
583=== added file 'plugin/filtered_replicator/tests/t/var_filteredtables-master.opt'
584--- plugin/filtered_replicator/tests/t/var_filteredtables-master.opt 1970-01-01 00:00:00 +0000
585+++ plugin/filtered_replicator/tests/t/var_filteredtables-master.opt 2011-01-10 18:00:22 +0000
586@@ -0,0 +1,1 @@
587+--plugin-add=filtered_replicator --transaction-log.enable --transaction-log.use-replicator=filtered --filtered-replicator.filteredtables=t2
588
589=== added file 'plugin/filtered_replicator/tests/t/var_filteredtables.test'
590--- plugin/filtered_replicator/tests/t/var_filteredtables.test 1970-01-01 00:00:00 +0000
591+++ plugin/filtered_replicator/tests/t/var_filteredtables.test 2011-01-10 18:00:22 +0000
592@@ -0,0 +1,34 @@
593+# Test of the filteredtables variable
594+# Tables named 't2' should be filtered
595+
596+# Ignore startup/shutdown events
597+--disable_query_log
598+
599+--disable_warnings
600+DROP TABLE IF EXISTS t1;
601+DROP TABLE IF EXISTS t2;
602+--enable_warnings
603+
604+--source ../plugin/transaction_log/tests/t/truncate_log.inc
605+--enable_query_log
606+
607+CREATE TABLE t1 (a INT NOT NULL PRIMARY KEY);
608+INSERT INTO t1 VALUES (1);
609+UPDATE t1 SET a = 2;
610+DELETE FROM t1;
611+DROP TABLE t1;
612+
613+CREATE TABLE t2 (a INT NOT NULL PRIMARY KEY);
614+INSERT INTO t2 VALUES (1);
615+UPDATE t2 SET a = 2;
616+DELETE FROM t2;
617+DROP TABLE t2;
618+
619+--echo
620+--echo We should only see events for t1 table in the log
621+--echo
622+--replace_regex /start_timestamp: [0-9]+/START_TIMESTAMP/g /end_timestamp: [0-9]+/END_TIMESTAMP/g/creation_timestamp: [0-9]+/CREATE_TIMESTAMP/ /update_timestamp: [0-9]+/UPDATE_TIMESTAMP/ /transaction_id: [0-9]+/TRANSACTION_ID/
623+
624+--exec ../plugin/transaction_log/utilities/transaction_reader var/master-data/local/transaction.log
625+
626+--source ../plugin/transaction_log/tests/t/truncate_log.inc
627
628=== added file 'plugin/filtered_replicator/tests/t/var_schemaregex-master.opt'
629--- plugin/filtered_replicator/tests/t/var_schemaregex-master.opt 1970-01-01 00:00:00 +0000
630+++ plugin/filtered_replicator/tests/t/var_schemaregex-master.opt 2011-01-10 18:00:22 +0000
631@@ -0,0 +1,1 @@
632+--plugin-add=filtered_replicator --transaction-log.enable --transaction-log.use-replicator=filtered --filtered-replicator.schemaregex="foo*"
633
634=== added file 'plugin/filtered_replicator/tests/t/var_schemaregex.test'
635--- plugin/filtered_replicator/tests/t/var_schemaregex.test 1970-01-01 00:00:00 +0000
636+++ plugin/filtered_replicator/tests/t/var_schemaregex.test 2011-01-10 18:00:22 +0000
637@@ -0,0 +1,26 @@
638+# Test of the schemaregex variable
639+# Schemas matching "foo*" should be excluded
640+
641+# Ignore startup/shutdown events
642+--disable_query_log
643+--source ../plugin/transaction_log/tests/t/truncate_log.inc
644+--enable_query_log
645+
646+CREATE SCHEMA foo;
647+CREATE SCHEMA foobar;
648+CREATE SCHEMA bar;
649+USE foobar;
650+CREATE TABLE foo1 (a INT NOT NULL PRIMARY KEY);
651+INSERT INTO foo1 VALUES (1);
652+UPDATE foo1 SET a = 2;
653+DELETE FROM foo1;
654+DROP SCHEMA foo;
655+DROP SCHEMA foobar;
656+DROP SCHEMA bar;
657+
658+--echo
659+--echo We should only see the 'bar' schema in the log
660+--echo
661+--exec ../plugin/transaction_log/utilities/transaction_reader var/master-data/local/transaction.log
662+
663+--source ../plugin/transaction_log/tests/t/truncate_log.inc
664
665=== added file 'plugin/filtered_replicator/tests/t/var_tableregex-master.opt'
666--- plugin/filtered_replicator/tests/t/var_tableregex-master.opt 1970-01-01 00:00:00 +0000
667+++ plugin/filtered_replicator/tests/t/var_tableregex-master.opt 2011-01-10 18:00:22 +0000
668@@ -0,0 +1,1 @@
669+--plugin-add=filtered_replicator --transaction-log.enable --transaction-log.use-replicator=filtered --filtered-replicator.tableregex="junk*"
670
671=== added file 'plugin/filtered_replicator/tests/t/var_tableregex.test'
672--- plugin/filtered_replicator/tests/t/var_tableregex.test 1970-01-01 00:00:00 +0000
673+++ plugin/filtered_replicator/tests/t/var_tableregex.test 2011-01-10 18:00:22 +0000
674@@ -0,0 +1,37 @@
675+# Test of the filteredtables variable
676+# Tables matching "junk*" will be excluded
677+
678+# Ignore startup/shutdown events
679+--disable_query_log
680+
681+--disable_warnings
682+DROP TABLE IF EXISTS t1;
683+DROP TABLE IF EXISTS t2;
684+--enable_warnings
685+
686+--source ../plugin/transaction_log/tests/t/truncate_log.inc
687+--enable_query_log
688+
689+CREATE TABLE t1 (a INT NOT NULL PRIMARY KEY);
690+INSERT INTO t1 VALUES (1);
691+UPDATE t1 SET a = 2;
692+DELETE FROM t1;
693+DROP TABLE t1;
694+
695+CREATE TABLE junk (a INT NOT NULL PRIMARY KEY);
696+INSERT INTO junk VALUES (1);
697+UPDATE junk SET a = 2;
698+DELETE FROM junk;
699+DROP TABLE junk;
700+
701+CREATE TABLE junktesttable (a INT NOT NULL PRIMARY KEY);
702+DROP TABLE junktesttable;
703+
704+--echo
705+--echo We should only see events for t1 table in the log
706+--echo
707+--replace_regex /start_timestamp: [0-9]+/START_TIMESTAMP/g /end_timestamp: [0-9]+/END_TIMESTAMP/g/creation_timestamp: [0-9]+/CREATE_TIMESTAMP/ /update_timestamp: [0-9]+/UPDATE_TIMESTAMP/ /transaction_id: [0-9]+/TRANSACTION_ID/
708+
709+--exec ../plugin/transaction_log/utilities/transaction_reader var/master-data/local/transaction.log
710+
711+--source ../plugin/transaction_log/tests/t/truncate_log.inc

Subscribers

People subscribed via source and target branches