Merge lp:~percona-dev/percona-server/5.1.57-second-part into lp:~percona-dev/percona-server/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
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.

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

Oleg,

Please remove the double 'diff' line:

=== modified file 'innodb_expand_fast_index_creation.patch'
--- innodb_expand_fast_index_creation.patch 2011-04-12 10:51:41 +0000
+++ innodb_expand_fast_index_creation.patch 2011-05-11 12:57:50 +0000
@@ -5,9 +5,10 @@
 # ALTER TABLE and OPTIMIZE TABLE.
 #
 diff -ruN a/client/client_priv.h b/client/client_priv.h
+diff -ruN a/client/client_priv.h b/client/client_priv.h

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

Subscribers

People subscribed via source and target branches