Merge lp:~percona-dev/percona-server/5.1.57-second-part into lp:~percona-dev/percona-server/5.1.57
- 5.1.57-second-part
- Merge into 5.1.57
Proposed by
Oleg Tsarev
Status: | Merged |
---|---|
Approved by: | Valentine Gostev |
Approved revision: | no longer in the source branch. |
Merged at revision: | 226 |
Proposed branch: | lp:~percona-dev/percona-server/5.1.57-second-part |
Merge into: | lp:~percona-dev/percona-server/5.1.57 |
Diff against target: |
1329 lines (+145/-145) 16 files modified
Makefile (+1/-1) bug580324.patch (+3/-3) bugfix48929.patch (+5/-5) innodb_expand_fast_index_creation.patch (+17/-17) innodb_fast_shutdown.patch (+4/-4) log_connection_error.patch (+3/-3) mysql-syslog.patch (+1/-1) mysql_remove_eol_carret.patch (+1/-1) normalize_patches.sh (+1/-1) query_cache_enhance.patch (+10/-10) response-time-distribution.patch (+15/-15) show_slave_status_nolock.patch (+3/-3) slow_extended.patch (+21/-21) sql_no_fcache.patch (+9/-9) suppress_log_warning_1592.patch (+5/-5) userstat.patch (+46/-46) |
To merge this branch: | bzr merge lp:~percona-dev/percona-server/5.1.57-second-part |
Related bugs: |
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Valentine Gostev (community) | qa | Approve | |
Alexey Kopytov (community) | Approve | ||
Rodrigo Gadea | Pending | ||
Review via email: mp+60811@code.launchpad.net |
This proposal supersedes a proposal from 2011-05-11.
Commit message
Description of the change
Complete patch porting to 5.1.57
To post a comment you must log in.
Revision history for this message
Alexey Kopytov (akopytov) wrote : Posted in a previous version of this proposal | # |
review:
Needs Fixing
Revision history for this message
Oleg Tsarev (tsarev) wrote : Posted in a previous version of this proposal | # |
Alexey, fixed
Revision history for this message
Alexey Kopytov (akopytov) wrote : Posted in a previous version of this proposal | # |
Can you also merge two revisions into a single one?
review:
Needs Fixing
Revision history for this message
Alexey Kopytov (akopytov) : | # |
review:
Approve
Revision history for this message
Valentine Gostev (longbow) wrote : | # |
Disapproving since target branch has problems (not building)
review:
Disapprove
(qa)
Revision history for this message
Oleg Tsarev (tsarev) wrote : | # |
Valentin - branch build OK for me.
Please explain. what the problems are you found )
Revision history for this message
Valentine Gostev (longbow) wrote : | # |
Ok for me
review:
Approve
(qa)
Preview Diff
[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1 | === modified file 'Makefile' | |||
2 | --- Makefile 2011-04-19 00:25:41 +0000 | |||
3 | +++ Makefile 2011-05-12 15:57:55 +0000 | |||
4 | @@ -1,6 +1,6 @@ | |||
5 | 1 | FETCH_CMD=wget | 1 | FETCH_CMD=wget |
6 | 2 | MASTER_SITE=http://www.percona.com/downloads/community | 2 | MASTER_SITE=http://www.percona.com/downloads/community |
8 | 3 | MYSQL_VERSION=5.1.56 | 3 | MYSQL_VERSION=5.1.57 |
9 | 4 | PERCONA_SERVER_VERSION=rel12.7 | 4 | PERCONA_SERVER_VERSION=rel12.7 |
10 | 5 | PERCONA_SERVER ?=Percona-Server-$(MYSQL_VERSION) | 5 | PERCONA_SERVER ?=Percona-Server-$(MYSQL_VERSION) |
11 | 6 | 6 | ||
12 | 7 | 7 | ||
13 | === modified file 'bug580324.patch' | |||
14 | --- bug580324.patch 2010-11-26 11:54:21 +0000 | |||
15 | +++ bug580324.patch 2011-05-12 15:57:55 +0000 | |||
16 | @@ -26,7 +26,7 @@ | |||
17 | 26 | diff -ruN a/sql/sql_parse.cc b/sql/sql_parse.cc | 26 | diff -ruN a/sql/sql_parse.cc b/sql/sql_parse.cc |
18 | 27 | --- a/sql/sql_parse.cc 2010-05-27 19:54:18.000000000 +0400 | 27 | --- a/sql/sql_parse.cc 2010-05-27 19:54:18.000000000 +0400 |
19 | 28 | +++ b/sql/sql_parse.cc 2010-05-27 20:03:20.000000000 +0400 | 28 | +++ b/sql/sql_parse.cc 2010-05-27 20:03:20.000000000 +0400 |
21 | 29 | @@ -1327,10 +1327,12 @@ | 29 | @@ -1341,10 +1341,12 @@ |
22 | 30 | break; | 30 | break; |
23 | 31 | #else | 31 | #else |
24 | 32 | { | 32 | { |
25 | @@ -41,7 +41,7 @@ | |||
26 | 41 | 41 | ||
27 | 42 | /* used as fields initializator */ | 42 | /* used as fields initializator */ |
28 | 43 | lex_start(thd); | 43 | lex_start(thd); |
30 | 44 | @@ -1342,26 +1344,22 @@ | 44 | @@ -1356,26 +1358,22 @@ |
31 | 45 | /* | 45 | /* |
32 | 46 | We have name + wildcard in packet, separated by endzero | 46 | We have name + wildcard in packet, separated by endzero |
33 | 47 | */ | 47 | */ |
34 | @@ -79,7 +79,7 @@ | |||
35 | 79 | 79 | ||
36 | 80 | if (is_schema_db(table_list.db, table_list.db_length)) | 80 | if (is_schema_db(table_list.db, table_list.db_length)) |
37 | 81 | { | 81 | { |
39 | 82 | @@ -1370,9 +1368,6 @@ | 82 | @@ -1384,9 +1382,6 @@ |
40 | 83 | table_list.schema_table= schema_table; | 83 | table_list.schema_table= schema_table; |
41 | 84 | } | 84 | } |
42 | 85 | 85 | ||
43 | 86 | 86 | ||
44 | === modified file 'bugfix48929.patch' | |||
45 | --- bugfix48929.patch 2011-03-13 21:40:40 +0000 | |||
46 | +++ bugfix48929.patch 2011-05-12 15:57:55 +0000 | |||
47 | @@ -56,7 +56,7 @@ | |||
48 | 56 | #define mysqld_charset &my_charset_latin1 | 56 | #define mysqld_charset &my_charset_latin1 |
49 | 57 | 57 | ||
50 | 58 | #ifdef HAVE_purify | 58 | #ifdef HAVE_purify |
52 | 59 | @@ -5118,28 +5122,49 @@ | 59 | @@ -5124,28 +5128,49 @@ |
53 | 60 | { | 60 | { |
54 | 61 | my_socket sock,new_sock; | 61 | my_socket sock,new_sock; |
55 | 62 | uint error_count=0; | 62 | uint error_count=0; |
56 | @@ -109,7 +109,7 @@ | |||
57 | 109 | #ifdef HAVE_FCNTL | 109 | #ifdef HAVE_FCNTL |
58 | 110 | socket_flags=fcntl(unix_sock, F_GETFL, 0); | 110 | socket_flags=fcntl(unix_sock, F_GETFL, 0); |
59 | 111 | #endif | 111 | #endif |
61 | 112 | @@ -5149,12 +5174,15 @@ | 112 | @@ -5155,12 +5180,15 @@ |
62 | 113 | MAYBE_BROKEN_SYSCALL; | 113 | MAYBE_BROKEN_SYSCALL; |
63 | 114 | while (!abort_loop) | 114 | while (!abort_loop) |
64 | 115 | { | 115 | { |
65 | @@ -130,7 +130,7 @@ | |||
66 | 130 | { | 130 | { |
67 | 131 | if (socket_errno != SOCKET_EINTR) | 131 | if (socket_errno != SOCKET_EINTR) |
68 | 132 | { | 132 | { |
70 | 133 | @@ -5164,7 +5192,7 @@ | 133 | @@ -5170,7 +5198,7 @@ |
71 | 134 | MAYBE_BROKEN_SYSCALL | 134 | MAYBE_BROKEN_SYSCALL |
72 | 135 | continue; | 135 | continue; |
73 | 136 | } | 136 | } |
74 | @@ -139,7 +139,7 @@ | |||
75 | 139 | if (abort_loop) | 139 | if (abort_loop) |
76 | 140 | { | 140 | { |
77 | 141 | MAYBE_BROKEN_SYSCALL; | 141 | MAYBE_BROKEN_SYSCALL; |
79 | 142 | @@ -5172,6 +5200,21 @@ | 142 | @@ -5178,6 +5206,21 @@ |
80 | 143 | } | 143 | } |
81 | 144 | 144 | ||
82 | 145 | /* Is this a new connection request ? */ | 145 | /* Is this a new connection request ? */ |
83 | @@ -161,7 +161,7 @@ | |||
84 | 161 | #ifdef HAVE_SYS_UN_H | 161 | #ifdef HAVE_SYS_UN_H |
85 | 162 | if (FD_ISSET(unix_sock,&readFDs)) | 162 | if (FD_ISSET(unix_sock,&readFDs)) |
86 | 163 | { | 163 | { |
88 | 164 | @@ -5179,11 +5222,12 @@ | 164 | @@ -5185,11 +5228,12 @@ |
89 | 165 | flags= socket_flags; | 165 | flags= socket_flags; |
90 | 166 | } | 166 | } |
91 | 167 | else | 167 | else |
92 | 168 | 168 | ||
93 | === modified file 'innodb_expand_fast_index_creation.patch' | |||
94 | --- innodb_expand_fast_index_creation.patch 2011-04-12 10:51:41 +0000 | |||
95 | +++ innodb_expand_fast_index_creation.patch 2011-05-12 15:57:55 +0000 | |||
96 | @@ -7,7 +7,7 @@ | |||
97 | 7 | diff -ruN a/client/client_priv.h b/client/client_priv.h | 7 | diff -ruN a/client/client_priv.h b/client/client_priv.h |
98 | 8 | --- a/client/client_priv.h 2011-04-11 23:22:54.000000000 +0400 | 8 | --- a/client/client_priv.h 2011-04-11 23:22:54.000000000 +0400 |
99 | 9 | +++ b/client/client_priv.h 2011-04-11 23:22:55.000000000 +0400 | 9 | +++ b/client/client_priv.h 2011-04-11 23:22:55.000000000 +0400 |
101 | 10 | @@ -96,5 +96,6 @@ | 10 | @@ -97,5 +97,6 @@ |
102 | 11 | OPT_FIRST_SLAVE, | 11 | OPT_FIRST_SLAVE, |
103 | 12 | OPT_ALL, | 12 | OPT_ALL, |
104 | 13 | OPT_NO_REMOVE_EOL_CARRET, | 13 | OPT_NO_REMOVE_EOL_CARRET, |
105 | @@ -55,7 +55,7 @@ | |||
106 | 55 | {"insert-ignore", OPT_INSERT_IGNORE, "Insert rows with INSERT IGNORE.", | 55 | {"insert-ignore", OPT_INSERT_IGNORE, "Insert rows with INSERT IGNORE.", |
107 | 56 | &opt_ignore, &opt_ignore, 0, GET_BOOL, NO_ARG, 0, 0, 0, 0, | 56 | &opt_ignore, &opt_ignore, 0, GET_BOOL, NO_ARG, 0, 0, 0, 0, |
108 | 57 | 0, 0}, | 57 | 0, 0}, |
110 | 58 | @@ -2240,6 +2250,77 @@ | 58 | @@ -2246,6 +2256,77 @@ |
111 | 59 | } | 59 | } |
112 | 60 | 60 | ||
113 | 61 | /* | 61 | /* |
114 | @@ -133,7 +133,7 @@ | |||
115 | 133 | get_table_structure -- retrievs database structure, prints out corresponding | 133 | get_table_structure -- retrievs database structure, prints out corresponding |
116 | 134 | CREATE statement and fills out insert_pat if the table is the type we will | 134 | CREATE statement and fills out insert_pat if the table is the type we will |
117 | 135 | be dumping. | 135 | be dumping. |
119 | 136 | @@ -2480,6 +2561,9 @@ | 136 | @@ -2486,6 +2567,9 @@ |
120 | 137 | 137 | ||
121 | 138 | row= mysql_fetch_row(result); | 138 | row= mysql_fetch_row(result); |
122 | 139 | 139 | ||
123 | @@ -143,7 +143,7 @@ | |||
124 | 143 | fprintf(sql_file, (opt_compatible_mode & 3) ? "%s;\n" : | 143 | fprintf(sql_file, (opt_compatible_mode & 3) ? "%s;\n" : |
125 | 144 | "/*!40101 SET @saved_cs_client = @@character_set_client */;\n" | 144 | "/*!40101 SET @saved_cs_client = @@character_set_client */;\n" |
126 | 145 | "/*!40101 SET character_set_client = utf8 */;\n" | 145 | "/*!40101 SET character_set_client = utf8 */;\n" |
128 | 146 | @@ -3572,6 +3656,27 @@ | 146 | @@ -3578,6 +3662,27 @@ |
129 | 147 | goto err; | 147 | goto err; |
130 | 148 | } | 148 | } |
131 | 149 | 149 | ||
132 | @@ -449,7 +449,7 @@ | |||
133 | 449 | diff -ruN a/sql/sql_table.cc b/sql/sql_table.cc | 449 | diff -ruN a/sql/sql_table.cc b/sql/sql_table.cc |
134 | 450 | --- a/sql/sql_table.cc 2011-04-11 23:22:40.000000000 +0400 | 450 | --- a/sql/sql_table.cc 2011-04-11 23:22:40.000000000 +0400 |
135 | 451 | +++ b/sql/sql_table.cc 2011-04-11 23:44:23.000000000 +0400 | 451 | +++ b/sql/sql_table.cc 2011-04-11 23:44:23.000000000 +0400 |
137 | 452 | @@ -2558,7 +2558,7 @@ | 452 | @@ -2559,7 +2559,7 @@ |
138 | 453 | file The handler for the new table. | 453 | file The handler for the new table. |
139 | 454 | key_info_buffer OUT An array of KEY structs for the indexes. | 454 | key_info_buffer OUT An array of KEY structs for the indexes. |
140 | 455 | key_count OUT The number of elements in the array. | 455 | key_count OUT The number of elements in the array. |
141 | @@ -458,7 +458,7 @@ | |||
142 | 458 | 458 | ||
143 | 459 | DESCRIPTION | 459 | DESCRIPTION |
144 | 460 | Prepares the table and key structures for table creation. | 460 | Prepares the table and key structures for table creation. |
146 | 461 | @@ -2913,7 +2913,6 @@ | 461 | @@ -2914,7 +2914,6 @@ |
147 | 462 | } | 462 | } |
148 | 463 | 463 | ||
149 | 464 | /* Create keys */ | 464 | /* Create keys */ |
150 | @@ -466,7 +466,7 @@ | |||
151 | 466 | List_iterator<Key> key_iterator(alter_info->key_list); | 466 | List_iterator<Key> key_iterator(alter_info->key_list); |
152 | 467 | List_iterator<Key> key_iterator2(alter_info->key_list); | 467 | List_iterator<Key> key_iterator2(alter_info->key_list); |
153 | 468 | uint key_parts=0, fk_key_count=0; | 468 | uint key_parts=0, fk_key_count=0; |
155 | 469 | @@ -3013,6 +3012,14 @@ | 469 | @@ -3014,6 +3013,14 @@ |
156 | 470 | if (!*key_info_buffer || ! key_part_info) | 470 | if (!*key_info_buffer || ! key_part_info) |
157 | 471 | DBUG_RETURN(TRUE); // Out of memory | 471 | DBUG_RETURN(TRUE); // Out of memory |
158 | 472 | 472 | ||
159 | @@ -481,7 +481,7 @@ | |||
160 | 481 | key_iterator.rewind(); | 481 | key_iterator.rewind(); |
161 | 482 | key_number=0; | 482 | key_number=0; |
162 | 483 | for (; (key=key_iterator++) ; key_number++) | 483 | for (; (key=key_iterator++) ; key_number++) |
164 | 484 | @@ -3382,8 +3389,26 @@ | 484 | @@ -3392,8 +3399,26 @@ |
165 | 485 | my_error(ER_TOO_LONG_KEY,MYF(0),max_key_length); | 485 | my_error(ER_TOO_LONG_KEY,MYF(0),max_key_length); |
166 | 486 | DBUG_RETURN(TRUE); | 486 | DBUG_RETURN(TRUE); |
167 | 487 | } | 487 | } |
168 | @@ -508,7 +508,7 @@ | |||
169 | 508 | if (!unique_key && !primary_key && | 508 | if (!unique_key && !primary_key && |
170 | 509 | (file->ha_table_flags() & HA_REQUIRE_PRIMARY_KEY)) | 509 | (file->ha_table_flags() & HA_REQUIRE_PRIMARY_KEY)) |
171 | 510 | { | 510 | { |
173 | 511 | @@ -6081,6 +6106,10 @@ | 511 | @@ -6091,6 +6116,10 @@ |
174 | 512 | List<Create_field> new_create_list; | 512 | List<Create_field> new_create_list; |
175 | 513 | /* New key definitions are added here */ | 513 | /* New key definitions are added here */ |
176 | 514 | List<Key> new_key_list; | 514 | List<Key> new_key_list; |
177 | @@ -519,7 +519,7 @@ | |||
178 | 519 | List_iterator<Alter_drop> drop_it(alter_info->drop_list); | 519 | List_iterator<Alter_drop> drop_it(alter_info->drop_list); |
179 | 520 | List_iterator<Create_field> def_it(alter_info->create_list); | 520 | List_iterator<Create_field> def_it(alter_info->create_list); |
180 | 521 | List_iterator<Alter_column> alter_it(alter_info->alter_list); | 521 | List_iterator<Alter_column> alter_it(alter_info->alter_list); |
182 | 522 | @@ -6093,6 +6122,7 @@ | 522 | @@ -6103,6 +6132,7 @@ |
183 | 523 | uint used_fields= create_info->used_fields; | 523 | uint used_fields= create_info->used_fields; |
184 | 524 | KEY *key_info=table->key_info; | 524 | KEY *key_info=table->key_info; |
185 | 525 | bool rc= TRUE; | 525 | bool rc= TRUE; |
186 | @@ -527,7 +527,7 @@ | |||
187 | 527 | 527 | ||
188 | 528 | DBUG_ENTER("mysql_prepare_alter_table"); | 528 | DBUG_ENTER("mysql_prepare_alter_table"); |
189 | 529 | 529 | ||
191 | 530 | @@ -6120,6 +6150,7 @@ | 530 | @@ -6130,6 +6160,7 @@ |
192 | 531 | char *tablespace= static_cast<char *>(thd->alloc(FN_LEN + 1)); | 531 | char *tablespace= static_cast<char *>(thd->alloc(FN_LEN + 1)); |
193 | 532 | /* | 532 | /* |
194 | 533 | Regular alter table of disk stored table (no tablespace/storage change) | 533 | Regular alter table of disk stored table (no tablespace/storage change) |
195 | @@ -535,7 +535,7 @@ | |||
196 | 535 | Copy tablespace name | 535 | Copy tablespace name |
197 | 536 | */ | 536 | */ |
198 | 537 | if (tablespace && | 537 | if (tablespace && |
200 | 538 | @@ -6270,7 +6301,23 @@ | 538 | @@ -6280,7 +6311,23 @@ |
201 | 539 | /* | 539 | /* |
202 | 540 | Collect all keys which isn't in drop list. Add only those | 540 | Collect all keys which isn't in drop list. Add only those |
203 | 541 | for which some fields exists. | 541 | for which some fields exists. |
204 | @@ -560,7 +560,7 @@ | |||
205 | 560 | 560 | ||
206 | 561 | for (uint i=0 ; i < table->s->keys ; i++,key_info++) | 561 | for (uint i=0 ; i < table->s->keys ; i++,key_info++) |
207 | 562 | { | 562 | { |
209 | 563 | @@ -6373,6 +6420,8 @@ | 563 | @@ -6383,6 +6430,8 @@ |
210 | 564 | test(key_info->flags & HA_GENERATED_KEY), | 564 | test(key_info->flags & HA_GENERATED_KEY), |
211 | 565 | key_parts); | 565 | key_parts); |
212 | 566 | new_key_list.push_back(key); | 566 | new_key_list.push_back(key); |
213 | @@ -569,7 +569,7 @@ | |||
214 | 569 | } | 569 | } |
215 | 570 | } | 570 | } |
216 | 571 | { | 571 | { |
218 | 572 | @@ -6380,7 +6429,21 @@ | 572 | @@ -6390,7 +6439,21 @@ |
219 | 573 | while ((key=key_it++)) // Add new keys | 573 | while ((key=key_it++)) // Add new keys |
220 | 574 | { | 574 | { |
221 | 575 | if (key->type != Key::FOREIGN_KEY) | 575 | if (key->type != Key::FOREIGN_KEY) |
222 | @@ -592,7 +592,7 @@ | |||
223 | 592 | if (key->name && | 592 | if (key->name && |
224 | 593 | !my_strcasecmp(system_charset_info,key->name,primary_key_name)) | 593 | !my_strcasecmp(system_charset_info,key->name,primary_key_name)) |
225 | 594 | { | 594 | { |
227 | 595 | @@ -6429,12 +6492,100 @@ | 595 | @@ -6439,12 +6502,100 @@ |
228 | 596 | rc= FALSE; | 596 | rc= FALSE; |
229 | 597 | alter_info->create_list.swap(new_create_list); | 597 | alter_info->create_list.swap(new_create_list); |
230 | 598 | alter_info->key_list.swap(new_key_list); | 598 | alter_info->key_list.swap(new_key_list); |
231 | @@ -693,7 +693,7 @@ | |||
232 | 693 | Alter table | 693 | Alter table |
233 | 694 | 694 | ||
234 | 695 | SYNOPSIS | 695 | SYNOPSIS |
236 | 696 | @@ -7218,6 +7369,12 @@ | 696 | @@ -7228,6 +7379,12 @@ |
237 | 697 | else | 697 | else |
238 | 698 | create_info->data_file_name=create_info->index_file_name=0; | 698 | create_info->data_file_name=create_info->index_file_name=0; |
239 | 699 | 699 | ||
240 | @@ -706,7 +706,7 @@ | |||
241 | 706 | DEBUG_SYNC(thd, "alter_table_before_create_table_no_lock"); | 706 | DEBUG_SYNC(thd, "alter_table_before_create_table_no_lock"); |
242 | 707 | /* | 707 | /* |
243 | 708 | Create a table with a temporary name. | 708 | Create a table with a temporary name. |
245 | 709 | @@ -7274,15 +7431,33 @@ | 709 | @@ -7284,15 +7441,33 @@ |
246 | 710 | */ | 710 | */ |
247 | 711 | if (new_table && !(new_table->file->ha_table_flags() & HA_NO_COPY_ON_ALTER)) | 711 | if (new_table && !(new_table->file->ha_table_flags() & HA_NO_COPY_ON_ALTER)) |
248 | 712 | { | 712 | { |
249 | 713 | 713 | ||
250 | === modified file 'innodb_fast_shutdown.patch' | |||
251 | --- innodb_fast_shutdown.patch 2011-03-13 21:40:40 +0000 | |||
252 | +++ innodb_fast_shutdown.patch 2011-05-12 15:57:55 +0000 | |||
253 | @@ -200,7 +200,7 @@ | |||
254 | 200 | 200 | ||
255 | 201 | srv_lock_timeout_active = TRUE; | 201 | srv_lock_timeout_active = TRUE; |
256 | 202 | 202 | ||
258 | 203 | @@ -2552,7 +2555,7 @@ | 203 | @@ -2561,7 +2564,7 @@ |
259 | 204 | 204 | ||
260 | 205 | fflush(stderr); | 205 | fflush(stderr); |
261 | 206 | 206 | ||
262 | @@ -209,7 +209,7 @@ | |||
263 | 209 | 209 | ||
264 | 210 | if (srv_shutdown_state < SRV_SHUTDOWN_CLEANUP) { | 210 | if (srv_shutdown_state < SRV_SHUTDOWN_CLEANUP) { |
265 | 211 | 211 | ||
267 | 212 | @@ -2596,7 +2599,7 @@ | 212 | @@ -2605,7 +2608,7 @@ |
268 | 213 | last_dump_time = time(NULL); | 213 | last_dump_time = time(NULL); |
269 | 214 | 214 | ||
270 | 215 | loop: | 215 | loop: |
271 | @@ -218,7 +218,7 @@ | |||
272 | 218 | 218 | ||
273 | 219 | if (srv_shutdown_state >= SRV_SHUTDOWN_CLEANUP) { | 219 | if (srv_shutdown_state >= SRV_SHUTDOWN_CLEANUP) { |
274 | 220 | goto exit_func; | 220 | goto exit_func; |
276 | 221 | @@ -2779,7 +2782,7 @@ | 221 | @@ -2788,7 +2791,7 @@ |
277 | 222 | if (!skip_sleep) { | 222 | if (!skip_sleep) { |
278 | 223 | if (next_itr_time > cur_time) { | 223 | if (next_itr_time > cur_time) { |
279 | 224 | 224 | ||
280 | @@ -227,7 +227,7 @@ | |||
281 | 227 | srv_main_sleeps++; | 227 | srv_main_sleeps++; |
282 | 228 | 228 | ||
283 | 229 | /* | 229 | /* |
285 | 230 | @@ -3486,9 +3489,10 @@ | 230 | @@ -3495,9 +3498,10 @@ |
286 | 231 | mutex_exit(&kernel_mutex); | 231 | mutex_exit(&kernel_mutex); |
287 | 232 | 232 | ||
288 | 233 | sleep_ms = 10; | 233 | sleep_ms = 10; |
289 | 234 | 234 | ||
290 | === modified file 'log_connection_error.patch' | |||
291 | --- log_connection_error.patch 2011-03-13 21:40:40 +0000 | |||
292 | +++ log_connection_error.patch 2011-05-12 15:57:55 +0000 | |||
293 | @@ -45,7 +45,7 @@ | |||
294 | 45 | diff -ruN a/sql/mysqld.cc b/sql/mysqld.cc | 45 | diff -ruN a/sql/mysqld.cc b/sql/mysqld.cc |
295 | 46 | --- a/sql/mysqld.cc 2010-07-28 16:47:47.105319218 +0400 | 46 | --- a/sql/mysqld.cc 2010-07-28 16:47:47.105319218 +0400 |
296 | 47 | +++ b/sql/mysqld.cc 2010-07-28 16:47:47.644101813 +0400 | 47 | +++ b/sql/mysqld.cc 2010-07-28 16:47:47.644101813 +0400 |
298 | 48 | @@ -5064,6 +5064,10 @@ | 48 | @@ -5070,6 +5070,10 @@ |
299 | 49 | 49 | ||
300 | 50 | DBUG_PRINT("error",("Too many connections")); | 50 | DBUG_PRINT("error",("Too many connections")); |
301 | 51 | close_connection(thd, ER_CON_COUNT_ERROR, 1); | 51 | close_connection(thd, ER_CON_COUNT_ERROR, 1); |
302 | @@ -56,7 +56,7 @@ | |||
303 | 56 | statistic_increment(denied_connections, &LOCK_status); | 56 | statistic_increment(denied_connections, &LOCK_status); |
304 | 57 | delete thd; | 57 | delete thd; |
305 | 58 | DBUG_VOID_RETURN; | 58 | DBUG_VOID_RETURN; |
307 | 59 | @@ -5451,6 +5455,10 @@ | 59 | @@ -5457,6 +5461,10 @@ |
308 | 60 | if (!(thd->net.vio= vio_new_win32pipe(hConnectedPipe)) || | 60 | if (!(thd->net.vio= vio_new_win32pipe(hConnectedPipe)) || |
309 | 61 | my_net_init(&thd->net, thd->net.vio)) | 61 | my_net_init(&thd->net, thd->net.vio)) |
310 | 62 | { | 62 | { |
311 | @@ -67,7 +67,7 @@ | |||
312 | 67 | close_connection(thd, ER_OUT_OF_RESOURCES, 1); | 67 | close_connection(thd, ER_OUT_OF_RESOURCES, 1); |
313 | 68 | delete thd; | 68 | delete thd; |
314 | 69 | continue; | 69 | continue; |
316 | 70 | @@ -5646,6 +5654,10 @@ | 70 | @@ -5652,6 +5660,10 @@ |
317 | 71 | event_conn_closed)) || | 71 | event_conn_closed)) || |
318 | 72 | my_net_init(&thd->net, thd->net.vio)) | 72 | my_net_init(&thd->net, thd->net.vio)) |
319 | 73 | { | 73 | { |
320 | 74 | 74 | ||
321 | === modified file 'mysql-syslog.patch' | |||
322 | --- mysql-syslog.patch 2011-03-13 21:40:40 +0000 | |||
323 | +++ mysql-syslog.patch 2011-05-12 15:57:55 +0000 | |||
324 | @@ -8,7 +8,7 @@ | |||
325 | 8 | diff -ruN a/client/client_priv.h b/client/client_priv.h | 8 | diff -ruN a/client/client_priv.h b/client/client_priv.h |
326 | 9 | --- a/client/client_priv.h 2011-01-07 18:46:05.000000000 +0300 | 9 | --- a/client/client_priv.h 2011-01-07 18:46:05.000000000 +0300 |
327 | 10 | +++ b/client/client_priv.h 2011-01-07 18:53:03.000000000 +0300 | 10 | +++ b/client/client_priv.h 2011-01-07 18:53:03.000000000 +0300 |
329 | 11 | @@ -90,6 +90,9 @@ | 11 | @@ -91,6 +91,9 @@ |
330 | 12 | OPT_FIX_TABLE_NAMES, OPT_FIX_DB_NAMES, OPT_SSL_VERIFY_SERVER_CERT, | 12 | OPT_FIX_TABLE_NAMES, OPT_FIX_DB_NAMES, OPT_SSL_VERIFY_SERVER_CERT, |
331 | 13 | OPT_DEBUG_INFO, OPT_DEBUG_CHECK, OPT_COLUMN_TYPES, OPT_ERROR_LOG_FILE, | 13 | OPT_DEBUG_INFO, OPT_DEBUG_CHECK, OPT_COLUMN_TYPES, OPT_ERROR_LOG_FILE, |
332 | 14 | OPT_WRITE_BINLOG, OPT_DUMP_DATE, | 14 | OPT_WRITE_BINLOG, OPT_DUMP_DATE, |
333 | 15 | 15 | ||
334 | === modified file 'mysql_remove_eol_carret.patch' | |||
335 | --- mysql_remove_eol_carret.patch 2011-03-13 21:40:40 +0000 | |||
336 | +++ mysql_remove_eol_carret.patch 2011-05-12 15:57:55 +0000 | |||
337 | @@ -8,7 +8,7 @@ | |||
338 | 8 | diff -ruN a/client/client_priv.h b/client/client_priv.h | 8 | diff -ruN a/client/client_priv.h b/client/client_priv.h |
339 | 9 | --- a/client/client_priv.h 2010-07-06 15:06:50.000000000 -0700 | 9 | --- a/client/client_priv.h 2010-07-06 15:06:50.000000000 -0700 |
340 | 10 | +++ b/client/client_priv.h 2010-07-06 15:07:18.000000000 -0700 | 10 | +++ b/client/client_priv.h 2010-07-06 15:07:18.000000000 -0700 |
342 | 11 | @@ -95,5 +95,6 @@ | 11 | @@ -96,5 +96,6 @@ |
343 | 12 | #endif | 12 | #endif |
344 | 13 | OPT_FIRST_SLAVE, | 13 | OPT_FIRST_SLAVE, |
345 | 14 | OPT_ALL, | 14 | OPT_ALL, |
346 | 15 | 15 | ||
347 | === modified file 'normalize_patches.sh' | |||
348 | --- normalize_patches.sh 2011-03-13 21:40:40 +0000 | |||
349 | +++ normalize_patches.sh 2011-05-12 15:57:55 +0000 | |||
350 | @@ -1,6 +1,6 @@ | |||
351 | 1 | #!/usr/bin/env bash | 1 | #!/usr/bin/env bash |
352 | 2 | #ls -1 *.patch | grep -v repair | xargs bzr revert | 2 | #ls -1 *.patch | grep -v repair | xargs bzr revert |
354 | 3 | MYSQL_VERSION=5.1.56 | 3 | MYSQL_VERSION=5.1.57 |
355 | 4 | MYSQL_DIR=mysql-${MYSQL_VERSION} | 4 | MYSQL_DIR=mysql-${MYSQL_VERSION} |
356 | 5 | MYSQL_TAR_GZ=${MYSQL_DIR}.tar.gz | 5 | MYSQL_TAR_GZ=${MYSQL_DIR}.tar.gz |
357 | 6 | echo "===== Prepare source code for patch's adaptation..."; | 6 | echo "===== Prepare source code for patch's adaptation..."; |
358 | 7 | 7 | ||
359 | === modified file 'query_cache_enhance.patch' | |||
360 | --- query_cache_enhance.patch 2011-03-13 21:40:40 +0000 | |||
361 | +++ query_cache_enhance.patch 2011-05-12 15:57:55 +0000 | |||
362 | @@ -26,7 +26,7 @@ | |||
363 | 26 | diff -ruN a/sql/mysqld.cc b/sql/mysqld.cc | 26 | diff -ruN a/sql/mysqld.cc b/sql/mysqld.cc |
364 | 27 | --- a/sql/mysqld.cc 2010-07-28 16:47:41.134069529 +0400 | 27 | --- a/sql/mysqld.cc 2010-07-28 16:47:41.134069529 +0400 |
365 | 28 | +++ b/sql/mysqld.cc 2010-07-28 16:47:41.704071184 +0400 | 28 | +++ b/sql/mysqld.cc 2010-07-28 16:47:41.704071184 +0400 |
367 | 29 | @@ -525,6 +525,7 @@ | 29 | @@ -526,6 +526,7 @@ |
368 | 30 | my_bool opt_log_slow_slave_statements= 0; | 30 | my_bool opt_log_slow_slave_statements= 0; |
369 | 31 | my_bool opt_log_slow_sp_statements= 0; | 31 | my_bool opt_log_slow_sp_statements= 0; |
370 | 32 | my_bool opt_log_slow_timestamp_every= 0; | 32 | my_bool opt_log_slow_timestamp_every= 0; |
371 | @@ -34,7 +34,7 @@ | |||
372 | 34 | my_bool opt_use_global_long_query_time= 0; | 34 | my_bool opt_use_global_long_query_time= 0; |
373 | 35 | my_bool opt_slow_query_log_microseconds_timestamp= 0; | 35 | my_bool opt_slow_query_log_microseconds_timestamp= 0; |
374 | 36 | my_bool lower_case_file_system= 0; | 36 | my_bool lower_case_file_system= 0; |
376 | 37 | @@ -5892,6 +5893,7 @@ | 37 | @@ -5898,6 +5899,7 @@ |
377 | 38 | OPT_THREAD_STATISTICS, | 38 | OPT_THREAD_STATISTICS, |
378 | 39 | OPT_OPTIMIZER_FIX, | 39 | OPT_OPTIMIZER_FIX, |
379 | 40 | OPT_SUPPRESS_LOG_WARNING_1592, | 40 | OPT_SUPPRESS_LOG_WARNING_1592, |
380 | @@ -42,7 +42,7 @@ | |||
381 | 42 | OPT_USE_GLOBAL_LONG_QUERY_TIME, | 42 | OPT_USE_GLOBAL_LONG_QUERY_TIME, |
382 | 43 | OPT_USE_GLOBAL_LOG_SLOW_CONTROL, | 43 | OPT_USE_GLOBAL_LOG_SLOW_CONTROL, |
383 | 44 | OPT_SLOW_QUERY_LOG_MICROSECONDS_TIMESTAMP, | 44 | OPT_SLOW_QUERY_LOG_MICROSECONDS_TIMESTAMP, |
385 | 45 | @@ -6946,6 +6948,10 @@ | 45 | @@ -6953,6 +6955,10 @@ |
386 | 46 | {"use_global_log_slow_control", OPT_USE_GLOBAL_LOG_SLOW_CONTROL, | 46 | {"use_global_log_slow_control", OPT_USE_GLOBAL_LOG_SLOW_CONTROL, |
387 | 47 | "Choose flags, wich always use the global variables. Multiple flags allowed in a comma-separated string. [none, log_slow_filter, log_slow_rate_limit, log_slow_verbosity, long_query_time, min_examined_row_limit, all]", | 47 | "Choose flags, wich always use the global variables. Multiple flags allowed in a comma-separated string. [none, log_slow_filter, log_slow_rate_limit, log_slow_verbosity, long_query_time, min_examined_row_limit, all]", |
388 | 48 | 0, 0, 0, GET_STR, REQUIRED_ARG, 0, 0, 0, SLOG_UG_NONE, 0, 0}, | 48 | 0, 0, 0, GET_STR, REQUIRED_ARG, 0, 0, 0, SLOG_UG_NONE, 0, 0}, |
389 | @@ -56,7 +56,7 @@ | |||
390 | 56 | diff -ruN a/sql/mysql_priv.h b/sql/mysql_priv.h | 56 | diff -ruN a/sql/mysql_priv.h b/sql/mysql_priv.h |
391 | 57 | --- a/sql/mysql_priv.h 2010-07-28 16:47:41.144071083 +0400 | 57 | --- a/sql/mysql_priv.h 2010-07-28 16:47:41.144071083 +0400 |
392 | 58 | +++ b/sql/mysql_priv.h 2010-07-28 16:47:41.714068826 +0400 | 58 | +++ b/sql/mysql_priv.h 2010-07-28 16:47:41.714068826 +0400 |
394 | 59 | @@ -2113,6 +2113,7 @@ | 59 | @@ -2118,6 +2118,7 @@ |
395 | 60 | extern my_bool opt_log_slow_admin_statements, opt_log_slow_slave_statements; | 60 | extern my_bool opt_log_slow_admin_statements, opt_log_slow_slave_statements; |
396 | 61 | extern my_bool opt_log_slow_sp_statements; | 61 | extern my_bool opt_log_slow_sp_statements; |
397 | 62 | extern my_bool opt_log_slow_timestamp_every; | 62 | extern my_bool opt_log_slow_timestamp_every; |
398 | @@ -119,7 +119,7 @@ | |||
399 | 119 | static void fix_myisam_max_sort_file_size(THD *thd, enum_var_type type); | 119 | static void fix_myisam_max_sort_file_size(THD *thd, enum_var_type type); |
400 | 120 | static void fix_max_binlog_size(THD *thd, enum_var_type type); | 120 | static void fix_max_binlog_size(THD *thd, enum_var_type type); |
401 | 121 | static void fix_max_relay_log_size(THD *thd, enum_var_type type); | 121 | static void fix_max_relay_log_size(THD *thd, enum_var_type type); |
403 | 122 | @@ -571,9 +573,6 @@ | 122 | @@ -581,9 +583,6 @@ |
404 | 123 | &SV::div_precincrement); | 123 | &SV::div_precincrement); |
405 | 124 | static sys_var_long_ptr sys_rpl_recovery_rank(&vars, "rpl_recovery_rank", | 124 | static sys_var_long_ptr sys_rpl_recovery_rank(&vars, "rpl_recovery_rank", |
406 | 125 | &rpl_recovery_rank); | 125 | &rpl_recovery_rank); |
407 | @@ -129,7 +129,7 @@ | |||
408 | 129 | 129 | ||
409 | 130 | static sys_var_thd_ulong sys_range_alloc_block_size(&vars, "range_alloc_block_size", | 130 | static sys_var_thd_ulong sys_range_alloc_block_size(&vars, "range_alloc_block_size", |
410 | 131 | &SV::range_alloc_block_size); | 131 | &SV::range_alloc_block_size); |
412 | 132 | @@ -639,14 +638,20 @@ | 132 | @@ -649,14 +648,20 @@ |
413 | 133 | NULL); | 133 | NULL); |
414 | 134 | 134 | ||
415 | 135 | #ifdef HAVE_QUERY_CACHE | 135 | #ifdef HAVE_QUERY_CACHE |
416 | @@ -155,7 +155,7 @@ | |||
417 | 155 | static sys_var_thd_bool | 155 | static sys_var_thd_bool |
418 | 156 | sys_query_cache_wlock_invalidate(&vars, "query_cache_wlock_invalidate", | 156 | sys_query_cache_wlock_invalidate(&vars, "query_cache_wlock_invalidate", |
419 | 157 | &SV::query_cache_wlock_invalidate); | 157 | &SV::query_cache_wlock_invalidate); |
421 | 158 | @@ -930,6 +935,8 @@ | 158 | @@ -940,6 +945,8 @@ |
422 | 159 | #ifndef EMBEDDED_LIBRARY | 159 | #ifndef EMBEDDED_LIBRARY |
423 | 160 | static sys_var_const_str_ptr sys_repl_report_host(&vars, "report_host", &report_host); | 160 | static sys_var_const_str_ptr sys_repl_report_host(&vars, "report_host", &report_host); |
424 | 161 | static sys_var_const_str_ptr sys_repl_report_user(&vars, "report_user", &report_user); | 161 | static sys_var_const_str_ptr sys_repl_report_user(&vars, "report_user", &report_user); |
425 | @@ -164,7 +164,7 @@ | |||
426 | 164 | static sys_var_const_str_ptr sys_repl_report_password(&vars, "report_password", &report_password); | 164 | static sys_var_const_str_ptr sys_repl_report_password(&vars, "report_password", &report_password); |
427 | 165 | 165 | ||
428 | 166 | static uchar *slave_get_report_port(THD *thd) | 166 | static uchar *slave_get_report_port(THD *thd) |
430 | 167 | @@ -1240,10 +1247,9 @@ | 167 | @@ -1250,10 +1257,9 @@ |
431 | 168 | {} | 168 | {} |
432 | 169 | #endif /* HAVE_REPLICATION */ | 169 | #endif /* HAVE_REPLICATION */ |
433 | 170 | 170 | ||
434 | @@ -176,7 +176,7 @@ | |||
435 | 176 | ulong new_cache_size= query_cache.resize(query_cache_size); | 176 | ulong new_cache_size= query_cache.resize(query_cache_size); |
436 | 177 | 177 | ||
437 | 178 | /* | 178 | /* |
439 | 179 | @@ -1257,11 +1263,35 @@ | 179 | @@ -1267,11 +1273,35 @@ |
440 | 180 | query_cache_size, new_cache_size); | 180 | query_cache_size, new_cache_size); |
441 | 181 | 181 | ||
442 | 182 | query_cache_size= new_cache_size; | 182 | query_cache_size= new_cache_size; |
443 | @@ -214,7 +214,7 @@ | |||
444 | 214 | static void fix_query_cache_min_res_unit(THD *thd, enum_var_type type) | 214 | static void fix_query_cache_min_res_unit(THD *thd, enum_var_type type) |
445 | 215 | { | 215 | { |
446 | 216 | query_cache_min_res_unit= | 216 | query_cache_min_res_unit= |
448 | 217 | @@ -3619,6 +3649,16 @@ | 217 | @@ -3629,6 +3659,16 @@ |
449 | 218 | Functions to handle SET mysql_internal_variable=const_expr | 218 | Functions to handle SET mysql_internal_variable=const_expr |
450 | 219 | *****************************************************************************/ | 219 | *****************************************************************************/ |
451 | 220 | 220 | ||
452 | 221 | 221 | ||
453 | === modified file 'response-time-distribution.patch' | |||
454 | --- response-time-distribution.patch 2011-03-13 21:40:40 +0000 | |||
455 | +++ response-time-distribution.patch 2011-05-12 15:57:55 +0000 | |||
456 | @@ -110,7 +110,7 @@ | |||
457 | 110 | diff -ruN a/sql/mysql_priv.h b/sql/mysql_priv.h | 110 | diff -ruN a/sql/mysql_priv.h b/sql/mysql_priv.h |
458 | 111 | --- a/sql/mysql_priv.h 2010-11-01 08:43:57.000000000 +0000 | 111 | --- a/sql/mysql_priv.h 2010-11-01 08:43:57.000000000 +0000 |
459 | 112 | +++ b/sql/mysql_priv.h 2010-11-01 08:52:40.000000000 +0000 | 112 | +++ b/sql/mysql_priv.h 2010-11-01 08:52:40.000000000 +0000 |
461 | 113 | @@ -2116,6 +2116,11 @@ | 113 | @@ -2121,6 +2121,11 @@ |
462 | 114 | extern my_bool opt_query_cache_strip_comments; | 114 | extern my_bool opt_query_cache_strip_comments; |
463 | 115 | extern my_bool opt_use_global_long_query_time; | 115 | extern my_bool opt_use_global_long_query_time; |
464 | 116 | extern my_bool opt_slow_query_log_microseconds_timestamp; | 116 | extern my_bool opt_slow_query_log_microseconds_timestamp; |
465 | @@ -133,7 +133,7 @@ | |||
466 | 133 | #ifdef HAVE_SYS_PRCTL_H | 133 | #ifdef HAVE_SYS_PRCTL_H |
467 | 134 | #include <sys/prctl.h> | 134 | #include <sys/prctl.h> |
468 | 135 | #endif | 135 | #endif |
470 | 136 | @@ -528,6 +529,10 @@ | 136 | @@ -529,6 +530,10 @@ |
471 | 137 | my_bool opt_query_cache_strip_comments = 0; | 137 | my_bool opt_query_cache_strip_comments = 0; |
472 | 138 | my_bool opt_use_global_long_query_time= 0; | 138 | my_bool opt_use_global_long_query_time= 0; |
473 | 139 | my_bool opt_slow_query_log_microseconds_timestamp= 0; | 139 | my_bool opt_slow_query_log_microseconds_timestamp= 0; |
474 | @@ -144,7 +144,7 @@ | |||
475 | 144 | my_bool lower_case_file_system= 0; | 144 | my_bool lower_case_file_system= 0; |
476 | 145 | my_bool opt_large_pages= 0; | 145 | my_bool opt_large_pages= 0; |
477 | 146 | my_bool opt_myisam_use_mmap= 0; | 146 | my_bool opt_myisam_use_mmap= 0; |
479 | 147 | @@ -673,6 +678,7 @@ | 147 | @@ -679,6 +684,7 @@ |
480 | 148 | MY_LOCALE *my_default_lc_time_names; | 148 | MY_LOCALE *my_default_lc_time_names; |
481 | 149 | 149 | ||
482 | 150 | SHOW_COMP_OPTION have_ssl, have_symlink, have_dlopen, have_query_cache; | 150 | SHOW_COMP_OPTION have_ssl, have_symlink, have_dlopen, have_query_cache; |
483 | @@ -152,7 +152,7 @@ | |||
484 | 152 | SHOW_COMP_OPTION have_geometry, have_rtree_keys; | 152 | SHOW_COMP_OPTION have_geometry, have_rtree_keys; |
485 | 153 | SHOW_COMP_OPTION have_crypt, have_compress; | 153 | SHOW_COMP_OPTION have_crypt, have_compress; |
486 | 154 | SHOW_COMP_OPTION have_community_features; | 154 | SHOW_COMP_OPTION have_community_features; |
488 | 155 | @@ -1383,6 +1389,9 @@ | 155 | @@ -1389,6 +1395,9 @@ |
489 | 156 | free_global_thread_stats(); | 156 | free_global_thread_stats(); |
490 | 157 | free_global_table_stats(); | 157 | free_global_table_stats(); |
491 | 158 | free_global_index_stats(); | 158 | free_global_index_stats(); |
492 | @@ -162,7 +162,7 @@ | |||
493 | 162 | #ifdef HAVE_REPLICATION | 162 | #ifdef HAVE_REPLICATION |
494 | 163 | end_slave_list(); | 163 | end_slave_list(); |
495 | 164 | #endif | 164 | #endif |
497 | 165 | @@ -4097,6 +4106,9 @@ | 165 | @@ -4103,6 +4112,9 @@ |
498 | 166 | 166 | ||
499 | 167 | init_global_table_stats(); | 167 | init_global_table_stats(); |
500 | 168 | init_global_index_stats(); | 168 | init_global_index_stats(); |
501 | @@ -172,7 +172,7 @@ | |||
502 | 172 | 172 | ||
503 | 173 | /* We have to initialize the storage engines before CSV logging */ | 173 | /* We have to initialize the storage engines before CSV logging */ |
504 | 174 | if (ha_init()) | 174 | if (ha_init()) |
506 | 175 | @@ -5910,6 +5922,10 @@ | 175 | @@ -5916,6 +5928,10 @@ |
507 | 176 | OPT_USE_GLOBAL_LONG_QUERY_TIME, | 176 | OPT_USE_GLOBAL_LONG_QUERY_TIME, |
508 | 177 | OPT_USE_GLOBAL_LOG_SLOW_CONTROL, | 177 | OPT_USE_GLOBAL_LOG_SLOW_CONTROL, |
509 | 178 | OPT_SLOW_QUERY_LOG_MICROSECONDS_TIMESTAMP, | 178 | OPT_SLOW_QUERY_LOG_MICROSECONDS_TIMESTAMP, |
510 | @@ -182,8 +182,8 @@ | |||
511 | 182 | +#endif /* HAVE_RESPONSE_TIME_DISTRIBUTION */ | 182 | +#endif /* HAVE_RESPONSE_TIME_DISTRIBUTION */ |
512 | 183 | OPT_IGNORE_BUILTIN_INNODB, | 183 | OPT_IGNORE_BUILTIN_INNODB, |
513 | 184 | OPT_BINLOG_DIRECT_NON_TRANS_UPDATE, | 184 | OPT_BINLOG_DIRECT_NON_TRANS_UPDATE, |
516 | 185 | OPT_DEFAULT_CHARACTER_SET_OLD | 185 | OPT_DEFAULT_CHARACTER_SET_OLD, |
517 | 186 | @@ -6980,6 +6996,23 @@ | 186 | @@ -6987,6 +7003,23 @@ |
518 | 187 | "Use microsecond time's precision in slow query log", | 187 | "Use microsecond time's precision in slow query log", |
519 | 188 | (uchar**) &opt_slow_query_log_microseconds_timestamp, (uchar**) &opt_slow_query_log_microseconds_timestamp, | 188 | (uchar**) &opt_slow_query_log_microseconds_timestamp, (uchar**) &opt_slow_query_log_microseconds_timestamp, |
520 | 189 | 0, GET_BOOL, OPT_ARG, 0, 0, 1, 0, 1, 0}, | 189 | 0, GET_BOOL, OPT_ARG, 0, 0, 1, 0, 1, 0}, |
521 | @@ -207,7 +207,7 @@ | |||
522 | 207 | {"lower_case_table_names", OPT_LOWER_CASE_TABLE_NAMES, | 207 | {"lower_case_table_names", OPT_LOWER_CASE_TABLE_NAMES, |
523 | 208 | "If set to 1, table names are stored in lowercase on disk and table names " | 208 | "If set to 1, table names are stored in lowercase on disk and table names " |
524 | 209 | "will be case-insensitive. Should be set to 2 if you are using a case-" | 209 | "will be case-insensitive. Should be set to 2 if you are using a case-" |
526 | 210 | @@ -8194,6 +8227,11 @@ | 210 | @@ -8208,6 +8241,11 @@ |
527 | 211 | #else | 211 | #else |
528 | 212 | have_query_cache=SHOW_OPTION_NO; | 212 | have_query_cache=SHOW_OPTION_NO; |
529 | 213 | #endif | 213 | #endif |
530 | @@ -670,7 +670,7 @@ | |||
531 | 670 | diff -ruN a/sql/set_var.cc b/sql/set_var.cc | 670 | diff -ruN a/sql/set_var.cc b/sql/set_var.cc |
532 | 671 | --- a/sql/set_var.cc 2010-11-01 08:43:57.000000000 +0000 | 671 | --- a/sql/set_var.cc 2010-11-01 08:43:57.000000000 +0000 |
533 | 672 | +++ b/sql/set_var.cc 2010-11-01 08:52:40.000000000 +0000 | 672 | +++ b/sql/set_var.cc 2010-11-01 08:52:40.000000000 +0000 |
535 | 673 | @@ -1007,6 +1007,14 @@ | 673 | @@ -1017,6 +1017,14 @@ |
536 | 674 | static sys_var_use_global_long_query_time sys_use_global_long_query_time; | 674 | static sys_var_use_global_long_query_time sys_use_global_long_query_time; |
537 | 675 | static sys_var_bool_ptr sys_slow_query_log_microseconds_timestamp(&vars, "slow_query_log_microseconds_timestamp", | 675 | static sys_var_bool_ptr sys_slow_query_log_microseconds_timestamp(&vars, "slow_query_log_microseconds_timestamp", |
538 | 676 | &opt_slow_query_log_microseconds_timestamp); | 676 | &opt_slow_query_log_microseconds_timestamp); |
539 | @@ -696,7 +696,7 @@ | |||
540 | 696 | 696 | ||
541 | 697 | /** | 697 | /** |
542 | 698 | @defgroup Runtime_Environment Runtime Environment | 698 | @defgroup Runtime_Environment Runtime Environment |
544 | 699 | @@ -1750,23 +1751,37 @@ | 699 | @@ -1764,23 +1765,37 @@ |
545 | 700 | Do not log administrative statements unless the appropriate option is | 700 | Do not log administrative statements unless the appropriate option is |
546 | 701 | set. | 701 | set. |
547 | 702 | */ | 702 | */ |
548 | @@ -747,7 +747,7 @@ | |||
549 | 747 | } | 747 | } |
550 | 748 | } | 748 | } |
551 | 749 | DBUG_VOID_RETURN; | 749 | DBUG_VOID_RETURN; |
553 | 750 | @@ -1891,6 +1906,7 @@ | 750 | @@ -1905,6 +1920,7 @@ |
554 | 751 | case SCH_CHARSETS: | 751 | case SCH_CHARSETS: |
555 | 752 | case SCH_ENGINES: | 752 | case SCH_ENGINES: |
556 | 753 | case SCH_COLLATIONS: | 753 | case SCH_COLLATIONS: |
557 | @@ -755,7 +755,7 @@ | |||
558 | 755 | case SCH_COLLATION_CHARACTER_SET_APPLICABILITY: | 755 | case SCH_COLLATION_CHARACTER_SET_APPLICABILITY: |
559 | 756 | case SCH_USER_PRIVILEGES: | 756 | case SCH_USER_PRIVILEGES: |
560 | 757 | case SCH_SCHEMA_PRIVILEGES: | 757 | case SCH_SCHEMA_PRIVILEGES: |
562 | 758 | @@ -7251,6 +7267,12 @@ | 758 | @@ -7265,6 +7281,12 @@ |
563 | 759 | init_global_index_stats(); | 759 | init_global_index_stats(); |
564 | 760 | pthread_mutex_unlock(&LOCK_global_index_stats); | 760 | pthread_mutex_unlock(&LOCK_global_index_stats); |
565 | 761 | } | 761 | } |
566 | @@ -779,7 +779,7 @@ | |||
567 | 779 | #include "debug_sync.h" | 779 | #include "debug_sync.h" |
568 | 780 | 780 | ||
569 | 781 | #define STR_OR_NIL(S) ((S) ? (S) : "<nil>") | 781 | #define STR_OR_NIL(S) ((S) ? (S) : "<nil>") |
571 | 782 | @@ -7488,6 +7489,13 @@ | 782 | @@ -7490,6 +7491,13 @@ |
572 | 783 | 783 | ||
573 | 784 | */ | 784 | */ |
574 | 785 | 785 | ||
575 | @@ -793,7 +793,7 @@ | |||
576 | 793 | ST_SCHEMA_TABLE schema_tables[]= | 793 | ST_SCHEMA_TABLE schema_tables[]= |
577 | 794 | { | 794 | { |
578 | 795 | {"CHARACTER_SETS", charsets_fields_info, create_schema_table, | 795 | {"CHARACTER_SETS", charsets_fields_info, create_schema_table, |
580 | 796 | @@ -7542,6 +7550,13 @@ | 796 | @@ -7544,6 +7552,13 @@ |
581 | 797 | 1, 9, 0, OPEN_TABLE_ONLY}, | 797 | 1, 9, 0, OPEN_TABLE_ONLY}, |
582 | 798 | {"ROUTINES", proc_fields_info, create_schema_table, | 798 | {"ROUTINES", proc_fields_info, create_schema_table, |
583 | 799 | fill_schema_proc, make_proc_old_format, 0, -1, -1, 0, 0}, | 799 | fill_schema_proc, make_proc_old_format, 0, -1, -1, 0, 0}, |
584 | 800 | 800 | ||
585 | === modified file 'show_slave_status_nolock.patch' | |||
586 | --- show_slave_status_nolock.patch 2011-03-13 21:40:40 +0000 | |||
587 | +++ show_slave_status_nolock.patch 2011-05-12 15:57:55 +0000 | |||
588 | @@ -29,7 +29,7 @@ | |||
589 | 29 | diff -ruN a/sql/mysqld.cc b/sql/mysqld.cc | 29 | diff -ruN a/sql/mysqld.cc b/sql/mysqld.cc |
590 | 30 | --- a/sql/mysqld.cc 2010-11-17 18:45:47.000000000 +0300 | 30 | --- a/sql/mysqld.cc 2010-11-17 18:45:47.000000000 +0300 |
591 | 31 | +++ b/sql/mysqld.cc 2010-11-17 18:46:55.000000000 +0300 | 31 | +++ b/sql/mysqld.cc 2010-11-17 18:46:55.000000000 +0300 |
593 | 32 | @@ -3257,6 +3257,7 @@ | 32 | @@ -3263,6 +3263,7 @@ |
594 | 33 | {"show_profiles", (char*) offsetof(STATUS_VAR, com_stat[(uint) SQLCOM_SHOW_PROFILES]), SHOW_LONG_STATUS}, | 33 | {"show_profiles", (char*) offsetof(STATUS_VAR, com_stat[(uint) SQLCOM_SHOW_PROFILES]), SHOW_LONG_STATUS}, |
595 | 34 | {"show_slave_hosts", (char*) offsetof(STATUS_VAR, com_stat[(uint) SQLCOM_SHOW_SLAVE_HOSTS]), SHOW_LONG_STATUS}, | 34 | {"show_slave_hosts", (char*) offsetof(STATUS_VAR, com_stat[(uint) SQLCOM_SHOW_SLAVE_HOSTS]), SHOW_LONG_STATUS}, |
596 | 35 | {"show_slave_status", (char*) offsetof(STATUS_VAR, com_stat[(uint) SQLCOM_SHOW_SLAVE_STAT]), SHOW_LONG_STATUS}, | 35 | {"show_slave_status", (char*) offsetof(STATUS_VAR, com_stat[(uint) SQLCOM_SHOW_SLAVE_STAT]), SHOW_LONG_STATUS}, |
597 | @@ -61,7 +61,7 @@ | |||
598 | 61 | sql_command_flags[SQLCOM_SHOW_CREATE_PROC]= CF_STATUS_COMMAND; | 61 | sql_command_flags[SQLCOM_SHOW_CREATE_PROC]= CF_STATUS_COMMAND; |
599 | 62 | sql_command_flags[SQLCOM_SHOW_CREATE_FUNC]= CF_STATUS_COMMAND; | 62 | sql_command_flags[SQLCOM_SHOW_CREATE_FUNC]= CF_STATUS_COMMAND; |
600 | 63 | sql_command_flags[SQLCOM_SHOW_CREATE_TRIGGER]= CF_STATUS_COMMAND; | 63 | sql_command_flags[SQLCOM_SHOW_CREATE_TRIGGER]= CF_STATUS_COMMAND; |
602 | 64 | @@ -2546,12 +2547,16 @@ | 64 | @@ -2560,12 +2561,16 @@ |
603 | 65 | pthread_mutex_unlock(&LOCK_active_mi); | 65 | pthread_mutex_unlock(&LOCK_active_mi); |
604 | 66 | break; | 66 | break; |
605 | 67 | } | 67 | } |
606 | @@ -79,7 +79,7 @@ | |||
607 | 79 | if (active_mi != NULL) | 79 | if (active_mi != NULL) |
608 | 80 | { | 80 | { |
609 | 81 | res = show_master_info(thd, active_mi); | 81 | res = show_master_info(thd, active_mi); |
611 | 82 | @@ -2562,7 +2567,10 @@ | 82 | @@ -2576,7 +2581,10 @@ |
612 | 83 | WARN_NO_MASTER_INFO, ER(WARN_NO_MASTER_INFO)); | 83 | WARN_NO_MASTER_INFO, ER(WARN_NO_MASTER_INFO)); |
613 | 84 | my_ok(thd); | 84 | my_ok(thd); |
614 | 85 | } | 85 | } |
615 | 86 | 86 | ||
616 | === modified file 'slow_extended.patch' | |||
617 | --- slow_extended.patch 2011-03-11 15:25:38 +0000 | |||
618 | +++ slow_extended.patch 2011-05-12 15:57:55 +0000 | |||
619 | @@ -547,7 +547,7 @@ | |||
620 | 547 | /* | 547 | /* |
621 | 548 | Some defines for exit codes for ::is_equal class functions. | 548 | Some defines for exit codes for ::is_equal class functions. |
622 | 549 | */ | 549 | */ |
624 | 550 | @@ -1997,6 +2097,10 @@ | 550 | @@ -2002,6 +2102,10 @@ |
625 | 551 | extern my_bool opt_secure_auth; | 551 | extern my_bool opt_secure_auth; |
626 | 552 | extern char* opt_secure_file_priv; | 552 | extern char* opt_secure_file_priv; |
627 | 553 | extern my_bool opt_log_slow_admin_statements, opt_log_slow_slave_statements; | 553 | extern my_bool opt_log_slow_admin_statements, opt_log_slow_slave_statements; |
628 | @@ -561,7 +561,7 @@ | |||
629 | 561 | diff -ruN a/sql/mysqld.cc b/sql/mysqld.cc | 561 | diff -ruN a/sql/mysqld.cc b/sql/mysqld.cc |
630 | 562 | --- a/sql/mysqld.cc 2010-12-24 13:57:33.000000000 +0300 | 562 | --- a/sql/mysqld.cc 2010-12-24 13:57:33.000000000 +0300 |
631 | 563 | +++ b/sql/mysqld.cc 2010-12-24 13:57:45.000000000 +0300 | 563 | +++ b/sql/mysqld.cc 2010-12-24 13:57:45.000000000 +0300 |
633 | 564 | @@ -519,6 +519,10 @@ | 564 | @@ -520,6 +520,10 @@ |
634 | 565 | char* opt_secure_file_priv= 0; | 565 | char* opt_secure_file_priv= 0; |
635 | 566 | my_bool opt_log_slow_admin_statements= 0; | 566 | my_bool opt_log_slow_admin_statements= 0; |
636 | 567 | my_bool opt_log_slow_slave_statements= 0; | 567 | my_bool opt_log_slow_slave_statements= 0; |
637 | @@ -572,7 +572,7 @@ | |||
638 | 572 | my_bool lower_case_file_system= 0; | 572 | my_bool lower_case_file_system= 0; |
639 | 573 | my_bool opt_large_pages= 0; | 573 | my_bool opt_large_pages= 0; |
640 | 574 | my_bool opt_myisam_use_mmap= 0; | 574 | my_bool opt_myisam_use_mmap= 0; |
642 | 575 | @@ -5792,6 +5796,11 @@ | 575 | @@ -5798,6 +5802,11 @@ |
643 | 576 | OPT_SECURE_FILE_PRIV, | 576 | OPT_SECURE_FILE_PRIV, |
644 | 577 | OPT_MIN_EXAMINED_ROW_LIMIT, | 577 | OPT_MIN_EXAMINED_ROW_LIMIT, |
645 | 578 | OPT_LOG_SLOW_SLAVE_STATEMENTS, | 578 | OPT_LOG_SLOW_SLAVE_STATEMENTS, |
646 | @@ -584,7 +584,7 @@ | |||
647 | 584 | #if defined(ENABLED_DEBUG_SYNC) | 584 | #if defined(ENABLED_DEBUG_SYNC) |
648 | 585 | OPT_DEBUG_SYNC_TIMEOUT, | 585 | OPT_DEBUG_SYNC_TIMEOUT, |
649 | 586 | #endif /* defined(ENABLED_DEBUG_SYNC) */ | 586 | #endif /* defined(ENABLED_DEBUG_SYNC) */ |
651 | 587 | @@ -5799,6 +5808,9 @@ | 587 | @@ -5805,6 +5814,9 @@ |
652 | 588 | OPT_SLAVE_EXEC_MODE, | 588 | OPT_SLAVE_EXEC_MODE, |
653 | 589 | OPT_GENERAL_LOG_FILE, | 589 | OPT_GENERAL_LOG_FILE, |
654 | 590 | OPT_SLOW_QUERY_LOG_FILE, | 590 | OPT_SLOW_QUERY_LOG_FILE, |
655 | @@ -593,8 +593,8 @@ | |||
656 | 593 | + OPT_SLOW_QUERY_LOG_MICROSECONDS_TIMESTAMP, | 593 | + OPT_SLOW_QUERY_LOG_MICROSECONDS_TIMESTAMP, |
657 | 594 | OPT_IGNORE_BUILTIN_INNODB, | 594 | OPT_IGNORE_BUILTIN_INNODB, |
658 | 595 | OPT_BINLOG_DIRECT_NON_TRANS_UPDATE, | 595 | OPT_BINLOG_DIRECT_NON_TRANS_UPDATE, |
661 | 596 | OPT_DEFAULT_CHARACTER_SET_OLD | 596 | OPT_DEFAULT_CHARACTER_SET_OLD, |
662 | 597 | @@ -6818,6 +6830,36 @@ | 597 | @@ -6825,6 +6837,36 @@ |
663 | 598 | "microsecond precision.", | 598 | "microsecond precision.", |
664 | 599 | &long_query_time, &long_query_time, 0, GET_DOUBLE, | 599 | &long_query_time, &long_query_time, 0, GET_DOUBLE, |
665 | 600 | REQUIRED_ARG, 10, 0, LONG_TIMEOUT, 0, 0, 0}, | 600 | REQUIRED_ARG, 10, 0, LONG_TIMEOUT, 0, 0, 0}, |
666 | @@ -631,7 +631,7 @@ | |||
667 | 631 | {"lower_case_table_names", OPT_LOWER_CASE_TABLE_NAMES, | 631 | {"lower_case_table_names", OPT_LOWER_CASE_TABLE_NAMES, |
668 | 632 | "If set to 1, table names are stored in lowercase on disk and table names " | 632 | "If set to 1, table names are stored in lowercase on disk and table names " |
669 | 633 | "will be case-insensitive. Should be set to 2 if you are using a case-" | 633 | "will be case-insensitive. Should be set to 2 if you are using a case-" |
671 | 634 | @@ -7968,6 +8010,10 @@ | 634 | @@ -7982,6 +8024,10 @@ |
672 | 635 | global_system_variables.old_passwords= 0; | 635 | global_system_variables.old_passwords= 0; |
673 | 636 | global_system_variables.old_alter_table= 0; | 636 | global_system_variables.old_alter_table= 0; |
674 | 637 | global_system_variables.binlog_format= BINLOG_FORMAT_UNSPEC; | 637 | global_system_variables.binlog_format= BINLOG_FORMAT_UNSPEC; |
675 | @@ -642,7 +642,7 @@ | |||
676 | 642 | /* | 642 | /* |
677 | 643 | Default behavior for 4.1 and 5.0 is to treat NULL values as unequal | 643 | Default behavior for 4.1 and 5.0 is to treat NULL values as unequal |
678 | 644 | when collecting index statistics for MyISAM tables. | 644 | when collecting index statistics for MyISAM tables. |
680 | 645 | @@ -8469,6 +8515,44 @@ | 645 | @@ -8483,6 +8529,44 @@ |
681 | 646 | case OPT_BOOTSTRAP: | 646 | case OPT_BOOTSTRAP: |
682 | 647 | opt_noacl=opt_bootstrap=1; | 647 | opt_noacl=opt_bootstrap=1; |
683 | 648 | break; | 648 | break; |
684 | @@ -690,7 +690,7 @@ | |||
685 | 690 | diff -ruN a/sql/set_var.cc b/sql/set_var.cc | 690 | diff -ruN a/sql/set_var.cc b/sql/set_var.cc |
686 | 691 | --- a/sql/set_var.cc 2010-11-29 13:37:59.000000000 +0300 | 691 | --- a/sql/set_var.cc 2010-11-29 13:37:59.000000000 +0300 |
687 | 692 | +++ b/sql/set_var.cc 2010-12-24 13:57:45.000000000 +0300 | 692 | +++ b/sql/set_var.cc 2010-12-24 13:57:45.000000000 +0300 |
689 | 693 | @@ -160,6 +160,74 @@ | 693 | @@ -162,6 +162,74 @@ |
690 | 694 | 694 | ||
691 | 695 | static sys_var_chain vars = { NULL, NULL }; | 695 | static sys_var_chain vars = { NULL, NULL }; |
692 | 696 | 696 | ||
693 | @@ -765,7 +765,7 @@ | |||
694 | 765 | static sys_var_thd_ulong | 765 | static sys_var_thd_ulong |
695 | 766 | sys_auto_increment_increment(&vars, "auto_increment_increment", | 766 | sys_auto_increment_increment(&vars, "auto_increment_increment", |
696 | 767 | &SV::auto_increment_increment, NULL, NULL, | 767 | &SV::auto_increment_increment, NULL, NULL, |
698 | 768 | @@ -891,6 +959,30 @@ | 768 | @@ -901,6 +969,30 @@ |
699 | 769 | QUERY_LOG_GENERAL); | 769 | QUERY_LOG_GENERAL); |
700 | 770 | static sys_var_log_state sys_var_slow_query_log(&vars, "slow_query_log", &opt_slow_log, | 770 | static sys_var_log_state sys_var_slow_query_log(&vars, "slow_query_log", &opt_slow_log, |
701 | 771 | QUERY_LOG_SLOW); | 771 | QUERY_LOG_SLOW); |
702 | @@ -796,7 +796,7 @@ | |||
703 | 796 | /* Synonym of "slow_query_log" for consistency with SHOW VARIABLES output */ | 796 | /* Synonym of "slow_query_log" for consistency with SHOW VARIABLES output */ |
704 | 797 | static sys_var_log_state sys_var_log_slow(&vars, "log_slow_queries", | 797 | static sys_var_log_state sys_var_log_slow(&vars, "log_slow_queries", |
705 | 798 | &opt_slow_log, QUERY_LOG_SLOW); | 798 | &opt_slow_log, QUERY_LOG_SLOW); |
707 | 799 | @@ -3701,6 +3793,203 @@ | 799 | @@ -3711,6 +3803,203 @@ |
708 | 800 | #endif | 800 | #endif |
709 | 801 | } | 801 | } |
710 | 802 | 802 | ||
711 | @@ -1309,7 +1309,7 @@ | |||
712 | 1309 | diff -ruN a/sql/sql_connect.cc b/sql/sql_connect.cc | 1309 | diff -ruN a/sql/sql_connect.cc b/sql/sql_connect.cc |
713 | 1310 | --- a/sql/sql_connect.cc 2010-11-29 13:38:17.000000000 +0300 | 1310 | --- a/sql/sql_connect.cc 2010-11-29 13:38:17.000000000 +0300 |
714 | 1311 | +++ b/sql/sql_connect.cc 2010-12-24 13:57:45.000000000 +0300 | 1311 | +++ b/sql/sql_connect.cc 2010-12-24 13:57:45.000000000 +0300 |
716 | 1312 | @@ -1143,6 +1143,15 @@ | 1312 | @@ -1290,6 +1290,15 @@ |
717 | 1313 | 1313 | ||
718 | 1314 | prepare_new_connection_state(thd); | 1314 | prepare_new_connection_state(thd); |
719 | 1315 | 1315 | ||
720 | @@ -1328,7 +1328,7 @@ | |||
721 | 1328 | diff -ruN a/sql/sql_parse.cc b/sql/sql_parse.cc | 1328 | diff -ruN a/sql/sql_parse.cc b/sql/sql_parse.cc |
722 | 1329 | --- a/sql/sql_parse.cc 2010-12-24 13:57:33.000000000 +0300 | 1329 | --- a/sql/sql_parse.cc 2010-12-24 13:57:33.000000000 +0300 |
723 | 1330 | +++ b/sql/sql_parse.cc 2010-12-24 14:06:17.000000000 +0300 | 1330 | +++ b/sql/sql_parse.cc 2010-12-24 14:06:17.000000000 +0300 |
725 | 1331 | @@ -1685,7 +1685,10 @@ | 1331 | @@ -1699,7 +1699,10 @@ |
726 | 1332 | free_root(thd->mem_root,MYF(MY_KEEP_PREALLOC)); | 1332 | free_root(thd->mem_root,MYF(MY_KEEP_PREALLOC)); |
727 | 1333 | DBUG_RETURN(error); | 1333 | DBUG_RETURN(error); |
728 | 1334 | } | 1334 | } |
729 | @@ -1340,7 +1340,7 @@ | |||
730 | 1340 | 1340 | ||
731 | 1341 | void log_slow_statement(THD *thd) | 1341 | void log_slow_statement(THD *thd) |
732 | 1342 | { | 1342 | { |
734 | 1343 | @@ -1699,6 +1702,40 @@ | 1343 | @@ -1713,6 +1716,40 @@ |
735 | 1344 | if (unlikely(thd->in_sub_stmt)) | 1344 | if (unlikely(thd->in_sub_stmt)) |
736 | 1345 | DBUG_VOID_RETURN; // Don't set time for sub stmt | 1345 | DBUG_VOID_RETURN; // Don't set time for sub stmt |
737 | 1346 | 1346 | ||
738 | @@ -1381,7 +1381,7 @@ | |||
739 | 1381 | /* | 1381 | /* |
740 | 1382 | Do not log administrative statements unless the appropriate option is | 1382 | Do not log administrative statements unless the appropriate option is |
741 | 1383 | set. | 1383 | set. |
743 | 1384 | @@ -2085,6 +2122,9 @@ | 1384 | @@ -2099,6 +2136,9 @@ |
744 | 1385 | context.resolve_in_table_list_only(select_lex-> | 1385 | context.resolve_in_table_list_only(select_lex-> |
745 | 1386 | table_list.first); | 1386 | table_list.first); |
746 | 1387 | 1387 | ||
747 | @@ -1391,7 +1391,7 @@ | |||
748 | 1391 | /* | 1391 | /* |
749 | 1392 | Reset warning count for each query that uses tables | 1392 | Reset warning count for each query that uses tables |
750 | 1393 | A better approach would be to reset this for any commands | 1393 | A better approach would be to reset this for any commands |
752 | 1394 | @@ -5814,6 +5854,21 @@ | 1394 | @@ -5828,6 +5868,21 @@ |
753 | 1395 | thd->rand_used= 0; | 1395 | thd->rand_used= 0; |
754 | 1396 | thd->sent_row_count= thd->examined_row_count= 0; | 1396 | thd->sent_row_count= thd->examined_row_count= 0; |
755 | 1397 | 1397 | ||
756 | @@ -1416,7 +1416,7 @@ | |||
757 | 1416 | diff -ruN a/sql/sql_select.cc b/sql/sql_select.cc | 1416 | diff -ruN a/sql/sql_select.cc b/sql/sql_select.cc |
758 | 1417 | --- a/sql/sql_select.cc 2010-11-29 13:38:01.000000000 +0300 | 1417 | --- a/sql/sql_select.cc 2010-11-29 13:38:01.000000000 +0300 |
759 | 1418 | +++ b/sql/sql_select.cc 2010-12-24 13:57:45.000000000 +0300 | 1418 | +++ b/sql/sql_select.cc 2010-12-24 13:57:45.000000000 +0300 |
761 | 1419 | @@ -6790,7 +6790,10 @@ | 1419 | @@ -6794,7 +6794,10 @@ |
762 | 1420 | { | 1420 | { |
763 | 1421 | join->thd->server_status|=SERVER_QUERY_NO_INDEX_USED; | 1421 | join->thd->server_status|=SERVER_QUERY_NO_INDEX_USED; |
764 | 1422 | if (statistics) | 1422 | if (statistics) |
765 | @@ -1427,7 +1427,7 @@ | |||
766 | 1427 | } | 1427 | } |
767 | 1428 | } | 1428 | } |
768 | 1429 | else | 1429 | else |
770 | 1430 | @@ -6804,7 +6807,10 @@ | 1430 | @@ -6808,7 +6811,10 @@ |
771 | 1431 | { | 1431 | { |
772 | 1432 | join->thd->server_status|=SERVER_QUERY_NO_INDEX_USED; | 1432 | join->thd->server_status|=SERVER_QUERY_NO_INDEX_USED; |
773 | 1433 | if (statistics) | 1433 | if (statistics) |
774 | @@ -1438,7 +1438,7 @@ | |||
775 | 1438 | } | 1438 | } |
776 | 1439 | } | 1439 | } |
777 | 1440 | if (!table->no_keyread) | 1440 | if (!table->no_keyread) |
779 | 1441 | @@ -10008,6 +10014,7 @@ | 1441 | @@ -10012,6 +10018,7 @@ |
780 | 1442 | (ulong) rows_limit,test(group))); | 1442 | (ulong) rows_limit,test(group))); |
781 | 1443 | 1443 | ||
782 | 1444 | status_var_increment(thd->status_var.created_tmp_tables); | 1444 | status_var_increment(thd->status_var.created_tmp_tables); |
783 | @@ -1446,7 +1446,7 @@ | |||
784 | 1446 | 1446 | ||
785 | 1447 | if (use_temp_pool && !(test_flags & TEST_KEEP_TMP_TABLES)) | 1447 | if (use_temp_pool && !(test_flags & TEST_KEEP_TMP_TABLES)) |
786 | 1448 | temp_pool_slot = bitmap_lock_set_next(&temp_pool); | 1448 | temp_pool_slot = bitmap_lock_set_next(&temp_pool); |
788 | 1449 | @@ -10889,6 +10896,7 @@ | 1449 | @@ -10893,6 +10900,7 @@ |
789 | 1450 | goto err; | 1450 | goto err; |
790 | 1451 | } | 1451 | } |
791 | 1452 | status_var_increment(table->in_use->status_var.created_tmp_disk_tables); | 1452 | status_var_increment(table->in_use->status_var.created_tmp_disk_tables); |
792 | @@ -1454,7 +1454,7 @@ | |||
793 | 1454 | share->db_record_offset= 1; | 1454 | share->db_record_offset= 1; |
794 | 1455 | DBUG_RETURN(0); | 1455 | DBUG_RETURN(0); |
795 | 1456 | err: | 1456 | err: |
797 | 1457 | @@ -10907,6 +10915,14 @@ | 1457 | @@ -10911,6 +10919,14 @@ |
798 | 1458 | save_proc_info=thd->proc_info; | 1458 | save_proc_info=thd->proc_info; |
799 | 1459 | thd_proc_info(thd, "removing tmp table"); | 1459 | thd_proc_info(thd, "removing tmp table"); |
800 | 1460 | 1460 | ||
801 | 1461 | 1461 | ||
802 | === modified file 'sql_no_fcache.patch' | |||
803 | --- sql_no_fcache.patch 2011-04-13 13:44:38 +0000 | |||
804 | +++ sql_no_fcache.patch 2011-05-12 15:57:55 +0000 | |||
805 | @@ -17,7 +17,7 @@ | |||
806 | 17 | /* | 17 | /* |
807 | 18 | Dynamic_string wrapper functions. In this file use these | 18 | Dynamic_string wrapper functions. In this file use these |
808 | 19 | wrappers, they will terminate the process if there is | 19 | wrappers, they will terminate the process if there is |
810 | 20 | @@ -1512,6 +1514,17 @@ | 20 | @@ -1518,6 +1520,17 @@ |
811 | 21 | /* Don't switch charsets for 4.1 and earlier. (bug#34192). */ | 21 | /* Don't switch charsets for 4.1 and earlier. (bug#34192). */ |
812 | 22 | server_supports_switching_charsets= FALSE; | 22 | server_supports_switching_charsets= FALSE; |
813 | 23 | } | 23 | } |
814 | @@ -35,7 +35,7 @@ | |||
815 | 35 | /* | 35 | /* |
816 | 36 | As we're going to set SQL_MODE, it would be lost on reconnect, so we | 36 | As we're going to set SQL_MODE, it would be lost on reconnect, so we |
817 | 37 | cannot reconnect. | 37 | cannot reconnect. |
819 | 38 | @@ -3175,7 +3188,12 @@ | 38 | @@ -3181,7 +3194,12 @@ |
820 | 39 | 39 | ||
821 | 40 | /* now build the query string */ | 40 | /* now build the query string */ |
822 | 41 | 41 | ||
823 | @@ -49,7 +49,7 @@ | |||
824 | 49 | dynstr_append_checked(&query_string, filename); | 49 | dynstr_append_checked(&query_string, filename); |
825 | 50 | dynstr_append_checked(&query_string, "'"); | 50 | dynstr_append_checked(&query_string, "'"); |
826 | 51 | 51 | ||
828 | 52 | @@ -3225,7 +3243,12 @@ | 52 | @@ -3231,7 +3249,12 @@ |
829 | 53 | check_io(md_result_file); | 53 | check_io(md_result_file); |
830 | 54 | } | 54 | } |
831 | 55 | 55 | ||
832 | @@ -168,8 +168,8 @@ | |||
833 | 168 | 168 | ||
834 | 169 | #ifndef DEFAULT_SKIP_THREAD_PRIORITY | 169 | #ifndef DEFAULT_SKIP_THREAD_PRIORITY |
835 | 170 | #define DEFAULT_SKIP_THREAD_PRIORITY 0 | 170 | #define DEFAULT_SKIP_THREAD_PRIORITY 0 |
838 | 171 | @@ -593,6 +598,11 @@ | 171 | @@ -599,6 +604,11 @@ |
839 | 172 | ulong max_connections, max_connect_errors; | 172 | ulong max_long_data_size; |
840 | 173 | uint max_user_connections= 0; | 173 | uint max_user_connections= 0; |
841 | 174 | ulonglong denied_connections = 0; | 174 | ulonglong denied_connections = 0; |
842 | 175 | + | 175 | + |
843 | @@ -180,7 +180,7 @@ | |||
844 | 180 | /** | 180 | /** |
845 | 181 | Limit of the total number of prepared statements in the server. | 181 | Limit of the total number of prepared statements in the server. |
846 | 182 | Is necessary to protect the server against out-of-memory attacks. | 182 | Is necessary to protect the server against out-of-memory attacks. |
848 | 183 | @@ -4391,6 +4401,97 @@ | 183 | @@ -4397,6 +4407,97 @@ |
849 | 184 | } | 184 | } |
850 | 185 | #endif//DBUG_OFF | 185 | #endif//DBUG_OFF |
851 | 186 | 186 | ||
852 | @@ -278,7 +278,7 @@ | |||
853 | 278 | 278 | ||
854 | 279 | #ifdef __WIN__ | 279 | #ifdef __WIN__ |
855 | 280 | int win_main(int argc, char **argv) | 280 | int win_main(int argc, char **argv) |
857 | 281 | @@ -4495,6 +4596,10 @@ | 281 | @@ -4501,6 +4602,10 @@ |
858 | 282 | test_lc_time_sz(); | 282 | test_lc_time_sz(); |
859 | 283 | #endif | 283 | #endif |
860 | 284 | 284 | ||
861 | @@ -289,7 +289,7 @@ | |||
862 | 289 | /* | 289 | /* |
863 | 290 | We have enough space for fiddling with the argv, continue | 290 | We have enough space for fiddling with the argv, continue |
864 | 291 | */ | 291 | */ |
866 | 292 | @@ -4696,6 +4801,10 @@ | 292 | @@ -4702,6 +4807,10 @@ |
867 | 293 | clean_up_mutexes(); | 293 | clean_up_mutexes(); |
868 | 294 | my_end(opt_endinfo ? MY_CHECK_ERROR | MY_GIVE_INFO : 0); | 294 | my_end(opt_endinfo ? MY_CHECK_ERROR | MY_GIVE_INFO : 0); |
869 | 295 | 295 | ||
870 | @@ -300,7 +300,7 @@ | |||
871 | 300 | exit(0); | 300 | exit(0); |
872 | 301 | return(0); /* purecov: deadcode */ | 301 | return(0); /* purecov: deadcode */ |
873 | 302 | } | 302 | } |
875 | 303 | @@ -7853,6 +7962,7 @@ | 303 | @@ -7867,6 +7976,7 @@ |
876 | 304 | {"Delayed_errors", (char*) &delayed_insert_errors, SHOW_LONG}, | 304 | {"Delayed_errors", (char*) &delayed_insert_errors, SHOW_LONG}, |
877 | 305 | {"Delayed_insert_threads", (char*) &delayed_insert_threads, SHOW_LONG_NOFLUSH}, | 305 | {"Delayed_insert_threads", (char*) &delayed_insert_threads, SHOW_LONG_NOFLUSH}, |
878 | 306 | {"Delayed_writes", (char*) &delayed_insert_writes, SHOW_LONG}, | 306 | {"Delayed_writes", (char*) &delayed_insert_writes, SHOW_LONG}, |
879 | 307 | 307 | ||
880 | === modified file 'suppress_log_warning_1592.patch' | |||
881 | --- suppress_log_warning_1592.patch 2011-03-11 15:25:38 +0000 | |||
882 | +++ suppress_log_warning_1592.patch 2011-05-12 15:57:55 +0000 | |||
883 | @@ -8,7 +8,7 @@ | |||
884 | 8 | diff -ruN a/sql/mysql_priv.h b/sql/mysql_priv.h | 8 | diff -ruN a/sql/mysql_priv.h b/sql/mysql_priv.h |
885 | 9 | --- a/sql/mysql_priv.h 2010-07-26 18:31:59.056061915 +0900 | 9 | --- a/sql/mysql_priv.h 2010-07-26 18:31:59.056061915 +0900 |
886 | 10 | +++ b/sql/mysql_priv.h 2010-07-26 18:34:10.205015964 +0900 | 10 | +++ b/sql/mysql_priv.h 2010-07-26 18:34:10.205015964 +0900 |
888 | 11 | @@ -2106,6 +2106,7 @@ | 11 | @@ -2111,6 +2111,7 @@ |
889 | 12 | extern my_bool opt_readonly, lower_case_file_system; | 12 | extern my_bool opt_readonly, lower_case_file_system; |
890 | 13 | extern my_bool opt_userstat_running, opt_thread_statistics; | 13 | extern my_bool opt_userstat_running, opt_thread_statistics; |
891 | 14 | extern my_bool opt_optimizer_fix; | 14 | extern my_bool opt_optimizer_fix; |
892 | @@ -19,7 +19,7 @@ | |||
893 | 19 | diff -ruN a/sql/mysqld.cc b/sql/mysqld.cc | 19 | diff -ruN a/sql/mysqld.cc b/sql/mysqld.cc |
894 | 20 | --- a/sql/mysqld.cc 2010-07-26 18:33:52.988451388 +0900 | 20 | --- a/sql/mysqld.cc 2010-07-26 18:33:52.988451388 +0900 |
895 | 21 | +++ b/sql/mysqld.cc 2010-07-26 18:34:10.203114167 +0900 | 21 | +++ b/sql/mysqld.cc 2010-07-26 18:34:10.203114167 +0900 |
897 | 22 | @@ -533,6 +533,7 @@ | 22 | @@ -534,6 +534,7 @@ |
898 | 23 | my_bool opt_old_style_user_limits= 0, trust_function_creators= 0; | 23 | my_bool opt_old_style_user_limits= 0, trust_function_creators= 0; |
899 | 24 | my_bool opt_userstat_running= 0, opt_thread_statistics= 0; | 24 | my_bool opt_userstat_running= 0, opt_thread_statistics= 0; |
900 | 25 | my_bool opt_optimizer_fix= 0; | 25 | my_bool opt_optimizer_fix= 0; |
901 | @@ -27,7 +27,7 @@ | |||
902 | 27 | /* | 27 | /* |
903 | 28 | True if there is at least one per-hour limit for some user, so we should | 28 | True if there is at least one per-hour limit for some user, so we should |
904 | 29 | check them before each query (and possibly reset counters when hour is | 29 | check them before each query (and possibly reset counters when hour is |
906 | 30 | @@ -5846,6 +5847,7 @@ | 30 | @@ -5852,6 +5853,7 @@ |
907 | 31 | OPT_USERSTAT_RUNNING, | 31 | OPT_USERSTAT_RUNNING, |
908 | 32 | OPT_THREAD_STATISTICS, | 32 | OPT_THREAD_STATISTICS, |
909 | 33 | OPT_OPTIMIZER_FIX, | 33 | OPT_OPTIMIZER_FIX, |
910 | @@ -35,7 +35,7 @@ | |||
911 | 35 | OPT_USE_GLOBAL_LONG_QUERY_TIME, | 35 | OPT_USE_GLOBAL_LONG_QUERY_TIME, |
912 | 36 | OPT_USE_GLOBAL_LOG_SLOW_CONTROL, | 36 | OPT_USE_GLOBAL_LOG_SLOW_CONTROL, |
913 | 37 | OPT_SLOW_QUERY_LOG_MICROSECONDS_TIMESTAMP, | 37 | OPT_SLOW_QUERY_LOG_MICROSECONDS_TIMESTAMP, |
915 | 38 | @@ -7351,6 +7353,10 @@ | 38 | @@ -7365,6 +7367,10 @@ |
916 | 39 | "Enable unofficial optimizer fixes.", | 39 | "Enable unofficial optimizer fixes.", |
917 | 40 | (uchar**) &opt_optimizer_fix, (uchar**) &opt_optimizer_fix, | 40 | (uchar**) &opt_optimizer_fix, (uchar**) &opt_optimizer_fix, |
918 | 41 | 0, GET_BOOL, NO_ARG, 1, 0, 1, 0, 1, 0}, | 41 | 0, GET_BOOL, NO_ARG, 1, 0, 1, 0, 1, 0}, |
919 | @@ -49,7 +49,7 @@ | |||
920 | 49 | diff -ruN a/sql/set_var.cc b/sql/set_var.cc | 49 | diff -ruN a/sql/set_var.cc b/sql/set_var.cc |
921 | 50 | --- a/sql/set_var.cc 2010-07-26 18:31:59.093062279 +0900 | 50 | --- a/sql/set_var.cc 2010-07-26 18:31:59.093062279 +0900 |
922 | 51 | +++ b/sql/set_var.cc 2010-07-26 18:34:10.210061358 +0900 | 51 | +++ b/sql/set_var.cc 2010-07-26 18:34:10.210061358 +0900 |
924 | 52 | @@ -563,6 +563,8 @@ | 52 | @@ -573,6 +573,8 @@ |
925 | 53 | &opt_thread_statistics); | 53 | &opt_thread_statistics); |
926 | 54 | static sys_var_bool_ptr sys_optimizer_fix(&vars, "optimizer_fix", | 54 | static sys_var_bool_ptr sys_optimizer_fix(&vars, "optimizer_fix", |
927 | 55 | &opt_optimizer_fix); | 55 | &opt_optimizer_fix); |
928 | 56 | 56 | ||
929 | === modified file 'userstat.patch' | |||
930 | --- userstat.patch 2011-03-11 15:25:38 +0000 | |||
931 | +++ userstat.patch 2011-05-12 15:57:55 +0000 | |||
932 | @@ -294,7 +294,7 @@ | |||
933 | 294 | diff -ruN a/sql/handler.h b/sql/handler.h | 294 | diff -ruN a/sql/handler.h b/sql/handler.h |
934 | 295 | --- a/sql/handler.h 2010-10-12 00:34:25.000000000 +0400 | 295 | --- a/sql/handler.h 2010-10-12 00:34:25.000000000 +0400 |
935 | 296 | +++ b/sql/handler.h 2010-11-24 17:28:49.000000000 +0300 | 296 | +++ b/sql/handler.h 2010-11-24 17:28:49.000000000 +0300 |
937 | 297 | @@ -30,6 +30,10 @@ | 297 | @@ -29,6 +29,10 @@ |
938 | 298 | 298 | ||
939 | 299 | #define USING_TRANSACTIONS | 299 | #define USING_TRANSACTIONS |
940 | 300 | 300 | ||
941 | @@ -305,7 +305,7 @@ | |||
942 | 305 | // the following is for checking tables | 305 | // the following is for checking tables |
943 | 306 | 306 | ||
944 | 307 | #define HA_ADMIN_ALREADY_DONE 1 | 307 | #define HA_ADMIN_ALREADY_DONE 1 |
946 | 308 | @@ -1121,6 +1125,9 @@ | 308 | @@ -1120,6 +1124,9 @@ |
947 | 309 | bool locked; | 309 | bool locked; |
948 | 310 | bool implicit_emptied; /* Can be !=0 only if HEAP */ | 310 | bool implicit_emptied; /* Can be !=0 only if HEAP */ |
949 | 311 | const COND *pushed_cond; | 311 | const COND *pushed_cond; |
950 | @@ -315,7 +315,7 @@ | |||
951 | 315 | /** | 315 | /** |
952 | 316 | next_insert_id is the next value which should be inserted into the | 316 | next_insert_id is the next value which should be inserted into the |
953 | 317 | auto_increment column: in a inserting-multi-row statement (like INSERT | 317 | auto_increment column: in a inserting-multi-row statement (like INSERT |
955 | 318 | @@ -1158,9 +1165,11 @@ | 318 | @@ -1157,9 +1164,11 @@ |
956 | 319 | ref_length(sizeof(my_off_t)), | 319 | ref_length(sizeof(my_off_t)), |
957 | 320 | ft_handler(0), inited(NONE), | 320 | ft_handler(0), inited(NONE), |
958 | 321 | locked(FALSE), implicit_emptied(0), | 321 | locked(FALSE), implicit_emptied(0), |
959 | @@ -329,7 +329,7 @@ | |||
960 | 329 | virtual ~handler(void) | 329 | virtual ~handler(void) |
961 | 330 | { | 330 | { |
962 | 331 | DBUG_ASSERT(locked == FALSE); | 331 | DBUG_ASSERT(locked == FALSE); |
964 | 332 | @@ -1284,6 +1293,8 @@ | 332 | @@ -1283,6 +1292,8 @@ |
965 | 333 | { | 333 | { |
966 | 334 | table= table_arg; | 334 | table= table_arg; |
967 | 335 | table_share= share; | 335 | table_share= share; |
968 | @@ -338,7 +338,7 @@ | |||
969 | 338 | } | 338 | } |
970 | 339 | virtual double scan_time() | 339 | virtual double scan_time() |
971 | 340 | { return ulonglong2double(stats.data_file_length) / IO_SIZE + 2; } | 340 | { return ulonglong2double(stats.data_file_length) / IO_SIZE + 2; } |
973 | 341 | @@ -1628,6 +1639,8 @@ | 341 | @@ -1627,6 +1638,8 @@ |
974 | 342 | virtual bool is_crashed() const { return 0; } | 342 | virtual bool is_crashed() const { return 0; } |
975 | 343 | virtual bool auto_repair() const { return 0; } | 343 | virtual bool auto_repair() const { return 0; } |
976 | 344 | 344 | ||
977 | @@ -563,7 +563,7 @@ | |||
978 | 563 | diff -ruN a/sql/mysql_priv.h b/sql/mysql_priv.h | 563 | diff -ruN a/sql/mysql_priv.h b/sql/mysql_priv.h |
979 | 564 | --- a/sql/mysql_priv.h 2010-11-24 17:24:51.000000000 +0300 | 564 | --- a/sql/mysql_priv.h 2010-11-24 17:24:51.000000000 +0300 |
980 | 565 | +++ b/sql/mysql_priv.h 2010-11-24 17:31:34.000000000 +0300 | 565 | +++ b/sql/mysql_priv.h 2010-11-24 17:31:34.000000000 +0300 |
982 | 566 | @@ -1164,7 +1164,17 @@ | 566 | @@ -1168,7 +1168,17 @@ |
983 | 567 | bool multi_delete_set_locks_and_link_aux_tables(LEX *lex); | 567 | bool multi_delete_set_locks_and_link_aux_tables(LEX *lex); |
984 | 568 | void init_max_user_conn(void); | 568 | void init_max_user_conn(void); |
985 | 569 | void init_update_queries(void); | 569 | void init_update_queries(void); |
986 | @@ -581,7 +581,7 @@ | |||
987 | 581 | pthread_handler_t handle_bootstrap(void *arg); | 581 | pthread_handler_t handle_bootstrap(void *arg); |
988 | 582 | int mysql_execute_command(THD *thd); | 582 | int mysql_execute_command(THD *thd); |
989 | 583 | bool do_command(THD *thd); | 583 | bool do_command(THD *thd); |
991 | 584 | @@ -2040,6 +2050,7 @@ | 584 | @@ -2044,6 +2054,7 @@ |
992 | 585 | extern ulong max_connect_errors, connect_timeout; | 585 | extern ulong max_connect_errors, connect_timeout; |
993 | 586 | extern ulong slave_net_timeout, slave_trans_retries; | 586 | extern ulong slave_net_timeout, slave_trans_retries; |
994 | 587 | extern uint max_user_connections; | 587 | extern uint max_user_connections; |
995 | @@ -589,7 +589,7 @@ | |||
996 | 589 | extern ulong what_to_log,flush_time; | 589 | extern ulong what_to_log,flush_time; |
997 | 590 | extern ulong query_buff_size; | 590 | extern ulong query_buff_size; |
998 | 591 | extern ulong max_prepared_stmt_count, prepared_stmt_count; | 591 | extern ulong max_prepared_stmt_count, prepared_stmt_count; |
1000 | 592 | @@ -2093,6 +2104,7 @@ | 592 | @@ -2098,6 +2109,7 @@ |
1001 | 593 | extern my_bool opt_slave_compressed_protocol, use_temp_pool; | 593 | extern my_bool opt_slave_compressed_protocol, use_temp_pool; |
1002 | 594 | extern ulong slave_exec_mode_options; | 594 | extern ulong slave_exec_mode_options; |
1003 | 595 | extern my_bool opt_readonly, lower_case_file_system; | 595 | extern my_bool opt_readonly, lower_case_file_system; |
1004 | @@ -597,7 +597,7 @@ | |||
1005 | 597 | extern my_bool opt_enable_named_pipe, opt_sync_frm, opt_allow_suspicious_udfs; | 597 | extern my_bool opt_enable_named_pipe, opt_sync_frm, opt_allow_suspicious_udfs; |
1006 | 598 | extern my_bool opt_secure_auth; | 598 | extern my_bool opt_secure_auth; |
1007 | 599 | extern char* opt_secure_file_priv; | 599 | extern char* opt_secure_file_priv; |
1009 | 600 | @@ -2157,6 +2169,15 @@ | 600 | @@ -2162,6 +2174,15 @@ |
1010 | 601 | extern struct system_variables max_system_variables; | 601 | extern struct system_variables max_system_variables; |
1011 | 602 | extern struct system_status_var global_status_var; | 602 | extern struct system_status_var global_status_var; |
1012 | 603 | extern struct rand_struct sql_rand; | 603 | extern struct rand_struct sql_rand; |
1013 | @@ -616,7 +616,7 @@ | |||
1014 | 616 | diff -ruN a/sql/mysqld.cc b/sql/mysqld.cc | 616 | diff -ruN a/sql/mysqld.cc b/sql/mysqld.cc |
1015 | 617 | --- a/sql/mysqld.cc 2010-11-24 17:24:51.000000000 +0300 | 617 | --- a/sql/mysqld.cc 2010-11-24 17:24:51.000000000 +0300 |
1016 | 618 | +++ b/sql/mysqld.cc 2010-11-24 17:31:34.000000000 +0300 | 618 | +++ b/sql/mysqld.cc 2010-11-24 17:31:34.000000000 +0300 |
1018 | 619 | @@ -531,6 +531,7 @@ | 619 | @@ -532,6 +532,7 @@ |
1019 | 620 | uint opt_debug_sync_timeout= 0; | 620 | uint opt_debug_sync_timeout= 0; |
1020 | 621 | #endif /* defined(ENABLED_DEBUG_SYNC) */ | 621 | #endif /* defined(ENABLED_DEBUG_SYNC) */ |
1021 | 622 | my_bool opt_old_style_user_limits= 0, trust_function_creators= 0; | 622 | my_bool opt_old_style_user_limits= 0, trust_function_creators= 0; |
1022 | @@ -624,15 +624,15 @@ | |||
1023 | 624 | /* | 624 | /* |
1024 | 625 | True if there is at least one per-hour limit for some user, so we should | 625 | True if there is at least one per-hour limit for some user, so we should |
1025 | 626 | check them before each query (and possibly reset counters when hour is | 626 | check them before each query (and possibly reset counters when hour is |
1029 | 627 | @@ -579,6 +580,7 @@ | 627 | @@ -585,6 +586,7 @@ |
1030 | 628 | ulong binlog_cache_use= 0, binlog_cache_disk_use= 0; | 628 | */ |
1031 | 629 | ulong max_connections, max_connect_errors; | 629 | ulong max_long_data_size; |
1032 | 630 | uint max_user_connections= 0; | 630 | uint max_user_connections= 0; |
1033 | 631 | +ulonglong denied_connections = 0; | 631 | +ulonglong denied_connections = 0; |
1034 | 632 | /** | 632 | /** |
1035 | 633 | Limit of the total number of prepared statements in the server. | 633 | Limit of the total number of prepared statements in the server. |
1036 | 634 | Is necessary to protect the server against out-of-memory attacks. | 634 | Is necessary to protect the server against out-of-memory attacks. |
1038 | 635 | @@ -680,6 +682,10 @@ | 635 | @@ -686,6 +688,10 @@ |
1039 | 636 | LOCK_global_system_variables, | 636 | LOCK_global_system_variables, |
1040 | 637 | LOCK_user_conn, LOCK_slave_list, LOCK_active_mi, | 637 | LOCK_user_conn, LOCK_slave_list, LOCK_active_mi, |
1041 | 638 | LOCK_connection_count; | 638 | LOCK_connection_count; |
1042 | @@ -643,7 +643,7 @@ | |||
1043 | 643 | /** | 643 | /** |
1044 | 644 | The below lock protects access to two global server variables: | 644 | The below lock protects access to two global server variables: |
1045 | 645 | max_prepared_stmt_count and prepared_stmt_count. These variables | 645 | max_prepared_stmt_count and prepared_stmt_count. These variables |
1047 | 646 | @@ -1365,6 +1371,11 @@ | 646 | @@ -1371,6 +1377,11 @@ |
1048 | 647 | x_free(opt_secure_file_priv); | 647 | x_free(opt_secure_file_priv); |
1049 | 648 | bitmap_free(&temp_pool); | 648 | bitmap_free(&temp_pool); |
1050 | 649 | free_max_user_conn(); | 649 | free_max_user_conn(); |
1051 | @@ -655,7 +655,7 @@ | |||
1052 | 655 | #ifdef HAVE_REPLICATION | 655 | #ifdef HAVE_REPLICATION |
1053 | 656 | end_slave_list(); | 656 | end_slave_list(); |
1054 | 657 | #endif | 657 | #endif |
1056 | 658 | @@ -1481,6 +1492,10 @@ | 658 | @@ -1487,6 +1498,10 @@ |
1057 | 659 | (void) pthread_cond_destroy(&COND_thread_cache); | 659 | (void) pthread_cond_destroy(&COND_thread_cache); |
1058 | 660 | (void) pthread_cond_destroy(&COND_flush_thread_cache); | 660 | (void) pthread_cond_destroy(&COND_flush_thread_cache); |
1059 | 661 | (void) pthread_cond_destroy(&COND_manager); | 661 | (void) pthread_cond_destroy(&COND_manager); |
1060 | @@ -666,7 +666,7 @@ | |||
1061 | 666 | } | 666 | } |
1062 | 667 | 667 | ||
1063 | 668 | #endif /*EMBEDDED_LIBRARY*/ | 668 | #endif /*EMBEDDED_LIBRARY*/ |
1065 | 669 | @@ -3177,6 +3192,7 @@ | 669 | @@ -3183,6 +3198,7 @@ |
1066 | 670 | {"show_binlog_events", (char*) offsetof(STATUS_VAR, com_stat[(uint) SQLCOM_SHOW_BINLOG_EVENTS]), SHOW_LONG_STATUS}, | 670 | {"show_binlog_events", (char*) offsetof(STATUS_VAR, com_stat[(uint) SQLCOM_SHOW_BINLOG_EVENTS]), SHOW_LONG_STATUS}, |
1067 | 671 | {"show_binlogs", (char*) offsetof(STATUS_VAR, com_stat[(uint) SQLCOM_SHOW_BINLOGS]), SHOW_LONG_STATUS}, | 671 | {"show_binlogs", (char*) offsetof(STATUS_VAR, com_stat[(uint) SQLCOM_SHOW_BINLOGS]), SHOW_LONG_STATUS}, |
1068 | 672 | {"show_charsets", (char*) offsetof(STATUS_VAR, com_stat[(uint) SQLCOM_SHOW_CHARSETS]), SHOW_LONG_STATUS}, | 672 | {"show_charsets", (char*) offsetof(STATUS_VAR, com_stat[(uint) SQLCOM_SHOW_CHARSETS]), SHOW_LONG_STATUS}, |
1069 | @@ -674,7 +674,7 @@ | |||
1070 | 674 | {"show_collations", (char*) offsetof(STATUS_VAR, com_stat[(uint) SQLCOM_SHOW_COLLATIONS]), SHOW_LONG_STATUS}, | 674 | {"show_collations", (char*) offsetof(STATUS_VAR, com_stat[(uint) SQLCOM_SHOW_COLLATIONS]), SHOW_LONG_STATUS}, |
1071 | 675 | {"show_column_types", (char*) offsetof(STATUS_VAR, com_stat[(uint) SQLCOM_SHOW_COLUMN_TYPES]), SHOW_LONG_STATUS}, | 675 | {"show_column_types", (char*) offsetof(STATUS_VAR, com_stat[(uint) SQLCOM_SHOW_COLUMN_TYPES]), SHOW_LONG_STATUS}, |
1072 | 676 | {"show_contributors", (char*) offsetof(STATUS_VAR, com_stat[(uint) SQLCOM_SHOW_CONTRIBUTORS]), SHOW_LONG_STATUS}, | 676 | {"show_contributors", (char*) offsetof(STATUS_VAR, com_stat[(uint) SQLCOM_SHOW_CONTRIBUTORS]), SHOW_LONG_STATUS}, |
1074 | 677 | @@ -3198,6 +3214,7 @@ | 677 | @@ -3204,6 +3220,7 @@ |
1075 | 678 | #endif | 678 | #endif |
1076 | 679 | {"show_function_status", (char*) offsetof(STATUS_VAR, com_stat[(uint) SQLCOM_SHOW_STATUS_FUNC]), SHOW_LONG_STATUS}, | 679 | {"show_function_status", (char*) offsetof(STATUS_VAR, com_stat[(uint) SQLCOM_SHOW_STATUS_FUNC]), SHOW_LONG_STATUS}, |
1077 | 680 | {"show_grants", (char*) offsetof(STATUS_VAR, com_stat[(uint) SQLCOM_SHOW_GRANTS]), SHOW_LONG_STATUS}, | 680 | {"show_grants", (char*) offsetof(STATUS_VAR, com_stat[(uint) SQLCOM_SHOW_GRANTS]), SHOW_LONG_STATUS}, |
1078 | @@ -682,7 +682,7 @@ | |||
1079 | 682 | {"show_keys", (char*) offsetof(STATUS_VAR, com_stat[(uint) SQLCOM_SHOW_KEYS]), SHOW_LONG_STATUS}, | 682 | {"show_keys", (char*) offsetof(STATUS_VAR, com_stat[(uint) SQLCOM_SHOW_KEYS]), SHOW_LONG_STATUS}, |
1080 | 683 | {"show_master_status", (char*) offsetof(STATUS_VAR, com_stat[(uint) SQLCOM_SHOW_MASTER_STAT]), SHOW_LONG_STATUS}, | 683 | {"show_master_status", (char*) offsetof(STATUS_VAR, com_stat[(uint) SQLCOM_SHOW_MASTER_STAT]), SHOW_LONG_STATUS}, |
1081 | 684 | {"show_new_master", (char*) offsetof(STATUS_VAR, com_stat[(uint) SQLCOM_SHOW_NEW_MASTER]), SHOW_LONG_STATUS}, | 684 | {"show_new_master", (char*) offsetof(STATUS_VAR, com_stat[(uint) SQLCOM_SHOW_NEW_MASTER]), SHOW_LONG_STATUS}, |
1083 | 685 | @@ -3216,9 +3233,12 @@ | 685 | @@ -3222,9 +3239,12 @@ |
1084 | 686 | {"show_slave_status", (char*) offsetof(STATUS_VAR, com_stat[(uint) SQLCOM_SHOW_SLAVE_STAT]), SHOW_LONG_STATUS}, | 686 | {"show_slave_status", (char*) offsetof(STATUS_VAR, com_stat[(uint) SQLCOM_SHOW_SLAVE_STAT]), SHOW_LONG_STATUS}, |
1085 | 687 | {"show_status", (char*) offsetof(STATUS_VAR, com_stat[(uint) SQLCOM_SHOW_STATUS]), SHOW_LONG_STATUS}, | 687 | {"show_status", (char*) offsetof(STATUS_VAR, com_stat[(uint) SQLCOM_SHOW_STATUS]), SHOW_LONG_STATUS}, |
1086 | 688 | {"show_storage_engines", (char*) offsetof(STATUS_VAR, com_stat[(uint) SQLCOM_SHOW_STORAGE_ENGINES]), SHOW_LONG_STATUS}, | 688 | {"show_storage_engines", (char*) offsetof(STATUS_VAR, com_stat[(uint) SQLCOM_SHOW_STORAGE_ENGINES]), SHOW_LONG_STATUS}, |
1087 | @@ -695,7 +695,7 @@ | |||
1088 | 695 | {"show_variables", (char*) offsetof(STATUS_VAR, com_stat[(uint) SQLCOM_SHOW_VARIABLES]), SHOW_LONG_STATUS}, | 695 | {"show_variables", (char*) offsetof(STATUS_VAR, com_stat[(uint) SQLCOM_SHOW_VARIABLES]), SHOW_LONG_STATUS}, |
1089 | 696 | {"show_warnings", (char*) offsetof(STATUS_VAR, com_stat[(uint) SQLCOM_SHOW_WARNS]), SHOW_LONG_STATUS}, | 696 | {"show_warnings", (char*) offsetof(STATUS_VAR, com_stat[(uint) SQLCOM_SHOW_WARNS]), SHOW_LONG_STATUS}, |
1090 | 697 | {"slave_start", (char*) offsetof(STATUS_VAR, com_stat[(uint) SQLCOM_SLAVE_START]), SHOW_LONG_STATUS}, | 697 | {"slave_start", (char*) offsetof(STATUS_VAR, com_stat[(uint) SQLCOM_SLAVE_START]), SHOW_LONG_STATUS}, |
1092 | 698 | @@ -3662,6 +3682,10 @@ | 698 | @@ -3668,6 +3688,10 @@ |
1093 | 699 | #endif | 699 | #endif |
1094 | 700 | (void) pthread_mutex_init(&LOCK_server_started, MY_MUTEX_INIT_FAST); | 700 | (void) pthread_mutex_init(&LOCK_server_started, MY_MUTEX_INIT_FAST); |
1095 | 701 | (void) pthread_cond_init(&COND_server_started,NULL); | 701 | (void) pthread_cond_init(&COND_server_started,NULL); |
1096 | @@ -706,7 +706,7 @@ | |||
1097 | 706 | sp_cache_init(); | 706 | sp_cache_init(); |
1098 | 707 | #ifdef HAVE_EVENT_SCHEDULER | 707 | #ifdef HAVE_EVENT_SCHEDULER |
1099 | 708 | Events::init_mutexes(); | 708 | Events::init_mutexes(); |
1101 | 709 | @@ -4063,6 +4087,9 @@ | 709 | @@ -4069,6 +4093,9 @@ |
1102 | 710 | if (!errmesg[0][0]) | 710 | if (!errmesg[0][0]) |
1103 | 711 | unireg_abort(1); | 711 | unireg_abort(1); |
1104 | 712 | 712 | ||
1105 | @@ -716,7 +716,7 @@ | |||
1106 | 716 | /* We have to initialize the storage engines before CSV logging */ | 716 | /* We have to initialize the storage engines before CSV logging */ |
1107 | 717 | if (ha_init()) | 717 | if (ha_init()) |
1108 | 718 | { | 718 | { |
1110 | 719 | @@ -4209,6 +4236,9 @@ | 719 | @@ -4215,6 +4242,9 @@ |
1111 | 720 | 720 | ||
1112 | 721 | init_max_user_conn(); | 721 | init_max_user_conn(); |
1113 | 722 | init_update_queries(); | 722 | init_update_queries(); |
1114 | @@ -726,7 +726,7 @@ | |||
1115 | 726 | DBUG_RETURN(0); | 726 | DBUG_RETURN(0); |
1116 | 727 | } | 727 | } |
1117 | 728 | 728 | ||
1119 | 729 | @@ -5026,6 +5056,7 @@ | 729 | @@ -5032,6 +5062,7 @@ |
1120 | 730 | 730 | ||
1121 | 731 | DBUG_PRINT("error",("Too many connections")); | 731 | DBUG_PRINT("error",("Too many connections")); |
1122 | 732 | close_connection(thd, ER_CON_COUNT_ERROR, 1); | 732 | close_connection(thd, ER_CON_COUNT_ERROR, 1); |
1123 | @@ -734,7 +734,7 @@ | |||
1124 | 734 | delete thd; | 734 | delete thd; |
1125 | 735 | DBUG_VOID_RETURN; | 735 | DBUG_VOID_RETURN; |
1126 | 736 | } | 736 | } |
1128 | 737 | @@ -5810,6 +5841,8 @@ | 737 | @@ -5816,6 +5847,8 @@ |
1129 | 738 | OPT_SLAVE_EXEC_MODE, | 738 | OPT_SLAVE_EXEC_MODE, |
1130 | 739 | OPT_GENERAL_LOG_FILE, | 739 | OPT_GENERAL_LOG_FILE, |
1131 | 740 | OPT_SLOW_QUERY_LOG_FILE, | 740 | OPT_SLOW_QUERY_LOG_FILE, |
1132 | @@ -743,7 +743,7 @@ | |||
1133 | 743 | OPT_USE_GLOBAL_LONG_QUERY_TIME, | 743 | OPT_USE_GLOBAL_LONG_QUERY_TIME, |
1134 | 744 | OPT_USE_GLOBAL_LOG_SLOW_CONTROL, | 744 | OPT_USE_GLOBAL_LOG_SLOW_CONTROL, |
1135 | 745 | OPT_SLOW_QUERY_LOG_MICROSECONDS_TIMESTAMP, | 745 | OPT_SLOW_QUERY_LOG_MICROSECONDS_TIMESTAMP, |
1137 | 746 | @@ -7303,6 +7336,14 @@ | 746 | @@ -7317,6 +7350,14 @@ |
1138 | 747 | &max_system_variables.net_wait_timeout, 0, GET_ULONG, | 747 | &max_system_variables.net_wait_timeout, 0, GET_ULONG, |
1139 | 748 | REQUIRED_ARG, NET_WAIT_TIMEOUT, 1, IF_WIN(INT_MAX32/1000, LONG_TIMEOUT), | 748 | REQUIRED_ARG, NET_WAIT_TIMEOUT, 1, IF_WIN(INT_MAX32/1000, LONG_TIMEOUT), |
1140 | 749 | 0, 1, 0}, | 749 | 0, 1, 0}, |
1141 | @@ -761,7 +761,7 @@ | |||
1142 | 761 | diff -ruN a/sql/set_var.cc b/sql/set_var.cc | 761 | diff -ruN a/sql/set_var.cc b/sql/set_var.cc |
1143 | 762 | --- a/sql/set_var.cc 2010-11-24 17:24:51.000000000 +0300 | 762 | --- a/sql/set_var.cc 2010-11-24 17:24:51.000000000 +0300 |
1144 | 763 | +++ b/sql/set_var.cc 2010-11-24 17:31:34.000000000 +0300 | 763 | +++ b/sql/set_var.cc 2010-11-24 17:31:34.000000000 +0300 |
1146 | 764 | @@ -557,6 +557,10 @@ | 764 | @@ -567,6 +567,10 @@ |
1147 | 765 | static sys_var_thd_ulong sys_read_buff_size(&vars, "read_buffer_size", | 765 | static sys_var_thd_ulong sys_read_buff_size(&vars, "read_buffer_size", |
1148 | 766 | &SV::read_buff_size); | 766 | &SV::read_buff_size); |
1149 | 767 | static sys_var_opt_readonly sys_readonly(&vars, "read_only", &opt_readonly); | 767 | static sys_var_opt_readonly sys_readonly(&vars, "read_only", &opt_readonly); |
1150 | @@ -1692,7 +1692,7 @@ | |||
1151 | 1692 | my_error(ER_ACCESS_DENIED_ERROR, MYF(0), | 1692 | my_error(ER_ACCESS_DENIED_ERROR, MYF(0), |
1152 | 1693 | thd->main_security_ctx.user, | 1693 | thd->main_security_ctx.user, |
1153 | 1694 | thd->main_security_ctx.host_or_ip, | 1694 | thd->main_security_ctx.host_or_ip, |
1155 | 1695 | @@ -984,11 +1563,20 @@ | 1695 | @@ -1131,11 +1710,20 @@ |
1156 | 1696 | my_sleep(1000); /* must wait after eof() */ | 1696 | my_sleep(1000); /* must wait after eof() */ |
1157 | 1697 | #endif | 1697 | #endif |
1158 | 1698 | statistic_increment(aborted_connects,&LOCK_status); | 1698 | statistic_increment(aborted_connects,&LOCK_status); |
1159 | @@ -1713,7 +1713,7 @@ | |||
1160 | 1713 | DBUG_RETURN(0); | 1713 | DBUG_RETURN(0); |
1161 | 1714 | } | 1714 | } |
1162 | 1715 | 1715 | ||
1164 | 1716 | @@ -1010,6 +1598,7 @@ | 1716 | @@ -1157,6 +1745,7 @@ |
1165 | 1717 | if (thd->killed || (net->error && net->vio != 0)) | 1717 | if (thd->killed || (net->error && net->vio != 0)) |
1166 | 1718 | { | 1718 | { |
1167 | 1719 | statistic_increment(aborted_threads,&LOCK_status); | 1719 | statistic_increment(aborted_threads,&LOCK_status); |
1168 | @@ -1721,7 +1721,7 @@ | |||
1169 | 1721 | } | 1721 | } |
1170 | 1722 | 1722 | ||
1171 | 1723 | if (net->error && net->vio != 0) | 1723 | if (net->error && net->vio != 0) |
1173 | 1724 | @@ -1136,10 +1725,14 @@ | 1724 | @@ -1283,10 +1872,14 @@ |
1174 | 1725 | for (;;) | 1725 | for (;;) |
1175 | 1726 | { | 1726 | { |
1176 | 1727 | NET *net= &thd->net; | 1727 | NET *net= &thd->net; |
1177 | @@ -1736,7 +1736,7 @@ | |||
1178 | 1736 | 1736 | ||
1179 | 1737 | prepare_new_connection_state(thd); | 1737 | prepare_new_connection_state(thd); |
1180 | 1738 | 1738 | ||
1182 | 1739 | @@ -1162,6 +1755,8 @@ | 1739 | @@ -1309,6 +1902,8 @@ |
1183 | 1740 | 1740 | ||
1184 | 1741 | end_thread: | 1741 | end_thread: |
1185 | 1742 | close_connection(thd, 0, 1); | 1742 | close_connection(thd, 0, 1); |
1186 | @@ -1832,7 +1832,7 @@ | |||
1187 | 1832 | /* | 1832 | /* |
1188 | 1833 | Commands which always take a long time are logged into | 1833 | Commands which always take a long time are logged into |
1189 | 1834 | the slow log only if opt_log_slow_admin_statements is set. | 1834 | the slow log only if opt_log_slow_admin_statements is set. |
1191 | 1835 | @@ -1865,6 +1877,13 @@ | 1835 | @@ -1879,6 +1891,13 @@ |
1192 | 1836 | thd->profiling.discard_current_query(); | 1836 | thd->profiling.discard_current_query(); |
1193 | 1837 | #endif | 1837 | #endif |
1194 | 1838 | break; | 1838 | break; |
1195 | @@ -1846,7 +1846,7 @@ | |||
1196 | 1846 | case SCH_OPEN_TABLES: | 1846 | case SCH_OPEN_TABLES: |
1197 | 1847 | case SCH_VARIABLES: | 1847 | case SCH_VARIABLES: |
1198 | 1848 | case SCH_STATUS: | 1848 | case SCH_STATUS: |
1200 | 1849 | @@ -2021,6 +2040,7 @@ | 1849 | @@ -2035,6 +2054,7 @@ |
1201 | 1850 | thd->security_ctx->priv_host)) && | 1850 | thd->security_ctx->priv_host)) && |
1202 | 1851 | check_global_access(thd, SUPER_ACL)) | 1851 | check_global_access(thd, SUPER_ACL)) |
1203 | 1852 | { | 1852 | { |
1204 | @@ -1854,7 +1854,7 @@ | |||
1205 | 1854 | my_error(ER_SPECIFIC_ACCESS_DENIED_ERROR, MYF(0), "SUPER"); | 1854 | my_error(ER_SPECIFIC_ACCESS_DENIED_ERROR, MYF(0), "SUPER"); |
1206 | 1855 | DBUG_RETURN(TRUE); | 1855 | DBUG_RETURN(TRUE); |
1207 | 1856 | } | 1856 | } |
1209 | 1857 | @@ -5363,6 +5383,7 @@ | 1857 | @@ -5377,6 +5397,7 @@ |
1210 | 1858 | if (!no_errors) | 1858 | if (!no_errors) |
1211 | 1859 | { | 1859 | { |
1212 | 1860 | const char *db_name= db ? db : thd->db; | 1860 | const char *db_name= db ? db : thd->db; |
1213 | @@ -1862,7 +1862,7 @@ | |||
1214 | 1862 | my_error(ER_DBACCESS_DENIED_ERROR, MYF(0), | 1862 | my_error(ER_DBACCESS_DENIED_ERROR, MYF(0), |
1215 | 1863 | sctx->priv_user, sctx->priv_host, db_name); | 1863 | sctx->priv_user, sctx->priv_host, db_name); |
1216 | 1864 | } | 1864 | } |
1218 | 1865 | @@ -5395,12 +5416,15 @@ | 1865 | @@ -5409,12 +5430,15 @@ |
1219 | 1866 | { // We can never grant this | 1866 | { // We can never grant this |
1220 | 1867 | DBUG_PRINT("error",("No possible access")); | 1867 | DBUG_PRINT("error",("No possible access")); |
1221 | 1868 | if (!no_errors) | 1868 | if (!no_errors) |
1222 | @@ -1878,7 +1878,7 @@ | |||
1223 | 1878 | DBUG_RETURN(TRUE); /* purecov: tested */ | 1878 | DBUG_RETURN(TRUE); /* purecov: tested */ |
1224 | 1879 | } | 1879 | } |
1225 | 1880 | 1880 | ||
1227 | 1881 | @@ -5426,11 +5450,15 @@ | 1881 | @@ -5440,11 +5464,15 @@ |
1228 | 1882 | 1882 | ||
1229 | 1883 | DBUG_PRINT("error",("Access denied")); | 1883 | DBUG_PRINT("error",("Access denied")); |
1230 | 1884 | if (!no_errors) | 1884 | if (!no_errors) |
1231 | @@ -1894,7 +1894,7 @@ | |||
1232 | 1894 | DBUG_RETURN(TRUE); /* purecov: tested */ | 1894 | DBUG_RETURN(TRUE); /* purecov: tested */ |
1233 | 1895 | } | 1895 | } |
1234 | 1896 | 1896 | ||
1236 | 1897 | @@ -5459,6 +5487,7 @@ | 1897 | @@ -5473,6 +5501,7 @@ |
1237 | 1898 | 1898 | ||
1238 | 1899 | if (!thd->col_access && check_grant_db(thd, dst_db_name)) | 1899 | if (!thd->col_access && check_grant_db(thd, dst_db_name)) |
1239 | 1900 | { | 1900 | { |
1240 | @@ -1902,7 +1902,7 @@ | |||
1241 | 1902 | my_error(ER_DBACCESS_DENIED_ERROR, MYF(0), | 1902 | my_error(ER_DBACCESS_DENIED_ERROR, MYF(0), |
1242 | 1903 | thd->security_ctx->priv_user, | 1903 | thd->security_ctx->priv_user, |
1243 | 1904 | thd->security_ctx->priv_host, | 1904 | thd->security_ctx->priv_host, |
1245 | 1905 | @@ -5540,9 +5569,12 @@ | 1905 | @@ -5554,9 +5583,12 @@ |
1246 | 1906 | (want_access & ~(SELECT_ACL | EXTRA_ACL | FILE_ACL))) | 1906 | (want_access & ~(SELECT_ACL | EXTRA_ACL | FILE_ACL))) |
1247 | 1907 | { | 1907 | { |
1248 | 1908 | if (!no_errors) | 1908 | if (!no_errors) |
1249 | @@ -1915,7 +1915,7 @@ | |||
1250 | 1915 | return TRUE; | 1915 | return TRUE; |
1251 | 1916 | } | 1916 | } |
1252 | 1917 | /* | 1917 | /* |
1254 | 1918 | @@ -5705,6 +5737,7 @@ | 1918 | @@ -5719,6 +5751,7 @@ |
1255 | 1919 | if ((thd->security_ctx->master_access & want_access)) | 1919 | if ((thd->security_ctx->master_access & want_access)) |
1256 | 1920 | return 0; | 1920 | return 0; |
1257 | 1921 | get_privilege_desc(command, sizeof(command), want_access); | 1921 | get_privilege_desc(command, sizeof(command), want_access); |
1258 | @@ -1923,7 +1923,7 @@ | |||
1259 | 1923 | my_error(ER_SPECIFIC_ACCESS_DENIED_ERROR, MYF(0), command); | 1923 | my_error(ER_SPECIFIC_ACCESS_DENIED_ERROR, MYF(0), command); |
1260 | 1924 | return 1; | 1924 | return 1; |
1261 | 1925 | #else | 1925 | #else |
1263 | 1926 | @@ -6079,6 +6112,32 @@ | 1926 | @@ -6093,6 +6126,32 @@ |
1264 | 1927 | lex_start(thd); | 1927 | lex_start(thd); |
1265 | 1928 | mysql_reset_thd_for_next_command(thd); | 1928 | mysql_reset_thd_for_next_command(thd); |
1266 | 1929 | 1929 | ||
1267 | @@ -1956,7 +1956,7 @@ | |||
1268 | 1956 | if (query_cache_send_result_to_client(thd, rawbuf, length) <= 0) | 1956 | if (query_cache_send_result_to_client(thd, rawbuf, length) <= 0) |
1269 | 1957 | { | 1957 | { |
1270 | 1958 | LEX *lex= thd->lex; | 1958 | LEX *lex= thd->lex; |
1272 | 1959 | @@ -6159,6 +6218,43 @@ | 1959 | @@ -6173,6 +6232,43 @@ |
1273 | 1960 | *found_semicolon= NULL; | 1960 | *found_semicolon= NULL; |
1274 | 1961 | } | 1961 | } |
1275 | 1962 | 1962 | ||
1276 | @@ -2000,7 +2000,7 @@ | |||
1277 | 2000 | DBUG_VOID_RETURN; | 2000 | DBUG_VOID_RETURN; |
1278 | 2001 | } | 2001 | } |
1279 | 2002 | 2002 | ||
1281 | 2003 | @@ -7031,6 +7127,13 @@ | 2003 | @@ -7045,6 +7141,13 @@ |
1282 | 2004 | if (flush_error_log()) | 2004 | if (flush_error_log()) |
1283 | 2005 | result=1; | 2005 | result=1; |
1284 | 2006 | } | 2006 | } |
1285 | @@ -2014,7 +2014,7 @@ | |||
1286 | 2014 | #ifdef HAVE_QUERY_CACHE | 2014 | #ifdef HAVE_QUERY_CACHE |
1287 | 2015 | if (options & REFRESH_QUERY_CACHE_FREE) | 2015 | if (options & REFRESH_QUERY_CACHE_FREE) |
1288 | 2016 | { | 2016 | { |
1290 | 2017 | @@ -7131,6 +7234,40 @@ | 2017 | @@ -7145,6 +7248,40 @@ |
1291 | 2018 | #endif | 2018 | #endif |
1292 | 2019 | if (options & REFRESH_USER_RESOURCES) | 2019 | if (options & REFRESH_USER_RESOURCES) |
1293 | 2020 | reset_mqh((LEX_USER *) NULL, 0); /* purecov: inspected */ | 2020 | reset_mqh((LEX_USER *) NULL, 0); /* purecov: inspected */ |
1294 | @@ -2756,7 +2756,7 @@ | |||
1295 | 2756 | 2756 | ||
1296 | 2757 | /* collect status for all running threads */ | 2757 | /* collect status for all running threads */ |
1297 | 2758 | 2758 | ||
1299 | 2759 | @@ -6709,6 +7017,104 @@ | 2759 | @@ -6711,6 +7019,104 @@ |
1300 | 2760 | }; | 2760 | }; |
1301 | 2761 | 2761 | ||
1302 | 2762 | 2762 | ||
1303 | @@ -2861,7 +2861,7 @@ | |||
1304 | 2861 | ST_FIELD_INFO processlist_fields_info[]= | 2861 | ST_FIELD_INFO processlist_fields_info[]= |
1305 | 2862 | { | 2862 | { |
1306 | 2863 | {"ID", 4, MYSQL_TYPE_LONGLONG, 0, 0, "Id", SKIP_OPEN_TABLE}, | 2863 | {"ID", 4, MYSQL_TYPE_LONGLONG, 0, 0, "Id", SKIP_OPEN_TABLE}, |
1308 | 2864 | @@ -6844,6 +7250,8 @@ | 2864 | @@ -6846,6 +7252,8 @@ |
1309 | 2865 | { | 2865 | { |
1310 | 2866 | {"CHARACTER_SETS", charsets_fields_info, create_schema_table, | 2866 | {"CHARACTER_SETS", charsets_fields_info, create_schema_table, |
1311 | 2867 | fill_schema_charsets, make_character_sets_old_format, 0, -1, -1, 0, 0}, | 2867 | fill_schema_charsets, make_character_sets_old_format, 0, -1, -1, 0, 0}, |
1312 | @@ -2870,7 +2870,7 @@ | |||
1313 | 2870 | {"COLLATIONS", collation_fields_info, create_schema_table, | 2870 | {"COLLATIONS", collation_fields_info, create_schema_table, |
1314 | 2871 | fill_schema_collation, make_old_format, 0, -1, -1, 0, 0}, | 2871 | fill_schema_collation, make_old_format, 0, -1, -1, 0, 0}, |
1315 | 2872 | {"COLLATION_CHARACTER_SET_APPLICABILITY", coll_charset_app_fields_info, | 2872 | {"COLLATION_CHARACTER_SET_APPLICABILITY", coll_charset_app_fields_info, |
1317 | 2873 | @@ -6853,6 +7261,8 @@ | 2873 | @@ -6855,6 +7263,8 @@ |
1318 | 2874 | OPTIMIZE_I_S_TABLE|OPEN_VIEW_FULL}, | 2874 | OPTIMIZE_I_S_TABLE|OPEN_VIEW_FULL}, |
1319 | 2875 | {"COLUMN_PRIVILEGES", column_privileges_fields_info, create_schema_table, | 2875 | {"COLUMN_PRIVILEGES", column_privileges_fields_info, create_schema_table, |
1320 | 2876 | fill_schema_column_privileges, 0, 0, -1, -1, 0, 0}, | 2876 | fill_schema_column_privileges, 0, 0, -1, -1, 0, 0}, |
1321 | @@ -2879,7 +2879,7 @@ | |||
1322 | 2879 | {"ENGINES", engines_fields_info, create_schema_table, | 2879 | {"ENGINES", engines_fields_info, create_schema_table, |
1323 | 2880 | fill_schema_engines, make_old_format, 0, -1, -1, 0, 0}, | 2880 | fill_schema_engines, make_old_format, 0, -1, -1, 0, 0}, |
1324 | 2881 | #ifdef HAVE_EVENT_SCHEDULER | 2881 | #ifdef HAVE_EVENT_SCHEDULER |
1326 | 2882 | @@ -6909,11 +7319,17 @@ | 2882 | @@ -6911,11 +7321,17 @@ |
1327 | 2883 | get_all_tables, make_table_names_old_format, 0, 1, 2, 1, 0}, | 2883 | get_all_tables, make_table_names_old_format, 0, 1, 2, 1, 0}, |
1328 | 2884 | {"TABLE_PRIVILEGES", table_privileges_fields_info, create_schema_table, | 2884 | {"TABLE_PRIVILEGES", table_privileges_fields_info, create_schema_table, |
1329 | 2885 | fill_schema_table_privileges, 0, 0, -1, -1, 0, 0}, | 2885 | fill_schema_table_privileges, 0, 0, -1, -1, 0, 0}, |
Oleg,
Please remove the double 'diff' line:
=== modified file 'innodb_ expand_ fast_index_ creation. patch' expand_ fast_index_ creation. patch 2011-04-12 10:51:41 +0000 expand_ fast_index_ creation. patch 2011-05-11 12:57:50 +0000 client_ priv.h b/client/ client_ priv.h client_ priv.h b/client/ client_ priv.h
--- innodb_
+++ innodb_
@@ -5,9 +5,10 @@
# ALTER TABLE and OPTIMIZE TABLE.
#
diff -ruN a/client/
+diff -ruN a/client/