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
=== modified file 'Makefile'
--- Makefile 2011-04-19 00:25:41 +0000
+++ Makefile 2011-05-12 15:57:55 +0000
@@ -1,6 +1,6 @@
1FETCH_CMD=wget1FETCH_CMD=wget
2MASTER_SITE=http://www.percona.com/downloads/community2MASTER_SITE=http://www.percona.com/downloads/community
3MYSQL_VERSION=5.1.563MYSQL_VERSION=5.1.57
4PERCONA_SERVER_VERSION=rel12.74PERCONA_SERVER_VERSION=rel12.7
5PERCONA_SERVER ?=Percona-Server-$(MYSQL_VERSION)5PERCONA_SERVER ?=Percona-Server-$(MYSQL_VERSION)
66
77
=== modified file 'bug580324.patch'
--- bug580324.patch 2010-11-26 11:54:21 +0000
+++ bug580324.patch 2011-05-12 15:57:55 +0000
@@ -26,7 +26,7 @@
26diff -ruN a/sql/sql_parse.cc b/sql/sql_parse.cc26diff -ruN a/sql/sql_parse.cc b/sql/sql_parse.cc
27--- a/sql/sql_parse.cc 2010-05-27 19:54:18.000000000 +040027--- a/sql/sql_parse.cc 2010-05-27 19:54:18.000000000 +0400
28+++ b/sql/sql_parse.cc 2010-05-27 20:03:20.000000000 +040028+++ b/sql/sql_parse.cc 2010-05-27 20:03:20.000000000 +0400
29@@ -1327,10 +1327,12 @@29@@ -1341,10 +1341,12 @@
30 break;30 break;
31 #else31 #else
32 {32 {
@@ -41,7 +41,7 @@
41 41
42 /* used as fields initializator */42 /* used as fields initializator */
43 lex_start(thd);43 lex_start(thd);
44@@ -1342,26 +1344,22 @@44@@ -1356,26 +1358,22 @@
45 /*45 /*
46 We have name + wildcard in packet, separated by endzero46 We have name + wildcard in packet, separated by endzero
47 */47 */
@@ -79,7 +79,7 @@
79 79
80 if (is_schema_db(table_list.db, table_list.db_length))80 if (is_schema_db(table_list.db, table_list.db_length))
81 {81 {
82@@ -1370,9 +1368,6 @@82@@ -1384,9 +1382,6 @@
83 table_list.schema_table= schema_table;83 table_list.schema_table= schema_table;
84 }84 }
85 85
8686
=== modified file 'bugfix48929.patch'
--- bugfix48929.patch 2011-03-13 21:40:40 +0000
+++ bugfix48929.patch 2011-05-12 15:57:55 +0000
@@ -56,7 +56,7 @@
56 #define mysqld_charset &my_charset_latin156 #define mysqld_charset &my_charset_latin1
57 57
58 #ifdef HAVE_purify58 #ifdef HAVE_purify
59@@ -5118,28 +5122,49 @@59@@ -5124,28 +5128,49 @@
60 {60 {
61 my_socket sock,new_sock;61 my_socket sock,new_sock;
62 uint error_count=0;62 uint error_count=0;
@@ -109,7 +109,7 @@
109 #ifdef HAVE_FCNTL109 #ifdef HAVE_FCNTL
110 socket_flags=fcntl(unix_sock, F_GETFL, 0);110 socket_flags=fcntl(unix_sock, F_GETFL, 0);
111 #endif111 #endif
112@@ -5149,12 +5174,15 @@112@@ -5155,12 +5180,15 @@
113 MAYBE_BROKEN_SYSCALL;113 MAYBE_BROKEN_SYSCALL;
114 while (!abort_loop)114 while (!abort_loop)
115 {115 {
@@ -130,7 +130,7 @@
130 {130 {
131 if (socket_errno != SOCKET_EINTR)131 if (socket_errno != SOCKET_EINTR)
132 {132 {
133@@ -5164,7 +5192,7 @@133@@ -5170,7 +5198,7 @@
134 MAYBE_BROKEN_SYSCALL134 MAYBE_BROKEN_SYSCALL
135 continue;135 continue;
136 }136 }
@@ -139,7 +139,7 @@
139 if (abort_loop)139 if (abort_loop)
140 {140 {
141 MAYBE_BROKEN_SYSCALL;141 MAYBE_BROKEN_SYSCALL;
142@@ -5172,6 +5200,21 @@142@@ -5178,6 +5206,21 @@
143 }143 }
144 144
145 /* Is this a new connection request ? */145 /* Is this a new connection request ? */
@@ -161,7 +161,7 @@
161 #ifdef HAVE_SYS_UN_H161 #ifdef HAVE_SYS_UN_H
162 if (FD_ISSET(unix_sock,&readFDs))162 if (FD_ISSET(unix_sock,&readFDs))
163 {163 {
164@@ -5179,11 +5222,12 @@164@@ -5185,11 +5228,12 @@
165 flags= socket_flags;165 flags= socket_flags;
166 }166 }
167 else167 else
168168
=== 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-12 15:57:55 +0000
@@ -7,7 +7,7 @@
7diff -ruN a/client/client_priv.h b/client/client_priv.h7diff -ruN a/client/client_priv.h b/client/client_priv.h
8--- a/client/client_priv.h 2011-04-11 23:22:54.000000000 +04008--- a/client/client_priv.h 2011-04-11 23:22:54.000000000 +0400
9+++ b/client/client_priv.h 2011-04-11 23:22:55.000000000 +04009+++ b/client/client_priv.h 2011-04-11 23:22:55.000000000 +0400
10@@ -96,5 +96,6 @@10@@ -97,5 +97,6 @@
11 OPT_FIRST_SLAVE,11 OPT_FIRST_SLAVE,
12 OPT_ALL,12 OPT_ALL,
13 OPT_NO_REMOVE_EOL_CARRET,13 OPT_NO_REMOVE_EOL_CARRET,
@@ -55,7 +55,7 @@
55 {"insert-ignore", OPT_INSERT_IGNORE, "Insert rows with INSERT IGNORE.",55 {"insert-ignore", OPT_INSERT_IGNORE, "Insert rows with INSERT IGNORE.",
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,
57 0, 0},57 0, 0},
58@@ -2240,6 +2250,77 @@58@@ -2246,6 +2256,77 @@
59 }59 }
60 60
61 /*61 /*
@@ -133,7 +133,7 @@
133 get_table_structure -- retrievs database structure, prints out corresponding133 get_table_structure -- retrievs database structure, prints out corresponding
134 CREATE statement and fills out insert_pat if the table is the type we will134 CREATE statement and fills out insert_pat if the table is the type we will
135 be dumping.135 be dumping.
136@@ -2480,6 +2561,9 @@136@@ -2486,6 +2567,9 @@
137 137
138 row= mysql_fetch_row(result);138 row= mysql_fetch_row(result);
139 139
@@ -143,7 +143,7 @@
143 fprintf(sql_file, (opt_compatible_mode & 3) ? "%s;\n" :143 fprintf(sql_file, (opt_compatible_mode & 3) ? "%s;\n" :
144 "/*!40101 SET @saved_cs_client = @@character_set_client */;\n"144 "/*!40101 SET @saved_cs_client = @@character_set_client */;\n"
145 "/*!40101 SET character_set_client = utf8 */;\n"145 "/*!40101 SET character_set_client = utf8 */;\n"
146@@ -3572,6 +3656,27 @@146@@ -3578,6 +3662,27 @@
147 goto err;147 goto err;
148 }148 }
149 149
@@ -449,7 +449,7 @@
449diff -ruN a/sql/sql_table.cc b/sql/sql_table.cc449diff -ruN a/sql/sql_table.cc b/sql/sql_table.cc
450--- a/sql/sql_table.cc 2011-04-11 23:22:40.000000000 +0400450--- a/sql/sql_table.cc 2011-04-11 23:22:40.000000000 +0400
451+++ b/sql/sql_table.cc 2011-04-11 23:44:23.000000000 +0400451+++ b/sql/sql_table.cc 2011-04-11 23:44:23.000000000 +0400
452@@ -2558,7 +2558,7 @@452@@ -2559,7 +2559,7 @@
453 file The handler for the new table.453 file The handler for the new table.
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.
455 key_count OUT The number of elements in the array.455 key_count OUT The number of elements in the array.
@@ -458,7 +458,7 @@
458 458
459 DESCRIPTION459 DESCRIPTION
460 Prepares the table and key structures for table creation.460 Prepares the table and key structures for table creation.
461@@ -2913,7 +2913,6 @@461@@ -2914,7 +2914,6 @@
462 }462 }
463 463
464 /* Create keys */464 /* Create keys */
@@ -466,7 +466,7 @@
466 List_iterator<Key> key_iterator(alter_info->key_list);466 List_iterator<Key> key_iterator(alter_info->key_list);
467 List_iterator<Key> key_iterator2(alter_info->key_list);467 List_iterator<Key> key_iterator2(alter_info->key_list);
468 uint key_parts=0, fk_key_count=0;468 uint key_parts=0, fk_key_count=0;
469@@ -3013,6 +3012,14 @@469@@ -3014,6 +3013,14 @@
470 if (!*key_info_buffer || ! key_part_info)470 if (!*key_info_buffer || ! key_part_info)
471 DBUG_RETURN(TRUE); // Out of memory471 DBUG_RETURN(TRUE); // Out of memory
472 472
@@ -481,7 +481,7 @@
481 key_iterator.rewind();481 key_iterator.rewind();
482 key_number=0;482 key_number=0;
483 for (; (key=key_iterator++) ; key_number++)483 for (; (key=key_iterator++) ; key_number++)
484@@ -3382,8 +3389,26 @@484@@ -3392,8 +3399,26 @@
485 my_error(ER_TOO_LONG_KEY,MYF(0),max_key_length);485 my_error(ER_TOO_LONG_KEY,MYF(0),max_key_length);
486 DBUG_RETURN(TRUE);486 DBUG_RETURN(TRUE);
487 }487 }
@@ -508,7 +508,7 @@
508 if (!unique_key && !primary_key &&508 if (!unique_key && !primary_key &&
509 (file->ha_table_flags() & HA_REQUIRE_PRIMARY_KEY))509 (file->ha_table_flags() & HA_REQUIRE_PRIMARY_KEY))
510 {510 {
511@@ -6081,6 +6106,10 @@511@@ -6091,6 +6116,10 @@
512 List<Create_field> new_create_list;512 List<Create_field> new_create_list;
513 /* New key definitions are added here */513 /* New key definitions are added here */
514 List<Key> new_key_list;514 List<Key> new_key_list;
@@ -519,7 +519,7 @@
519 List_iterator<Alter_drop> drop_it(alter_info->drop_list);519 List_iterator<Alter_drop> drop_it(alter_info->drop_list);
520 List_iterator<Create_field> def_it(alter_info->create_list);520 List_iterator<Create_field> def_it(alter_info->create_list);
521 List_iterator<Alter_column> alter_it(alter_info->alter_list);521 List_iterator<Alter_column> alter_it(alter_info->alter_list);
522@@ -6093,6 +6122,7 @@522@@ -6103,6 +6132,7 @@
523 uint used_fields= create_info->used_fields;523 uint used_fields= create_info->used_fields;
524 KEY *key_info=table->key_info;524 KEY *key_info=table->key_info;
525 bool rc= TRUE;525 bool rc= TRUE;
@@ -527,7 +527,7 @@
527 527
528 DBUG_ENTER("mysql_prepare_alter_table");528 DBUG_ENTER("mysql_prepare_alter_table");
529 529
530@@ -6120,6 +6150,7 @@530@@ -6130,6 +6160,7 @@
531 char *tablespace= static_cast<char *>(thd->alloc(FN_LEN + 1));531 char *tablespace= static_cast<char *>(thd->alloc(FN_LEN + 1));
532 /*532 /*
533 Regular alter table of disk stored table (no tablespace/storage change)533 Regular alter table of disk stored table (no tablespace/storage change)
@@ -535,7 +535,7 @@
535 Copy tablespace name535 Copy tablespace name
536 */536 */
537 if (tablespace &&537 if (tablespace &&
538@@ -6270,7 +6301,23 @@538@@ -6280,7 +6311,23 @@
539 /*539 /*
540 Collect all keys which isn't in drop list. Add only those540 Collect all keys which isn't in drop list. Add only those
541 for which some fields exists.541 for which some fields exists.
@@ -560,7 +560,7 @@
560 560
561 for (uint i=0 ; i < table->s->keys ; i++,key_info++)561 for (uint i=0 ; i < table->s->keys ; i++,key_info++)
562 {562 {
563@@ -6373,6 +6420,8 @@563@@ -6383,6 +6430,8 @@
564 test(key_info->flags & HA_GENERATED_KEY),564 test(key_info->flags & HA_GENERATED_KEY),
565 key_parts);565 key_parts);
566 new_key_list.push_back(key);566 new_key_list.push_back(key);
@@ -569,7 +569,7 @@
569 }569 }
570 }570 }
571 {571 {
572@@ -6380,7 +6429,21 @@572@@ -6390,7 +6439,21 @@
573 while ((key=key_it++)) // Add new keys573 while ((key=key_it++)) // Add new keys
574 {574 {
575 if (key->type != Key::FOREIGN_KEY)575 if (key->type != Key::FOREIGN_KEY)
@@ -592,7 +592,7 @@
592 if (key->name &&592 if (key->name &&
593 !my_strcasecmp(system_charset_info,key->name,primary_key_name))593 !my_strcasecmp(system_charset_info,key->name,primary_key_name))
594 {594 {
595@@ -6429,12 +6492,100 @@595@@ -6439,12 +6502,100 @@
596 rc= FALSE;596 rc= FALSE;
597 alter_info->create_list.swap(new_create_list);597 alter_info->create_list.swap(new_create_list);
598 alter_info->key_list.swap(new_key_list);598 alter_info->key_list.swap(new_key_list);
@@ -693,7 +693,7 @@
693 Alter table693 Alter table
694 694
695 SYNOPSIS695 SYNOPSIS
696@@ -7218,6 +7369,12 @@696@@ -7228,6 +7379,12 @@
697 else697 else
698 create_info->data_file_name=create_info->index_file_name=0;698 create_info->data_file_name=create_info->index_file_name=0;
699 699
@@ -706,7 +706,7 @@
706 DEBUG_SYNC(thd, "alter_table_before_create_table_no_lock");706 DEBUG_SYNC(thd, "alter_table_before_create_table_no_lock");
707 /*707 /*
708 Create a table with a temporary name.708 Create a table with a temporary name.
709@@ -7274,15 +7431,33 @@709@@ -7284,15 +7441,33 @@
710 */710 */
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))
712 {712 {
713713
=== modified file 'innodb_fast_shutdown.patch'
--- innodb_fast_shutdown.patch 2011-03-13 21:40:40 +0000
+++ innodb_fast_shutdown.patch 2011-05-12 15:57:55 +0000
@@ -200,7 +200,7 @@
200 200
201 srv_lock_timeout_active = TRUE;201 srv_lock_timeout_active = TRUE;
202 202
203@@ -2552,7 +2555,7 @@203@@ -2561,7 +2564,7 @@
204 204
205 fflush(stderr);205 fflush(stderr);
206 206
@@ -209,7 +209,7 @@
209 209
210 if (srv_shutdown_state < SRV_SHUTDOWN_CLEANUP) {210 if (srv_shutdown_state < SRV_SHUTDOWN_CLEANUP) {
211 211
212@@ -2596,7 +2599,7 @@212@@ -2605,7 +2608,7 @@
213 last_dump_time = time(NULL);213 last_dump_time = time(NULL);
214 214
215 loop:215 loop:
@@ -218,7 +218,7 @@
218 218
219 if (srv_shutdown_state >= SRV_SHUTDOWN_CLEANUP) {219 if (srv_shutdown_state >= SRV_SHUTDOWN_CLEANUP) {
220 goto exit_func;220 goto exit_func;
221@@ -2779,7 +2782,7 @@221@@ -2788,7 +2791,7 @@
222 if (!skip_sleep) {222 if (!skip_sleep) {
223 if (next_itr_time > cur_time) {223 if (next_itr_time > cur_time) {
224 224
@@ -227,7 +227,7 @@
227 srv_main_sleeps++;227 srv_main_sleeps++;
228 228
229 /*229 /*
230@@ -3486,9 +3489,10 @@230@@ -3495,9 +3498,10 @@
231 mutex_exit(&kernel_mutex);231 mutex_exit(&kernel_mutex);
232 232
233 sleep_ms = 10;233 sleep_ms = 10;
234234
=== modified file 'log_connection_error.patch'
--- log_connection_error.patch 2011-03-13 21:40:40 +0000
+++ log_connection_error.patch 2011-05-12 15:57:55 +0000
@@ -45,7 +45,7 @@
45diff -ruN a/sql/mysqld.cc b/sql/mysqld.cc45diff -ruN a/sql/mysqld.cc b/sql/mysqld.cc
46--- a/sql/mysqld.cc 2010-07-28 16:47:47.105319218 +040046--- a/sql/mysqld.cc 2010-07-28 16:47:47.105319218 +0400
47+++ b/sql/mysqld.cc 2010-07-28 16:47:47.644101813 +040047+++ b/sql/mysqld.cc 2010-07-28 16:47:47.644101813 +0400
48@@ -5064,6 +5064,10 @@48@@ -5070,6 +5070,10 @@
49 49
50 DBUG_PRINT("error",("Too many connections"));50 DBUG_PRINT("error",("Too many connections"));
51 close_connection(thd, ER_CON_COUNT_ERROR, 1);51 close_connection(thd, ER_CON_COUNT_ERROR, 1);
@@ -56,7 +56,7 @@
56 statistic_increment(denied_connections, &LOCK_status);56 statistic_increment(denied_connections, &LOCK_status);
57 delete thd;57 delete thd;
58 DBUG_VOID_RETURN;58 DBUG_VOID_RETURN;
59@@ -5451,6 +5455,10 @@59@@ -5457,6 +5461,10 @@
60 if (!(thd->net.vio= vio_new_win32pipe(hConnectedPipe)) ||60 if (!(thd->net.vio= vio_new_win32pipe(hConnectedPipe)) ||
61 my_net_init(&thd->net, thd->net.vio))61 my_net_init(&thd->net, thd->net.vio))
62 {62 {
@@ -67,7 +67,7 @@
67 close_connection(thd, ER_OUT_OF_RESOURCES, 1);67 close_connection(thd, ER_OUT_OF_RESOURCES, 1);
68 delete thd;68 delete thd;
69 continue;69 continue;
70@@ -5646,6 +5654,10 @@70@@ -5652,6 +5660,10 @@
71 event_conn_closed)) ||71 event_conn_closed)) ||
72 my_net_init(&thd->net, thd->net.vio))72 my_net_init(&thd->net, thd->net.vio))
73 {73 {
7474
=== modified file 'mysql-syslog.patch'
--- mysql-syslog.patch 2011-03-13 21:40:40 +0000
+++ mysql-syslog.patch 2011-05-12 15:57:55 +0000
@@ -8,7 +8,7 @@
8diff -ruN a/client/client_priv.h b/client/client_priv.h8diff -ruN a/client/client_priv.h b/client/client_priv.h
9--- a/client/client_priv.h 2011-01-07 18:46:05.000000000 +03009--- a/client/client_priv.h 2011-01-07 18:46:05.000000000 +0300
10+++ b/client/client_priv.h 2011-01-07 18:53:03.000000000 +030010+++ b/client/client_priv.h 2011-01-07 18:53:03.000000000 +0300
11@@ -90,6 +90,9 @@11@@ -91,6 +91,9 @@
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,
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,
14 OPT_WRITE_BINLOG, OPT_DUMP_DATE,14 OPT_WRITE_BINLOG, OPT_DUMP_DATE,
1515
=== modified file 'mysql_remove_eol_carret.patch'
--- mysql_remove_eol_carret.patch 2011-03-13 21:40:40 +0000
+++ mysql_remove_eol_carret.patch 2011-05-12 15:57:55 +0000
@@ -8,7 +8,7 @@
8diff -ruN a/client/client_priv.h b/client/client_priv.h8diff -ruN a/client/client_priv.h b/client/client_priv.h
9--- a/client/client_priv.h 2010-07-06 15:06:50.000000000 -07009--- a/client/client_priv.h 2010-07-06 15:06:50.000000000 -0700
10+++ b/client/client_priv.h 2010-07-06 15:07:18.000000000 -070010+++ b/client/client_priv.h 2010-07-06 15:07:18.000000000 -0700
11@@ -95,5 +95,6 @@11@@ -96,5 +96,6 @@
12 #endif12 #endif
13 OPT_FIRST_SLAVE,13 OPT_FIRST_SLAVE,
14 OPT_ALL,14 OPT_ALL,
1515
=== modified file 'normalize_patches.sh'
--- normalize_patches.sh 2011-03-13 21:40:40 +0000
+++ normalize_patches.sh 2011-05-12 15:57:55 +0000
@@ -1,6 +1,6 @@
1#!/usr/bin/env bash1#!/usr/bin/env bash
2#ls -1 *.patch | grep -v repair | xargs bzr revert2#ls -1 *.patch | grep -v repair | xargs bzr revert
3MYSQL_VERSION=5.1.563MYSQL_VERSION=5.1.57
4MYSQL_DIR=mysql-${MYSQL_VERSION}4MYSQL_DIR=mysql-${MYSQL_VERSION}
5MYSQL_TAR_GZ=${MYSQL_DIR}.tar.gz5MYSQL_TAR_GZ=${MYSQL_DIR}.tar.gz
6echo "===== Prepare source code for patch's adaptation...";6echo "===== Prepare source code for patch's adaptation...";
77
=== modified file 'query_cache_enhance.patch'
--- query_cache_enhance.patch 2011-03-13 21:40:40 +0000
+++ query_cache_enhance.patch 2011-05-12 15:57:55 +0000
@@ -26,7 +26,7 @@
26diff -ruN a/sql/mysqld.cc b/sql/mysqld.cc26diff -ruN a/sql/mysqld.cc b/sql/mysqld.cc
27--- a/sql/mysqld.cc 2010-07-28 16:47:41.134069529 +040027--- a/sql/mysqld.cc 2010-07-28 16:47:41.134069529 +0400
28+++ b/sql/mysqld.cc 2010-07-28 16:47:41.704071184 +040028+++ b/sql/mysqld.cc 2010-07-28 16:47:41.704071184 +0400
29@@ -525,6 +525,7 @@29@@ -526,6 +526,7 @@
30 my_bool opt_log_slow_slave_statements= 0;30 my_bool opt_log_slow_slave_statements= 0;
31 my_bool opt_log_slow_sp_statements= 0;31 my_bool opt_log_slow_sp_statements= 0;
32 my_bool opt_log_slow_timestamp_every= 0;32 my_bool opt_log_slow_timestamp_every= 0;
@@ -34,7 +34,7 @@
34 my_bool opt_use_global_long_query_time= 0;34 my_bool opt_use_global_long_query_time= 0;
35 my_bool opt_slow_query_log_microseconds_timestamp= 0;35 my_bool opt_slow_query_log_microseconds_timestamp= 0;
36 my_bool lower_case_file_system= 0;36 my_bool lower_case_file_system= 0;
37@@ -5892,6 +5893,7 @@37@@ -5898,6 +5899,7 @@
38 OPT_THREAD_STATISTICS,38 OPT_THREAD_STATISTICS,
39 OPT_OPTIMIZER_FIX,39 OPT_OPTIMIZER_FIX,
40 OPT_SUPPRESS_LOG_WARNING_1592,40 OPT_SUPPRESS_LOG_WARNING_1592,
@@ -42,7 +42,7 @@
42 OPT_USE_GLOBAL_LONG_QUERY_TIME,42 OPT_USE_GLOBAL_LONG_QUERY_TIME,
43 OPT_USE_GLOBAL_LOG_SLOW_CONTROL,43 OPT_USE_GLOBAL_LOG_SLOW_CONTROL,
44 OPT_SLOW_QUERY_LOG_MICROSECONDS_TIMESTAMP,44 OPT_SLOW_QUERY_LOG_MICROSECONDS_TIMESTAMP,
45@@ -6946,6 +6948,10 @@45@@ -6953,6 +6955,10 @@
46 {"use_global_log_slow_control", OPT_USE_GLOBAL_LOG_SLOW_CONTROL,46 {"use_global_log_slow_control", OPT_USE_GLOBAL_LOG_SLOW_CONTROL,
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]",
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},
@@ -56,7 +56,7 @@
56diff -ruN a/sql/mysql_priv.h b/sql/mysql_priv.h56diff -ruN a/sql/mysql_priv.h b/sql/mysql_priv.h
57--- a/sql/mysql_priv.h 2010-07-28 16:47:41.144071083 +040057--- a/sql/mysql_priv.h 2010-07-28 16:47:41.144071083 +0400
58+++ b/sql/mysql_priv.h 2010-07-28 16:47:41.714068826 +040058+++ b/sql/mysql_priv.h 2010-07-28 16:47:41.714068826 +0400
59@@ -2113,6 +2113,7 @@59@@ -2118,6 +2118,7 @@
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;
61 extern my_bool opt_log_slow_sp_statements;61 extern my_bool opt_log_slow_sp_statements;
62 extern my_bool opt_log_slow_timestamp_every;62 extern my_bool opt_log_slow_timestamp_every;
@@ -119,7 +119,7 @@
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);
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);
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);
122@@ -571,9 +573,6 @@122@@ -581,9 +583,6 @@
123 &SV::div_precincrement);123 &SV::div_precincrement);
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",
125 &rpl_recovery_rank);125 &rpl_recovery_rank);
@@ -129,7 +129,7 @@
129 129
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",
131 &SV::range_alloc_block_size);131 &SV::range_alloc_block_size);
132@@ -639,14 +638,20 @@132@@ -649,14 +648,20 @@
133 NULL);133 NULL);
134 134
135 #ifdef HAVE_QUERY_CACHE135 #ifdef HAVE_QUERY_CACHE
@@ -155,7 +155,7 @@
155 static sys_var_thd_bool155 static sys_var_thd_bool
156 sys_query_cache_wlock_invalidate(&vars, "query_cache_wlock_invalidate",156 sys_query_cache_wlock_invalidate(&vars, "query_cache_wlock_invalidate",
157 &SV::query_cache_wlock_invalidate);157 &SV::query_cache_wlock_invalidate);
158@@ -930,6 +935,8 @@158@@ -940,6 +945,8 @@
159 #ifndef EMBEDDED_LIBRARY159 #ifndef EMBEDDED_LIBRARY
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);
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);
@@ -164,7 +164,7 @@
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);
165 165
166 static uchar *slave_get_report_port(THD *thd)166 static uchar *slave_get_report_port(THD *thd)
167@@ -1240,10 +1247,9 @@167@@ -1250,10 +1257,9 @@
168 {}168 {}
169 #endif /* HAVE_REPLICATION */169 #endif /* HAVE_REPLICATION */
170 170
@@ -176,7 +176,7 @@
176 ulong new_cache_size= query_cache.resize(query_cache_size);176 ulong new_cache_size= query_cache.resize(query_cache_size);
177 177
178 /*178 /*
179@@ -1257,11 +1263,35 @@179@@ -1267,11 +1273,35 @@
180 query_cache_size, new_cache_size);180 query_cache_size, new_cache_size);
181 181
182 query_cache_size= new_cache_size;182 query_cache_size= new_cache_size;
@@ -214,7 +214,7 @@
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)
215 {215 {
216 query_cache_min_res_unit= 216 query_cache_min_res_unit=
217@@ -3619,6 +3649,16 @@217@@ -3629,6 +3659,16 @@
218 Functions to handle SET mysql_internal_variable=const_expr218 Functions to handle SET mysql_internal_variable=const_expr
219 *****************************************************************************/219 *****************************************************************************/
220 220
221221
=== modified file 'response-time-distribution.patch'
--- response-time-distribution.patch 2011-03-13 21:40:40 +0000
+++ response-time-distribution.patch 2011-05-12 15:57:55 +0000
@@ -110,7 +110,7 @@
110diff -ruN a/sql/mysql_priv.h b/sql/mysql_priv.h110diff -ruN a/sql/mysql_priv.h b/sql/mysql_priv.h
111--- a/sql/mysql_priv.h 2010-11-01 08:43:57.000000000 +0000111--- a/sql/mysql_priv.h 2010-11-01 08:43:57.000000000 +0000
112+++ b/sql/mysql_priv.h 2010-11-01 08:52:40.000000000 +0000112+++ b/sql/mysql_priv.h 2010-11-01 08:52:40.000000000 +0000
113@@ -2116,6 +2116,11 @@113@@ -2121,6 +2121,11 @@
114 extern my_bool opt_query_cache_strip_comments;114 extern my_bool opt_query_cache_strip_comments;
115 extern my_bool opt_use_global_long_query_time;115 extern my_bool opt_use_global_long_query_time;
116 extern my_bool opt_slow_query_log_microseconds_timestamp;116 extern my_bool opt_slow_query_log_microseconds_timestamp;
@@ -133,7 +133,7 @@
133 #ifdef HAVE_SYS_PRCTL_H133 #ifdef HAVE_SYS_PRCTL_H
134 #include <sys/prctl.h>134 #include <sys/prctl.h>
135 #endif135 #endif
136@@ -528,6 +529,10 @@136@@ -529,6 +530,10 @@
137 my_bool opt_query_cache_strip_comments = 0;137 my_bool opt_query_cache_strip_comments = 0;
138 my_bool opt_use_global_long_query_time= 0;138 my_bool opt_use_global_long_query_time= 0;
139 my_bool opt_slow_query_log_microseconds_timestamp= 0;139 my_bool opt_slow_query_log_microseconds_timestamp= 0;
@@ -144,7 +144,7 @@
144 my_bool lower_case_file_system= 0;144 my_bool lower_case_file_system= 0;
145 my_bool opt_large_pages= 0;145 my_bool opt_large_pages= 0;
146 my_bool opt_myisam_use_mmap= 0;146 my_bool opt_myisam_use_mmap= 0;
147@@ -673,6 +678,7 @@147@@ -679,6 +684,7 @@
148 MY_LOCALE *my_default_lc_time_names;148 MY_LOCALE *my_default_lc_time_names;
149 149
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;
@@ -152,7 +152,7 @@
152 SHOW_COMP_OPTION have_geometry, have_rtree_keys;152 SHOW_COMP_OPTION have_geometry, have_rtree_keys;
153 SHOW_COMP_OPTION have_crypt, have_compress;153 SHOW_COMP_OPTION have_crypt, have_compress;
154 SHOW_COMP_OPTION have_community_features;154 SHOW_COMP_OPTION have_community_features;
155@@ -1383,6 +1389,9 @@155@@ -1389,6 +1395,9 @@
156 free_global_thread_stats();156 free_global_thread_stats();
157 free_global_table_stats();157 free_global_table_stats();
158 free_global_index_stats();158 free_global_index_stats();
@@ -162,7 +162,7 @@
162 #ifdef HAVE_REPLICATION162 #ifdef HAVE_REPLICATION
163 end_slave_list();163 end_slave_list();
164 #endif164 #endif
165@@ -4097,6 +4106,9 @@165@@ -4103,6 +4112,9 @@
166 166
167 init_global_table_stats();167 init_global_table_stats();
168 init_global_index_stats();168 init_global_index_stats();
@@ -172,7 +172,7 @@
172 172
173 /* We have to initialize the storage engines before CSV logging */173 /* We have to initialize the storage engines before CSV logging */
174 if (ha_init())174 if (ha_init())
175@@ -5910,6 +5922,10 @@175@@ -5916,6 +5928,10 @@
176 OPT_USE_GLOBAL_LONG_QUERY_TIME,176 OPT_USE_GLOBAL_LONG_QUERY_TIME,
177 OPT_USE_GLOBAL_LOG_SLOW_CONTROL,177 OPT_USE_GLOBAL_LOG_SLOW_CONTROL,
178 OPT_SLOW_QUERY_LOG_MICROSECONDS_TIMESTAMP,178 OPT_SLOW_QUERY_LOG_MICROSECONDS_TIMESTAMP,
@@ -182,8 +182,8 @@
182+#endif /* HAVE_RESPONSE_TIME_DISTRIBUTION */182+#endif /* HAVE_RESPONSE_TIME_DISTRIBUTION */
183 OPT_IGNORE_BUILTIN_INNODB,183 OPT_IGNORE_BUILTIN_INNODB,
184 OPT_BINLOG_DIRECT_NON_TRANS_UPDATE,184 OPT_BINLOG_DIRECT_NON_TRANS_UPDATE,
185 OPT_DEFAULT_CHARACTER_SET_OLD185 OPT_DEFAULT_CHARACTER_SET_OLD,
186@@ -6980,6 +6996,23 @@186@@ -6987,6 +7003,23 @@
187 "Use microsecond time's precision in slow query log",187 "Use microsecond time's precision in slow query log",
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,
189 0, GET_BOOL, OPT_ARG, 0, 0, 1, 0, 1, 0},189 0, GET_BOOL, OPT_ARG, 0, 0, 1, 0, 1, 0},
@@ -207,7 +207,7 @@
207 {"lower_case_table_names", OPT_LOWER_CASE_TABLE_NAMES,207 {"lower_case_table_names", OPT_LOWER_CASE_TABLE_NAMES,
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 "
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-"
210@@ -8194,6 +8227,11 @@210@@ -8208,6 +8241,11 @@
211 #else211 #else
212 have_query_cache=SHOW_OPTION_NO;212 have_query_cache=SHOW_OPTION_NO;
213 #endif213 #endif
@@ -670,7 +670,7 @@
670diff -ruN a/sql/set_var.cc b/sql/set_var.cc670diff -ruN a/sql/set_var.cc b/sql/set_var.cc
671--- a/sql/set_var.cc 2010-11-01 08:43:57.000000000 +0000671--- a/sql/set_var.cc 2010-11-01 08:43:57.000000000 +0000
672+++ b/sql/set_var.cc 2010-11-01 08:52:40.000000000 +0000672+++ b/sql/set_var.cc 2010-11-01 08:52:40.000000000 +0000
673@@ -1007,6 +1007,14 @@673@@ -1017,6 +1017,14 @@
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;
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",
676 &opt_slow_query_log_microseconds_timestamp);676 &opt_slow_query_log_microseconds_timestamp);
@@ -696,7 +696,7 @@
696 696
697 /**697 /**
698 @defgroup Runtime_Environment Runtime Environment698 @defgroup Runtime_Environment Runtime Environment
699@@ -1750,23 +1751,37 @@699@@ -1764,23 +1765,37 @@
700 Do not log administrative statements unless the appropriate option is700 Do not log administrative statements unless the appropriate option is
701 set.701 set.
702 */702 */
@@ -747,7 +747,7 @@
747 }747 }
748 }748 }
749 DBUG_VOID_RETURN;749 DBUG_VOID_RETURN;
750@@ -1891,6 +1906,7 @@750@@ -1905,6 +1920,7 @@
751 case SCH_CHARSETS:751 case SCH_CHARSETS:
752 case SCH_ENGINES:752 case SCH_ENGINES:
753 case SCH_COLLATIONS:753 case SCH_COLLATIONS:
@@ -755,7 +755,7 @@
755 case SCH_COLLATION_CHARACTER_SET_APPLICABILITY:755 case SCH_COLLATION_CHARACTER_SET_APPLICABILITY:
756 case SCH_USER_PRIVILEGES:756 case SCH_USER_PRIVILEGES:
757 case SCH_SCHEMA_PRIVILEGES:757 case SCH_SCHEMA_PRIVILEGES:
758@@ -7251,6 +7267,12 @@758@@ -7265,6 +7281,12 @@
759 init_global_index_stats();759 init_global_index_stats();
760 pthread_mutex_unlock(&LOCK_global_index_stats);760 pthread_mutex_unlock(&LOCK_global_index_stats);
761 }761 }
@@ -779,7 +779,7 @@
779 #include "debug_sync.h"779 #include "debug_sync.h"
780 780
781 #define STR_OR_NIL(S) ((S) ? (S) : "<nil>")781 #define STR_OR_NIL(S) ((S) ? (S) : "<nil>")
782@@ -7488,6 +7489,13 @@782@@ -7490,6 +7491,13 @@
783 783
784 */784 */
785 785
@@ -793,7 +793,7 @@
793 ST_SCHEMA_TABLE schema_tables[]=793 ST_SCHEMA_TABLE schema_tables[]=
794 {794 {
795 {"CHARACTER_SETS", charsets_fields_info, create_schema_table, 795 {"CHARACTER_SETS", charsets_fields_info, create_schema_table,
796@@ -7542,6 +7550,13 @@796@@ -7544,6 +7552,13 @@
797 1, 9, 0, OPEN_TABLE_ONLY},797 1, 9, 0, OPEN_TABLE_ONLY},
798 {"ROUTINES", proc_fields_info, create_schema_table, 798 {"ROUTINES", proc_fields_info, create_schema_table,
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},
800800
=== modified file 'show_slave_status_nolock.patch'
--- show_slave_status_nolock.patch 2011-03-13 21:40:40 +0000
+++ show_slave_status_nolock.patch 2011-05-12 15:57:55 +0000
@@ -29,7 +29,7 @@
29diff -ruN a/sql/mysqld.cc b/sql/mysqld.cc29diff -ruN a/sql/mysqld.cc b/sql/mysqld.cc
30--- a/sql/mysqld.cc 2010-11-17 18:45:47.000000000 +030030--- a/sql/mysqld.cc 2010-11-17 18:45:47.000000000 +0300
31+++ b/sql/mysqld.cc 2010-11-17 18:46:55.000000000 +030031+++ b/sql/mysqld.cc 2010-11-17 18:46:55.000000000 +0300
32@@ -3257,6 +3257,7 @@32@@ -3263,6 +3263,7 @@
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},
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},
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},
@@ -61,7 +61,7 @@
61 sql_command_flags[SQLCOM_SHOW_CREATE_PROC]= CF_STATUS_COMMAND;61 sql_command_flags[SQLCOM_SHOW_CREATE_PROC]= CF_STATUS_COMMAND;
62 sql_command_flags[SQLCOM_SHOW_CREATE_FUNC]= CF_STATUS_COMMAND;62 sql_command_flags[SQLCOM_SHOW_CREATE_FUNC]= CF_STATUS_COMMAND;
63 sql_command_flags[SQLCOM_SHOW_CREATE_TRIGGER]= CF_STATUS_COMMAND;63 sql_command_flags[SQLCOM_SHOW_CREATE_TRIGGER]= CF_STATUS_COMMAND;
64@@ -2546,12 +2547,16 @@64@@ -2560,12 +2561,16 @@
65 pthread_mutex_unlock(&LOCK_active_mi);65 pthread_mutex_unlock(&LOCK_active_mi);
66 break;66 break;
67 }67 }
@@ -79,7 +79,7 @@
79 if (active_mi != NULL)79 if (active_mi != NULL)
80 {80 {
81 res = show_master_info(thd, active_mi);81 res = show_master_info(thd, active_mi);
82@@ -2562,7 +2567,10 @@82@@ -2576,7 +2581,10 @@
83 WARN_NO_MASTER_INFO, ER(WARN_NO_MASTER_INFO));83 WARN_NO_MASTER_INFO, ER(WARN_NO_MASTER_INFO));
84 my_ok(thd);84 my_ok(thd);
85 }85 }
8686
=== modified file 'slow_extended.patch'
--- slow_extended.patch 2011-03-11 15:25:38 +0000
+++ slow_extended.patch 2011-05-12 15:57:55 +0000
@@ -547,7 +547,7 @@
547 /*547 /*
548 Some defines for exit codes for ::is_equal class functions.548 Some defines for exit codes for ::is_equal class functions.
549 */549 */
550@@ -1997,6 +2097,10 @@550@@ -2002,6 +2102,10 @@
551 extern my_bool opt_secure_auth;551 extern my_bool opt_secure_auth;
552 extern char* opt_secure_file_priv;552 extern char* opt_secure_file_priv;
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;
@@ -561,7 +561,7 @@
561diff -ruN a/sql/mysqld.cc b/sql/mysqld.cc561diff -ruN a/sql/mysqld.cc b/sql/mysqld.cc
562--- a/sql/mysqld.cc 2010-12-24 13:57:33.000000000 +0300562--- a/sql/mysqld.cc 2010-12-24 13:57:33.000000000 +0300
563+++ b/sql/mysqld.cc 2010-12-24 13:57:45.000000000 +0300563+++ b/sql/mysqld.cc 2010-12-24 13:57:45.000000000 +0300
564@@ -519,6 +519,10 @@564@@ -520,6 +520,10 @@
565 char* opt_secure_file_priv= 0;565 char* opt_secure_file_priv= 0;
566 my_bool opt_log_slow_admin_statements= 0;566 my_bool opt_log_slow_admin_statements= 0;
567 my_bool opt_log_slow_slave_statements= 0;567 my_bool opt_log_slow_slave_statements= 0;
@@ -572,7 +572,7 @@
572 my_bool lower_case_file_system= 0;572 my_bool lower_case_file_system= 0;
573 my_bool opt_large_pages= 0;573 my_bool opt_large_pages= 0;
574 my_bool opt_myisam_use_mmap= 0;574 my_bool opt_myisam_use_mmap= 0;
575@@ -5792,6 +5796,11 @@575@@ -5798,6 +5802,11 @@
576 OPT_SECURE_FILE_PRIV,576 OPT_SECURE_FILE_PRIV,
577 OPT_MIN_EXAMINED_ROW_LIMIT,577 OPT_MIN_EXAMINED_ROW_LIMIT,
578 OPT_LOG_SLOW_SLAVE_STATEMENTS,578 OPT_LOG_SLOW_SLAVE_STATEMENTS,
@@ -584,7 +584,7 @@
584 #if defined(ENABLED_DEBUG_SYNC)584 #if defined(ENABLED_DEBUG_SYNC)
585 OPT_DEBUG_SYNC_TIMEOUT,585 OPT_DEBUG_SYNC_TIMEOUT,
586 #endif /* defined(ENABLED_DEBUG_SYNC) */586 #endif /* defined(ENABLED_DEBUG_SYNC) */
587@@ -5799,6 +5808,9 @@587@@ -5805,6 +5814,9 @@
588 OPT_SLAVE_EXEC_MODE,588 OPT_SLAVE_EXEC_MODE,
589 OPT_GENERAL_LOG_FILE,589 OPT_GENERAL_LOG_FILE,
590 OPT_SLOW_QUERY_LOG_FILE,590 OPT_SLOW_QUERY_LOG_FILE,
@@ -593,8 +593,8 @@
593+ OPT_SLOW_QUERY_LOG_MICROSECONDS_TIMESTAMP,593+ OPT_SLOW_QUERY_LOG_MICROSECONDS_TIMESTAMP,
594 OPT_IGNORE_BUILTIN_INNODB,594 OPT_IGNORE_BUILTIN_INNODB,
595 OPT_BINLOG_DIRECT_NON_TRANS_UPDATE,595 OPT_BINLOG_DIRECT_NON_TRANS_UPDATE,
596 OPT_DEFAULT_CHARACTER_SET_OLD596 OPT_DEFAULT_CHARACTER_SET_OLD,
597@@ -6818,6 +6830,36 @@597@@ -6825,6 +6837,36 @@
598 "microsecond precision.",598 "microsecond precision.",
599 &long_query_time, &long_query_time, 0, GET_DOUBLE,599 &long_query_time, &long_query_time, 0, GET_DOUBLE,
600 REQUIRED_ARG, 10, 0, LONG_TIMEOUT, 0, 0, 0},600 REQUIRED_ARG, 10, 0, LONG_TIMEOUT, 0, 0, 0},
@@ -631,7 +631,7 @@
631 {"lower_case_table_names", OPT_LOWER_CASE_TABLE_NAMES,631 {"lower_case_table_names", OPT_LOWER_CASE_TABLE_NAMES,
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 "
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-"
634@@ -7968,6 +8010,10 @@634@@ -7982,6 +8024,10 @@
635 global_system_variables.old_passwords= 0;635 global_system_variables.old_passwords= 0;
636 global_system_variables.old_alter_table= 0;636 global_system_variables.old_alter_table= 0;
637 global_system_variables.binlog_format= BINLOG_FORMAT_UNSPEC;637 global_system_variables.binlog_format= BINLOG_FORMAT_UNSPEC;
@@ -642,7 +642,7 @@
642 /*642 /*
643 Default behavior for 4.1 and 5.0 is to treat NULL values as unequal643 Default behavior for 4.1 and 5.0 is to treat NULL values as unequal
644 when collecting index statistics for MyISAM tables.644 when collecting index statistics for MyISAM tables.
645@@ -8469,6 +8515,44 @@645@@ -8483,6 +8529,44 @@
646 case OPT_BOOTSTRAP:646 case OPT_BOOTSTRAP:
647 opt_noacl=opt_bootstrap=1;647 opt_noacl=opt_bootstrap=1;
648 break;648 break;
@@ -690,7 +690,7 @@
690diff -ruN a/sql/set_var.cc b/sql/set_var.cc690diff -ruN a/sql/set_var.cc b/sql/set_var.cc
691--- a/sql/set_var.cc 2010-11-29 13:37:59.000000000 +0300691--- a/sql/set_var.cc 2010-11-29 13:37:59.000000000 +0300
692+++ b/sql/set_var.cc 2010-12-24 13:57:45.000000000 +0300692+++ b/sql/set_var.cc 2010-12-24 13:57:45.000000000 +0300
693@@ -160,6 +160,74 @@693@@ -162,6 +162,74 @@
694 694
695 static sys_var_chain vars = { NULL, NULL };695 static sys_var_chain vars = { NULL, NULL };
696 696
@@ -765,7 +765,7 @@
765 static sys_var_thd_ulong765 static sys_var_thd_ulong
766 sys_auto_increment_increment(&vars, "auto_increment_increment",766 sys_auto_increment_increment(&vars, "auto_increment_increment",
767 &SV::auto_increment_increment, NULL, NULL,767 &SV::auto_increment_increment, NULL, NULL,
768@@ -891,6 +959,30 @@768@@ -901,6 +969,30 @@
769 QUERY_LOG_GENERAL);769 QUERY_LOG_GENERAL);
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,
771 QUERY_LOG_SLOW);771 QUERY_LOG_SLOW);
@@ -796,7 +796,7 @@
796 /* Synonym of "slow_query_log" for consistency with SHOW VARIABLES output */796 /* Synonym of "slow_query_log" for consistency with SHOW VARIABLES output */
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",
798 &opt_slow_log, QUERY_LOG_SLOW);798 &opt_slow_log, QUERY_LOG_SLOW);
799@@ -3701,6 +3793,203 @@799@@ -3711,6 +3803,203 @@
800 #endif800 #endif
801 }801 }
802 802
@@ -1309,7 +1309,7 @@
1309diff -ruN a/sql/sql_connect.cc b/sql/sql_connect.cc1309diff -ruN a/sql/sql_connect.cc b/sql/sql_connect.cc
1310--- a/sql/sql_connect.cc 2010-11-29 13:38:17.000000000 +03001310--- a/sql/sql_connect.cc 2010-11-29 13:38:17.000000000 +0300
1311+++ b/sql/sql_connect.cc 2010-12-24 13:57:45.000000000 +03001311+++ b/sql/sql_connect.cc 2010-12-24 13:57:45.000000000 +0300
1312@@ -1143,6 +1143,15 @@1312@@ -1290,6 +1290,15 @@
1313 1313
1314 prepare_new_connection_state(thd);1314 prepare_new_connection_state(thd);
1315 1315
@@ -1328,7 +1328,7 @@
1328diff -ruN a/sql/sql_parse.cc b/sql/sql_parse.cc1328diff -ruN a/sql/sql_parse.cc b/sql/sql_parse.cc
1329--- a/sql/sql_parse.cc 2010-12-24 13:57:33.000000000 +03001329--- a/sql/sql_parse.cc 2010-12-24 13:57:33.000000000 +0300
1330+++ b/sql/sql_parse.cc 2010-12-24 14:06:17.000000000 +03001330+++ b/sql/sql_parse.cc 2010-12-24 14:06:17.000000000 +0300
1331@@ -1685,7 +1685,10 @@1331@@ -1699,7 +1699,10 @@
1332 free_root(thd->mem_root,MYF(MY_KEEP_PREALLOC));1332 free_root(thd->mem_root,MYF(MY_KEEP_PREALLOC));
1333 DBUG_RETURN(error);1333 DBUG_RETURN(error);
1334 }1334 }
@@ -1340,7 +1340,7 @@
1340 1340
1341 void log_slow_statement(THD *thd)1341 void log_slow_statement(THD *thd)
1342 {1342 {
1343@@ -1699,6 +1702,40 @@1343@@ -1713,6 +1716,40 @@
1344 if (unlikely(thd->in_sub_stmt))1344 if (unlikely(thd->in_sub_stmt))
1345 DBUG_VOID_RETURN; // Don't set time for sub stmt1345 DBUG_VOID_RETURN; // Don't set time for sub stmt
1346 1346
@@ -1381,7 +1381,7 @@
1381 /*1381 /*
1382 Do not log administrative statements unless the appropriate option is1382 Do not log administrative statements unless the appropriate option is
1383 set.1383 set.
1384@@ -2085,6 +2122,9 @@1384@@ -2099,6 +2136,9 @@
1385 context.resolve_in_table_list_only(select_lex->1385 context.resolve_in_table_list_only(select_lex->
1386 table_list.first);1386 table_list.first);
1387 1387
@@ -1391,7 +1391,7 @@
1391 /*1391 /*
1392 Reset warning count for each query that uses tables1392 Reset warning count for each query that uses tables
1393 A better approach would be to reset this for any commands1393 A better approach would be to reset this for any commands
1394@@ -5814,6 +5854,21 @@1394@@ -5828,6 +5868,21 @@
1395 thd->rand_used= 0;1395 thd->rand_used= 0;
1396 thd->sent_row_count= thd->examined_row_count= 0;1396 thd->sent_row_count= thd->examined_row_count= 0;
1397 1397
@@ -1416,7 +1416,7 @@
1416diff -ruN a/sql/sql_select.cc b/sql/sql_select.cc1416diff -ruN a/sql/sql_select.cc b/sql/sql_select.cc
1417--- a/sql/sql_select.cc 2010-11-29 13:38:01.000000000 +03001417--- a/sql/sql_select.cc 2010-11-29 13:38:01.000000000 +0300
1418+++ b/sql/sql_select.cc 2010-12-24 13:57:45.000000000 +03001418+++ b/sql/sql_select.cc 2010-12-24 13:57:45.000000000 +0300
1419@@ -6790,7 +6790,10 @@1419@@ -6794,7 +6794,10 @@
1420 {1420 {
1421 join->thd->server_status|=SERVER_QUERY_NO_INDEX_USED;1421 join->thd->server_status|=SERVER_QUERY_NO_INDEX_USED;
1422 if (statistics)1422 if (statistics)
@@ -1427,7 +1427,7 @@
1427 }1427 }
1428 }1428 }
1429 else1429 else
1430@@ -6804,7 +6807,10 @@1430@@ -6808,7 +6811,10 @@
1431 {1431 {
1432 join->thd->server_status|=SERVER_QUERY_NO_INDEX_USED;1432 join->thd->server_status|=SERVER_QUERY_NO_INDEX_USED;
1433 if (statistics)1433 if (statistics)
@@ -1438,7 +1438,7 @@
1438 }1438 }
1439 }1439 }
1440 if (!table->no_keyread)1440 if (!table->no_keyread)
1441@@ -10008,6 +10014,7 @@1441@@ -10012,6 +10018,7 @@
1442 (ulong) rows_limit,test(group)));1442 (ulong) rows_limit,test(group)));
1443 1443
1444 status_var_increment(thd->status_var.created_tmp_tables);1444 status_var_increment(thd->status_var.created_tmp_tables);
@@ -1446,7 +1446,7 @@
1446 1446
1447 if (use_temp_pool && !(test_flags & TEST_KEEP_TMP_TABLES))1447 if (use_temp_pool && !(test_flags & TEST_KEEP_TMP_TABLES))
1448 temp_pool_slot = bitmap_lock_set_next(&temp_pool);1448 temp_pool_slot = bitmap_lock_set_next(&temp_pool);
1449@@ -10889,6 +10896,7 @@1449@@ -10893,6 +10900,7 @@
1450 goto err;1450 goto err;
1451 }1451 }
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);
@@ -1454,7 +1454,7 @@
1454 share->db_record_offset= 1;1454 share->db_record_offset= 1;
1455 DBUG_RETURN(0);1455 DBUG_RETURN(0);
1456 err:1456 err:
1457@@ -10907,6 +10915,14 @@1457@@ -10911,6 +10919,14 @@
1458 save_proc_info=thd->proc_info;1458 save_proc_info=thd->proc_info;
1459 thd_proc_info(thd, "removing tmp table");1459 thd_proc_info(thd, "removing tmp table");
1460 1460
14611461
=== modified file 'sql_no_fcache.patch'
--- sql_no_fcache.patch 2011-04-13 13:44:38 +0000
+++ sql_no_fcache.patch 2011-05-12 15:57:55 +0000
@@ -17,7 +17,7 @@
17 /*17 /*
18 Dynamic_string wrapper functions. In this file use these18 Dynamic_string wrapper functions. In this file use these
19 wrappers, they will terminate the process if there is19 wrappers, they will terminate the process if there is
20@@ -1512,6 +1514,17 @@20@@ -1518,6 +1520,17 @@
21 /* Don't switch charsets for 4.1 and earlier. (bug#34192). */21 /* Don't switch charsets for 4.1 and earlier. (bug#34192). */
22 server_supports_switching_charsets= FALSE;22 server_supports_switching_charsets= FALSE;
23 } 23 }
@@ -35,7 +35,7 @@
35 /*35 /*
36 As we're going to set SQL_MODE, it would be lost on reconnect, so we36 As we're going to set SQL_MODE, it would be lost on reconnect, so we
37 cannot reconnect.37 cannot reconnect.
38@@ -3175,7 +3188,12 @@38@@ -3181,7 +3194,12 @@
39 39
40 /* now build the query string */40 /* now build the query string */
41 41
@@ -49,7 +49,7 @@
49 dynstr_append_checked(&query_string, filename);49 dynstr_append_checked(&query_string, filename);
50 dynstr_append_checked(&query_string, "'");50 dynstr_append_checked(&query_string, "'");
51 51
52@@ -3225,7 +3243,12 @@52@@ -3231,7 +3249,12 @@
53 check_io(md_result_file);53 check_io(md_result_file);
54 }54 }
55 55
@@ -168,8 +168,8 @@
168 168
169 #ifndef DEFAULT_SKIP_THREAD_PRIORITY169 #ifndef DEFAULT_SKIP_THREAD_PRIORITY
170 #define DEFAULT_SKIP_THREAD_PRIORITY 0170 #define DEFAULT_SKIP_THREAD_PRIORITY 0
171@@ -593,6 +598,11 @@171@@ -599,6 +604,11 @@
172 ulong max_connections, max_connect_errors;172 ulong max_long_data_size;
173 uint max_user_connections= 0;173 uint max_user_connections= 0;
174 ulonglong denied_connections = 0;174 ulonglong denied_connections = 0;
175+175+
@@ -180,7 +180,7 @@
180 /**180 /**
181 Limit of the total number of prepared statements in the server.181 Limit of the total number of prepared statements in the server.
182 Is necessary to protect the server against out-of-memory attacks.182 Is necessary to protect the server against out-of-memory attacks.
183@@ -4391,6 +4401,97 @@183@@ -4397,6 +4407,97 @@
184 }184 }
185 #endif//DBUG_OFF185 #endif//DBUG_OFF
186 186
@@ -278,7 +278,7 @@
278 278
279 #ifdef __WIN__279 #ifdef __WIN__
280 int win_main(int argc, char **argv)280 int win_main(int argc, char **argv)
281@@ -4495,6 +4596,10 @@281@@ -4501,6 +4602,10 @@
282 test_lc_time_sz();282 test_lc_time_sz();
283 #endif283 #endif
284 284
@@ -289,7 +289,7 @@
289 /*289 /*
290 We have enough space for fiddling with the argv, continue290 We have enough space for fiddling with the argv, continue
291 */291 */
292@@ -4696,6 +4801,10 @@292@@ -4702,6 +4807,10 @@
293 clean_up_mutexes();293 clean_up_mutexes();
294 my_end(opt_endinfo ? MY_CHECK_ERROR | MY_GIVE_INFO : 0);294 my_end(opt_endinfo ? MY_CHECK_ERROR | MY_GIVE_INFO : 0);
295 295
@@ -300,7 +300,7 @@
300 exit(0);300 exit(0);
301 return(0); /* purecov: deadcode */301 return(0); /* purecov: deadcode */
302 }302 }
303@@ -7853,6 +7962,7 @@303@@ -7867,6 +7976,7 @@
304 {"Delayed_errors", (char*) &delayed_insert_errors, SHOW_LONG},304 {"Delayed_errors", (char*) &delayed_insert_errors, SHOW_LONG},
305 {"Delayed_insert_threads", (char*) &delayed_insert_threads, SHOW_LONG_NOFLUSH},305 {"Delayed_insert_threads", (char*) &delayed_insert_threads, SHOW_LONG_NOFLUSH},
306 {"Delayed_writes", (char*) &delayed_insert_writes, SHOW_LONG},306 {"Delayed_writes", (char*) &delayed_insert_writes, SHOW_LONG},
307307
=== modified file 'suppress_log_warning_1592.patch'
--- suppress_log_warning_1592.patch 2011-03-11 15:25:38 +0000
+++ suppress_log_warning_1592.patch 2011-05-12 15:57:55 +0000
@@ -8,7 +8,7 @@
8diff -ruN a/sql/mysql_priv.h b/sql/mysql_priv.h8diff -ruN a/sql/mysql_priv.h b/sql/mysql_priv.h
9--- a/sql/mysql_priv.h 2010-07-26 18:31:59.056061915 +09009--- a/sql/mysql_priv.h 2010-07-26 18:31:59.056061915 +0900
10+++ b/sql/mysql_priv.h 2010-07-26 18:34:10.205015964 +090010+++ b/sql/mysql_priv.h 2010-07-26 18:34:10.205015964 +0900
11@@ -2106,6 +2106,7 @@11@@ -2111,6 +2111,7 @@
12 extern my_bool opt_readonly, lower_case_file_system;12 extern my_bool opt_readonly, lower_case_file_system;
13 extern my_bool opt_userstat_running, opt_thread_statistics;13 extern my_bool opt_userstat_running, opt_thread_statistics;
14 extern my_bool opt_optimizer_fix;14 extern my_bool opt_optimizer_fix;
@@ -19,7 +19,7 @@
19diff -ruN a/sql/mysqld.cc b/sql/mysqld.cc19diff -ruN a/sql/mysqld.cc b/sql/mysqld.cc
20--- a/sql/mysqld.cc 2010-07-26 18:33:52.988451388 +090020--- a/sql/mysqld.cc 2010-07-26 18:33:52.988451388 +0900
21+++ b/sql/mysqld.cc 2010-07-26 18:34:10.203114167 +090021+++ b/sql/mysqld.cc 2010-07-26 18:34:10.203114167 +0900
22@@ -533,6 +533,7 @@22@@ -534,6 +534,7 @@
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;
24 my_bool opt_userstat_running= 0, opt_thread_statistics= 0;24 my_bool opt_userstat_running= 0, opt_thread_statistics= 0;
25 my_bool opt_optimizer_fix= 0;25 my_bool opt_optimizer_fix= 0;
@@ -27,7 +27,7 @@
27 /*27 /*
28 True if there is at least one per-hour limit for some user, so we should28 True if there is at least one per-hour limit for some user, so we should
29 check them before each query (and possibly reset counters when hour is29 check them before each query (and possibly reset counters when hour is
30@@ -5846,6 +5847,7 @@30@@ -5852,6 +5853,7 @@
31 OPT_USERSTAT_RUNNING,31 OPT_USERSTAT_RUNNING,
32 OPT_THREAD_STATISTICS,32 OPT_THREAD_STATISTICS,
33 OPT_OPTIMIZER_FIX,33 OPT_OPTIMIZER_FIX,
@@ -35,7 +35,7 @@
35 OPT_USE_GLOBAL_LONG_QUERY_TIME,35 OPT_USE_GLOBAL_LONG_QUERY_TIME,
36 OPT_USE_GLOBAL_LOG_SLOW_CONTROL,36 OPT_USE_GLOBAL_LOG_SLOW_CONTROL,
37 OPT_SLOW_QUERY_LOG_MICROSECONDS_TIMESTAMP,37 OPT_SLOW_QUERY_LOG_MICROSECONDS_TIMESTAMP,
38@@ -7351,6 +7353,10 @@38@@ -7365,6 +7367,10 @@
39 "Enable unofficial optimizer fixes.",39 "Enable unofficial optimizer fixes.",
40 (uchar**) &opt_optimizer_fix, (uchar**) &opt_optimizer_fix,40 (uchar**) &opt_optimizer_fix, (uchar**) &opt_optimizer_fix,
41 0, GET_BOOL, NO_ARG, 1, 0, 1, 0, 1, 0},41 0, GET_BOOL, NO_ARG, 1, 0, 1, 0, 1, 0},
@@ -49,7 +49,7 @@
49diff -ruN a/sql/set_var.cc b/sql/set_var.cc49diff -ruN a/sql/set_var.cc b/sql/set_var.cc
50--- a/sql/set_var.cc 2010-07-26 18:31:59.093062279 +090050--- a/sql/set_var.cc 2010-07-26 18:31:59.093062279 +0900
51+++ b/sql/set_var.cc 2010-07-26 18:34:10.210061358 +090051+++ b/sql/set_var.cc 2010-07-26 18:34:10.210061358 +0900
52@@ -563,6 +563,8 @@52@@ -573,6 +573,8 @@
53 &opt_thread_statistics);53 &opt_thread_statistics);
54 static sys_var_bool_ptr sys_optimizer_fix(&vars, "optimizer_fix",54 static sys_var_bool_ptr sys_optimizer_fix(&vars, "optimizer_fix",
55 &opt_optimizer_fix);55 &opt_optimizer_fix);
5656
=== modified file 'userstat.patch'
--- userstat.patch 2011-03-11 15:25:38 +0000
+++ userstat.patch 2011-05-12 15:57:55 +0000
@@ -294,7 +294,7 @@
294diff -ruN a/sql/handler.h b/sql/handler.h294diff -ruN a/sql/handler.h b/sql/handler.h
295--- a/sql/handler.h 2010-10-12 00:34:25.000000000 +0400295--- a/sql/handler.h 2010-10-12 00:34:25.000000000 +0400
296+++ b/sql/handler.h 2010-11-24 17:28:49.000000000 +0300296+++ b/sql/handler.h 2010-11-24 17:28:49.000000000 +0300
297@@ -30,6 +30,10 @@297@@ -29,6 +29,10 @@
298 298
299 #define USING_TRANSACTIONS299 #define USING_TRANSACTIONS
300 300
@@ -305,7 +305,7 @@
305 // the following is for checking tables305 // the following is for checking tables
306 306
307 #define HA_ADMIN_ALREADY_DONE 1307 #define HA_ADMIN_ALREADY_DONE 1
308@@ -1121,6 +1125,9 @@308@@ -1120,6 +1124,9 @@
309 bool locked;309 bool locked;
310 bool implicit_emptied; /* Can be !=0 only if HEAP */310 bool implicit_emptied; /* Can be !=0 only if HEAP */
311 const COND *pushed_cond;311 const COND *pushed_cond;
@@ -315,7 +315,7 @@
315 /**315 /**
316 next_insert_id is the next value which should be inserted into the316 next_insert_id is the next value which should be inserted into the
317 auto_increment column: in a inserting-multi-row statement (like INSERT317 auto_increment column: in a inserting-multi-row statement (like INSERT
318@@ -1158,9 +1165,11 @@318@@ -1157,9 +1164,11 @@
319 ref_length(sizeof(my_off_t)),319 ref_length(sizeof(my_off_t)),
320 ft_handler(0), inited(NONE),320 ft_handler(0), inited(NONE),
321 locked(FALSE), implicit_emptied(0),321 locked(FALSE), implicit_emptied(0),
@@ -329,7 +329,7 @@
329 virtual ~handler(void)329 virtual ~handler(void)
330 {330 {
331 DBUG_ASSERT(locked == FALSE);331 DBUG_ASSERT(locked == FALSE);
332@@ -1284,6 +1293,8 @@332@@ -1283,6 +1292,8 @@
333 {333 {
334 table= table_arg;334 table= table_arg;
335 table_share= share;335 table_share= share;
@@ -338,7 +338,7 @@
338 }338 }
339 virtual double scan_time()339 virtual double scan_time()
340 { return ulonglong2double(stats.data_file_length) / IO_SIZE + 2; }340 { return ulonglong2double(stats.data_file_length) / IO_SIZE + 2; }
341@@ -1628,6 +1639,8 @@341@@ -1627,6 +1638,8 @@
342 virtual bool is_crashed() const { return 0; }342 virtual bool is_crashed() const { return 0; }
343 virtual bool auto_repair() const { return 0; }343 virtual bool auto_repair() const { return 0; }
344 344
@@ -563,7 +563,7 @@
563diff -ruN a/sql/mysql_priv.h b/sql/mysql_priv.h563diff -ruN a/sql/mysql_priv.h b/sql/mysql_priv.h
564--- a/sql/mysql_priv.h 2010-11-24 17:24:51.000000000 +0300564--- a/sql/mysql_priv.h 2010-11-24 17:24:51.000000000 +0300
565+++ b/sql/mysql_priv.h 2010-11-24 17:31:34.000000000 +0300565+++ b/sql/mysql_priv.h 2010-11-24 17:31:34.000000000 +0300
566@@ -1164,7 +1164,17 @@566@@ -1168,7 +1168,17 @@
567 bool multi_delete_set_locks_and_link_aux_tables(LEX *lex);567 bool multi_delete_set_locks_and_link_aux_tables(LEX *lex);
568 void init_max_user_conn(void);568 void init_max_user_conn(void);
569 void init_update_queries(void);569 void init_update_queries(void);
@@ -581,7 +581,7 @@
581 pthread_handler_t handle_bootstrap(void *arg);581 pthread_handler_t handle_bootstrap(void *arg);
582 int mysql_execute_command(THD *thd);582 int mysql_execute_command(THD *thd);
583 bool do_command(THD *thd);583 bool do_command(THD *thd);
584@@ -2040,6 +2050,7 @@584@@ -2044,6 +2054,7 @@
585 extern ulong max_connect_errors, connect_timeout;585 extern ulong max_connect_errors, connect_timeout;
586 extern ulong slave_net_timeout, slave_trans_retries;586 extern ulong slave_net_timeout, slave_trans_retries;
587 extern uint max_user_connections;587 extern uint max_user_connections;
@@ -589,7 +589,7 @@
589 extern ulong what_to_log,flush_time;589 extern ulong what_to_log,flush_time;
590 extern ulong query_buff_size;590 extern ulong query_buff_size;
591 extern ulong max_prepared_stmt_count, prepared_stmt_count;591 extern ulong max_prepared_stmt_count, prepared_stmt_count;
592@@ -2093,6 +2104,7 @@592@@ -2098,6 +2109,7 @@
593 extern my_bool opt_slave_compressed_protocol, use_temp_pool;593 extern my_bool opt_slave_compressed_protocol, use_temp_pool;
594 extern ulong slave_exec_mode_options;594 extern ulong slave_exec_mode_options;
595 extern my_bool opt_readonly, lower_case_file_system;595 extern my_bool opt_readonly, lower_case_file_system;
@@ -597,7 +597,7 @@
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;
598 extern my_bool opt_secure_auth;598 extern my_bool opt_secure_auth;
599 extern char* opt_secure_file_priv;599 extern char* opt_secure_file_priv;
600@@ -2157,6 +2169,15 @@600@@ -2162,6 +2174,15 @@
601 extern struct system_variables max_system_variables;601 extern struct system_variables max_system_variables;
602 extern struct system_status_var global_status_var;602 extern struct system_status_var global_status_var;
603 extern struct rand_struct sql_rand;603 extern struct rand_struct sql_rand;
@@ -616,7 +616,7 @@
616diff -ruN a/sql/mysqld.cc b/sql/mysqld.cc616diff -ruN a/sql/mysqld.cc b/sql/mysqld.cc
617--- a/sql/mysqld.cc 2010-11-24 17:24:51.000000000 +0300617--- a/sql/mysqld.cc 2010-11-24 17:24:51.000000000 +0300
618+++ b/sql/mysqld.cc 2010-11-24 17:31:34.000000000 +0300618+++ b/sql/mysqld.cc 2010-11-24 17:31:34.000000000 +0300
619@@ -531,6 +531,7 @@619@@ -532,6 +532,7 @@
620 uint opt_debug_sync_timeout= 0;620 uint opt_debug_sync_timeout= 0;
621 #endif /* defined(ENABLED_DEBUG_SYNC) */621 #endif /* defined(ENABLED_DEBUG_SYNC) */
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;
@@ -624,15 +624,15 @@
624 /*624 /*
625 True if there is at least one per-hour limit for some user, so we should625 True if there is at least one per-hour limit for some user, so we should
626 check them before each query (and possibly reset counters when hour is626 check them before each query (and possibly reset counters when hour is
627@@ -579,6 +580,7 @@627@@ -585,6 +586,7 @@
628 ulong binlog_cache_use= 0, binlog_cache_disk_use= 0;628 */
629 ulong max_connections, max_connect_errors;629 ulong max_long_data_size;
630 uint max_user_connections= 0;630 uint max_user_connections= 0;
631+ulonglong denied_connections = 0;631+ulonglong denied_connections = 0;
632 /**632 /**
633 Limit of the total number of prepared statements in the server.633 Limit of the total number of prepared statements in the server.
634 Is necessary to protect the server against out-of-memory attacks.634 Is necessary to protect the server against out-of-memory attacks.
635@@ -680,6 +682,10 @@635@@ -686,6 +688,10 @@
636 LOCK_global_system_variables,636 LOCK_global_system_variables,
637 LOCK_user_conn, LOCK_slave_list, LOCK_active_mi,637 LOCK_user_conn, LOCK_slave_list, LOCK_active_mi,
638 LOCK_connection_count;638 LOCK_connection_count;
@@ -643,7 +643,7 @@
643 /**643 /**
644 The below lock protects access to two global server variables:644 The below lock protects access to two global server variables:
645 max_prepared_stmt_count and prepared_stmt_count. These variables645 max_prepared_stmt_count and prepared_stmt_count. These variables
646@@ -1365,6 +1371,11 @@646@@ -1371,6 +1377,11 @@
647 x_free(opt_secure_file_priv);647 x_free(opt_secure_file_priv);
648 bitmap_free(&temp_pool);648 bitmap_free(&temp_pool);
649 free_max_user_conn();649 free_max_user_conn();
@@ -655,7 +655,7 @@
655 #ifdef HAVE_REPLICATION655 #ifdef HAVE_REPLICATION
656 end_slave_list();656 end_slave_list();
657 #endif657 #endif
658@@ -1481,6 +1492,10 @@658@@ -1487,6 +1498,10 @@
659 (void) pthread_cond_destroy(&COND_thread_cache);659 (void) pthread_cond_destroy(&COND_thread_cache);
660 (void) pthread_cond_destroy(&COND_flush_thread_cache);660 (void) pthread_cond_destroy(&COND_flush_thread_cache);
661 (void) pthread_cond_destroy(&COND_manager);661 (void) pthread_cond_destroy(&COND_manager);
@@ -666,7 +666,7 @@
666 }666 }
667 667
668 #endif /*EMBEDDED_LIBRARY*/668 #endif /*EMBEDDED_LIBRARY*/
669@@ -3177,6 +3192,7 @@669@@ -3183,6 +3198,7 @@
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},
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},
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},
@@ -674,7 +674,7 @@
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},
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},
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},
677@@ -3198,6 +3214,7 @@677@@ -3204,6 +3220,7 @@
678 #endif678 #endif
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},
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},
@@ -682,7 +682,7 @@
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},
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},
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},
685@@ -3216,9 +3233,12 @@685@@ -3222,9 +3239,12 @@
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},
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},
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},
@@ -695,7 +695,7 @@
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},
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},
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},
698@@ -3662,6 +3682,10 @@698@@ -3668,6 +3688,10 @@
699 #endif699 #endif
700 (void) pthread_mutex_init(&LOCK_server_started, MY_MUTEX_INIT_FAST);700 (void) pthread_mutex_init(&LOCK_server_started, MY_MUTEX_INIT_FAST);
701 (void) pthread_cond_init(&COND_server_started,NULL);701 (void) pthread_cond_init(&COND_server_started,NULL);
@@ -706,7 +706,7 @@
706 sp_cache_init();706 sp_cache_init();
707 #ifdef HAVE_EVENT_SCHEDULER707 #ifdef HAVE_EVENT_SCHEDULER
708 Events::init_mutexes();708 Events::init_mutexes();
709@@ -4063,6 +4087,9 @@709@@ -4069,6 +4093,9 @@
710 if (!errmesg[0][0])710 if (!errmesg[0][0])
711 unireg_abort(1);711 unireg_abort(1);
712 712
@@ -716,7 +716,7 @@
716 /* We have to initialize the storage engines before CSV logging */716 /* We have to initialize the storage engines before CSV logging */
717 if (ha_init())717 if (ha_init())
718 {718 {
719@@ -4209,6 +4236,9 @@719@@ -4215,6 +4242,9 @@
720 720
721 init_max_user_conn();721 init_max_user_conn();
722 init_update_queries();722 init_update_queries();
@@ -726,7 +726,7 @@
726 DBUG_RETURN(0);726 DBUG_RETURN(0);
727 }727 }
728 728
729@@ -5026,6 +5056,7 @@729@@ -5032,6 +5062,7 @@
730 730
731 DBUG_PRINT("error",("Too many connections"));731 DBUG_PRINT("error",("Too many connections"));
732 close_connection(thd, ER_CON_COUNT_ERROR, 1);732 close_connection(thd, ER_CON_COUNT_ERROR, 1);
@@ -734,7 +734,7 @@
734 delete thd;734 delete thd;
735 DBUG_VOID_RETURN;735 DBUG_VOID_RETURN;
736 }736 }
737@@ -5810,6 +5841,8 @@737@@ -5816,6 +5847,8 @@
738 OPT_SLAVE_EXEC_MODE,738 OPT_SLAVE_EXEC_MODE,
739 OPT_GENERAL_LOG_FILE,739 OPT_GENERAL_LOG_FILE,
740 OPT_SLOW_QUERY_LOG_FILE,740 OPT_SLOW_QUERY_LOG_FILE,
@@ -743,7 +743,7 @@
743 OPT_USE_GLOBAL_LONG_QUERY_TIME,743 OPT_USE_GLOBAL_LONG_QUERY_TIME,
744 OPT_USE_GLOBAL_LOG_SLOW_CONTROL,744 OPT_USE_GLOBAL_LOG_SLOW_CONTROL,
745 OPT_SLOW_QUERY_LOG_MICROSECONDS_TIMESTAMP,745 OPT_SLOW_QUERY_LOG_MICROSECONDS_TIMESTAMP,
746@@ -7303,6 +7336,14 @@746@@ -7317,6 +7350,14 @@
747 &max_system_variables.net_wait_timeout, 0, GET_ULONG,747 &max_system_variables.net_wait_timeout, 0, GET_ULONG,
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),
749 0, 1, 0},749 0, 1, 0},
@@ -761,7 +761,7 @@
761diff -ruN a/sql/set_var.cc b/sql/set_var.cc761diff -ruN a/sql/set_var.cc b/sql/set_var.cc
762--- a/sql/set_var.cc 2010-11-24 17:24:51.000000000 +0300762--- a/sql/set_var.cc 2010-11-24 17:24:51.000000000 +0300
763+++ b/sql/set_var.cc 2010-11-24 17:31:34.000000000 +0300763+++ b/sql/set_var.cc 2010-11-24 17:31:34.000000000 +0300
764@@ -557,6 +557,10 @@764@@ -567,6 +567,10 @@
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",
766 &SV::read_buff_size);766 &SV::read_buff_size);
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);
@@ -1692,7 +1692,7 @@
1692 my_error(ER_ACCESS_DENIED_ERROR, MYF(0),1692 my_error(ER_ACCESS_DENIED_ERROR, MYF(0),
1693 thd->main_security_ctx.user,1693 thd->main_security_ctx.user,
1694 thd->main_security_ctx.host_or_ip,1694 thd->main_security_ctx.host_or_ip,
1695@@ -984,11 +1563,20 @@1695@@ -1131,11 +1710,20 @@
1696 my_sleep(1000); /* must wait after eof() */1696 my_sleep(1000); /* must wait after eof() */
1697 #endif1697 #endif
1698 statistic_increment(aborted_connects,&LOCK_status);1698 statistic_increment(aborted_connects,&LOCK_status);
@@ -1713,7 +1713,7 @@
1713 DBUG_RETURN(0);1713 DBUG_RETURN(0);
1714 }1714 }
1715 1715
1716@@ -1010,6 +1598,7 @@1716@@ -1157,6 +1745,7 @@
1717 if (thd->killed || (net->error && net->vio != 0))1717 if (thd->killed || (net->error && net->vio != 0))
1718 {1718 {
1719 statistic_increment(aborted_threads,&LOCK_status);1719 statistic_increment(aborted_threads,&LOCK_status);
@@ -1721,7 +1721,7 @@
1721 }1721 }
1722 1722
1723 if (net->error && net->vio != 0)1723 if (net->error && net->vio != 0)
1724@@ -1136,10 +1725,14 @@1724@@ -1283,10 +1872,14 @@
1725 for (;;)1725 for (;;)
1726 {1726 {
1727 NET *net= &thd->net;1727 NET *net= &thd->net;
@@ -1736,7 +1736,7 @@
1736 1736
1737 prepare_new_connection_state(thd);1737 prepare_new_connection_state(thd);
1738 1738
1739@@ -1162,6 +1755,8 @@1739@@ -1309,6 +1902,8 @@
1740 1740
1741 end_thread:1741 end_thread:
1742 close_connection(thd, 0, 1);1742 close_connection(thd, 0, 1);
@@ -1832,7 +1832,7 @@
1832 /*1832 /*
1833 Commands which always take a long time are logged into1833 Commands which always take a long time are logged into
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.
1835@@ -1865,6 +1877,13 @@1835@@ -1879,6 +1891,13 @@
1836 thd->profiling.discard_current_query();1836 thd->profiling.discard_current_query();
1837 #endif1837 #endif
1838 break;1838 break;
@@ -1846,7 +1846,7 @@
1846 case SCH_OPEN_TABLES:1846 case SCH_OPEN_TABLES:
1847 case SCH_VARIABLES:1847 case SCH_VARIABLES:
1848 case SCH_STATUS:1848 case SCH_STATUS:
1849@@ -2021,6 +2040,7 @@1849@@ -2035,6 +2054,7 @@
1850 thd->security_ctx->priv_host)) &&1850 thd->security_ctx->priv_host)) &&
1851 check_global_access(thd, SUPER_ACL))1851 check_global_access(thd, SUPER_ACL))
1852 {1852 {
@@ -1854,7 +1854,7 @@
1854 my_error(ER_SPECIFIC_ACCESS_DENIED_ERROR, MYF(0), "SUPER");1854 my_error(ER_SPECIFIC_ACCESS_DENIED_ERROR, MYF(0), "SUPER");
1855 DBUG_RETURN(TRUE);1855 DBUG_RETURN(TRUE);
1856 }1856 }
1857@@ -5363,6 +5383,7 @@1857@@ -5377,6 +5397,7 @@
1858 if (!no_errors)1858 if (!no_errors)
1859 {1859 {
1860 const char *db_name= db ? db : thd->db;1860 const char *db_name= db ? db : thd->db;
@@ -1862,7 +1862,7 @@
1862 my_error(ER_DBACCESS_DENIED_ERROR, MYF(0),1862 my_error(ER_DBACCESS_DENIED_ERROR, MYF(0),
1863 sctx->priv_user, sctx->priv_host, db_name);1863 sctx->priv_user, sctx->priv_host, db_name);
1864 }1864 }
1865@@ -5395,12 +5416,15 @@1865@@ -5409,12 +5430,15 @@
1866 { // We can never grant this1866 { // We can never grant this
1867 DBUG_PRINT("error",("No possible access"));1867 DBUG_PRINT("error",("No possible access"));
1868 if (!no_errors)1868 if (!no_errors)
@@ -1878,7 +1878,7 @@
1878 DBUG_RETURN(TRUE); /* purecov: tested */1878 DBUG_RETURN(TRUE); /* purecov: tested */
1879 }1879 }
1880 1880
1881@@ -5426,11 +5450,15 @@1881@@ -5440,11 +5464,15 @@
1882 1882
1883 DBUG_PRINT("error",("Access denied"));1883 DBUG_PRINT("error",("Access denied"));
1884 if (!no_errors)1884 if (!no_errors)
@@ -1894,7 +1894,7 @@
1894 DBUG_RETURN(TRUE); /* purecov: tested */1894 DBUG_RETURN(TRUE); /* purecov: tested */
1895 }1895 }
1896 1896
1897@@ -5459,6 +5487,7 @@1897@@ -5473,6 +5501,7 @@
1898 1898
1899 if (!thd->col_access && check_grant_db(thd, dst_db_name))1899 if (!thd->col_access && check_grant_db(thd, dst_db_name))
1900 {1900 {
@@ -1902,7 +1902,7 @@
1902 my_error(ER_DBACCESS_DENIED_ERROR, MYF(0),1902 my_error(ER_DBACCESS_DENIED_ERROR, MYF(0),
1903 thd->security_ctx->priv_user,1903 thd->security_ctx->priv_user,
1904 thd->security_ctx->priv_host,1904 thd->security_ctx->priv_host,
1905@@ -5540,9 +5569,12 @@1905@@ -5554,9 +5583,12 @@
1906 (want_access & ~(SELECT_ACL | EXTRA_ACL | FILE_ACL)))1906 (want_access & ~(SELECT_ACL | EXTRA_ACL | FILE_ACL)))
1907 {1907 {
1908 if (!no_errors)1908 if (!no_errors)
@@ -1915,7 +1915,7 @@
1915 return TRUE;1915 return TRUE;
1916 }1916 }
1917 /*1917 /*
1918@@ -5705,6 +5737,7 @@1918@@ -5719,6 +5751,7 @@
1919 if ((thd->security_ctx->master_access & want_access))1919 if ((thd->security_ctx->master_access & want_access))
1920 return 0;1920 return 0;
1921 get_privilege_desc(command, sizeof(command), want_access);1921 get_privilege_desc(command, sizeof(command), want_access);
@@ -1923,7 +1923,7 @@
1923 my_error(ER_SPECIFIC_ACCESS_DENIED_ERROR, MYF(0), command);1923 my_error(ER_SPECIFIC_ACCESS_DENIED_ERROR, MYF(0), command);
1924 return 1;1924 return 1;
1925 #else1925 #else
1926@@ -6079,6 +6112,32 @@1926@@ -6093,6 +6126,32 @@
1927 lex_start(thd);1927 lex_start(thd);
1928 mysql_reset_thd_for_next_command(thd);1928 mysql_reset_thd_for_next_command(thd);
1929 1929
@@ -1956,7 +1956,7 @@
1956 if (query_cache_send_result_to_client(thd, rawbuf, length) <= 0)1956 if (query_cache_send_result_to_client(thd, rawbuf, length) <= 0)
1957 {1957 {
1958 LEX *lex= thd->lex;1958 LEX *lex= thd->lex;
1959@@ -6159,6 +6218,43 @@1959@@ -6173,6 +6232,43 @@
1960 *found_semicolon= NULL;1960 *found_semicolon= NULL;
1961 }1961 }
1962 1962
@@ -2000,7 +2000,7 @@
2000 DBUG_VOID_RETURN;2000 DBUG_VOID_RETURN;
2001 }2001 }
2002 2002
2003@@ -7031,6 +7127,13 @@2003@@ -7045,6 +7141,13 @@
2004 if (flush_error_log())2004 if (flush_error_log())
2005 result=1;2005 result=1;
2006 }2006 }
@@ -2014,7 +2014,7 @@
2014 #ifdef HAVE_QUERY_CACHE2014 #ifdef HAVE_QUERY_CACHE
2015 if (options & REFRESH_QUERY_CACHE_FREE)2015 if (options & REFRESH_QUERY_CACHE_FREE)
2016 {2016 {
2017@@ -7131,6 +7234,40 @@2017@@ -7145,6 +7248,40 @@
2018 #endif2018 #endif
2019 if (options & REFRESH_USER_RESOURCES)2019 if (options & REFRESH_USER_RESOURCES)
2020 reset_mqh((LEX_USER *) NULL, 0); /* purecov: inspected */2020 reset_mqh((LEX_USER *) NULL, 0); /* purecov: inspected */
@@ -2756,7 +2756,7 @@
2756 2756
2757 /* collect status for all running threads */2757 /* collect status for all running threads */
2758 2758
2759@@ -6709,6 +7017,104 @@2759@@ -6711,6 +7019,104 @@
2760 };2760 };
2761 2761
2762 2762
@@ -2861,7 +2861,7 @@
2861 ST_FIELD_INFO processlist_fields_info[]=2861 ST_FIELD_INFO processlist_fields_info[]=
2862 {2862 {
2863 {"ID", 4, MYSQL_TYPE_LONGLONG, 0, 0, "Id", SKIP_OPEN_TABLE},2863 {"ID", 4, MYSQL_TYPE_LONGLONG, 0, 0, "Id", SKIP_OPEN_TABLE},
2864@@ -6844,6 +7250,8 @@2864@@ -6846,6 +7252,8 @@
2865 {2865 {
2866 {"CHARACTER_SETS", charsets_fields_info, create_schema_table, 2866 {"CHARACTER_SETS", charsets_fields_info, create_schema_table,
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},
@@ -2870,7 +2870,7 @@
2870 {"COLLATIONS", collation_fields_info, create_schema_table, 2870 {"COLLATIONS", collation_fields_info, create_schema_table,
2871 fill_schema_collation, make_old_format, 0, -1, -1, 0, 0},2871 fill_schema_collation, make_old_format, 0, -1, -1, 0, 0},
2872 {"COLLATION_CHARACTER_SET_APPLICABILITY", coll_charset_app_fields_info,2872 {"COLLATION_CHARACTER_SET_APPLICABILITY", coll_charset_app_fields_info,
2873@@ -6853,6 +7261,8 @@2873@@ -6855,6 +7263,8 @@
2874 OPTIMIZE_I_S_TABLE|OPEN_VIEW_FULL},2874 OPTIMIZE_I_S_TABLE|OPEN_VIEW_FULL},
2875 {"COLUMN_PRIVILEGES", column_privileges_fields_info, create_schema_table,2875 {"COLUMN_PRIVILEGES", column_privileges_fields_info, create_schema_table,
2876 fill_schema_column_privileges, 0, 0, -1, -1, 0, 0},2876 fill_schema_column_privileges, 0, 0, -1, -1, 0, 0},
@@ -2879,7 +2879,7 @@
2879 {"ENGINES", engines_fields_info, create_schema_table,2879 {"ENGINES", engines_fields_info, create_schema_table,
2880 fill_schema_engines, make_old_format, 0, -1, -1, 0, 0},2880 fill_schema_engines, make_old_format, 0, -1, -1, 0, 0},
2881 #ifdef HAVE_EVENT_SCHEDULER2881 #ifdef HAVE_EVENT_SCHEDULER
2882@@ -6909,11 +7319,17 @@2882@@ -6911,11 +7321,17 @@
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},
2884 {"TABLE_PRIVILEGES", table_privileges_fields_info, create_schema_table,2884 {"TABLE_PRIVILEGES", table_privileges_fields_info, create_schema_table,
2885 fill_schema_table_privileges, 0, 0, -1, -1, 0, 0},2885 fill_schema_table_privileges, 0, 0, -1, -1, 0, 0},

Subscribers

People subscribed via source and target branches