Merge lp:~percona-toolkit-dev/percona-toolkit/fix-1078887-DSNParser-set-vars-sql_mode-clobber into lp:percona-toolkit/2.1
- fix-1078887-DSNParser-set-vars-sql_mode-clobber
- Merge into 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 | ||||
Related bugs: |
|
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Daniel Nichter | Approve | ||
Brian Fraser (community) | Approve | ||
Review via email: mp+137921@code.launchpad.net |
Commit message
Description of the change
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 |