Commit Graph

69 Commits

Author SHA1 Message Date
Daniel Nichter
51e476c6a2 Fix bug: a typo in NibbleIterator::_find_best_index(). 2013-07-10 10:23:28 -07:00
Daniel Nichter
5a34a0817e Fix bug 968596: rename NibbleIterator::chunk_size() to limit() and update ptc and pt-osc. 2013-02-28 19:26:04 -07:00
Daniel Nichter
feab2f0925 s/Percona Inc/Percona Ireland Ltd/g 2013-01-02 17:19:16 -07:00
Daniel Nichter
ea1c6f6ca9 Add lock_in_share_mode option to NibbleIterator. Silence query_table.pl diag messages. 2012-11-27 17:41:05 +00:00
Daniel Nichter
2290827eee Stop nibbling if chunking but not first lower boundary because table is empty. Print test debug via diag(). 2012-07-26 16:44:24 -06:00
Daniel Nichter
272f963733 Remove --chunk-index-columns and extend --chunk-index instead to take INDEX:N value. Add n_index_values to TableNibbler. 2012-06-10 10:01:25 -04:00
Daniel Nichter
2a92a0a0ff Check key_len for each chunk to ensure it doesn't decrease. Add --[no]check-plan. 2012-06-09 22:23:00 -04:00
Daniel Nichter
1c23b615b2 Add XXX comments where the Perl oddity is being used. 2012-05-10 10:21:44 -06:00
Daniel Nichter
f4957ba911 Use --chunk-size-limit || 1 for checking if a table can be done in one chunk to avoid chunking empty tables. Checksums for empty tables are now written. 2012-05-10 09:55:42 -06:00
Daniel Nichter
715f0f86e1 Merge fix-undef-arrayref-bug-995274. 2012-05-08 17:02:58 -06:00
Daniel Nichter
884d02bc2a Lowercase index from EXPLAIN (unless it's PRIMARY) to match lowercase ident names from TableParser::parser(). 2012-05-08 16:51:35 -06:00
Daniel Nichter
30b6b88766 Restore original NibbleIterator and implement simpler solution: only use MySQL's chosen index if --where. 2012-05-08 12:43:47 -06:00
Daniel Nichter
e2073065b1 EXPLAIN actual ascending nibble query to get MySQL's chosen index, and use that instead of the tool's chosen index. TODO: fix OobNibbleIterator.t and chunk_index.t. 2012-05-04 17:46:34 -06:00
Daniel Nichter
0089f31a35 Merge pt-osc-2.1. Fix NibbleItertor.pm to work with OobNibbleIterator when resuming at oob boundaries (t/pt-table-checksum/resume.t was failing). 2012-04-03 09:33:10 -06:00
Daniel Nichter
403c93db3b Handle Key_name or key_name in NibbleIterator::_get_index_cardinality(). 2012-04-02 19:24:38 -06:00
Daniel Nichter
34ada21344 Add comment about code that will fail with new Cxn due to NAME_lc. 2012-04-02 19:12:28 -06:00
Daniel Nichter
c04b85a066 Update SchemaIterator, TableParser, and NibbleIterator in tools that use them. All tools' tests still pass. 2012-03-31 09:59:15 -06:00
Daniel Nichter
fcc3a44e23 Update alter_active_table.t and fix NibbleIterator to handle a growing table. 2012-03-29 15:23:38 -06:00
Daniel Nichter
45c1f3bfb6 Make NibbleIter query comments customizable. Update the module in pt-table-checksum and pt-osc. 2012-03-25 10:37:19 -06:00
Daniel Nichter
20d2aa7a08 Make NibbleIterator check for options before using them. 2012-03-22 11:28:58 -06:00
Daniel Nichter
a17bdd65d3 Rewriting pt-online-schema-change 2.1.1. Work in progress (this code doesn't work yet). 2012-03-20 13:34:16 -06:00
Daniel Nichter
df4662ce51 Compare index names lc but save them in their original case. 2012-02-06 13:29:08 -07:00
Daniel Nichter
f517675eb4 Compare lc(index) everywhere. 2012-02-03 11:38:20 -07:00
Daniel Nichter
88304e69fb Replace MKDEBUG with PTDEBUG in modules. 2012-01-19 12:46:56 -07:00
Daniel Nichter
f122861808 Fix --where with one nibble. Update chunk_index.t. 2011-12-27 11:12:40 -07:00
Daniel Nichter
1d8da408fc Revert to r243 to undo pt-table-sync changes. 2011-12-22 12:06:25 -07:00
Daniel Nichter
cfc57c71af Make pt-table-sync --replicate work with pt-table-checksum 2.0. 2011-12-22 10:10:22 -07:00
Daniel Nichter
ec8471ba28 Finish rewriting TableSyncer and updating its test. Add RowSyncerBidirectional.pm. Add GENLOG switch to start-sandbox. 2011-12-21 12:10:57 -07:00
Daniel Nichter
4c8fd5c080 Rewrite TableSyncer to use only NibbleIterator. Add RowSyncer. Return hashref from NibbleIterator. 2011-12-21 01:19:50 -07:00
Daniel Nichter
5d2e60791c Don't add ORDER BY to nibble SQL by default. 2011-12-19 14:17:11 -07:00
Daniel Nichter
06b99e987c Don't checksum 1=1 on master if table on slave is too large. 2011-11-17 13:15:26 -07:00
Daniel Nichter
7b8736c1f5 Use SELECT * instead of SELECT COUNT(*) to avoid 'Select tables optimized away'. Make _get_row_estimate() "public". 2011-11-17 12:15:21 -07:00
Daniel Nichter
ff78656859 Fix various resume issues. 2011-11-17 11:20:00 -07:00
Daniel Nichter
42bd00c4d6 Handle resume in OobNibbleIterator. 2011-11-16 11:10:34 -07:00
Daniel Nichter
619cda713f Handle resume in NibbleIterator. 2011-11-15 11:55:07 -07:00
Daniel Nichter
2bf6365189 Save first lower boundary. 2011-11-14 17:49:42 -07:00
Daniel Nichter
8d2259e5b3 Fix --ignore-columns in NibbleIterator. Increase test coverage to 93%. 2011-10-18 09:32:48 -06:00
Daniel Nichter
07420ff78e Don't crash on empty tables with --chunk-size-limit=0. Don't crash trying to print MySQL warning. Finish updating (all the important) tests. 2011-10-15 17:47:56 -06:00
Daniel Nichter
964bb094a0 Get row estimate from NibbleIterator. Use user's index over MySQL's index when --where is given. 2011-10-13 09:23:53 -06:00
Daniel Nichter
28fa7d62c2 Support --where in NibbleIterator. If --where, prefer index that MySQL wants to use. Keep SHOW TABLE STATUS from SchemaIterator and re-use it in NibbleIterator (avoids double execution). 2011-10-13 08:49:32 -06:00
Daniel Nichter
083fb1b8ca Make --explain cummulative. Update char_chunking.t. Reword checksum query comments. 2011-10-12 11:22:13 -06:00
Daniel Nichter
e2e40488c5 Add Cxn.pm. Make MasterSlave, NibbleIterator, and ReplicaLagWaiter use Cxn. Rewrite, simplify Retry. 2011-10-06 12:47:35 -06:00
Daniel Nichter
e2739d8a25 Add NibbleIterator::set_boundary(). 2011-09-29 09:11:50 -06:00
Daniel Nichter
258ed361c8 test 2011-09-29 08:36:18 -06:00
Daniel Nichter
929000cfdd Partial --resume implementation (work in progress). 2011-09-28 11:33:12 -06:00
Daniel Nichter
25882d49e7 Resume for SchemaIterator. Use only next_lb; don't need first_lb in NibbleIterator. 2011-09-27 13:06:24 -06:00
Daniel Nichter
04eca15150 Add next_boundaries callback. 2011-09-27 10:23:09 -06:00
Daniel Nichter
83bbe45187 Simplify NibbleIterator callbacks. Pass args to init callback so caller can check ub_sth. 2011-09-27 08:21:34 -06:00
Daniel Nichter
c9e8444166 Handle one-chunk tables. Chunk tables w/o indexes if they're small enough. Check index for every chunk. Check chunk size if ub and next_lb are equal. 2011-09-26 11:38:35 -06:00
Daniel Nichter
10e31c1b63 Fix NibbleIterator::_can_nibble_once(). Add boundaries() and one_nibble(), remove unused _check_index_usage(). 2011-09-26 10:23:42 -06:00