Merge lp:~percona-toolkit-dev/percona-toolkit/fix-bug-911996 into lp:percona-toolkit/2.0
- fix-bug-911996
- Merge into 2.0
Proposed by
Daniel Nichter
Status: | Merged | ||||
---|---|---|---|---|---|
Merged at revision: | 130 | ||||
Proposed branch: | lp:~percona-toolkit-dev/percona-toolkit/fix-bug-911996 | ||||
Merge into: | lp:percona-toolkit/2.0 | ||||
Diff against target: |
132 lines (+47/-16) 5 files modified
Changelog (+2/-0) bin/pt-table-sync (+2/-2) t/pt-table-sync/basics.t (+30/-1) t/pt-table-sync/diff_where.t (+1/-1) t/pt-table-sync/samples/issue_560_output_2.txt (+12/-12) |
||||
To merge this branch: | bzr merge lp:~percona-toolkit-dev/percona-toolkit/fix-bug-911996 | ||||
Related bugs: |
|
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Brian Fraser (community) | Approve | ||
Baron Schwartz (community) | Approve | ||
Daniel Nichter | Approve | ||
Review via email: mp+87666@code.launchpad.net |
Commit message
Description of the change
To post a comment you must log in.
Revision history for this message
Daniel Nichter (daniel-nichter) : | # |
review:
Approve
- 131. By Daniel Nichter
-
Update sample files.
Revision history for this message
Baron Schwartz (baron-xaprb) : | # |
review:
Approve
Revision history for this message
Brian Fraser (fraserbn) : | # |
review:
Approve
Preview Diff
[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1 | === modified file 'Changelog' |
2 | --- Changelog 2011-12-30 22:44:29 +0000 |
3 | +++ Changelog 2012-01-05 18:57:23 +0000 |
4 | @@ -1,5 +1,7 @@ |
5 | Changelog for Percona Toolkit |
6 | |
7 | + * Fixed bug 911996: pt-table-sync --replicate causes "Unknown column" error |
8 | + |
9 | v2.0.1 released 2011-12-30 |
10 | |
11 | * Completely redesigned pt-table-checksum |
12 | |
13 | === modified file 'bin/pt-table-sync' |
14 | --- bin/pt-table-sync 2011-12-30 22:44:29 +0000 |
15 | +++ bin/pt-table-sync 2012-01-05 18:57:23 +0000 |
16 | @@ -8892,13 +8892,13 @@ |
17 | my $lb_sql = $asc->{boundaries}->{'>='}; |
18 | foreach my $val ( $q->deserialize_list($diff->{lower_boundary}) ) { |
19 | my $quoted_val = $q->quote_val($val); |
20 | - $lb_sql =~ s/\?/$val/; |
21 | + $lb_sql =~ s/\?/$quoted_val/; |
22 | } |
23 | |
24 | my $ub_sql = $asc->{boundaries}->{'<='}; |
25 | foreach my $val ( $q->deserialize_list($diff->{upper_boundary}) ) { |
26 | my $quoted_val = $q->quote_val($val); |
27 | - $ub_sql =~ s/\?/$val/; |
28 | + $ub_sql =~ s/\?/$quoted_val/; |
29 | } |
30 | |
31 | return "$lb_sql AND $ub_sql"; |
32 | |
33 | === modified file 't/pt-table-sync/basics.t' |
34 | --- t/pt-table-sync/basics.t 2011-12-30 16:23:41 +0000 |
35 | +++ t/pt-table-sync/basics.t 2012-01-05 18:57:23 +0000 |
36 | @@ -28,7 +28,7 @@ |
37 | plan skip_all => 'Cannot connect to sandbox slave'; |
38 | } |
39 | else { |
40 | - plan tests => 17; |
41 | + plan tests => 19; |
42 | } |
43 | |
44 | $sb->wipe_clean($master_dbh); |
45 | @@ -168,6 +168,35 @@ |
46 | # Restore PTDEBUG env. |
47 | $ENV{PTDEBUG} = $dbg || 0; |
48 | |
49 | +# ########################################################################### |
50 | +# Fix bug 911996. |
51 | +# ########################################################################### |
52 | +`$trunk/bin/pt-table-checksum h=127.1,P=12345,u=msandbox,p=msandbox --max-load '' --lock-wait 3 --chunk-size 50 --chunk-index idx_actor_last_name -t sakila.actor --quiet`; |
53 | + |
54 | +PerconaTest::wait_for_table($slave_dbh, "percona.checksums", "db='sakila' and tbl='actor' and chunk=7"); |
55 | +$slave_dbh->do("update percona.checksums set this_crc='' where db='sakila' and tbl='actor' and chunk=3"); |
56 | +$slave_dbh->do("update sakila.actor set last_name='' where actor_id=30"); |
57 | + |
58 | +$output = output( |
59 | + sub { |
60 | + pt_table_sync::main('h=127.1,P=12345,u=msandbox,p=msandbox', |
61 | + qw(--print --execute --replicate percona.checksums), |
62 | + qw(--no-foreign-key-checks)) |
63 | + } |
64 | +); |
65 | + |
66 | +like( |
67 | + $output, |
68 | + qr/^REPLACE INTO `sakila`.`actor`\(`actor_id`, `first_name`, `last_name`, `last_update`\) VALUES \('30', 'SANDRA', 'PECK', '2006-02-15 04:34:33'\)/, |
69 | + "--replicate with char index col (bug 911996)" |
70 | +); |
71 | + |
72 | +$output = `$trunk/bin/pt-table-checksum h=127.1,P=12345,u=msandbox,p=msandbox --max-load '' --lock-wait 3 --chunk-size 50 --chunk-index idx_actor_last_name -t sakila.actor`; |
73 | +is( |
74 | + PerconaTest::count_checksum_results($output, 'diffs'), |
75 | + 0, |
76 | + "Synced diff (bug 911996)" |
77 | +); |
78 | |
79 | # ############################################################################# |
80 | # Done. |
81 | |
82 | === modified file 't/pt-table-sync/diff_where.t' |
83 | --- t/pt-table-sync/diff_where.t 2011-12-22 22:43:15 +0000 |
84 | +++ t/pt-table-sync/diff_where.t 2012-01-05 18:57:23 +0000 |
85 | @@ -54,7 +54,7 @@ |
86 | this_crc => '4a57d814', |
87 | upper_boundary => '9' |
88 | }, |
89 | - where => "((`id` >= 7)) AND ((`id` <= 9))", |
90 | + where => "((`id` >= '7')) AND ((`id` <= '9'))", |
91 | ); |
92 | |
93 | # ############################################################################# |
94 | |
95 | === modified file 't/pt-table-sync/samples/issue_560_output_2.txt' |
96 | --- t/pt-table-sync/samples/issue_560_output_2.txt 2011-12-22 22:50:52 +0000 |
97 | +++ t/pt-table-sync/samples/issue_560_output_2.txt 2012-01-05 18:57:23 +0000 |
98 | @@ -1,22 +1,22 @@ |
99 | # Syncing via replication P=12346,h=127.1,p=...,u=msandbox |
100 | # DELETE REPLACE INSERT UPDATE ALGORITHM START END EXIT DATABASE.TABLE |
101 | -# SELECT /*issue_560.buddy_list:1/1*/ 0 AS chunk_num, COUNT(*) AS cnt, COALESCE(LOWER(CONV(BIT_XOR(CAST(CRC32(CONCAT_WS('#', `player_id`, `buddy_id`)) AS UNSIGNED)), 10, 16)), 0) AS crc FROM `issue_560`.`buddy_list` FORCE INDEX (`PRIMARY`) WHERE (((`player_id` < '350') OR (`player_id` = '350' AND `buddy_id` <= '2454'))) AND ((((`player_id` > 301) OR (`player_id` = 301 AND `buddy_id` >= 887)) AND ((`player_id` < 350) OR (`player_id` = 350 AND `buddy_id` <= 2454)))) FOR UPDATE |
102 | -# SELECT /*issue_560.buddy_list:1/1*/ 0 AS chunk_num, COUNT(*) AS cnt, COALESCE(LOWER(CONV(BIT_XOR(CAST(CRC32(CONCAT_WS('#', `player_id`, `buddy_id`)) AS UNSIGNED)), 10, 16)), 0) AS crc FROM `issue_560`.`buddy_list` FORCE INDEX (`PRIMARY`) WHERE (((`player_id` < '350') OR (`player_id` = '350' AND `buddy_id` <= '2454'))) AND ((((`player_id` > 301) OR (`player_id` = 301 AND `buddy_id` >= 887)) AND ((`player_id` < 350) OR (`player_id` = 350 AND `buddy_id` <= 2454)))) LOCK IN SHARE MODE |
103 | -# SELECT /*rows in nibble*/ `player_id`, `buddy_id`, CRC32(CONCAT_WS('#', `player_id`, `buddy_id`)) AS __crc FROM `issue_560`.`buddy_list` FORCE INDEX (`PRIMARY`) WHERE (((`player_id` < '350') OR (`player_id` = '350' AND `buddy_id` <= '2454'))) AND (((`player_id` > 301) OR (`player_id` = 301 AND `buddy_id` >= 887)) AND ((`player_id` < 350) OR (`player_id` = 350 AND `buddy_id` <= 2454))) ORDER BY `player_id`, `buddy_id` FOR UPDATE |
104 | -# SELECT /*rows in nibble*/ `player_id`, `buddy_id`, CRC32(CONCAT_WS('#', `player_id`, `buddy_id`)) AS __crc FROM `issue_560`.`buddy_list` FORCE INDEX (`PRIMARY`) WHERE (((`player_id` < '350') OR (`player_id` = '350' AND `buddy_id` <= '2454'))) AND (((`player_id` > 301) OR (`player_id` = 301 AND `buddy_id` >= 887)) AND ((`player_id` < 350) OR (`player_id` = 350 AND `buddy_id` <= 2454))) ORDER BY `player_id`, `buddy_id` LOCK IN SHARE MODE |
105 | +# SELECT /*issue_560.buddy_list:1/1*/ 0 AS chunk_num, COUNT(*) AS cnt, COALESCE(LOWER(CONV(BIT_XOR(CAST(CRC32(CONCAT_WS('#', `player_id`, `buddy_id`)) AS UNSIGNED)), 10, 16)), 0) AS crc FROM `issue_560`.`buddy_list` FORCE INDEX (`PRIMARY`) WHERE (((`player_id` < '350') OR (`player_id` = '350' AND `buddy_id` <= '2454'))) AND ((((`player_id` > '301') OR (`player_id` = '301' AND `buddy_id` >= '887')) AND ((`player_id` < '350') OR (`player_id` = '350' AND `buddy_id` <= '2454')))) FOR UPDATE |
106 | +# SELECT /*issue_560.buddy_list:1/1*/ 0 AS chunk_num, COUNT(*) AS cnt, COALESCE(LOWER(CONV(BIT_XOR(CAST(CRC32(CONCAT_WS('#', `player_id`, `buddy_id`)) AS UNSIGNED)), 10, 16)), 0) AS crc FROM `issue_560`.`buddy_list` FORCE INDEX (`PRIMARY`) WHERE (((`player_id` < '350') OR (`player_id` = '350' AND `buddy_id` <= '2454'))) AND ((((`player_id` > '301') OR (`player_id` = '301' AND `buddy_id` >= '887')) AND ((`player_id` < '350') OR (`player_id` = '350' AND `buddy_id` <= '2454')))) LOCK IN SHARE MODE |
107 | +# SELECT /*rows in nibble*/ `player_id`, `buddy_id`, CRC32(CONCAT_WS('#', `player_id`, `buddy_id`)) AS __crc FROM `issue_560`.`buddy_list` FORCE INDEX (`PRIMARY`) WHERE (((`player_id` < '350') OR (`player_id` = '350' AND `buddy_id` <= '2454'))) AND (((`player_id` > '301') OR (`player_id` = '301' AND `buddy_id` >= '887')) AND ((`player_id` < '350') OR (`player_id` = '350' AND `buddy_id` <= '2454'))) ORDER BY `player_id`, `buddy_id` FOR UPDATE |
108 | +# SELECT /*rows in nibble*/ `player_id`, `buddy_id`, CRC32(CONCAT_WS('#', `player_id`, `buddy_id`)) AS __crc FROM `issue_560`.`buddy_list` FORCE INDEX (`PRIMARY`) WHERE (((`player_id` < '350') OR (`player_id` = '350' AND `buddy_id` <= '2454'))) AND (((`player_id` > '301') OR (`player_id` = '301' AND `buddy_id` >= '887')) AND ((`player_id` < '350') OR (`player_id` = '350' AND `buddy_id` <= '2454'))) ORDER BY `player_id`, `buddy_id` LOCK IN SHARE MODE |
109 | DELETE FROM `issue_560`.`buddy_list` WHERE `player_id`='333' AND `buddy_id`='0' LIMIT 1; |
110 | DELETE FROM `issue_560`.`buddy_list` WHERE `player_id`='334' AND `buddy_id`='0' LIMIT 1; |
111 | REPLACE INTO `issue_560`.`buddy_list`(`player_id`, `buddy_id`) VALUES ('333', '3414'); |
112 | REPLACE INTO `issue_560`.`buddy_list`(`player_id`, `buddy_id`) VALUES ('334', '6626'); |
113 | -# SELECT /*issue_560.buddy_list:1/1*/ 0 AS chunk_num, COUNT(*) AS cnt, COALESCE(LOWER(CONV(BIT_XOR(CAST(CRC32(CONCAT_WS('#', `player_id`, `buddy_id`)) AS UNSIGNED)), 10, 16)), 0) AS crc FROM `issue_560`.`buddy_list` FORCE INDEX (`PRIMARY`) WHERE ((((`player_id` > '350') OR (`player_id` = '350' AND `buddy_id` > '2454')) AND 1=1)) AND ((((`player_id` > 301) OR (`player_id` = 301 AND `buddy_id` >= 887)) AND ((`player_id` < 350) OR (`player_id` = 350 AND `buddy_id` <= 2454)))) FOR UPDATE |
114 | -# SELECT /*issue_560.buddy_list:1/1*/ 0 AS chunk_num, COUNT(*) AS cnt, COALESCE(LOWER(CONV(BIT_XOR(CAST(CRC32(CONCAT_WS('#', `player_id`, `buddy_id`)) AS UNSIGNED)), 10, 16)), 0) AS crc FROM `issue_560`.`buddy_list` FORCE INDEX (`PRIMARY`) WHERE ((((`player_id` > '350') OR (`player_id` = '350' AND `buddy_id` > '2454')) AND 1=1)) AND ((((`player_id` > 301) OR (`player_id` = 301 AND `buddy_id` >= 887)) AND ((`player_id` < 350) OR (`player_id` = 350 AND `buddy_id` <= 2454)))) LOCK IN SHARE MODE |
115 | +# SELECT /*issue_560.buddy_list:1/1*/ 0 AS chunk_num, COUNT(*) AS cnt, COALESCE(LOWER(CONV(BIT_XOR(CAST(CRC32(CONCAT_WS('#', `player_id`, `buddy_id`)) AS UNSIGNED)), 10, 16)), 0) AS crc FROM `issue_560`.`buddy_list` FORCE INDEX (`PRIMARY`) WHERE ((((`player_id` > '350') OR (`player_id` = '350' AND `buddy_id` > '2454')) AND 1=1)) AND ((((`player_id` > '301') OR (`player_id` = '301' AND `buddy_id` >= '887')) AND ((`player_id` < '350') OR (`player_id` = '350' AND `buddy_id` <= '2454')))) FOR UPDATE |
116 | +# SELECT /*issue_560.buddy_list:1/1*/ 0 AS chunk_num, COUNT(*) AS cnt, COALESCE(LOWER(CONV(BIT_XOR(CAST(CRC32(CONCAT_WS('#', `player_id`, `buddy_id`)) AS UNSIGNED)), 10, 16)), 0) AS crc FROM `issue_560`.`buddy_list` FORCE INDEX (`PRIMARY`) WHERE ((((`player_id` > '350') OR (`player_id` = '350' AND `buddy_id` > '2454')) AND 1=1)) AND ((((`player_id` > '301') OR (`player_id` = '301' AND `buddy_id` >= '887')) AND ((`player_id` < '350') OR (`player_id` = '350' AND `buddy_id` <= '2454')))) LOCK IN SHARE MODE |
117 | # 2 2 0 0 Nibble 00:00:00 00:00:00 2 issue_560.buddy_list |
118 | -# SELECT /*issue_560.buddy_list:1/1*/ 0 AS chunk_num, COUNT(*) AS cnt, COALESCE(LOWER(CONV(BIT_XOR(CAST(CRC32(CONCAT_WS('#', `player_id`, `buddy_id`)) AS UNSIGNED)), 10, 16)), 0) AS crc FROM `issue_560`.`buddy_list` FORCE INDEX (`PRIMARY`) WHERE (((`player_id` < '500') OR (`player_id` = '500' AND `buddy_id` <= '4272'))) AND ((((`player_id` > 451) OR (`player_id` = 451 AND `buddy_id` >= 9245)) AND ((`player_id` < 500) OR (`player_id` = 500 AND `buddy_id` <= 4272)))) FOR UPDATE |
119 | -# SELECT /*issue_560.buddy_list:1/1*/ 0 AS chunk_num, COUNT(*) AS cnt, COALESCE(LOWER(CONV(BIT_XOR(CAST(CRC32(CONCAT_WS('#', `player_id`, `buddy_id`)) AS UNSIGNED)), 10, 16)), 0) AS crc FROM `issue_560`.`buddy_list` FORCE INDEX (`PRIMARY`) WHERE (((`player_id` < '500') OR (`player_id` = '500' AND `buddy_id` <= '4272'))) AND ((((`player_id` > 451) OR (`player_id` = 451 AND `buddy_id` >= 9245)) AND ((`player_id` < 500) OR (`player_id` = 500 AND `buddy_id` <= 4272)))) LOCK IN SHARE MODE |
120 | -# SELECT /*rows in nibble*/ `player_id`, `buddy_id`, CRC32(CONCAT_WS('#', `player_id`, `buddy_id`)) AS __crc FROM `issue_560`.`buddy_list` FORCE INDEX (`PRIMARY`) WHERE (((`player_id` < '500') OR (`player_id` = '500' AND `buddy_id` <= '4272'))) AND (((`player_id` > 451) OR (`player_id` = 451 AND `buddy_id` >= 9245)) AND ((`player_id` < 500) OR (`player_id` = 500 AND `buddy_id` <= 4272))) ORDER BY `player_id`, `buddy_id` FOR UPDATE |
121 | -# SELECT /*rows in nibble*/ `player_id`, `buddy_id`, CRC32(CONCAT_WS('#', `player_id`, `buddy_id`)) AS __crc FROM `issue_560`.`buddy_list` FORCE INDEX (`PRIMARY`) WHERE (((`player_id` < '500') OR (`player_id` = '500' AND `buddy_id` <= '4272'))) AND (((`player_id` > 451) OR (`player_id` = 451 AND `buddy_id` >= 9245)) AND ((`player_id` < 500) OR (`player_id` = 500 AND `buddy_id` <= 4272))) ORDER BY `player_id`, `buddy_id` LOCK IN SHARE MODE |
122 | +# SELECT /*issue_560.buddy_list:1/1*/ 0 AS chunk_num, COUNT(*) AS cnt, COALESCE(LOWER(CONV(BIT_XOR(CAST(CRC32(CONCAT_WS('#', `player_id`, `buddy_id`)) AS UNSIGNED)), 10, 16)), 0) AS crc FROM `issue_560`.`buddy_list` FORCE INDEX (`PRIMARY`) WHERE (((`player_id` < '500') OR (`player_id` = '500' AND `buddy_id` <= '4272'))) AND ((((`player_id` > '451') OR (`player_id` = '451' AND `buddy_id` >= '9245')) AND ((`player_id` < '500') OR (`player_id` = '500' AND `buddy_id` <= '4272')))) FOR UPDATE |
123 | +# SELECT /*issue_560.buddy_list:1/1*/ 0 AS chunk_num, COUNT(*) AS cnt, COALESCE(LOWER(CONV(BIT_XOR(CAST(CRC32(CONCAT_WS('#', `player_id`, `buddy_id`)) AS UNSIGNED)), 10, 16)), 0) AS crc FROM `issue_560`.`buddy_list` FORCE INDEX (`PRIMARY`) WHERE (((`player_id` < '500') OR (`player_id` = '500' AND `buddy_id` <= '4272'))) AND ((((`player_id` > '451') OR (`player_id` = '451' AND `buddy_id` >= '9245')) AND ((`player_id` < '500') OR (`player_id` = '500' AND `buddy_id` <= '4272')))) LOCK IN SHARE MODE |
124 | +# SELECT /*rows in nibble*/ `player_id`, `buddy_id`, CRC32(CONCAT_WS('#', `player_id`, `buddy_id`)) AS __crc FROM `issue_560`.`buddy_list` FORCE INDEX (`PRIMARY`) WHERE (((`player_id` < '500') OR (`player_id` = '500' AND `buddy_id` <= '4272'))) AND (((`player_id` > '451') OR (`player_id` = '451' AND `buddy_id` >= '9245')) AND ((`player_id` < '500') OR (`player_id` = '500' AND `buddy_id` <= '4272'))) ORDER BY `player_id`, `buddy_id` FOR UPDATE |
125 | +# SELECT /*rows in nibble*/ `player_id`, `buddy_id`, CRC32(CONCAT_WS('#', `player_id`, `buddy_id`)) AS __crc FROM `issue_560`.`buddy_list` FORCE INDEX (`PRIMARY`) WHERE (((`player_id` < '500') OR (`player_id` = '500' AND `buddy_id` <= '4272'))) AND (((`player_id` > '451') OR (`player_id` = '451' AND `buddy_id` >= '9245')) AND ((`player_id` < '500') OR (`player_id` = '500' AND `buddy_id` <= '4272'))) ORDER BY `player_id`, `buddy_id` LOCK IN SHARE MODE |
126 | DELETE FROM `issue_560`.`buddy_list` WHERE `player_id`='486' AND `buddy_id`='0' LIMIT 1; |
127 | REPLACE INTO `issue_560`.`buddy_list`(`player_id`, `buddy_id`) VALUES ('486', '1660'); |
128 | -# SELECT /*issue_560.buddy_list:1/1*/ 0 AS chunk_num, COUNT(*) AS cnt, COALESCE(LOWER(CONV(BIT_XOR(CAST(CRC32(CONCAT_WS('#', `player_id`, `buddy_id`)) AS UNSIGNED)), 10, 16)), 0) AS crc FROM `issue_560`.`buddy_list` FORCE INDEX (`PRIMARY`) WHERE ((((`player_id` > '500') OR (`player_id` = '500' AND `buddy_id` > '4272')) AND 1=1)) AND ((((`player_id` > 451) OR (`player_id` = 451 AND `buddy_id` >= 9245)) AND ((`player_id` < 500) OR (`player_id` = 500 AND `buddy_id` <= 4272)))) FOR UPDATE |
129 | -# SELECT /*issue_560.buddy_list:1/1*/ 0 AS chunk_num, COUNT(*) AS cnt, COALESCE(LOWER(CONV(BIT_XOR(CAST(CRC32(CONCAT_WS('#', `player_id`, `buddy_id`)) AS UNSIGNED)), 10, 16)), 0) AS crc FROM `issue_560`.`buddy_list` FORCE INDEX (`PRIMARY`) WHERE ((((`player_id` > '500') OR (`player_id` = '500' AND `buddy_id` > '4272')) AND 1=1)) AND ((((`player_id` > 451) OR (`player_id` = 451 AND `buddy_id` >= 9245)) AND ((`player_id` < 500) OR (`player_id` = 500 AND `buddy_id` <= 4272)))) LOCK IN SHARE MODE |
130 | +# SELECT /*issue_560.buddy_list:1/1*/ 0 AS chunk_num, COUNT(*) AS cnt, COALESCE(LOWER(CONV(BIT_XOR(CAST(CRC32(CONCAT_WS('#', `player_id`, `buddy_id`)) AS UNSIGNED)), 10, 16)), 0) AS crc FROM `issue_560`.`buddy_list` FORCE INDEX (`PRIMARY`) WHERE ((((`player_id` > '500') OR (`player_id` = '500' AND `buddy_id` > '4272')) AND 1=1)) AND ((((`player_id` > '451') OR (`player_id` = '451' AND `buddy_id` >= '9245')) AND ((`player_id` < '500') OR (`player_id` = '500' AND `buddy_id` <= '4272')))) FOR UPDATE |
131 | +# SELECT /*issue_560.buddy_list:1/1*/ 0 AS chunk_num, COUNT(*) AS cnt, COALESCE(LOWER(CONV(BIT_XOR(CAST(CRC32(CONCAT_WS('#', `player_id`, `buddy_id`)) AS UNSIGNED)), 10, 16)), 0) AS crc FROM `issue_560`.`buddy_list` FORCE INDEX (`PRIMARY`) WHERE ((((`player_id` > '500') OR (`player_id` = '500' AND `buddy_id` > '4272')) AND 1=1)) AND ((((`player_id` > '451') OR (`player_id` = '451' AND `buddy_id` >= '9245')) AND ((`player_id` < '500') OR (`player_id` = '500' AND `buddy_id` <= '4272')))) LOCK IN SHARE MODE |
132 | # 1 1 0 0 Nibble 00:00:00 00:00:00 2 issue_560.buddy_list |