Merge lp:~percona-toolkit-dev/percona-toolkit/fix-1078887-DSNParser-set-vars-sql_mode-clobber into lp:percona-toolkit/2.1

Proposed by Brian Fraser
Status: Merged
Approved by: Daniel Nichter
Approved revision: 474
Merged at revision: 498
Proposed branch: lp:~percona-toolkit-dev/percona-toolkit/fix-1078887-DSNParser-set-vars-sql_mode-clobber
Merge into: lp:percona-toolkit/2.1
Diff against target: 1249 lines (+324/-295)
28 files modified
bin/pt-archiver (+13/-13)
bin/pt-config-diff (+13/-13)
bin/pt-deadlock-logger (+13/-13)
bin/pt-diskstats (+1/-1)
bin/pt-duplicate-key-checker (+13/-13)
bin/pt-fifo-split (+1/-1)
bin/pt-find (+13/-13)
bin/pt-fingerprint (+1/-1)
bin/pt-fk-error-logger (+13/-13)
bin/pt-heartbeat (+13/-13)
bin/pt-index-usage (+13/-13)
bin/pt-kill (+13/-13)
bin/pt-log-player (+13/-13)
bin/pt-online-schema-change (+13/-13)
bin/pt-query-advisor (+13/-13)
bin/pt-query-digest (+12/-12)
bin/pt-show-grants (+13/-13)
bin/pt-slave-delay (+13/-13)
bin/pt-slave-find (+13/-13)
bin/pt-slave-restart (+13/-13)
bin/pt-table-checksum (+13/-13)
bin/pt-table-sync (+27/-19)
bin/pt-tcp-model (+1/-1)
bin/pt-trend (+1/-1)
bin/pt-upgrade (+13/-13)
bin/pt-variable-advisor (+13/-13)
lib/DSNParser.pm (+14/-12)
t/lib/DSNParser.t (+19/-0)
To merge this branch: bzr merge lp:~percona-toolkit-dev/percona-toolkit/fix-1078887-DSNParser-set-vars-sql_mode-clobber
Reviewer Review Type Date Requested Status
Daniel Nichter Approve
Brian Fraser (community) Approve
Review via email: mp+137921@code.launchpad.net
To post a comment you must log in.
Revision history for this message
Brian Fraser (fraserbn) :
review: Approve
Revision history for this message
Daniel Nichter (daniel-nichter) :
review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'bin/pt-archiver'
2--- bin/pt-archiver 2012-11-30 19:25:35 +0000
3+++ bin/pt-archiver 2012-12-04 17:12:26 +0000
4@@ -845,7 +845,7 @@
5 $desc .= ". Optional suffix s=seconds, m=minutes, h=hours, "
6 . "d=days; if no suffix, $s is used.";
7 }
8- $desc = join("\n$rpad", grep { $_ } $desc =~ m/(.{0,$rcol})(?:\s+|$)/g);
9+ $desc = join("\n$rpad", grep { $_ } $desc =~ m/(.{0,$rcol}(?!\W))(?:\s+|(?<=\W)|$)/g);
10 $desc =~ s/ +$//mg;
11 if ( $short ) {
12 $usage .= sprintf(" --%-${maxs}s -%s %s\n", $long, $short, $desc);
13@@ -2199,18 +2199,6 @@
14 die "Error getting the current SQL_MODE: $EVAL_ERROR";
15 }
16
17- $sql = 'SET @@SQL_QUOTE_SHOW_CREATE = 1'
18- . '/*!40101, @@SQL_MODE=\'NO_AUTO_VALUE_ON_ZERO'
19- . ($sql_mode ? ",$sql_mode" : '')
20- . '\'*/';
21- PTDEBUG && _d($dbh, $sql);
22- eval { $dbh->do($sql) };
23- if ( $EVAL_ERROR ) {
24- die "Error setting SQL_QUOTE_SHOW_CREATE, SQL_MODE"
25- . ($sql_mode ? " and $sql_mode" : '')
26- . ": $EVAL_ERROR";
27- }
28-
29 if ( my ($charset) = $cxn_string =~ m/charset=([\w]+)/ ) {
30 $sql = qq{/*!40101 SET NAMES "$charset"*/};
31 PTDEBUG && _d($dbh, ':', $sql);
32@@ -2236,6 +2224,18 @@
33 die "Error setting $var: $EVAL_ERROR";
34 }
35 }
36+
37+ $sql = 'SET @@SQL_QUOTE_SHOW_CREATE = 1'
38+ . '/*!40101, @@SQL_MODE=\'NO_AUTO_VALUE_ON_ZERO'
39+ . ($sql_mode ? ",$sql_mode" : '')
40+ . '\'*/';
41+ PTDEBUG && _d($dbh, $sql);
42+ eval { $dbh->do($sql) };
43+ if ( $EVAL_ERROR ) {
44+ die "Error setting SQL_QUOTE_SHOW_CREATE, SQL_MODE"
45+ . ($sql_mode ? " and $sql_mode" : '')
46+ . ": $EVAL_ERROR";
47+ }
48 }
49
50 PTDEBUG && _d('DBH info: ',
51
52=== modified file 'bin/pt-config-diff'
53--- bin/pt-config-diff 2012-12-04 08:02:56 +0000
54+++ bin/pt-config-diff 2012-12-04 17:12:26 +0000
55@@ -844,7 +844,7 @@
56 $desc .= ". Optional suffix s=seconds, m=minutes, h=hours, "
57 . "d=days; if no suffix, $s is used.";
58 }
59- $desc = join("\n$rpad", grep { $_ } $desc =~ m/(.{0,$rcol})(?:\s+|$)/g);
60+ $desc = join("\n$rpad", grep { $_ } $desc =~ m/(.{0,$rcol}(?!\W))(?:\s+|(?<=\W)|$)/g);
61 $desc =~ s/ +$//mg;
62 if ( $short ) {
63 $usage .= sprintf(" --%-${maxs}s -%s %s\n", $long, $short, $desc);
64@@ -1336,18 +1336,6 @@
65 die "Error getting the current SQL_MODE: $EVAL_ERROR";
66 }
67
68- $sql = 'SET @@SQL_QUOTE_SHOW_CREATE = 1'
69- . '/*!40101, @@SQL_MODE=\'NO_AUTO_VALUE_ON_ZERO'
70- . ($sql_mode ? ",$sql_mode" : '')
71- . '\'*/';
72- PTDEBUG && _d($dbh, $sql);
73- eval { $dbh->do($sql) };
74- if ( $EVAL_ERROR ) {
75- die "Error setting SQL_QUOTE_SHOW_CREATE, SQL_MODE"
76- . ($sql_mode ? " and $sql_mode" : '')
77- . ": $EVAL_ERROR";
78- }
79-
80 if ( my ($charset) = $cxn_string =~ m/charset=([\w]+)/ ) {
81 $sql = qq{/*!40101 SET NAMES "$charset"*/};
82 PTDEBUG && _d($dbh, ':', $sql);
83@@ -1373,6 +1361,18 @@
84 die "Error setting $var: $EVAL_ERROR";
85 }
86 }
87+
88+ $sql = 'SET @@SQL_QUOTE_SHOW_CREATE = 1'
89+ . '/*!40101, @@SQL_MODE=\'NO_AUTO_VALUE_ON_ZERO'
90+ . ($sql_mode ? ",$sql_mode" : '')
91+ . '\'*/';
92+ PTDEBUG && _d($dbh, $sql);
93+ eval { $dbh->do($sql) };
94+ if ( $EVAL_ERROR ) {
95+ die "Error setting SQL_QUOTE_SHOW_CREATE, SQL_MODE"
96+ . ($sql_mode ? " and $sql_mode" : '')
97+ . ": $EVAL_ERROR";
98+ }
99 }
100
101 PTDEBUG && _d('DBH info: ',
102
103=== modified file 'bin/pt-deadlock-logger'
104--- bin/pt-deadlock-logger 2012-11-19 18:47:13 +0000
105+++ bin/pt-deadlock-logger 2012-12-04 17:12:26 +0000
106@@ -842,7 +842,7 @@
107 $desc .= ". Optional suffix s=seconds, m=minutes, h=hours, "
108 . "d=days; if no suffix, $s is used.";
109 }
110- $desc = join("\n$rpad", grep { $_ } $desc =~ m/(.{0,$rcol})(?:\s+|$)/g);
111+ $desc = join("\n$rpad", grep { $_ } $desc =~ m/(.{0,$rcol}(?!\W))(?:\s+|(?<=\W)|$)/g);
112 $desc =~ s/ +$//mg;
113 if ( $short ) {
114 $usage .= sprintf(" --%-${maxs}s -%s %s\n", $long, $short, $desc);
115@@ -2104,18 +2104,6 @@
116 die "Error getting the current SQL_MODE: $EVAL_ERROR";
117 }
118
119- $sql = 'SET @@SQL_QUOTE_SHOW_CREATE = 1'
120- . '/*!40101, @@SQL_MODE=\'NO_AUTO_VALUE_ON_ZERO'
121- . ($sql_mode ? ",$sql_mode" : '')
122- . '\'*/';
123- PTDEBUG && _d($dbh, $sql);
124- eval { $dbh->do($sql) };
125- if ( $EVAL_ERROR ) {
126- die "Error setting SQL_QUOTE_SHOW_CREATE, SQL_MODE"
127- . ($sql_mode ? " and $sql_mode" : '')
128- . ": $EVAL_ERROR";
129- }
130-
131 if ( my ($charset) = $cxn_string =~ m/charset=([\w]+)/ ) {
132 $sql = qq{/*!40101 SET NAMES "$charset"*/};
133 PTDEBUG && _d($dbh, ':', $sql);
134@@ -2141,6 +2129,18 @@
135 die "Error setting $var: $EVAL_ERROR";
136 }
137 }
138+
139+ $sql = 'SET @@SQL_QUOTE_SHOW_CREATE = 1'
140+ . '/*!40101, @@SQL_MODE=\'NO_AUTO_VALUE_ON_ZERO'
141+ . ($sql_mode ? ",$sql_mode" : '')
142+ . '\'*/';
143+ PTDEBUG && _d($dbh, $sql);
144+ eval { $dbh->do($sql) };
145+ if ( $EVAL_ERROR ) {
146+ die "Error setting SQL_QUOTE_SHOW_CREATE, SQL_MODE"
147+ . ($sql_mode ? " and $sql_mode" : '')
148+ . ": $EVAL_ERROR";
149+ }
150 }
151
152 PTDEBUG && _d('DBH info: ',
153
154=== modified file 'bin/pt-diskstats'
155--- bin/pt-diskstats 2012-11-19 18:47:13 +0000
156+++ bin/pt-diskstats 2012-12-04 17:12:26 +0000
157@@ -844,7 +844,7 @@
158 $desc .= ". Optional suffix s=seconds, m=minutes, h=hours, "
159 . "d=days; if no suffix, $s is used.";
160 }
161- $desc = join("\n$rpad", grep { $_ } $desc =~ m/(.{0,$rcol})(?:\s+|$)/g);
162+ $desc = join("\n$rpad", grep { $_ } $desc =~ m/(.{0,$rcol}(?!\W))(?:\s+|(?<=\W)|$)/g);
163 $desc =~ s/ +$//mg;
164 if ( $short ) {
165 $usage .= sprintf(" --%-${maxs}s -%s %s\n", $long, $short, $desc);
166
167=== modified file 'bin/pt-duplicate-key-checker'
168--- bin/pt-duplicate-key-checker 2012-11-19 18:47:13 +0000
169+++ bin/pt-duplicate-key-checker 2012-12-04 17:12:26 +0000
170@@ -849,18 +849,6 @@
171 die "Error getting the current SQL_MODE: $EVAL_ERROR";
172 }
173
174- $sql = 'SET @@SQL_QUOTE_SHOW_CREATE = 1'
175- . '/*!40101, @@SQL_MODE=\'NO_AUTO_VALUE_ON_ZERO'
176- . ($sql_mode ? ",$sql_mode" : '')
177- . '\'*/';
178- PTDEBUG && _d($dbh, $sql);
179- eval { $dbh->do($sql) };
180- if ( $EVAL_ERROR ) {
181- die "Error setting SQL_QUOTE_SHOW_CREATE, SQL_MODE"
182- . ($sql_mode ? " and $sql_mode" : '')
183- . ": $EVAL_ERROR";
184- }
185-
186 if ( my ($charset) = $cxn_string =~ m/charset=([\w]+)/ ) {
187 $sql = qq{/*!40101 SET NAMES "$charset"*/};
188 PTDEBUG && _d($dbh, ':', $sql);
189@@ -886,6 +874,18 @@
190 die "Error setting $var: $EVAL_ERROR";
191 }
192 }
193+
194+ $sql = 'SET @@SQL_QUOTE_SHOW_CREATE = 1'
195+ . '/*!40101, @@SQL_MODE=\'NO_AUTO_VALUE_ON_ZERO'
196+ . ($sql_mode ? ",$sql_mode" : '')
197+ . '\'*/';
198+ PTDEBUG && _d($dbh, $sql);
199+ eval { $dbh->do($sql) };
200+ if ( $EVAL_ERROR ) {
201+ die "Error setting SQL_QUOTE_SHOW_CREATE, SQL_MODE"
202+ . ($sql_mode ? " and $sql_mode" : '')
203+ . ": $EVAL_ERROR";
204+ }
205 }
206
207 PTDEBUG && _d('DBH info: ',
208@@ -1759,7 +1759,7 @@
209 $desc .= ". Optional suffix s=seconds, m=minutes, h=hours, "
210 . "d=days; if no suffix, $s is used.";
211 }
212- $desc = join("\n$rpad", grep { $_ } $desc =~ m/(.{0,$rcol})(?:\s+|$)/g);
213+ $desc = join("\n$rpad", grep { $_ } $desc =~ m/(.{0,$rcol}(?!\W))(?:\s+|(?<=\W)|$)/g);
214 $desc =~ s/ +$//mg;
215 if ( $short ) {
216 $usage .= sprintf(" --%-${maxs}s -%s %s\n", $long, $short, $desc);
217
218=== modified file 'bin/pt-fifo-split'
219--- bin/pt-fifo-split 2012-11-19 18:47:13 +0000
220+++ bin/pt-fifo-split 2012-12-04 17:12:26 +0000
221@@ -816,7 +816,7 @@
222 $desc .= ". Optional suffix s=seconds, m=minutes, h=hours, "
223 . "d=days; if no suffix, $s is used.";
224 }
225- $desc = join("\n$rpad", grep { $_ } $desc =~ m/(.{0,$rcol})(?:\s+|$)/g);
226+ $desc = join("\n$rpad", grep { $_ } $desc =~ m/(.{0,$rcol}(?!\W))(?:\s+|(?<=\W)|$)/g);
227 $desc =~ s/ +$//mg;
228 if ( $short ) {
229 $usage .= sprintf(" --%-${maxs}s -%s %s\n", $long, $short, $desc);
230
231=== modified file 'bin/pt-find'
232--- bin/pt-find 2012-11-19 18:47:13 +0000
233+++ bin/pt-find 2012-12-04 17:12:26 +0000
234@@ -308,18 +308,6 @@
235 die "Error getting the current SQL_MODE: $EVAL_ERROR";
236 }
237
238- $sql = 'SET @@SQL_QUOTE_SHOW_CREATE = 1'
239- . '/*!40101, @@SQL_MODE=\'NO_AUTO_VALUE_ON_ZERO'
240- . ($sql_mode ? ",$sql_mode" : '')
241- . '\'*/';
242- PTDEBUG && _d($dbh, $sql);
243- eval { $dbh->do($sql) };
244- if ( $EVAL_ERROR ) {
245- die "Error setting SQL_QUOTE_SHOW_CREATE, SQL_MODE"
246- . ($sql_mode ? " and $sql_mode" : '')
247- . ": $EVAL_ERROR";
248- }
249-
250 if ( my ($charset) = $cxn_string =~ m/charset=([\w]+)/ ) {
251 $sql = qq{/*!40101 SET NAMES "$charset"*/};
252 PTDEBUG && _d($dbh, ':', $sql);
253@@ -345,6 +333,18 @@
254 die "Error setting $var: $EVAL_ERROR";
255 }
256 }
257+
258+ $sql = 'SET @@SQL_QUOTE_SHOW_CREATE = 1'
259+ . '/*!40101, @@SQL_MODE=\'NO_AUTO_VALUE_ON_ZERO'
260+ . ($sql_mode ? ",$sql_mode" : '')
261+ . '\'*/';
262+ PTDEBUG && _d($dbh, $sql);
263+ eval { $dbh->do($sql) };
264+ if ( $EVAL_ERROR ) {
265+ die "Error setting SQL_QUOTE_SHOW_CREATE, SQL_MODE"
266+ . ($sql_mode ? " and $sql_mode" : '')
267+ . ": $EVAL_ERROR";
268+ }
269 }
270
271 PTDEBUG && _d('DBH info: ',
272@@ -1218,7 +1218,7 @@
273 $desc .= ". Optional suffix s=seconds, m=minutes, h=hours, "
274 . "d=days; if no suffix, $s is used.";
275 }
276- $desc = join("\n$rpad", grep { $_ } $desc =~ m/(.{0,$rcol})(?:\s+|$)/g);
277+ $desc = join("\n$rpad", grep { $_ } $desc =~ m/(.{0,$rcol}(?!\W))(?:\s+|(?<=\W)|$)/g);
278 $desc =~ s/ +$//mg;
279 if ( $short ) {
280 $usage .= sprintf(" --%-${maxs}s -%s %s\n", $long, $short, $desc);
281
282=== modified file 'bin/pt-fingerprint'
283--- bin/pt-fingerprint 2012-11-19 18:47:13 +0000
284+++ bin/pt-fingerprint 2012-12-04 17:12:26 +0000
285@@ -817,7 +817,7 @@
286 $desc .= ". Optional suffix s=seconds, m=minutes, h=hours, "
287 . "d=days; if no suffix, $s is used.";
288 }
289- $desc = join("\n$rpad", grep { $_ } $desc =~ m/(.{0,$rcol})(?:\s+|$)/g);
290+ $desc = join("\n$rpad", grep { $_ } $desc =~ m/(.{0,$rcol}(?!\W))(?:\s+|(?<=\W)|$)/g);
291 $desc =~ s/ +$//mg;
292 if ( $short ) {
293 $usage .= sprintf(" --%-${maxs}s -%s %s\n", $long, $short, $desc);
294
295=== modified file 'bin/pt-fk-error-logger'
296--- bin/pt-fk-error-logger 2012-11-19 18:47:13 +0000
297+++ bin/pt-fk-error-logger 2012-12-04 17:12:26 +0000
298@@ -841,7 +841,7 @@
299 $desc .= ". Optional suffix s=seconds, m=minutes, h=hours, "
300 . "d=days; if no suffix, $s is used.";
301 }
302- $desc = join("\n$rpad", grep { $_ } $desc =~ m/(.{0,$rcol})(?:\s+|$)/g);
303+ $desc = join("\n$rpad", grep { $_ } $desc =~ m/(.{0,$rcol}(?!\W))(?:\s+|(?<=\W)|$)/g);
304 $desc =~ s/ +$//mg;
305 if ( $short ) {
306 $usage .= sprintf(" --%-${maxs}s -%s %s\n", $long, $short, $desc);
307@@ -1459,18 +1459,6 @@
308 die "Error getting the current SQL_MODE: $EVAL_ERROR";
309 }
310
311- $sql = 'SET @@SQL_QUOTE_SHOW_CREATE = 1'
312- . '/*!40101, @@SQL_MODE=\'NO_AUTO_VALUE_ON_ZERO'
313- . ($sql_mode ? ",$sql_mode" : '')
314- . '\'*/';
315- PTDEBUG && _d($dbh, $sql);
316- eval { $dbh->do($sql) };
317- if ( $EVAL_ERROR ) {
318- die "Error setting SQL_QUOTE_SHOW_CREATE, SQL_MODE"
319- . ($sql_mode ? " and $sql_mode" : '')
320- . ": $EVAL_ERROR";
321- }
322-
323 if ( my ($charset) = $cxn_string =~ m/charset=([\w]+)/ ) {
324 $sql = qq{/*!40101 SET NAMES "$charset"*/};
325 PTDEBUG && _d($dbh, ':', $sql);
326@@ -1496,6 +1484,18 @@
327 die "Error setting $var: $EVAL_ERROR";
328 }
329 }
330+
331+ $sql = 'SET @@SQL_QUOTE_SHOW_CREATE = 1'
332+ . '/*!40101, @@SQL_MODE=\'NO_AUTO_VALUE_ON_ZERO'
333+ . ($sql_mode ? ",$sql_mode" : '')
334+ . '\'*/';
335+ PTDEBUG && _d($dbh, $sql);
336+ eval { $dbh->do($sql) };
337+ if ( $EVAL_ERROR ) {
338+ die "Error setting SQL_QUOTE_SHOW_CREATE, SQL_MODE"
339+ . ($sql_mode ? " and $sql_mode" : '')
340+ . ": $EVAL_ERROR";
341+ }
342 }
343
344 PTDEBUG && _d('DBH info: ',
345
346=== modified file 'bin/pt-heartbeat'
347--- bin/pt-heartbeat 2012-11-19 18:47:13 +0000
348+++ bin/pt-heartbeat 2012-12-04 17:12:26 +0000
349@@ -1577,7 +1577,7 @@
350 $desc .= ". Optional suffix s=seconds, m=minutes, h=hours, "
351 . "d=days; if no suffix, $s is used.";
352 }
353- $desc = join("\n$rpad", grep { $_ } $desc =~ m/(.{0,$rcol})(?:\s+|$)/g);
354+ $desc = join("\n$rpad", grep { $_ } $desc =~ m/(.{0,$rcol}(?!\W))(?:\s+|(?<=\W)|$)/g);
355 $desc =~ s/ +$//mg;
356 if ( $short ) {
357 $usage .= sprintf(" --%-${maxs}s -%s %s\n", $long, $short, $desc);
358@@ -2069,18 +2069,6 @@
359 die "Error getting the current SQL_MODE: $EVAL_ERROR";
360 }
361
362- $sql = 'SET @@SQL_QUOTE_SHOW_CREATE = 1'
363- . '/*!40101, @@SQL_MODE=\'NO_AUTO_VALUE_ON_ZERO'
364- . ($sql_mode ? ",$sql_mode" : '')
365- . '\'*/';
366- PTDEBUG && _d($dbh, $sql);
367- eval { $dbh->do($sql) };
368- if ( $EVAL_ERROR ) {
369- die "Error setting SQL_QUOTE_SHOW_CREATE, SQL_MODE"
370- . ($sql_mode ? " and $sql_mode" : '')
371- . ": $EVAL_ERROR";
372- }
373-
374 if ( my ($charset) = $cxn_string =~ m/charset=([\w]+)/ ) {
375 $sql = qq{/*!40101 SET NAMES "$charset"*/};
376 PTDEBUG && _d($dbh, ':', $sql);
377@@ -2106,6 +2094,18 @@
378 die "Error setting $var: $EVAL_ERROR";
379 }
380 }
381+
382+ $sql = 'SET @@SQL_QUOTE_SHOW_CREATE = 1'
383+ . '/*!40101, @@SQL_MODE=\'NO_AUTO_VALUE_ON_ZERO'
384+ . ($sql_mode ? ",$sql_mode" : '')
385+ . '\'*/';
386+ PTDEBUG && _d($dbh, $sql);
387+ eval { $dbh->do($sql) };
388+ if ( $EVAL_ERROR ) {
389+ die "Error setting SQL_QUOTE_SHOW_CREATE, SQL_MODE"
390+ . ($sql_mode ? " and $sql_mode" : '')
391+ . ": $EVAL_ERROR";
392+ }
393 }
394
395 PTDEBUG && _d('DBH info: ',
396
397=== modified file 'bin/pt-index-usage'
398--- bin/pt-index-usage 2012-11-19 18:47:13 +0000
399+++ bin/pt-index-usage 2012-12-04 17:12:26 +0000
400@@ -318,18 +318,6 @@
401 die "Error getting the current SQL_MODE: $EVAL_ERROR";
402 }
403
404- $sql = 'SET @@SQL_QUOTE_SHOW_CREATE = 1'
405- . '/*!40101, @@SQL_MODE=\'NO_AUTO_VALUE_ON_ZERO'
406- . ($sql_mode ? ",$sql_mode" : '')
407- . '\'*/';
408- PTDEBUG && _d($dbh, $sql);
409- eval { $dbh->do($sql) };
410- if ( $EVAL_ERROR ) {
411- die "Error setting SQL_QUOTE_SHOW_CREATE, SQL_MODE"
412- . ($sql_mode ? " and $sql_mode" : '')
413- . ": $EVAL_ERROR";
414- }
415-
416 if ( my ($charset) = $cxn_string =~ m/charset=([\w]+)/ ) {
417 $sql = qq{/*!40101 SET NAMES "$charset"*/};
418 PTDEBUG && _d($dbh, ':', $sql);
419@@ -355,6 +343,18 @@
420 die "Error setting $var: $EVAL_ERROR";
421 }
422 }
423+
424+ $sql = 'SET @@SQL_QUOTE_SHOW_CREATE = 1'
425+ . '/*!40101, @@SQL_MODE=\'NO_AUTO_VALUE_ON_ZERO'
426+ . ($sql_mode ? ",$sql_mode" : '')
427+ . '\'*/';
428+ PTDEBUG && _d($dbh, $sql);
429+ eval { $dbh->do($sql) };
430+ if ( $EVAL_ERROR ) {
431+ die "Error setting SQL_QUOTE_SHOW_CREATE, SQL_MODE"
432+ . ($sql_mode ? " and $sql_mode" : '')
433+ . ": $EVAL_ERROR";
434+ }
435 }
436
437 PTDEBUG && _d('DBH info: ',
438@@ -1354,7 +1354,7 @@
439 $desc .= ". Optional suffix s=seconds, m=minutes, h=hours, "
440 . "d=days; if no suffix, $s is used.";
441 }
442- $desc = join("\n$rpad", grep { $_ } $desc =~ m/(.{0,$rcol})(?:\s+|$)/g);
443+ $desc = join("\n$rpad", grep { $_ } $desc =~ m/(.{0,$rcol}(?!\W))(?:\s+|(?<=\W)|$)/g);
444 $desc =~ s/ +$//mg;
445 if ( $short ) {
446 $usage .= sprintf(" --%-${maxs}s -%s %s\n", $long, $short, $desc);
447
448=== modified file 'bin/pt-kill'
449--- bin/pt-kill 2012-11-19 18:47:13 +0000
450+++ bin/pt-kill 2012-12-04 17:12:26 +0000
451@@ -849,7 +849,7 @@
452 $desc .= ". Optional suffix s=seconds, m=minutes, h=hours, "
453 . "d=days; if no suffix, $s is used.";
454 }
455- $desc = join("\n$rpad", grep { $_ } $desc =~ m/(.{0,$rcol})(?:\s+|$)/g);
456+ $desc = join("\n$rpad", grep { $_ } $desc =~ m/(.{0,$rcol}(?!\W))(?:\s+|(?<=\W)|$)/g);
457 $desc =~ s/ +$//mg;
458 if ( $short ) {
459 $usage .= sprintf(" --%-${maxs}s -%s %s\n", $long, $short, $desc);
460@@ -1792,18 +1792,6 @@
461 die "Error getting the current SQL_MODE: $EVAL_ERROR";
462 }
463
464- $sql = 'SET @@SQL_QUOTE_SHOW_CREATE = 1'
465- . '/*!40101, @@SQL_MODE=\'NO_AUTO_VALUE_ON_ZERO'
466- . ($sql_mode ? ",$sql_mode" : '')
467- . '\'*/';
468- PTDEBUG && _d($dbh, $sql);
469- eval { $dbh->do($sql) };
470- if ( $EVAL_ERROR ) {
471- die "Error setting SQL_QUOTE_SHOW_CREATE, SQL_MODE"
472- . ($sql_mode ? " and $sql_mode" : '')
473- . ": $EVAL_ERROR";
474- }
475-
476 if ( my ($charset) = $cxn_string =~ m/charset=([\w]+)/ ) {
477 $sql = qq{/*!40101 SET NAMES "$charset"*/};
478 PTDEBUG && _d($dbh, ':', $sql);
479@@ -1829,6 +1817,18 @@
480 die "Error setting $var: $EVAL_ERROR";
481 }
482 }
483+
484+ $sql = 'SET @@SQL_QUOTE_SHOW_CREATE = 1'
485+ . '/*!40101, @@SQL_MODE=\'NO_AUTO_VALUE_ON_ZERO'
486+ . ($sql_mode ? ",$sql_mode" : '')
487+ . '\'*/';
488+ PTDEBUG && _d($dbh, $sql);
489+ eval { $dbh->do($sql) };
490+ if ( $EVAL_ERROR ) {
491+ die "Error setting SQL_QUOTE_SHOW_CREATE, SQL_MODE"
492+ . ($sql_mode ? " and $sql_mode" : '')
493+ . ": $EVAL_ERROR";
494+ }
495 }
496
497 PTDEBUG && _d('DBH info: ',
498
499=== modified file 'bin/pt-log-player'
500--- bin/pt-log-player 2012-11-19 18:47:13 +0000
501+++ bin/pt-log-player 2012-12-04 17:12:26 +0000
502@@ -821,7 +821,7 @@
503 $desc .= ". Optional suffix s=seconds, m=minutes, h=hours, "
504 . "d=days; if no suffix, $s is used.";
505 }
506- $desc = join("\n$rpad", grep { $_ } $desc =~ m/(.{0,$rcol})(?:\s+|$)/g);
507+ $desc = join("\n$rpad", grep { $_ } $desc =~ m/(.{0,$rcol}(?!\W))(?:\s+|(?<=\W)|$)/g);
508 $desc =~ s/ +$//mg;
509 if ( $short ) {
510 $usage .= sprintf(" --%-${maxs}s -%s %s\n", $long, $short, $desc);
511@@ -2268,18 +2268,6 @@
512 die "Error getting the current SQL_MODE: $EVAL_ERROR";
513 }
514
515- $sql = 'SET @@SQL_QUOTE_SHOW_CREATE = 1'
516- . '/*!40101, @@SQL_MODE=\'NO_AUTO_VALUE_ON_ZERO'
517- . ($sql_mode ? ",$sql_mode" : '')
518- . '\'*/';
519- PTDEBUG && _d($dbh, $sql);
520- eval { $dbh->do($sql) };
521- if ( $EVAL_ERROR ) {
522- die "Error setting SQL_QUOTE_SHOW_CREATE, SQL_MODE"
523- . ($sql_mode ? " and $sql_mode" : '')
524- . ": $EVAL_ERROR";
525- }
526-
527 if ( my ($charset) = $cxn_string =~ m/charset=([\w]+)/ ) {
528 $sql = qq{/*!40101 SET NAMES "$charset"*/};
529 PTDEBUG && _d($dbh, ':', $sql);
530@@ -2305,6 +2293,18 @@
531 die "Error setting $var: $EVAL_ERROR";
532 }
533 }
534+
535+ $sql = 'SET @@SQL_QUOTE_SHOW_CREATE = 1'
536+ . '/*!40101, @@SQL_MODE=\'NO_AUTO_VALUE_ON_ZERO'
537+ . ($sql_mode ? ",$sql_mode" : '')
538+ . '\'*/';
539+ PTDEBUG && _d($dbh, $sql);
540+ eval { $dbh->do($sql) };
541+ if ( $EVAL_ERROR ) {
542+ die "Error setting SQL_QUOTE_SHOW_CREATE, SQL_MODE"
543+ . ($sql_mode ? " and $sql_mode" : '')
544+ . ": $EVAL_ERROR";
545+ }
546 }
547
548 PTDEBUG && _d('DBH info: ',
549
550=== modified file 'bin/pt-online-schema-change'
551--- bin/pt-online-schema-change 2012-11-30 00:10:51 +0000
552+++ bin/pt-online-schema-change 2012-12-04 17:12:26 +0000
553@@ -857,7 +857,7 @@
554 $desc .= ". Optional suffix s=seconds, m=minutes, h=hours, "
555 . "d=days; if no suffix, $s is used.";
556 }
557- $desc = join("\n$rpad", grep { $_ } $desc =~ m/(.{0,$rcol})(?:\s+|$)/g);
558+ $desc = join("\n$rpad", grep { $_ } $desc =~ m/(.{0,$rcol}(?!\W))(?:\s+|(?<=\W)|$)/g);
559 $desc =~ s/ +$//mg;
560 if ( $short ) {
561 $usage .= sprintf(" --%-${maxs}s -%s %s\n", $long, $short, $desc);
562@@ -1994,18 +1994,6 @@
563 die "Error getting the current SQL_MODE: $EVAL_ERROR";
564 }
565
566- $sql = 'SET @@SQL_QUOTE_SHOW_CREATE = 1'
567- . '/*!40101, @@SQL_MODE=\'NO_AUTO_VALUE_ON_ZERO'
568- . ($sql_mode ? ",$sql_mode" : '')
569- . '\'*/';
570- PTDEBUG && _d($dbh, $sql);
571- eval { $dbh->do($sql) };
572- if ( $EVAL_ERROR ) {
573- die "Error setting SQL_QUOTE_SHOW_CREATE, SQL_MODE"
574- . ($sql_mode ? " and $sql_mode" : '')
575- . ": $EVAL_ERROR";
576- }
577-
578 if ( my ($charset) = $cxn_string =~ m/charset=([\w]+)/ ) {
579 $sql = qq{/*!40101 SET NAMES "$charset"*/};
580 PTDEBUG && _d($dbh, ':', $sql);
581@@ -2031,6 +2019,18 @@
582 die "Error setting $var: $EVAL_ERROR";
583 }
584 }
585+
586+ $sql = 'SET @@SQL_QUOTE_SHOW_CREATE = 1'
587+ . '/*!40101, @@SQL_MODE=\'NO_AUTO_VALUE_ON_ZERO'
588+ . ($sql_mode ? ",$sql_mode" : '')
589+ . '\'*/';
590+ PTDEBUG && _d($dbh, $sql);
591+ eval { $dbh->do($sql) };
592+ if ( $EVAL_ERROR ) {
593+ die "Error setting SQL_QUOTE_SHOW_CREATE, SQL_MODE"
594+ . ($sql_mode ? " and $sql_mode" : '')
595+ . ": $EVAL_ERROR";
596+ }
597 }
598
599 PTDEBUG && _d('DBH info: ',
600
601=== modified file 'bin/pt-query-advisor'
602--- bin/pt-query-advisor 2012-11-19 18:47:13 +0000
603+++ bin/pt-query-advisor 2012-12-04 17:12:26 +0000
604@@ -319,18 +319,6 @@
605 die "Error getting the current SQL_MODE: $EVAL_ERROR";
606 }
607
608- $sql = 'SET @@SQL_QUOTE_SHOW_CREATE = 1'
609- . '/*!40101, @@SQL_MODE=\'NO_AUTO_VALUE_ON_ZERO'
610- . ($sql_mode ? ",$sql_mode" : '')
611- . '\'*/';
612- PTDEBUG && _d($dbh, $sql);
613- eval { $dbh->do($sql) };
614- if ( $EVAL_ERROR ) {
615- die "Error setting SQL_QUOTE_SHOW_CREATE, SQL_MODE"
616- . ($sql_mode ? " and $sql_mode" : '')
617- . ": $EVAL_ERROR";
618- }
619-
620 if ( my ($charset) = $cxn_string =~ m/charset=([\w]+)/ ) {
621 $sql = qq{/*!40101 SET NAMES "$charset"*/};
622 PTDEBUG && _d($dbh, ':', $sql);
623@@ -356,6 +344,18 @@
624 die "Error setting $var: $EVAL_ERROR";
625 }
626 }
627+
628+ $sql = 'SET @@SQL_QUOTE_SHOW_CREATE = 1'
629+ . '/*!40101, @@SQL_MODE=\'NO_AUTO_VALUE_ON_ZERO'
630+ . ($sql_mode ? ",$sql_mode" : '')
631+ . '\'*/';
632+ PTDEBUG && _d($dbh, $sql);
633+ eval { $dbh->do($sql) };
634+ if ( $EVAL_ERROR ) {
635+ die "Error setting SQL_QUOTE_SHOW_CREATE, SQL_MODE"
636+ . ($sql_mode ? " and $sql_mode" : '')
637+ . ": $EVAL_ERROR";
638+ }
639 }
640
641 PTDEBUG && _d('DBH info: ',
642@@ -1229,7 +1229,7 @@
643 $desc .= ". Optional suffix s=seconds, m=minutes, h=hours, "
644 . "d=days; if no suffix, $s is used.";
645 }
646- $desc = join("\n$rpad", grep { $_ } $desc =~ m/(.{0,$rcol})(?:\s+|$)/g);
647+ $desc = join("\n$rpad", grep { $_ } $desc =~ m/(.{0,$rcol}(?!\W))(?:\s+|(?<=\W)|$)/g);
648 $desc =~ s/ +$//mg;
649 if ( $short ) {
650 $usage .= sprintf(" --%-${maxs}s -%s %s\n", $long, $short, $desc);
651
652=== modified file 'bin/pt-query-digest'
653--- bin/pt-query-digest 2012-11-29 20:10:54 +0000
654+++ bin/pt-query-digest 2012-12-04 17:12:26 +0000
655@@ -337,18 +337,6 @@
656 die "Error getting the current SQL_MODE: $EVAL_ERROR";
657 }
658
659- $sql = 'SET @@SQL_QUOTE_SHOW_CREATE = 1'
660- . '/*!40101, @@SQL_MODE=\'NO_AUTO_VALUE_ON_ZERO'
661- . ($sql_mode ? ",$sql_mode" : '')
662- . '\'*/';
663- PTDEBUG && _d($dbh, $sql);
664- eval { $dbh->do($sql) };
665- if ( $EVAL_ERROR ) {
666- die "Error setting SQL_QUOTE_SHOW_CREATE, SQL_MODE"
667- . ($sql_mode ? " and $sql_mode" : '')
668- . ": $EVAL_ERROR";
669- }
670-
671 if ( my ($charset) = $cxn_string =~ m/charset=([\w]+)/ ) {
672 $sql = qq{/*!40101 SET NAMES "$charset"*/};
673 PTDEBUG && _d($dbh, ':', $sql);
674@@ -374,6 +362,18 @@
675 die "Error setting $var: $EVAL_ERROR";
676 }
677 }
678+
679+ $sql = 'SET @@SQL_QUOTE_SHOW_CREATE = 1'
680+ . '/*!40101, @@SQL_MODE=\'NO_AUTO_VALUE_ON_ZERO'
681+ . ($sql_mode ? ",$sql_mode" : '')
682+ . '\'*/';
683+ PTDEBUG && _d($dbh, $sql);
684+ eval { $dbh->do($sql) };
685+ if ( $EVAL_ERROR ) {
686+ die "Error setting SQL_QUOTE_SHOW_CREATE, SQL_MODE"
687+ . ($sql_mode ? " and $sql_mode" : '')
688+ . ": $EVAL_ERROR";
689+ }
690 }
691
692 PTDEBUG && _d('DBH info: ',
693
694=== modified file 'bin/pt-show-grants'
695--- bin/pt-show-grants 2012-11-19 18:47:13 +0000
696+++ bin/pt-show-grants 2012-12-04 17:12:26 +0000
697@@ -817,7 +817,7 @@
698 $desc .= ". Optional suffix s=seconds, m=minutes, h=hours, "
699 . "d=days; if no suffix, $s is used.";
700 }
701- $desc = join("\n$rpad", grep { $_ } $desc =~ m/(.{0,$rcol})(?:\s+|$)/g);
702+ $desc = join("\n$rpad", grep { $_ } $desc =~ m/(.{0,$rcol}(?!\W))(?:\s+|(?<=\W)|$)/g);
703 $desc =~ s/ +$//mg;
704 if ( $short ) {
705 $usage .= sprintf(" --%-${maxs}s -%s %s\n", $long, $short, $desc);
706@@ -1309,18 +1309,6 @@
707 die "Error getting the current SQL_MODE: $EVAL_ERROR";
708 }
709
710- $sql = 'SET @@SQL_QUOTE_SHOW_CREATE = 1'
711- . '/*!40101, @@SQL_MODE=\'NO_AUTO_VALUE_ON_ZERO'
712- . ($sql_mode ? ",$sql_mode" : '')
713- . '\'*/';
714- PTDEBUG && _d($dbh, $sql);
715- eval { $dbh->do($sql) };
716- if ( $EVAL_ERROR ) {
717- die "Error setting SQL_QUOTE_SHOW_CREATE, SQL_MODE"
718- . ($sql_mode ? " and $sql_mode" : '')
719- . ": $EVAL_ERROR";
720- }
721-
722 if ( my ($charset) = $cxn_string =~ m/charset=([\w]+)/ ) {
723 $sql = qq{/*!40101 SET NAMES "$charset"*/};
724 PTDEBUG && _d($dbh, ':', $sql);
725@@ -1346,6 +1334,18 @@
726 die "Error setting $var: $EVAL_ERROR";
727 }
728 }
729+
730+ $sql = 'SET @@SQL_QUOTE_SHOW_CREATE = 1'
731+ . '/*!40101, @@SQL_MODE=\'NO_AUTO_VALUE_ON_ZERO'
732+ . ($sql_mode ? ",$sql_mode" : '')
733+ . '\'*/';
734+ PTDEBUG && _d($dbh, $sql);
735+ eval { $dbh->do($sql) };
736+ if ( $EVAL_ERROR ) {
737+ die "Error setting SQL_QUOTE_SHOW_CREATE, SQL_MODE"
738+ . ($sql_mode ? " and $sql_mode" : '')
739+ . ": $EVAL_ERROR";
740+ }
741 }
742
743 PTDEBUG && _d('DBH info: ',
744
745=== modified file 'bin/pt-slave-delay'
746--- bin/pt-slave-delay 2012-11-19 18:47:13 +0000
747+++ bin/pt-slave-delay 2012-12-04 17:12:26 +0000
748@@ -842,7 +842,7 @@
749 $desc .= ". Optional suffix s=seconds, m=minutes, h=hours, "
750 . "d=days; if no suffix, $s is used.";
751 }
752- $desc = join("\n$rpad", grep { $_ } $desc =~ m/(.{0,$rcol})(?:\s+|$)/g);
753+ $desc = join("\n$rpad", grep { $_ } $desc =~ m/(.{0,$rcol}(?!\W))(?:\s+|(?<=\W)|$)/g);
754 $desc =~ s/ +$//mg;
755 if ( $short ) {
756 $usage .= sprintf(" --%-${maxs}s -%s %s\n", $long, $short, $desc);
757@@ -1785,18 +1785,6 @@
758 die "Error getting the current SQL_MODE: $EVAL_ERROR";
759 }
760
761- $sql = 'SET @@SQL_QUOTE_SHOW_CREATE = 1'
762- . '/*!40101, @@SQL_MODE=\'NO_AUTO_VALUE_ON_ZERO'
763- . ($sql_mode ? ",$sql_mode" : '')
764- . '\'*/';
765- PTDEBUG && _d($dbh, $sql);
766- eval { $dbh->do($sql) };
767- if ( $EVAL_ERROR ) {
768- die "Error setting SQL_QUOTE_SHOW_CREATE, SQL_MODE"
769- . ($sql_mode ? " and $sql_mode" : '')
770- . ": $EVAL_ERROR";
771- }
772-
773 if ( my ($charset) = $cxn_string =~ m/charset=([\w]+)/ ) {
774 $sql = qq{/*!40101 SET NAMES "$charset"*/};
775 PTDEBUG && _d($dbh, ':', $sql);
776@@ -1822,6 +1810,18 @@
777 die "Error setting $var: $EVAL_ERROR";
778 }
779 }
780+
781+ $sql = 'SET @@SQL_QUOTE_SHOW_CREATE = 1'
782+ . '/*!40101, @@SQL_MODE=\'NO_AUTO_VALUE_ON_ZERO'
783+ . ($sql_mode ? ",$sql_mode" : '')
784+ . '\'*/';
785+ PTDEBUG && _d($dbh, $sql);
786+ eval { $dbh->do($sql) };
787+ if ( $EVAL_ERROR ) {
788+ die "Error setting SQL_QUOTE_SHOW_CREATE, SQL_MODE"
789+ . ($sql_mode ? " and $sql_mode" : '')
790+ . ": $EVAL_ERROR";
791+ }
792 }
793
794 PTDEBUG && _d('DBH info: ',
795
796=== modified file 'bin/pt-slave-find'
797--- bin/pt-slave-find 2012-11-19 18:47:13 +0000
798+++ bin/pt-slave-find 2012-12-04 17:12:26 +0000
799@@ -821,7 +821,7 @@
800 $desc .= ". Optional suffix s=seconds, m=minutes, h=hours, "
801 . "d=days; if no suffix, $s is used.";
802 }
803- $desc = join("\n$rpad", grep { $_ } $desc =~ m/(.{0,$rcol})(?:\s+|$)/g);
804+ $desc = join("\n$rpad", grep { $_ } $desc =~ m/(.{0,$rcol}(?!\W))(?:\s+|(?<=\W)|$)/g);
805 $desc =~ s/ +$//mg;
806 if ( $short ) {
807 $usage .= sprintf(" --%-${maxs}s -%s %s\n", $long, $short, $desc);
808@@ -1764,18 +1764,6 @@
809 die "Error getting the current SQL_MODE: $EVAL_ERROR";
810 }
811
812- $sql = 'SET @@SQL_QUOTE_SHOW_CREATE = 1'
813- . '/*!40101, @@SQL_MODE=\'NO_AUTO_VALUE_ON_ZERO'
814- . ($sql_mode ? ",$sql_mode" : '')
815- . '\'*/';
816- PTDEBUG && _d($dbh, $sql);
817- eval { $dbh->do($sql) };
818- if ( $EVAL_ERROR ) {
819- die "Error setting SQL_QUOTE_SHOW_CREATE, SQL_MODE"
820- . ($sql_mode ? " and $sql_mode" : '')
821- . ": $EVAL_ERROR";
822- }
823-
824 if ( my ($charset) = $cxn_string =~ m/charset=([\w]+)/ ) {
825 $sql = qq{/*!40101 SET NAMES "$charset"*/};
826 PTDEBUG && _d($dbh, ':', $sql);
827@@ -1801,6 +1789,18 @@
828 die "Error setting $var: $EVAL_ERROR";
829 }
830 }
831+
832+ $sql = 'SET @@SQL_QUOTE_SHOW_CREATE = 1'
833+ . '/*!40101, @@SQL_MODE=\'NO_AUTO_VALUE_ON_ZERO'
834+ . ($sql_mode ? ",$sql_mode" : '')
835+ . '\'*/';
836+ PTDEBUG && _d($dbh, $sql);
837+ eval { $dbh->do($sql) };
838+ if ( $EVAL_ERROR ) {
839+ die "Error setting SQL_QUOTE_SHOW_CREATE, SQL_MODE"
840+ . ($sql_mode ? " and $sql_mode" : '')
841+ . ": $EVAL_ERROR";
842+ }
843 }
844
845 PTDEBUG && _d('DBH info: ',
846
847=== modified file 'bin/pt-slave-restart'
848--- bin/pt-slave-restart 2012-11-19 18:47:13 +0000
849+++ bin/pt-slave-restart 2012-12-04 17:12:26 +0000
850@@ -969,7 +969,7 @@
851 $desc .= ". Optional suffix s=seconds, m=minutes, h=hours, "
852 . "d=days; if no suffix, $s is used.";
853 }
854- $desc = join("\n$rpad", grep { $_ } $desc =~ m/(.{0,$rcol})(?:\s+|$)/g);
855+ $desc = join("\n$rpad", grep { $_ } $desc =~ m/(.{0,$rcol}(?!\W))(?:\s+|(?<=\W)|$)/g);
856 $desc =~ s/ +$//mg;
857 if ( $short ) {
858 $usage .= sprintf(" --%-${maxs}s -%s %s\n", $long, $short, $desc);
859@@ -2106,18 +2106,6 @@
860 die "Error getting the current SQL_MODE: $EVAL_ERROR";
861 }
862
863- $sql = 'SET @@SQL_QUOTE_SHOW_CREATE = 1'
864- . '/*!40101, @@SQL_MODE=\'NO_AUTO_VALUE_ON_ZERO'
865- . ($sql_mode ? ",$sql_mode" : '')
866- . '\'*/';
867- PTDEBUG && _d($dbh, $sql);
868- eval { $dbh->do($sql) };
869- if ( $EVAL_ERROR ) {
870- die "Error setting SQL_QUOTE_SHOW_CREATE, SQL_MODE"
871- . ($sql_mode ? " and $sql_mode" : '')
872- . ": $EVAL_ERROR";
873- }
874-
875 if ( my ($charset) = $cxn_string =~ m/charset=([\w]+)/ ) {
876 $sql = qq{/*!40101 SET NAMES "$charset"*/};
877 PTDEBUG && _d($dbh, ':', $sql);
878@@ -2143,6 +2131,18 @@
879 die "Error setting $var: $EVAL_ERROR";
880 }
881 }
882+
883+ $sql = 'SET @@SQL_QUOTE_SHOW_CREATE = 1'
884+ . '/*!40101, @@SQL_MODE=\'NO_AUTO_VALUE_ON_ZERO'
885+ . ($sql_mode ? ",$sql_mode" : '')
886+ . '\'*/';
887+ PTDEBUG && _d($dbh, $sql);
888+ eval { $dbh->do($sql) };
889+ if ( $EVAL_ERROR ) {
890+ die "Error setting SQL_QUOTE_SHOW_CREATE, SQL_MODE"
891+ . ($sql_mode ? " and $sql_mode" : '')
892+ . ": $EVAL_ERROR";
893+ }
894 }
895
896 PTDEBUG && _d('DBH info: ',
897
898=== modified file 'bin/pt-table-checksum'
899--- bin/pt-table-checksum 2012-12-04 16:42:22 +0000
900+++ bin/pt-table-checksum 2012-12-04 17:12:26 +0000
901@@ -1632,18 +1632,6 @@
902 die "Error getting the current SQL_MODE: $EVAL_ERROR";
903 }
904
905- $sql = 'SET @@SQL_QUOTE_SHOW_CREATE = 1'
906- . '/*!40101, @@SQL_MODE=\'NO_AUTO_VALUE_ON_ZERO'
907- . ($sql_mode ? ",$sql_mode" : '')
908- . '\'*/';
909- PTDEBUG && _d($dbh, $sql);
910- eval { $dbh->do($sql) };
911- if ( $EVAL_ERROR ) {
912- die "Error setting SQL_QUOTE_SHOW_CREATE, SQL_MODE"
913- . ($sql_mode ? " and $sql_mode" : '')
914- . ": $EVAL_ERROR";
915- }
916-
917 if ( my ($charset) = $cxn_string =~ m/charset=([\w]+)/ ) {
918 $sql = qq{/*!40101 SET NAMES "$charset"*/};
919 PTDEBUG && _d($dbh, ':', $sql);
920@@ -1669,6 +1657,18 @@
921 die "Error setting $var: $EVAL_ERROR";
922 }
923 }
924+
925+ $sql = 'SET @@SQL_QUOTE_SHOW_CREATE = 1'
926+ . '/*!40101, @@SQL_MODE=\'NO_AUTO_VALUE_ON_ZERO'
927+ . ($sql_mode ? ",$sql_mode" : '')
928+ . '\'*/';
929+ PTDEBUG && _d($dbh, $sql);
930+ eval { $dbh->do($sql) };
931+ if ( $EVAL_ERROR ) {
932+ die "Error setting SQL_QUOTE_SHOW_CREATE, SQL_MODE"
933+ . ($sql_mode ? " and $sql_mode" : '')
934+ . ": $EVAL_ERROR";
935+ }
936 }
937
938 PTDEBUG && _d('DBH info: ',
939@@ -2542,7 +2542,7 @@
940 $desc .= ". Optional suffix s=seconds, m=minutes, h=hours, "
941 . "d=days; if no suffix, $s is used.";
942 }
943- $desc = join("\n$rpad", grep { $_ } $desc =~ m/(.{0,$rcol})(?:\s+|$)/g);
944+ $desc = join("\n$rpad", grep { $_ } $desc =~ m/(.{0,$rcol}(?!\W))(?:\s+|(?<=\W)|$)/g);
945 $desc =~ s/ +$//mg;
946 if ( $short ) {
947 $usage .= sprintf(" --%-${maxs}s -%s %s\n", $long, $short, $desc);
948
949=== modified file 'bin/pt-table-sync'
950--- bin/pt-table-sync 2012-11-19 18:47:13 +0000
951+++ bin/pt-table-sync 2012-12-04 17:12:26 +0000
952@@ -858,7 +858,7 @@
953 $desc .= ". Optional suffix s=seconds, m=minutes, h=hours, "
954 . "d=days; if no suffix, $s is used.";
955 }
956- $desc = join("\n$rpad", grep { $_ } $desc =~ m/(.{0,$rcol})(?:\s+|$)/g);
957+ $desc = join("\n$rpad", grep { $_ } $desc =~ m/(.{0,$rcol}(?!\W))(?:\s+|(?<=\W)|$)/g);
958 $desc =~ s/ +$//mg;
959 if ( $short ) {
960 $usage .= sprintf(" --%-${maxs}s -%s %s\n", $long, $short, $desc);
961@@ -1588,7 +1588,7 @@
962 next unless $_;
963 s/\A`//;
964 s/`\z//;
965- s/``/`/;
966+ s/``/`/g;
967 }
968
969 return ($db, $tbl);
970@@ -1927,18 +1927,6 @@
971 die "Error getting the current SQL_MODE: $EVAL_ERROR";
972 }
973
974- $sql = 'SET @@SQL_QUOTE_SHOW_CREATE = 1'
975- . '/*!40101, @@SQL_MODE=\'NO_AUTO_VALUE_ON_ZERO'
976- . ($sql_mode ? ",$sql_mode" : '')
977- . '\'*/';
978- PTDEBUG && _d($dbh, $sql);
979- eval { $dbh->do($sql) };
980- if ( $EVAL_ERROR ) {
981- die "Error setting SQL_QUOTE_SHOW_CREATE, SQL_MODE"
982- . ($sql_mode ? " and $sql_mode" : '')
983- . ": $EVAL_ERROR";
984- }
985-
986 if ( my ($charset) = $cxn_string =~ m/charset=([\w]+)/ ) {
987 $sql = qq{/*!40101 SET NAMES "$charset"*/};
988 PTDEBUG && _d($dbh, ':', $sql);
989@@ -1964,6 +1952,18 @@
990 die "Error setting $var: $EVAL_ERROR";
991 }
992 }
993+
994+ $sql = 'SET @@SQL_QUOTE_SHOW_CREATE = 1'
995+ . '/*!40101, @@SQL_MODE=\'NO_AUTO_VALUE_ON_ZERO'
996+ . ($sql_mode ? ",$sql_mode" : '')
997+ . '\'*/';
998+ PTDEBUG && _d($dbh, $sql);
999+ eval { $dbh->do($sql) };
1000+ if ( $EVAL_ERROR ) {
1001+ die "Error setting SQL_QUOTE_SHOW_CREATE, SQL_MODE"
1002+ . ($sql_mode ? " and $sql_mode" : '')
1003+ . ": $EVAL_ERROR";
1004+ }
1005 }
1006
1007 PTDEBUG && _d('DBH info: ',
1008@@ -2416,13 +2416,11 @@
1009 PTDEBUG && _d($show_sql);
1010 my $href;
1011 eval { $href = $dbh->selectrow_hashref($show_sql); };
1012- if ( $EVAL_ERROR ) {
1013- PTDEBUG && _d($EVAL_ERROR);
1014-
1015+ if ( my $e = $EVAL_ERROR ) {
1016 PTDEBUG && _d($old_sql_mode);
1017 $dbh->do($old_sql_mode);
1018
1019- return;
1020+ die $e;
1021 }
1022
1023 PTDEBUG && _d($old_sql_mode);
1024@@ -7657,7 +7655,17 @@
1025 }
1026
1027 while ( my $tbl = shift @{$self->{tbls}} ) {
1028- my $ddl = $tp->get_create_table($dbh, $self->{db}, $tbl);
1029+ my $ddl = eval { $tp->get_create_table($dbh, $self->{db}, $tbl) };
1030+ if ( my $e = $EVAL_ERROR ) {
1031+ my $table_name = "$self->{db}.$tbl";
1032+ if ( $e =~ /\QTable '$table_name' doesn't exist/ ) {
1033+ PTDEBUG && _d("Skipping $table_name because it no longer exists");
1034+ }
1035+ else {
1036+ warn "Skipping $table_name because SHOW CREATE TABLE failed: $e";
1037+ }
1038+ next;
1039+ }
1040 my $tbl_struct = $tp->parse($ddl);
1041 if ( $self->engine_is_allowed($tbl_struct->{engine}) ) {
1042 return {
1043
1044=== modified file 'bin/pt-tcp-model'
1045--- bin/pt-tcp-model 2012-11-19 18:47:13 +0000
1046+++ bin/pt-tcp-model 2012-12-04 17:12:26 +0000
1047@@ -820,7 +820,7 @@
1048 $desc .= ". Optional suffix s=seconds, m=minutes, h=hours, "
1049 . "d=days; if no suffix, $s is used.";
1050 }
1051- $desc = join("\n$rpad", grep { $_ } $desc =~ m/(.{0,$rcol})(?:\s+|$)/g);
1052+ $desc = join("\n$rpad", grep { $_ } $desc =~ m/(.{0,$rcol}(?!\W))(?:\s+|(?<=\W)|$)/g);
1053 $desc =~ s/ +$//mg;
1054 if ( $short ) {
1055 $usage .= sprintf(" --%-${maxs}s -%s %s\n", $long, $short, $desc);
1056
1057=== modified file 'bin/pt-trend'
1058--- bin/pt-trend 2012-11-19 18:47:13 +0000
1059+++ bin/pt-trend 2012-12-04 17:12:26 +0000
1060@@ -820,7 +820,7 @@
1061 $desc .= ". Optional suffix s=seconds, m=minutes, h=hours, "
1062 . "d=days; if no suffix, $s is used.";
1063 }
1064- $desc = join("\n$rpad", grep { $_ } $desc =~ m/(.{0,$rcol})(?:\s+|$)/g);
1065+ $desc = join("\n$rpad", grep { $_ } $desc =~ m/(.{0,$rcol}(?!\W))(?:\s+|(?<=\W)|$)/g);
1066 $desc =~ s/ +$//mg;
1067 if ( $short ) {
1068 $usage .= sprintf(" --%-${maxs}s -%s %s\n", $long, $short, $desc);
1069
1070=== modified file 'bin/pt-upgrade'
1071--- bin/pt-upgrade 2012-11-19 18:47:13 +0000
1072+++ bin/pt-upgrade 2012-12-04 17:12:26 +0000
1073@@ -331,18 +331,6 @@
1074 die "Error getting the current SQL_MODE: $EVAL_ERROR";
1075 }
1076
1077- $sql = 'SET @@SQL_QUOTE_SHOW_CREATE = 1'
1078- . '/*!40101, @@SQL_MODE=\'NO_AUTO_VALUE_ON_ZERO'
1079- . ($sql_mode ? ",$sql_mode" : '')
1080- . '\'*/';
1081- PTDEBUG && _d($dbh, $sql);
1082- eval { $dbh->do($sql) };
1083- if ( $EVAL_ERROR ) {
1084- die "Error setting SQL_QUOTE_SHOW_CREATE, SQL_MODE"
1085- . ($sql_mode ? " and $sql_mode" : '')
1086- . ": $EVAL_ERROR";
1087- }
1088-
1089 if ( my ($charset) = $cxn_string =~ m/charset=([\w]+)/ ) {
1090 $sql = qq{/*!40101 SET NAMES "$charset"*/};
1091 PTDEBUG && _d($dbh, ':', $sql);
1092@@ -368,6 +356,18 @@
1093 die "Error setting $var: $EVAL_ERROR";
1094 }
1095 }
1096+
1097+ $sql = 'SET @@SQL_QUOTE_SHOW_CREATE = 1'
1098+ . '/*!40101, @@SQL_MODE=\'NO_AUTO_VALUE_ON_ZERO'
1099+ . ($sql_mode ? ",$sql_mode" : '')
1100+ . '\'*/';
1101+ PTDEBUG && _d($dbh, $sql);
1102+ eval { $dbh->do($sql) };
1103+ if ( $EVAL_ERROR ) {
1104+ die "Error setting SQL_QUOTE_SHOW_CREATE, SQL_MODE"
1105+ . ($sql_mode ? " and $sql_mode" : '')
1106+ . ": $EVAL_ERROR";
1107+ }
1108 }
1109
1110 PTDEBUG && _d('DBH info: ',
1111@@ -1778,7 +1778,7 @@
1112 $desc .= ". Optional suffix s=seconds, m=minutes, h=hours, "
1113 . "d=days; if no suffix, $s is used.";
1114 }
1115- $desc = join("\n$rpad", grep { $_ } $desc =~ m/(.{0,$rcol})(?:\s+|$)/g);
1116+ $desc = join("\n$rpad", grep { $_ } $desc =~ m/(.{0,$rcol}(?!\W))(?:\s+|(?<=\W)|$)/g);
1117 $desc =~ s/ +$//mg;
1118 if ( $short ) {
1119 $usage .= sprintf(" --%-${maxs}s -%s %s\n", $long, $short, $desc);
1120
1121=== modified file 'bin/pt-variable-advisor'
1122--- bin/pt-variable-advisor 2012-11-19 18:47:13 +0000
1123+++ bin/pt-variable-advisor 2012-12-04 17:12:26 +0000
1124@@ -846,7 +846,7 @@
1125 $desc .= ". Optional suffix s=seconds, m=minutes, h=hours, "
1126 . "d=days; if no suffix, $s is used.";
1127 }
1128- $desc = join("\n$rpad", grep { $_ } $desc =~ m/(.{0,$rcol})(?:\s+|$)/g);
1129+ $desc = join("\n$rpad", grep { $_ } $desc =~ m/(.{0,$rcol}(?!\W))(?:\s+|(?<=\W)|$)/g);
1130 $desc =~ s/ +$//mg;
1131 if ( $short ) {
1132 $usage .= sprintf(" --%-${maxs}s -%s %s\n", $long, $short, $desc);
1133@@ -1789,18 +1789,6 @@
1134 die "Error getting the current SQL_MODE: $EVAL_ERROR";
1135 }
1136
1137- $sql = 'SET @@SQL_QUOTE_SHOW_CREATE = 1'
1138- . '/*!40101, @@SQL_MODE=\'NO_AUTO_VALUE_ON_ZERO'
1139- . ($sql_mode ? ",$sql_mode" : '')
1140- . '\'*/';
1141- PTDEBUG && _d($dbh, $sql);
1142- eval { $dbh->do($sql) };
1143- if ( $EVAL_ERROR ) {
1144- die "Error setting SQL_QUOTE_SHOW_CREATE, SQL_MODE"
1145- . ($sql_mode ? " and $sql_mode" : '')
1146- . ": $EVAL_ERROR";
1147- }
1148-
1149 if ( my ($charset) = $cxn_string =~ m/charset=([\w]+)/ ) {
1150 $sql = qq{/*!40101 SET NAMES "$charset"*/};
1151 PTDEBUG && _d($dbh, ':', $sql);
1152@@ -1826,6 +1814,18 @@
1153 die "Error setting $var: $EVAL_ERROR";
1154 }
1155 }
1156+
1157+ $sql = 'SET @@SQL_QUOTE_SHOW_CREATE = 1'
1158+ . '/*!40101, @@SQL_MODE=\'NO_AUTO_VALUE_ON_ZERO'
1159+ . ($sql_mode ? ",$sql_mode" : '')
1160+ . '\'*/';
1161+ PTDEBUG && _d($dbh, $sql);
1162+ eval { $dbh->do($sql) };
1163+ if ( $EVAL_ERROR ) {
1164+ die "Error setting SQL_QUOTE_SHOW_CREATE, SQL_MODE"
1165+ . ($sql_mode ? " and $sql_mode" : '')
1166+ . ": $EVAL_ERROR";
1167+ }
1168 }
1169
1170 PTDEBUG && _d('DBH info: ',
1171
1172=== modified file 'lib/DSNParser.pm'
1173--- lib/DSNParser.pm 2012-10-17 22:19:44 +0000
1174+++ lib/DSNParser.pm 2012-12-04 17:12:26 +0000
1175@@ -343,18 +343,6 @@
1176 die "Error getting the current SQL_MODE: $EVAL_ERROR";
1177 }
1178
1179- $sql = 'SET @@SQL_QUOTE_SHOW_CREATE = 1'
1180- . '/*!40101, @@SQL_MODE=\'NO_AUTO_VALUE_ON_ZERO'
1181- . ($sql_mode ? ",$sql_mode" : '')
1182- . '\'*/';
1183- PTDEBUG && _d($dbh, $sql);
1184- eval { $dbh->do($sql) };
1185- if ( $EVAL_ERROR ) {
1186- die "Error setting SQL_QUOTE_SHOW_CREATE, SQL_MODE"
1187- . ($sql_mode ? " and $sql_mode" : '')
1188- . ": $EVAL_ERROR";
1189- }
1190-
1191 # Set character set and binmode on STDOUT.
1192 if ( my ($charset) = $cxn_string =~ m/charset=([\w]+)/ ) {
1193 $sql = qq{/*!40101 SET NAMES "$charset"*/};
1194@@ -381,6 +369,20 @@
1195 die "Error setting $var: $EVAL_ERROR";
1196 }
1197 }
1198+
1199+ # Do this after set-vars so a user-set sql_mode doesn't clobber it; See
1200+ # https://bugs.launchpad.net/percona-toolkit/+bug/1078887
1201+ $sql = 'SET @@SQL_QUOTE_SHOW_CREATE = 1'
1202+ . '/*!40101, @@SQL_MODE=\'NO_AUTO_VALUE_ON_ZERO'
1203+ . ($sql_mode ? ",$sql_mode" : '')
1204+ . '\'*/';
1205+ PTDEBUG && _d($dbh, $sql);
1206+ eval { $dbh->do($sql) };
1207+ if ( $EVAL_ERROR ) {
1208+ die "Error setting SQL_QUOTE_SHOW_CREATE, SQL_MODE"
1209+ . ($sql_mode ? " and $sql_mode" : '')
1210+ . ": $EVAL_ERROR";
1211+ }
1212 }
1213
1214 PTDEBUG && _d('DBH info: ',
1215
1216=== modified file 't/lib/DSNParser.t'
1217--- t/lib/DSNParser.t 2012-11-07 11:54:39 +0000
1218+++ t/lib/DSNParser.t 2012-12-04 17:12:26 +0000
1219@@ -571,6 +571,24 @@
1220 $dp->prop('set-vars', undef);
1221
1222 # #############################################################################
1223+# Bug 1078887: Don't clobber the sql_mode set by the script with set-vars
1224+# https://bugs.launchpad.net/percona-toolkit/+bug/1078887
1225+# #############################################################################
1226+
1227+$dp->prop('set-vars', "sql_mode=ANSI_QUOTES");
1228+my $sql_mode_dbh = $dp->get_dbh($dp->get_cxn_params($dsn), {});
1229+
1230+my (undef, $sql_mode) = $sql_mode_dbh->selectrow_array(q{SHOW VARIABLES LIKE 'sql\_mode'});
1231+
1232+like(
1233+ $sql_mode,
1234+ qr/NO_AUTO_VALUE_ON_ZERO/,
1235+ "Bug 1078887: --set-vars doesn't clover the sql_mode set by DSNParser"
1236+);
1237+
1238+$sql_mode_dbh->disconnect();
1239+
1240+# #############################################################################
1241 # LOAD DATA LOCAL INFILE broken in some platforms
1242 # https://bugs.launchpad.net/percona-toolkit/+bug/821715
1243 # #############################################################################
1244@@ -610,3 +628,4 @@
1245 # Done.
1246 # #############################################################################
1247 done_testing;
1248+
1249\ No newline at end of file

Subscribers

People subscribed via source and target branches