Merge lp:~tsarev/percona-server/test51_716210 into lp:percona-server/5.1
- test51_716210
- Merge into 5.1
Status: | Superseded |
---|---|
Proposed branch: | lp:~tsarev/percona-server/test51_716210 |
Merge into: | lp:percona-server/5.1 |
Diff against target: |
319 lines (+76/-27) 6 files modified
patches/bug580324.patch (+3/-3) patches/response_time_distribution.patch (+3/-3) patches/show_slave_status_nolock.patch (+2/-2) patches/show_temp_51.patch (+3/-3) patches/slow_extended.patch (+53/-4) patches/userstat.patch (+12/-12) |
To merge this branch: | bzr merge lp:~tsarev/percona-server/test51_716210 |
Related bugs: |
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Alexey Kopytov (community) | Needs Fixing | ||
Laurynas Biveinis (community) | Approve | ||
Review via email: mp+74998@code.launchpad.net |
This proposal supersedes a proposal from 2011-09-06.
This proposal has been superseded by a proposal from 2011-09-29.
Commit message
Description of the change
Fixed bug #716210 - incorrect last_errno in slow-query-log
Oleg Tsarev (tsarev) wrote : Posted in a previous version of this proposal | # |
Oleg Tsarev (tsarev) wrote : | # |
Laurynas Biveinis (laurynas-biveinis) wrote : | # |
LGTM provided that Jenkins result are clean
Alexey Kopytov (akopytov) wrote : | # |
last_errno is not the only variable that has to be reset for admin commands after a failing statement. Most other counters from slow_extended are affected by the same problem.
Here's an test case:
create table t1(a int primary key);
insert into t1 values (1), (2), (3);
insert into t1 select * from t1 order by rand();
The last statement will fail ER_DUP_ENTRY, and the next admin command will have the same Last_errno, Rows_{sent,
I'm fairly sure InnoDB stats have the same problem.
Some comments on the test case:
- with use_global_
- please replace 1050 with ER_TABLE_
Unmerged revisions
- 282. By Oleg Tsarev
-
Fixed bug #716210 - incorrect last_errno in slow-query-log
- 281. By Oleg Tsarev
-
1) move tests from mysql-test/ to patches
2) remove install_tests script and call of script from Makefile
Preview Diff
1 | === modified file 'patches/bug580324.patch' | |||
2 | --- patches/bug580324.patch 2011-08-09 13:35:34 +0000 | |||
3 | +++ patches/bug580324.patch 2011-09-12 13:47:56 +0000 | |||
4 | @@ -24,7 +24,7 @@ | |||
5 | 24 | int4store(key + key_length, thd->server_id); | 24 | int4store(key + key_length, thd->server_id); |
6 | 25 | --- a/sql/sql_parse.cc | 25 | --- a/sql/sql_parse.cc |
7 | 26 | +++ b/sql/sql_parse.cc | 26 | +++ b/sql/sql_parse.cc |
9 | 27 | @@ -1342,10 +1342,12 @@ | 27 | @@ -1343,10 +1343,12 @@ |
10 | 28 | break; | 28 | break; |
11 | 29 | #else | 29 | #else |
12 | 30 | { | 30 | { |
13 | @@ -39,7 +39,7 @@ | |||
14 | 39 | 39 | ||
15 | 40 | /* used as fields initializator */ | 40 | /* used as fields initializator */ |
16 | 41 | lex_start(thd); | 41 | lex_start(thd); |
18 | 42 | @@ -1357,26 +1359,22 @@ | 42 | @@ -1358,26 +1360,22 @@ |
19 | 43 | /* | 43 | /* |
20 | 44 | We have name + wildcard in packet, separated by endzero | 44 | We have name + wildcard in packet, separated by endzero |
21 | 45 | */ | 45 | */ |
22 | @@ -77,7 +77,7 @@ | |||
23 | 77 | 77 | ||
24 | 78 | if (is_schema_db(table_list.db, table_list.db_length)) | 78 | if (is_schema_db(table_list.db, table_list.db_length)) |
25 | 79 | { | 79 | { |
27 | 80 | @@ -1385,9 +1383,6 @@ | 80 | @@ -1386,9 +1384,6 @@ |
28 | 81 | table_list.schema_table= schema_table; | 81 | table_list.schema_table= schema_table; |
29 | 82 | } | 82 | } |
30 | 83 | 83 | ||
31 | 84 | 84 | ||
32 | === modified file 'patches/response_time_distribution.patch' | |||
33 | --- patches/response_time_distribution.patch 2011-07-30 23:07:03 +0000 | |||
34 | +++ patches/response_time_distribution.patch 2011-09-12 13:47:56 +0000 | |||
35 | @@ -3119,7 +3119,7 @@ | |||
36 | 3119 | 3119 | ||
37 | 3120 | /** | 3120 | /** |
38 | 3121 | @defgroup Runtime_Environment Runtime Environment | 3121 | @defgroup Runtime_Environment Runtime Environment |
40 | 3122 | @@ -1777,6 +1778,7 @@ | 3122 | @@ -1778,6 +1779,7 @@ |
41 | 3123 | 3123 | ||
42 | 3124 | ulonglong end_utime_of_query= thd->current_utime(); | 3124 | ulonglong end_utime_of_query= thd->current_utime(); |
43 | 3125 | ulonglong query_exec_time= get_query_exec_time(thd, end_utime_of_query); | 3125 | ulonglong query_exec_time= get_query_exec_time(thd, end_utime_of_query); |
44 | @@ -3127,7 +3127,7 @@ | |||
45 | 3127 | 3127 | ||
46 | 3128 | /* | 3128 | /* |
47 | 3129 | Low long_query_time value most likely means user is debugging stuff and even | 3129 | Low long_query_time value most likely means user is debugging stuff and even |
49 | 3130 | @@ -1947,6 +1949,7 @@ | 3130 | @@ -1948,6 +1950,7 @@ |
50 | 3131 | case SCH_CHARSETS: | 3131 | case SCH_CHARSETS: |
51 | 3132 | case SCH_ENGINES: | 3132 | case SCH_ENGINES: |
52 | 3133 | case SCH_COLLATIONS: | 3133 | case SCH_COLLATIONS: |
53 | @@ -3135,7 +3135,7 @@ | |||
54 | 3135 | case SCH_COLLATION_CHARACTER_SET_APPLICABILITY: | 3135 | case SCH_COLLATION_CHARACTER_SET_APPLICABILITY: |
55 | 3136 | case SCH_USER_PRIVILEGES: | 3136 | case SCH_USER_PRIVILEGES: |
56 | 3137 | case SCH_SCHEMA_PRIVILEGES: | 3137 | case SCH_SCHEMA_PRIVILEGES: |
58 | 3138 | @@ -7306,6 +7309,12 @@ | 3138 | @@ -7307,6 +7310,12 @@ |
59 | 3139 | init_global_index_stats(); | 3139 | init_global_index_stats(); |
60 | 3140 | pthread_mutex_unlock(&LOCK_global_index_stats); | 3140 | pthread_mutex_unlock(&LOCK_global_index_stats); |
61 | 3141 | } | 3141 | } |
62 | 3142 | 3142 | ||
63 | === modified file 'patches/show_slave_status_nolock.patch' | |||
64 | --- patches/show_slave_status_nolock.patch 2011-09-06 08:23:51 +0000 | |||
65 | +++ patches/show_slave_status_nolock.patch 2011-09-12 13:47:56 +0000 | |||
66 | @@ -56,7 +56,7 @@ | |||
67 | 56 | sql_command_flags[SQLCOM_SHOW_CREATE_PROC]= CF_STATUS_COMMAND; | 56 | sql_command_flags[SQLCOM_SHOW_CREATE_PROC]= CF_STATUS_COMMAND; |
68 | 57 | sql_command_flags[SQLCOM_SHOW_CREATE_FUNC]= CF_STATUS_COMMAND; | 57 | sql_command_flags[SQLCOM_SHOW_CREATE_FUNC]= CF_STATUS_COMMAND; |
69 | 58 | sql_command_flags[SQLCOM_SHOW_CREATE_TRIGGER]= CF_STATUS_COMMAND; | 58 | sql_command_flags[SQLCOM_SHOW_CREATE_TRIGGER]= CF_STATUS_COMMAND; |
71 | 59 | @@ -2589,12 +2590,16 @@ | 59 | @@ -2590,12 +2591,16 @@ |
72 | 60 | pthread_mutex_unlock(&LOCK_active_mi); | 60 | pthread_mutex_unlock(&LOCK_active_mi); |
73 | 61 | break; | 61 | break; |
74 | 62 | } | 62 | } |
75 | @@ -74,7 +74,7 @@ | |||
76 | 74 | if (active_mi != NULL) | 74 | if (active_mi != NULL) |
77 | 75 | { | 75 | { |
78 | 76 | res = show_master_info(thd, active_mi); | 76 | res = show_master_info(thd, active_mi); |
80 | 77 | @@ -2605,7 +2610,10 @@ | 77 | @@ -2606,7 +2611,10 @@ |
81 | 78 | WARN_NO_MASTER_INFO, ER(WARN_NO_MASTER_INFO)); | 78 | WARN_NO_MASTER_INFO, ER(WARN_NO_MASTER_INFO)); |
82 | 79 | my_ok(thd); | 79 | my_ok(thd); |
83 | 80 | } | 80 | } |
84 | 81 | 81 | ||
85 | === modified file 'patches/show_temp_51.patch' | |||
86 | --- patches/show_temp_51.patch 2011-09-06 08:23:51 +0000 | |||
87 | +++ patches/show_temp_51.patch 2011-09-12 13:47:56 +0000 | |||
88 | @@ -38,7 +38,7 @@ | |||
89 | 38 | sql_command_flags[SQLCOM_SHOW_TABLE_STATUS]= (CF_STATUS_COMMAND | | 38 | sql_command_flags[SQLCOM_SHOW_TABLE_STATUS]= (CF_STATUS_COMMAND | |
90 | 39 | CF_SHOW_TABLE_COMMAND | | 39 | CF_SHOW_TABLE_COMMAND | |
91 | 40 | CF_REEXECUTION_FRAGILE); | 40 | CF_REEXECUTION_FRAGILE); |
93 | 41 | @@ -1875,6 +1878,8 @@ | 41 | @@ -1876,6 +1879,8 @@ |
94 | 42 | 42 | ||
95 | 43 | case SCH_TABLE_NAMES: | 43 | case SCH_TABLE_NAMES: |
96 | 44 | case SCH_TABLES: | 44 | case SCH_TABLES: |
97 | @@ -47,7 +47,7 @@ | |||
98 | 47 | case SCH_VIEWS: | 47 | case SCH_VIEWS: |
99 | 48 | case SCH_TRIGGERS: | 48 | case SCH_TRIGGERS: |
100 | 49 | case SCH_EVENTS: | 49 | case SCH_EVENTS: |
102 | 50 | @@ -2374,6 +2379,7 @@ | 50 | @@ -2375,6 +2380,7 @@ |
103 | 51 | } | 51 | } |
104 | 52 | case SQLCOM_SHOW_DATABASES: | 52 | case SQLCOM_SHOW_DATABASES: |
105 | 53 | case SQLCOM_SHOW_TABLES: | 53 | case SQLCOM_SHOW_TABLES: |
106 | @@ -55,7 +55,7 @@ | |||
107 | 55 | case SQLCOM_SHOW_TRIGGERS: | 55 | case SQLCOM_SHOW_TRIGGERS: |
108 | 56 | case SQLCOM_SHOW_TABLE_STATUS: | 56 | case SQLCOM_SHOW_TABLE_STATUS: |
109 | 57 | case SQLCOM_SHOW_OPEN_TABLES: | 57 | case SQLCOM_SHOW_OPEN_TABLES: |
111 | 58 | @@ -5527,6 +5533,8 @@ | 58 | @@ -5528,6 +5534,8 @@ |
112 | 59 | 59 | ||
113 | 60 | case SCH_TABLE_NAMES: | 60 | case SCH_TABLE_NAMES: |
114 | 61 | case SCH_TABLES: | 61 | case SCH_TABLES: |
115 | 62 | 62 | ||
116 | === modified file 'patches/slow_extended.patch' | |||
117 | --- patches/slow_extended.patch 2011-08-09 13:35:34 +0000 | |||
118 | +++ patches/slow_extended.patch 2011-09-12 13:47:56 +0000 | |||
119 | @@ -1388,7 +1388,15 @@ | |||
120 | 1388 | 1388 | ||
121 | 1389 | const char *any_db="*any*"; // Special symbol for check_access | 1389 | const char *any_db="*any*"; // Special symbol for check_access |
122 | 1390 | 1390 | ||
124 | 1391 | @@ -1700,6 +1701,50 @@ | 1391 | @@ -999,6 +1000,7 @@ |
125 | 1392 | the slow log only if opt_log_slow_admin_statements is set. | ||
126 | 1393 | */ | ||
127 | 1394 | thd->enable_slow_log= TRUE; | ||
128 | 1395 | + thd->last_errno= 0; | ||
129 | 1396 | thd->lex->sql_command= SQLCOM_END; /* to avoid confusing VIEW detectors */ | ||
130 | 1397 | thd->set_time(); | ||
131 | 1398 | if (!thd->is_valid_time()) | ||
132 | 1399 | @@ -1700,6 +1702,50 @@ | ||
133 | 1392 | DBUG_RETURN(error); | 1400 | DBUG_RETURN(error); |
134 | 1393 | } | 1401 | } |
135 | 1394 | 1402 | ||
136 | @@ -1439,7 +1447,7 @@ | |||
137 | 1439 | 1447 | ||
138 | 1440 | void log_slow_statement(THD *thd) | 1448 | void log_slow_statement(THD *thd) |
139 | 1441 | { | 1449 | { |
141 | 1442 | @@ -1713,17 +1758,51 @@ | 1450 | @@ -1713,17 +1759,51 @@ |
142 | 1443 | if (unlikely(thd->in_sub_stmt)) | 1451 | if (unlikely(thd->in_sub_stmt)) |
143 | 1444 | DBUG_VOID_RETURN; // Don't set time for sub stmt | 1452 | DBUG_VOID_RETURN; // Don't set time for sub stmt |
144 | 1445 | 1453 | ||
145 | @@ -1494,7 +1502,7 @@ | |||
146 | 1494 | ((thd->server_status & | 1502 | ((thd->server_status & |
147 | 1495 | (SERVER_QUERY_NO_INDEX_USED | SERVER_QUERY_NO_GOOD_INDEX_USED)) && | 1503 | (SERVER_QUERY_NO_INDEX_USED | SERVER_QUERY_NO_GOOD_INDEX_USED)) && |
148 | 1496 | opt_log_queries_not_using_indexes && | 1504 | opt_log_queries_not_using_indexes && |
150 | 1497 | @@ -2099,6 +2178,9 @@ | 1505 | @@ -2099,6 +2179,9 @@ |
151 | 1498 | context.resolve_in_table_list_only(select_lex-> | 1506 | context.resolve_in_table_list_only(select_lex-> |
152 | 1499 | table_list.first); | 1507 | table_list.first); |
153 | 1500 | 1508 | ||
154 | @@ -1504,7 +1512,7 @@ | |||
155 | 1504 | /* | 1512 | /* |
156 | 1505 | Reset warning count for each query that uses tables | 1513 | Reset warning count for each query that uses tables |
157 | 1506 | A better approach would be to reset this for any commands | 1514 | A better approach would be to reset this for any commands |
159 | 1507 | @@ -5827,6 +5909,21 @@ | 1515 | @@ -5827,6 +5910,21 @@ |
160 | 1508 | thd->rand_used= 0; | 1516 | thd->rand_used= 0; |
161 | 1509 | thd->sent_row_count= thd->examined_row_count= 0; | 1517 | thd->sent_row_count= thd->examined_row_count= 0; |
162 | 1510 | 1518 | ||
163 | @@ -2575,3 +2583,44 @@ | |||
164 | 2575 | /* Intvar event post-header */ | 2583 | /* Intvar event post-header */ |
165 | 2576 | 2584 | ||
166 | 2577 | /* Intvar event data */ | 2585 | /* Intvar event data */ |
167 | 2586 | --- /dev/null | ||
168 | 2587 | +++ b/mysql-test/r/percona_log_slow_parse_error.result | ||
169 | 2588 | @@ -0,0 +1,11 @@ | ||
170 | 2589 | +SET GLOBAL long_query_time=0; | ||
171 | 2590 | +SET GLOBAL use_global_long_query_time=1; | ||
172 | 2591 | +SET GLOBAL log_slow_timestamp_every=1; | ||
173 | 2592 | +DROP TABLE IF EXISTS t1; | ||
174 | 2593 | +CREATE TABLE t1 (a INT); | ||
175 | 2594 | +[log_start.inc] percona.slow_extended.error_on_quit | ||
176 | 2595 | +CREATE TABLE t1 (a INT); | ||
177 | 2596 | +ERROR 42S01: Table 't1' already exists | ||
178 | 2597 | +[log_stop.inc] percona.slow_extended.error_on_quit | ||
179 | 2598 | +[log_grep.inc] file: percona.slow_extended.error_on_quit pattern: Last_errno: 1050 | ||
180 | 2599 | +[log_grep.inc] lines: 1 | ||
181 | 2600 | --- /dev/null | ||
182 | 2601 | +++ b/mysql-test/t/percona_log_slow_parse_error.test | ||
183 | 2602 | @@ -0,0 +1,24 @@ | ||
184 | 2603 | +--let log_file=percona.slow_extended.error_on_quit | ||
185 | 2604 | + | ||
186 | 2605 | +SET GLOBAL long_query_time=0; | ||
187 | 2606 | +SET GLOBAL use_global_long_query_time=1; | ||
188 | 2607 | +SET GLOBAL log_slow_timestamp_every=1; | ||
189 | 2608 | + | ||
190 | 2609 | +connect (conn1,localhost,root,,); | ||
191 | 2610 | +connection conn1; | ||
192 | 2611 | +--disable_warnings | ||
193 | 2612 | +DROP TABLE IF EXISTS t1; | ||
194 | 2613 | +--enable_warnings | ||
195 | 2614 | +CREATE TABLE t1 (a INT); | ||
196 | 2615 | +--source include/log_start.inc | ||
197 | 2616 | +--error 1050 | ||
198 | 2617 | +CREATE TABLE t1 (a INT); | ||
199 | 2618 | +disconnect conn1; | ||
200 | 2619 | +connection default; | ||
201 | 2620 | +--source include/log_stop.inc | ||
202 | 2621 | +--let grep_pattern = Last_errno: 1050 | ||
203 | 2622 | +--source include/log_grep.inc | ||
204 | 2623 | +SET GLOBAL long_query_time=default; | ||
205 | 2624 | +SET GLOBAL use_global_long_query_time=default; | ||
206 | 2625 | +SET GLOBAL log_slow_timestamp_every=default; | ||
207 | 2626 | +DROP TABLE t1; | ||
208 | 2578 | 2627 | ||
209 | === modified file 'patches/userstat.patch' | |||
210 | --- patches/userstat.patch 2011-09-06 08:23:51 +0000 | |||
211 | +++ patches/userstat.patch 2011-09-12 13:47:56 +0000 | |||
212 | @@ -1759,7 +1759,7 @@ | |||
213 | 1759 | /* | 1759 | /* |
214 | 1760 | Commands which always take a long time are logged into | 1760 | Commands which always take a long time are logged into |
215 | 1761 | the slow log only if opt_log_slow_admin_statements is set. | 1761 | the slow log only if opt_log_slow_admin_statements is set. |
217 | 1762 | @@ -1921,6 +1933,13 @@ | 1762 | @@ -1922,6 +1934,13 @@ |
218 | 1763 | thd->profiling.discard_current_query(); | 1763 | thd->profiling.discard_current_query(); |
219 | 1764 | #endif | 1764 | #endif |
220 | 1765 | break; | 1765 | break; |
221 | @@ -1773,7 +1773,7 @@ | |||
222 | 1773 | case SCH_OPEN_TABLES: | 1773 | case SCH_OPEN_TABLES: |
223 | 1774 | case SCH_VARIABLES: | 1774 | case SCH_VARIABLES: |
224 | 1775 | case SCH_STATUS: | 1775 | case SCH_STATUS: |
226 | 1776 | @@ -2077,6 +2096,7 @@ | 1776 | @@ -2078,6 +2097,7 @@ |
227 | 1777 | thd->security_ctx->priv_host)) && | 1777 | thd->security_ctx->priv_host)) && |
228 | 1778 | check_global_access(thd, SUPER_ACL)) | 1778 | check_global_access(thd, SUPER_ACL)) |
229 | 1779 | { | 1779 | { |
230 | @@ -1781,7 +1781,7 @@ | |||
231 | 1781 | my_error(ER_SPECIFIC_ACCESS_DENIED_ERROR, MYF(0), "SUPER"); | 1781 | my_error(ER_SPECIFIC_ACCESS_DENIED_ERROR, MYF(0), "SUPER"); |
232 | 1782 | DBUG_RETURN(TRUE); | 1782 | DBUG_RETURN(TRUE); |
233 | 1783 | } | 1783 | } |
235 | 1784 | @@ -5418,6 +5438,7 @@ | 1784 | @@ -5419,6 +5439,7 @@ |
236 | 1785 | if (!no_errors) | 1785 | if (!no_errors) |
237 | 1786 | { | 1786 | { |
238 | 1787 | const char *db_name= db ? db : thd->db; | 1787 | const char *db_name= db ? db : thd->db; |
239 | @@ -1789,7 +1789,7 @@ | |||
240 | 1789 | my_error(ER_DBACCESS_DENIED_ERROR, MYF(0), | 1789 | my_error(ER_DBACCESS_DENIED_ERROR, MYF(0), |
241 | 1790 | sctx->priv_user, sctx->priv_host, db_name); | 1790 | sctx->priv_user, sctx->priv_host, db_name); |
242 | 1791 | } | 1791 | } |
244 | 1792 | @@ -5450,12 +5471,15 @@ | 1792 | @@ -5451,12 +5472,15 @@ |
245 | 1793 | { // We can never grant this | 1793 | { // We can never grant this |
246 | 1794 | DBUG_PRINT("error",("No possible access")); | 1794 | DBUG_PRINT("error",("No possible access")); |
247 | 1795 | if (!no_errors) | 1795 | if (!no_errors) |
248 | @@ -1805,7 +1805,7 @@ | |||
249 | 1805 | DBUG_RETURN(TRUE); /* purecov: tested */ | 1805 | DBUG_RETURN(TRUE); /* purecov: tested */ |
250 | 1806 | } | 1806 | } |
251 | 1807 | 1807 | ||
253 | 1808 | @@ -5481,11 +5505,15 @@ | 1808 | @@ -5482,11 +5506,15 @@ |
254 | 1809 | 1809 | ||
255 | 1810 | DBUG_PRINT("error",("Access denied")); | 1810 | DBUG_PRINT("error",("Access denied")); |
256 | 1811 | if (!no_errors) | 1811 | if (!no_errors) |
257 | @@ -1821,7 +1821,7 @@ | |||
258 | 1821 | DBUG_RETURN(TRUE); /* purecov: tested */ | 1821 | DBUG_RETURN(TRUE); /* purecov: tested */ |
259 | 1822 | } | 1822 | } |
260 | 1823 | 1823 | ||
262 | 1824 | @@ -5514,6 +5542,7 @@ | 1824 | @@ -5515,6 +5543,7 @@ |
263 | 1825 | 1825 | ||
264 | 1826 | if (!thd->col_access && check_grant_db(thd, dst_db_name)) | 1826 | if (!thd->col_access && check_grant_db(thd, dst_db_name)) |
265 | 1827 | { | 1827 | { |
266 | @@ -1829,7 +1829,7 @@ | |||
267 | 1829 | my_error(ER_DBACCESS_DENIED_ERROR, MYF(0), | 1829 | my_error(ER_DBACCESS_DENIED_ERROR, MYF(0), |
268 | 1830 | thd->security_ctx->priv_user, | 1830 | thd->security_ctx->priv_user, |
269 | 1831 | thd->security_ctx->priv_host, | 1831 | thd->security_ctx->priv_host, |
271 | 1832 | @@ -5595,9 +5624,12 @@ | 1832 | @@ -5596,9 +5625,12 @@ |
272 | 1833 | (want_access & ~(SELECT_ACL | EXTRA_ACL | FILE_ACL))) | 1833 | (want_access & ~(SELECT_ACL | EXTRA_ACL | FILE_ACL))) |
273 | 1834 | { | 1834 | { |
274 | 1835 | if (!no_errors) | 1835 | if (!no_errors) |
275 | @@ -1842,7 +1842,7 @@ | |||
276 | 1842 | return TRUE; | 1842 | return TRUE; |
277 | 1843 | } | 1843 | } |
278 | 1844 | /* | 1844 | /* |
280 | 1845 | @@ -5760,6 +5792,7 @@ | 1845 | @@ -5761,6 +5793,7 @@ |
281 | 1846 | if ((thd->security_ctx->master_access & want_access)) | 1846 | if ((thd->security_ctx->master_access & want_access)) |
282 | 1847 | return 0; | 1847 | return 0; |
283 | 1848 | get_privilege_desc(command, sizeof(command), want_access); | 1848 | get_privilege_desc(command, sizeof(command), want_access); |
284 | @@ -1850,7 +1850,7 @@ | |||
285 | 1850 | my_error(ER_SPECIFIC_ACCESS_DENIED_ERROR, MYF(0), command); | 1850 | my_error(ER_SPECIFIC_ACCESS_DENIED_ERROR, MYF(0), command); |
286 | 1851 | return 1; | 1851 | return 1; |
287 | 1852 | #else | 1852 | #else |
289 | 1853 | @@ -6134,6 +6167,32 @@ | 1853 | @@ -6135,6 +6168,32 @@ |
290 | 1854 | lex_start(thd); | 1854 | lex_start(thd); |
291 | 1855 | mysql_reset_thd_for_next_command(thd); | 1855 | mysql_reset_thd_for_next_command(thd); |
292 | 1856 | 1856 | ||
293 | @@ -1883,7 +1883,7 @@ | |||
294 | 1883 | if (query_cache_send_result_to_client(thd, rawbuf, length) <= 0) | 1883 | if (query_cache_send_result_to_client(thd, rawbuf, length) <= 0) |
295 | 1884 | { | 1884 | { |
296 | 1885 | LEX *lex= thd->lex; | 1885 | LEX *lex= thd->lex; |
298 | 1886 | @@ -6214,6 +6273,43 @@ | 1886 | @@ -6215,6 +6274,43 @@ |
299 | 1887 | *found_semicolon= NULL; | 1887 | *found_semicolon= NULL; |
300 | 1888 | } | 1888 | } |
301 | 1889 | 1889 | ||
302 | @@ -1927,7 +1927,7 @@ | |||
303 | 1927 | DBUG_VOID_RETURN; | 1927 | DBUG_VOID_RETURN; |
304 | 1928 | } | 1928 | } |
305 | 1929 | 1929 | ||
307 | 1930 | @@ -7086,6 +7182,13 @@ | 1930 | @@ -7087,6 +7183,13 @@ |
308 | 1931 | if (flush_error_log()) | 1931 | if (flush_error_log()) |
309 | 1932 | result=1; | 1932 | result=1; |
310 | 1933 | } | 1933 | } |
311 | @@ -1941,7 +1941,7 @@ | |||
312 | 1941 | #ifdef HAVE_QUERY_CACHE | 1941 | #ifdef HAVE_QUERY_CACHE |
313 | 1942 | if (options & REFRESH_QUERY_CACHE_FREE) | 1942 | if (options & REFRESH_QUERY_CACHE_FREE) |
314 | 1943 | { | 1943 | { |
316 | 1944 | @@ -7186,6 +7289,40 @@ | 1944 | @@ -7187,6 +7290,40 @@ |
317 | 1945 | #endif | 1945 | #endif |
318 | 1946 | if (options & REFRESH_USER_RESOURCES) | 1946 | if (options & REFRESH_USER_RESOURCES) |
319 | 1947 | reset_mqh((LEX_USER *) NULL, 0); /* purecov: inspected */ | 1947 | reset_mqh((LEX_USER *) NULL, 0); /* purecov: inspected */ |
http:// jenkins. percona. com/view/ Percona% 20Server% 205.1/job/ percona- server- 5.1-param/ 133/