Merge lp:~laurynas-biveinis/percona-server/5.6-merge-1-fixes into lp:percona-server/5.6

Proposed by Laurynas Biveinis on 2013-05-21
Status: Merged
Approved by: Alexey Kopytov on 2013-05-22
Approved revision: no longer in the source branch.
Merged at revision: 350
Proposed branch: lp:~laurynas-biveinis/percona-server/5.6-merge-1-fixes
Merge into: lp:percona-server/5.6
Prerequisite: lp:~laurynas-biveinis/percona-server/5.6-merge-1
Diff against target: 2267 lines (+1581/-452)
32 files modified
.bzrignore (+0/-1)
Percona-Server/client/CMakeLists.txt (+0/-1)
Percona-Server/mysql-test/r/disabled_replication.result (+1/-2)
Percona-Server/mysql-test/suite/sys_vars/r/innodb_page_size_basic.result (+3/-0)
Percona-Server/sql/mysqld.h (+1/-1)
Percona-Server/sql/sql_connect.cc (+1/-1)
Percona-Server/sql/sql_parse.cc (+1/-10)
Percona-Server/sql/sys_vars.h (+0/-9)
Percona-Server/storage/heap/hp_info.c (+1/-1)
Percona-Server/storage/innobase/include/univ.i (+1/-1)
Percona-Server/storage/innobase/sync/sync0rw.cc (+1/-1)
Percona-Server/storage/innobase/sync/sync0sync.cc (+1/-17)
Percona-Server/storage/myisam/mi_check.c (+1/-1)
Percona-Server/storage/myisam/sort.c (+1/-1)
doc/Makefile (+0/-145)
doc/make.bat (+170/-0)
doc/source/diagnostics/innodb_deadlock_count.rst (+57/-0)
doc/source/diagnostics/innodb_show_lock_names.rst (+24/-0)
doc/source/diagnostics/innodb_show_status.rst (+475/-0)
doc/source/diagnostics/misc_info_schema_tables.rst (+48/-0)
doc/source/diagnostics/mysql_syslog.rst (+43/-0)
doc/source/diagnostics/process_list.rst (+53/-0)
doc/source/diagnostics/show_engines.rst (+40/-0)
doc/source/diagnostics/slow_extended_55.rst (+377/-0)
doc/source/diagnostics/thread_based_profiling.rst (+17/-0)
doc/source/diagnostics/user_stats.rst (+242/-0)
doc/source/flexibility/mysqldump_ignore_create_error.rst (+22/-0)
doc/source/reliability/error_pad.rst (+0/-55)
doc/source/reliability/innodb_corrupt_table_action.rst (+0/-35)
doc/source/reliability/log_connection_error.rst (+0/-14)
doc/source/reliability/show_slave_status_nolock.rst (+0/-23)
doc/source/upstream-bug-fixes.rst (+0/-133)
To merge this branch: bzr merge lp:~laurynas-biveinis/percona-server/5.6-merge-1-fixes
Reviewer Review Type Date Requested Status
Alexey Kopytov (community) 2013-05-21 Approve on 2013-05-22
Percona core 2013-05-21 Pending
Review via email: mp+164948@code.launchpad.net

This proposal supersedes a proposal from 2013-05-20.

Description of the change

2nd MP: rebased on the correct branch.
http://jenkins.percona.com/job/percona-server-5.6-param/109/

Post-review fixes for the lp:percona-server/5.5 rev 397 merge to
lp:percona-server/5.6.

- Revert the spurious copyright comment changes, so that they match
  the ones at the current lp:mysql-server/5.6. Do not touch the ones
  that are fixed in the subsequent 5.6.11 merge.

- Revert the change introduced at the porting where SHOW SLAVE STATUS
  would check whether the slave is running, and returning
  WARN_NO_MASTER_INFO warning if it's not. Re-record
  disabled_replication test to match.

- Remove introduced-by-mistake debugging printf()s in sys_vars.h.

- Fix Percona InnoDB version in univ.i.

- Remove obsolete UNIV_SRV_PRINT_LATCH_WAITS code.

To post a comment you must log in.
Laurynas Biveinis (laurynas-biveinis) wrote : Posted in a previous version of this proposal

Local test and long and a hard stare at the diff instead of Jenkins. http://jenkins.percona.com/job/percona-server-5.6-param/107/ could be checked in a week's or so time though.

Alexey Kopytov (akopytov) wrote : Posted in a previous version of this proposal

Jenkins test failures. Will be resubmitted as discussed on IRC.

review: Resubmit

Revisions 350--352 that are to be merged here do not contain sys_vars or doc/ changes. No idea why they appear in the diff.

Alexey Kopytov (akopytov) wrote :

Test failures.

review: Needs Fixing
Alexey Kopytov (akopytov) wrote :

As discussed on IRC, the changed page tests will be fixed after merging to trunk.

review: Approve

Thanks, the bitmap test failures are tracked at https://bugs.launchpad.net/percona-server/+bug/1182793

349. By Laurynas Biveinis on 2013-05-22

Automerge lp:~laurynas-biveinis/percona-server/5.6-merge-1

350. By Laurynas Biveinis on 2013-05-22

Post-review fixes for the lp:percona-server/5.5 rev 397 merge to
lp:percona-server/5.6.

- Revert the spurious copyright comment changes, so that they match
  the ones at the current lp:mysql-server/5.6. Do not touch the ones
  that are fixed in the subsequent 5.6.11 merge.

351. By Laurynas Biveinis on 2013-05-22

Post-review fixes for the lp:percona-server/5.5 rev 397 merge to
lp:percona-server/5.6.

- Revert the change introduced at the porting where SHOW SLAVE STATUS
  would check whether the slave is running, and returning
  WARN_NO_MASTER_INFO warning if it's not. Re-record
  disabled_replication test to match.

352. By Laurynas Biveinis on 2013-05-22

Post-review fixes for the lp:percona-server/5.5 rev 397 merge to
lp:percona-server/5.6.

- Remove introduced-by-mistake debugging printf()s in sys_vars.h.

- Fix Percona InnoDB version in univ.i.

- Remove obsolete UNIV_SRV_PRINT_LATCH_WAITS code.

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== removed file '.bzrignore'
2--- .bzrignore 2013-05-22 08:54:33 +0000
3+++ .bzrignore 1970-01-01 00:00:00 +0000
4@@ -1,1 +0,0 @@
5-build
6
7=== modified file 'Percona-Server/client/CMakeLists.txt'
8--- Percona-Server/client/CMakeLists.txt 2013-05-22 08:54:33 +0000
9+++ Percona-Server/client/CMakeLists.txt 2013-05-22 08:54:39 +0000
10@@ -1,4 +1,3 @@
11-# Copyright (c) 2006, 2012, Oracle and/or its affiliates. All rights reserved.
12 # Copyright (c) 2006, 2011, Oracle and/or its affiliates. All rights reserved.
13 #
14 # This program is free software; you can redistribute it and/or modify
15
16=== modified file 'Percona-Server/mysql-test/r/disabled_replication.result'
17--- Percona-Server/mysql-test/r/disabled_replication.result 2013-05-22 08:54:33 +0000
18+++ Percona-Server/mysql-test/r/disabled_replication.result 2012-12-14 15:02:07 +0000
19@@ -1,6 +1,5 @@
20 SHOW SLAVE STATUS;
21-Warnings:
22-Warning 1617 The master info structure does not exist
23+Slave_IO_State Master_Host Master_User Master_Port Connect_Retry Master_Log_File Read_Master_Log_Pos Relay_Log_File Relay_Log_Pos Relay_Master_Log_File Slave_IO_Running Slave_SQL_Running Replicate_Do_DB Replicate_Ignore_DB Replicate_Do_Table Replicate_Ignore_Table Replicate_Wild_Do_Table Replicate_Wild_Ignore_Table Last_Errno Last_Error Skip_Counter Exec_Master_Log_Pos Relay_Log_Space Until_Condition Until_Log_File Until_Log_Pos Master_SSL_Allowed Master_SSL_CA_File Master_SSL_CA_Path Master_SSL_Cert Master_SSL_Cipher Master_SSL_Key Seconds_Behind_Master Master_SSL_Verify_Server_Cert Last_IO_Errno Last_IO_Error Last_SQL_Errno Last_SQL_Error Replicate_Ignore_Server_Ids Master_Server_Id Master_UUID Master_Info_File SQL_Delay SQL_Remaining_Delay Slave_SQL_Running_State Master_Retry_Count Master_Bind Last_IO_Error_Timestamp Last_SQL_Error_Timestamp Master_SSL_Crl Master_SSL_Crlpath Retrieved_Gtid_Set Executed_Gtid_Set Auto_Position
24 RESET SLAVE;
25 ERROR HY000: Slave is not configured or failed to initialize properly. You must at least set --server-id to enable either a master or a slave. Additional error messages can be found in the MySQL error log.
26 SHOW RELAYLOG EVENTS;
27
28=== added file 'Percona-Server/mysql-test/suite/sys_vars/r/innodb_page_size_basic.result'
29--- Percona-Server/mysql-test/suite/sys_vars/r/innodb_page_size_basic.result 1970-01-01 00:00:00 +0000
30+++ Percona-Server/mysql-test/suite/sys_vars/r/innodb_page_size_basic.result 2013-05-22 08:54:39 +0000
31@@ -0,0 +1,3 @@
32+SELECT @@global.innodb_page_size;
33+@@global.innodb_page_size
34+16384
35
36=== modified file 'Percona-Server/sql/mysqld.h'
37--- Percona-Server/sql/mysqld.h 2013-05-22 08:54:33 +0000
38+++ Percona-Server/sql/mysqld.h 2013-05-22 08:54:39 +0000
39@@ -1,4 +1,4 @@
40-/* Copyright (c) 2006, 2012, Oracle and/or its affiliates. All rights reserved.
41+/* Copyright (c) 2010, 2012, Oracle and/or its affiliates. All rights reserved.
42
43 This program is free software; you can redistribute it and/or modify
44 it under the terms of the GNU General Public License as published by
45
46=== modified file 'Percona-Server/sql/sql_connect.cc'
47--- Percona-Server/sql/sql_connect.cc 2013-05-22 08:54:33 +0000
48+++ Percona-Server/sql/sql_connect.cc 2013-05-22 08:54:39 +0000
49@@ -1,5 +1,5 @@
50 /*
51- Copyright (c) 2007, 2012, Oracle and/or its affiliates. All rights reserved.
52+ Copyright (c) 2007, 2011, Oracle and/or its affiliates. All rights reserved.
53
54 This program is free software; you can redistribute it and/or modify
55 it under the terms of the GNU General Public License as published by
56
57=== modified file 'Percona-Server/sql/sql_parse.cc'
58--- Percona-Server/sql/sql_parse.cc 2013-05-22 08:54:33 +0000
59+++ Percona-Server/sql/sql_parse.cc 2013-05-22 08:54:39 +0000
60@@ -2980,16 +2980,7 @@
61 {
62 mysql_mutex_lock(&LOCK_active_mi);
63 }
64- if (active_mi != NULL)
65- {
66- res = show_slave_status(thd, active_mi);
67- }
68- else
69- {
70- push_warning(thd, Sql_condition::WARN_LEVEL_WARN,
71- WARN_NO_MASTER_INFO, ER(WARN_NO_MASTER_INFO));
72- my_ok(thd);
73- }
74+ res = show_slave_status(thd, active_mi);
75 if(do_lock)
76 {
77 mysql_mutex_unlock(&LOCK_active_mi);
78
79=== modified file 'Percona-Server/sql/sys_vars.h'
80--- Percona-Server/sql/sys_vars.h 2013-05-22 08:54:33 +0000
81+++ Percona-Server/sql/sys_vars.h 2013-05-22 08:54:39 +0000
82@@ -193,9 +193,6 @@
83 if (SIGNED)
84 {
85 longlong max_val= *max_var_ptr();
86- fprintf(stderr, "v = %lld, max_val = %lld\n", v, max_val);
87- fprintf(stderr, "save_result = %lld\n",
88- (longlong)(var->save_result.ulonglong_value));
89 if (((longlong)(var->save_result.ulonglong_value)) > max_val)
90 var->save_result.ulonglong_value= max_val;
91 /*
92@@ -218,12 +215,6 @@
93 (getopt_constraint_get_min_value(option.name, 0, FALSE));
94 vmax= static_cast<const T *>
95 (getopt_constraint_get_max_value(option.name, 0, FALSE));
96- if (vmin)
97- fprintf(stderr, "vmin = signed %lld, unsigned %llu\n",
98- (long long)*vmin, (unsigned long long)*vmin);
99- if (vmax)
100- fprintf(stderr, "vmax = signed %lld, unsigned %llu\n",
101- (long long)*vmax, (unsigned long long)*vmax);
102
103 if (SIGNED)
104 {
105
106=== modified file 'Percona-Server/storage/heap/hp_info.c'
107--- Percona-Server/storage/heap/hp_info.c 2013-05-22 08:54:33 +0000
108+++ Percona-Server/storage/heap/hp_info.c 2013-05-22 08:54:39 +0000
109@@ -1,4 +1,4 @@
110-/* Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved.
111+/* Copyright (C) 2000-2004 MySQL AB
112
113 This program is free software; you can redistribute it and/or modify
114 it under the terms of the GNU General Public License as published by
115
116=== modified file 'Percona-Server/storage/innobase/include/univ.i'
117--- Percona-Server/storage/innobase/include/univ.i 2013-05-22 08:54:33 +0000
118+++ Percona-Server/storage/innobase/include/univ.i 2013-05-22 08:54:39 +0000
119@@ -47,7 +47,7 @@
120 #define INNODB_VERSION_BUGFIX MYSQL_VERSION_PATCH
121
122 #ifndef PERCONA_INNODB_VERSION
123-#define PERCONA_INNODB_VERSION 29.3
124+#define PERCONA_INNODB_VERSION 60.3
125 #endif
126
127 /* Enable UNIV_LOG_ARCHIVE in XtraDB */
128
129=== modified file 'Percona-Server/storage/innobase/sync/sync0rw.cc'
130--- Percona-Server/storage/innobase/sync/sync0rw.cc 2013-05-22 08:54:33 +0000
131+++ Percona-Server/storage/innobase/sync/sync0rw.cc 2013-05-22 08:54:39 +0000
132@@ -1,6 +1,6 @@
133 /*****************************************************************************
134
135-Copyright (c) 1995, 2012, Oracle and/or its affiliates. All Rights Reserved.
136+Copyright (c) 1995, 2011, Oracle and/or its affiliates. All Rights Reserved.
137 Copyright (c) 2008, Google Inc.
138
139 Portions of this file contain modifications contributed and copyrighted by
140
141=== modified file 'Percona-Server/storage/innobase/sync/sync0sync.cc'
142--- Percona-Server/storage/innobase/sync/sync0sync.cc 2013-05-22 08:54:33 +0000
143+++ Percona-Server/storage/innobase/sync/sync0sync.cc 2013-05-22 08:54:39 +0000
144@@ -1,6 +1,6 @@
145 /*****************************************************************************
146
147-Copyright (c) 1995, 2012, Oracle and/or its affiliates. All Rights Reserved.
148+Copyright (c) 1995, 2011, Oracle and/or its affiliates. All Rights Reserved.
149 Copyright (c) 2008, Google Inc.
150
151 Portions of this file contain modifications contributed and copyrighted by
152@@ -514,14 +514,6 @@
153 os_thread_yield();
154 }
155
156-#ifdef UNIV_SRV_PRINT_LATCH_WAITS
157- fprintf(stderr,
158- "Thread " ULINTPF " spin wait mutex at %p"
159- " '%s' rnds " ULINTPF "\n",
160- os_thread_pf(os_thread_get_curr_id()), (void*) mutex,
161- mutex->cmutex_name, i);
162-#endif
163-
164 mutex_spin_round_count.add(counter_index, i);
165
166 if (ib_mutex_test_and_set(mutex) == 0) {
167@@ -584,14 +576,6 @@
168 after the change in the wait array and the waiters field was made.
169 Now there is no risk of infinite wait on the event. */
170
171-#ifdef UNIV_SRV_PRINT_LATCH_WAITS
172- fprintf(stderr,
173- "Thread " ULINTPF " OS wait mutex at %p '%s' rnds " ULINTPF
174- "\n",
175- os_thread_pf(os_thread_get_curr_id()), (void*) mutex,
176- mutex->cmutex_name, i);
177-#endif
178-
179 mutex_os_wait_count.add(counter_index, 1);
180
181 mutex->count_os_wait++;
182
183=== modified file 'Percona-Server/storage/myisam/mi_check.c'
184--- Percona-Server/storage/myisam/mi_check.c 2013-05-22 08:54:33 +0000
185+++ Percona-Server/storage/myisam/mi_check.c 2013-03-05 12:46:43 +0000
186@@ -1,5 +1,5 @@
187 /*
188- Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.
189+ Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved.
190
191 This program is free software; you can redistribute it and/or modify
192 it under the terms of the GNU General Public License as published by
193
194=== modified file 'Percona-Server/storage/myisam/sort.c'
195--- Percona-Server/storage/myisam/sort.c 2013-05-22 08:54:33 +0000
196+++ Percona-Server/storage/myisam/sort.c 2013-05-22 08:54:39 +0000
197@@ -1,4 +1,4 @@
198-/* Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.
199+/* Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved.
200
201 This program is free software; you can redistribute it and/or modify
202 it under the terms of the GNU General Public License as published by
203
204=== removed file 'doc/Makefile'
205--- doc/Makefile 2013-05-22 08:54:33 +0000
206+++ doc/Makefile 1970-01-01 00:00:00 +0000
207@@ -1,145 +0,0 @@
208-# Makefile for Sphinx documentation
209-#
210-
211-# You can set these variables from the command line.
212-SPHINXOPTS =
213-SPHINXBUILD = sphinx-build
214-PAPER =
215-BUILDDIR = build
216-
217-# Internal variables.
218-PAPEROPT_a4 = -D latex_paper_size=a4
219-PAPEROPT_letter = -D latex_paper_size=letter
220-ALLSPHINXOPTS = -d $(BUILDDIR)/doctrees $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) source
221-
222-.PHONY: help clean html dirhtml singlehtml pickle json htmlhelp qthelp devhelp epub latex latexpdf text man changes linkcheck doctest
223-
224-help:
225- @echo "Please use \`make <target>' where <target> is one of"
226- @echo " html to make standalone HTML files"
227- @echo " dirhtml to make HTML files named index.html in directories"
228- @echo " offhtml to make standalone HTML files without fetching the new theme files"
229- @echo " singlehtml to make a single large HTML file"
230- @echo " pickle to make pickle files"
231- @echo " json to make JSON files"
232- @echo " htmlhelp to make HTML files and a HTML help project"
233- @echo " qthelp to make HTML files and a qthelp project"
234- @echo " devhelp to make HTML files and a Devhelp project"
235- @echo " epub to make an epub"
236- @echo " latex to make LaTeX files, you can set PAPER=a4 or PAPER=letter"
237- @echo " latexpdf to make LaTeX files and run them through pdflatex"
238- @echo " text to make text files"
239- @echo " man to make manual pages"
240- @echo " changes to make an overview of all changed/added/deprecated items"
241- @echo " linkcheck to check all external links for integrity"
242- @echo " doctest to run all doctests embedded in the documentation (if enabled)"
243-
244-clean:
245- -rm -rf $(BUILDDIR)/*
246-
247-html:
248- @echo "Downloading percona-theme ..."
249- @wget -O percona-theme.tar.gz http://percona.com/docs/theme/percona-server/5.6
250- @echo "Extracting theme."
251- @tar -zxf percona-theme.tar.gz
252- @rm -rf source/percona-theme
253- @mv percona-theme source/percona-theme
254- @rm percona-theme.tar.gz
255- @echo "Building html doc"
256-
257- $(SPHINXBUILD) -b html $(ALLSPHINXOPTS) $(BUILDDIR)/html
258- @echo
259- @echo "Build finished. The HTML pages are in $(BUILDDIR)/html."
260-
261-dirhtml:
262- $(SPHINXBUILD) -b dirhtml $(ALLSPHINXOPTS) $(BUILDDIR)/dirhtml
263- @echo
264- @echo "Build finished. The HTML pages are in $(BUILDDIR)/dirhtml."
265-
266-offhtml:
267- $(SPHINXBUILD) -b html $(ALLSPHINXOPTS) $(BUILDDIR)/html
268- @echo
269- @echo "Build finished. The HTML pages are in $(BUILDDIR)/html."
270-
271-singlehtml:
272- $(SPHINXBUILD) -b singlehtml $(ALLSPHINXOPTS) $(BUILDDIR)/singlehtml
273- @echo
274- @echo "Build finished. The HTML page is in $(BUILDDIR)/singlehtml."
275-
276-pickle:
277- $(SPHINXBUILD) -b pickle $(ALLSPHINXOPTS) $(BUILDDIR)/pickle
278- @echo
279- @echo "Build finished; now you can process the pickle files."
280-
281-json:
282- $(SPHINXBUILD) -b json $(ALLSPHINXOPTS) $(BUILDDIR)/json
283- @echo
284- @echo "Build finished; now you can process the JSON files."
285-
286-htmlhelp:
287- $(SPHINXBUILD) -b htmlhelp $(ALLSPHINXOPTS) $(BUILDDIR)/htmlhelp
288- @echo
289- @echo "Build finished; now you can run HTML Help Workshop with the" \
290- ".hhp project file in $(BUILDDIR)/htmlhelp."
291-
292-qthelp:
293- $(SPHINXBUILD) -b qthelp $(ALLSPHINXOPTS) $(BUILDDIR)/qthelp
294- @echo
295- @echo "Build finished; now you can run "qcollectiongenerator" with the" \
296- ".qhcp project file in $(BUILDDIR)/qthelp, like this:"
297- @echo "# qcollectiongenerator $(BUILDDIR)/qthelp/PerconaServer.qhcp"
298- @echo "To view the help file:"
299- @echo "# assistant -collectionFile $(BUILDDIR)/qthelp/PerconaServer.qhc"
300-
301-devhelp:
302- $(SPHINXBUILD) -b devhelp $(ALLSPHINXOPTS) $(BUILDDIR)/devhelp
303- @echo
304- @echo "Build finished."
305- @echo "To view the help file:"
306- @echo "# mkdir -p $$HOME/.local/share/devhelp/PerconaServer"
307- @echo "# ln -s $(BUILDDIR)/devhelp $$HOME/.local/share/devhelp/PerconaServer"
308- @echo "# devhelp"
309-
310-epub:
311- $(SPHINXBUILD) -b epub $(ALLSPHINXOPTS) $(BUILDDIR)/epub
312- @echo
313- @echo "Build finished. The epub file is in $(BUILDDIR)/epub."
314-
315-latex:
316- $(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex
317- @echo
318- @echo "Build finished; the LaTeX files are in $(BUILDDIR)/latex."
319- @echo "Run \`make' in that directory to run these through (pdf)latex" \
320- "(use \`make latexpdf' here to do that automatically)."
321-
322-latexpdf:
323- $(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex
324- @echo "Running LaTeX files through pdflatex..."
325- make -C $(BUILDDIR)/latex all-pdf
326- @echo "pdflatex finished; the PDF files are in $(BUILDDIR)/latex."
327-
328-text:
329- $(SPHINXBUILD) -b text $(ALLSPHINXOPTS) $(BUILDDIR)/text
330- @echo
331- @echo "Build finished. The text files are in $(BUILDDIR)/text."
332-
333-man:
334- $(SPHINXBUILD) -b man $(ALLSPHINXOPTS) $(BUILDDIR)/man
335- @echo
336- @echo "Build finished. The manual pages are in $(BUILDDIR)/man."
337-
338-changes:
339- $(SPHINXBUILD) -b changes $(ALLSPHINXOPTS) $(BUILDDIR)/changes
340- @echo
341- @echo "The overview file is in $(BUILDDIR)/changes."
342-
343-linkcheck:
344- $(SPHINXBUILD) -b linkcheck $(ALLSPHINXOPTS) $(BUILDDIR)/linkcheck
345- @echo
346- @echo "Link check complete; look for any errors in the above output " \
347- "or in $(BUILDDIR)/linkcheck/output.txt."
348-
349-doctest:
350- $(SPHINXBUILD) -b doctest $(ALLSPHINXOPTS) $(BUILDDIR)/doctest
351- @echo "Testing of doctests in the sources finished, look at the " \
352- "results in $(BUILDDIR)/doctest/output.txt."
353
354=== added file 'doc/make.bat'
355--- doc/make.bat 1970-01-01 00:00:00 +0000
356+++ doc/make.bat 2013-05-22 08:54:39 +0000
357@@ -0,0 +1,170 @@
358+@ECHO OFF
359+
360+REM Command file for Sphinx documentation
361+
362+if "%SPHINXBUILD%" == "" (
363+ set SPHINXBUILD=sphinx-build
364+)
365+set BUILDDIR=build
366+set ALLSPHINXOPTS=-d %BUILDDIR%/doctrees %SPHINXOPTS% source
367+if NOT "%PAPER%" == "" (
368+ set ALLSPHINXOPTS=-D latex_paper_size=%PAPER% %ALLSPHINXOPTS%
369+)
370+
371+if "%1" == "" goto help
372+
373+if "%1" == "help" (
374+ :help
375+ echo.Please use `make ^<target^>` where ^<target^> is one of
376+ echo. html to make standalone HTML files
377+ echo. dirhtml to make HTML files named index.html in directories
378+ echo. singlehtml to make a single large HTML file
379+ echo. pickle to make pickle files
380+ echo. json to make JSON files
381+ echo. htmlhelp to make HTML files and a HTML help project
382+ echo. qthelp to make HTML files and a qthelp project
383+ echo. devhelp to make HTML files and a Devhelp project
384+ echo. epub to make an epub
385+ echo. latex to make LaTeX files, you can set PAPER=a4 or PAPER=letter
386+ echo. text to make text files
387+ echo. man to make manual pages
388+ echo. changes to make an overview over all changed/added/deprecated items
389+ echo. linkcheck to check all external links for integrity
390+ echo. doctest to run all doctests embedded in the documentation if enabled
391+ goto end
392+)
393+
394+if "%1" == "clean" (
395+ for /d %%i in (%BUILDDIR%\*) do rmdir /q /s %%i
396+ del /q /s %BUILDDIR%\*
397+ goto end
398+)
399+
400+if "%1" == "html" (
401+ %SPHINXBUILD% -b html %ALLSPHINXOPTS% %BUILDDIR%/html
402+ if errorlevel 1 exit /b 1
403+ echo.
404+ echo.Build finished. The HTML pages are in %BUILDDIR%/html.
405+ goto end
406+)
407+
408+if "%1" == "dirhtml" (
409+ %SPHINXBUILD% -b dirhtml %ALLSPHINXOPTS% %BUILDDIR%/dirhtml
410+ if errorlevel 1 exit /b 1
411+ echo.
412+ echo.Build finished. The HTML pages are in %BUILDDIR%/dirhtml.
413+ goto end
414+)
415+
416+if "%1" == "singlehtml" (
417+ %SPHINXBUILD% -b singlehtml %ALLSPHINXOPTS% %BUILDDIR%/singlehtml
418+ if errorlevel 1 exit /b 1
419+ echo.
420+ echo.Build finished. The HTML pages are in %BUILDDIR%/singlehtml.
421+ goto end
422+)
423+
424+if "%1" == "pickle" (
425+ %SPHINXBUILD% -b pickle %ALLSPHINXOPTS% %BUILDDIR%/pickle
426+ if errorlevel 1 exit /b 1
427+ echo.
428+ echo.Build finished; now you can process the pickle files.
429+ goto end
430+)
431+
432+if "%1" == "json" (
433+ %SPHINXBUILD% -b json %ALLSPHINXOPTS% %BUILDDIR%/json
434+ if errorlevel 1 exit /b 1
435+ echo.
436+ echo.Build finished; now you can process the JSON files.
437+ goto end
438+)
439+
440+if "%1" == "htmlhelp" (
441+ %SPHINXBUILD% -b htmlhelp %ALLSPHINXOPTS% %BUILDDIR%/htmlhelp
442+ if errorlevel 1 exit /b 1
443+ echo.
444+ echo.Build finished; now you can run HTML Help Workshop with the ^
445+.hhp project file in %BUILDDIR%/htmlhelp.
446+ goto end
447+)
448+
449+if "%1" == "qthelp" (
450+ %SPHINXBUILD% -b qthelp %ALLSPHINXOPTS% %BUILDDIR%/qthelp
451+ if errorlevel 1 exit /b 1
452+ echo.
453+ echo.Build finished; now you can run "qcollectiongenerator" with the ^
454+.qhcp project file in %BUILDDIR%/qthelp, like this:
455+ echo.^> qcollectiongenerator %BUILDDIR%\qthelp\PerconaServer.qhcp
456+ echo.To view the help file:
457+ echo.^> assistant -collectionFile %BUILDDIR%\qthelp\PerconaServer.ghc
458+ goto end
459+)
460+
461+if "%1" == "devhelp" (
462+ %SPHINXBUILD% -b devhelp %ALLSPHINXOPTS% %BUILDDIR%/devhelp
463+ if errorlevel 1 exit /b 1
464+ echo.
465+ echo.Build finished.
466+ goto end
467+)
468+
469+if "%1" == "epub" (
470+ %SPHINXBUILD% -b epub %ALLSPHINXOPTS% %BUILDDIR%/epub
471+ if errorlevel 1 exit /b 1
472+ echo.
473+ echo.Build finished. The epub file is in %BUILDDIR%/epub.
474+ goto end
475+)
476+
477+if "%1" == "latex" (
478+ %SPHINXBUILD% -b latex %ALLSPHINXOPTS% %BUILDDIR%/latex
479+ if errorlevel 1 exit /b 1
480+ echo.
481+ echo.Build finished; the LaTeX files are in %BUILDDIR%/latex.
482+ goto end
483+)
484+
485+if "%1" == "text" (
486+ %SPHINXBUILD% -b text %ALLSPHINXOPTS% %BUILDDIR%/text
487+ if errorlevel 1 exit /b 1
488+ echo.
489+ echo.Build finished. The text files are in %BUILDDIR%/text.
490+ goto end
491+)
492+
493+if "%1" == "man" (
494+ %SPHINXBUILD% -b man %ALLSPHINXOPTS% %BUILDDIR%/man
495+ if errorlevel 1 exit /b 1
496+ echo.
497+ echo.Build finished. The manual pages are in %BUILDDIR%/man.
498+ goto end
499+)
500+
501+if "%1" == "changes" (
502+ %SPHINXBUILD% -b changes %ALLSPHINXOPTS% %BUILDDIR%/changes
503+ if errorlevel 1 exit /b 1
504+ echo.
505+ echo.The overview file is in %BUILDDIR%/changes.
506+ goto end
507+)
508+
509+if "%1" == "linkcheck" (
510+ %SPHINXBUILD% -b linkcheck %ALLSPHINXOPTS% %BUILDDIR%/linkcheck
511+ if errorlevel 1 exit /b 1
512+ echo.
513+ echo.Link check complete; look for any errors in the above output ^
514+or in %BUILDDIR%/linkcheck/output.txt.
515+ goto end
516+)
517+
518+if "%1" == "doctest" (
519+ %SPHINXBUILD% -b doctest %ALLSPHINXOPTS% %BUILDDIR%/doctest
520+ if errorlevel 1 exit /b 1
521+ echo.
522+ echo.Testing of doctests in the sources finished, look at the ^
523+results in %BUILDDIR%/doctest/output.txt.
524+ goto end
525+)
526+
527+:end
528
529=== added directory 'doc/source/diagnostics'
530=== added file 'doc/source/diagnostics/innodb_deadlock_count.rst'
531--- doc/source/diagnostics/innodb_deadlock_count.rst 1970-01-01 00:00:00 +0000
532+++ doc/source/diagnostics/innodb_deadlock_count.rst 2013-05-22 08:54:39 +0000
533@@ -0,0 +1,57 @@
534+.. _innodb_deadlocks_page:
535+
536+==========================
537+ Count |InnoDB| Deadlocks
538+==========================
539+
540+When running a transactional application you have to live with deadlocks. They are not problematic as long as they do not occur too frequently. The standard ``SHOW INNODB STATUS`` gives information on the latest deadlocks but it is not very useful when you want to know the total number of deadlocks or the number of deadlocks per unit of time.
541+
542+This change adds a status variable that keeps track of the number of deadlocks since the server startup, opening the way to a better knowledge of your deadlocks.
543+
544+This feature was provided by Eric Bergen under BSD license (see `InnoDB Deadlock Count Patch <http://ebergen.net/wordpress/2009/08/27/innodb-deadlock-count-patch/>`_).
545+
546+It adds a new global status variable (:variable:`innodb_deadlocks`) showing the number of deadlocks.*
547+
548+You can use it with ``SHOW GLOBAL STATUS``, e.g.: ::
549+
550+ mysql> SHOW GLOBAL STATUS LIKE 'innodb_deadlocks';
551+ +------------------+-------+
552+ | Variable_name | Value |
553+ +------------------+-------+
554+ | innodb_deadlocks | 323 |
555+ +------------------+-------+
556+
557+or with ``INFORMATION_SCHEMA``, e.g.: ::
558+
559+ mysql> SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'innodb_deadlocks';
560+ +----------------+
561+ | VARIABLE_VALUE |
562+ +----------------+
563+ | 323 |
564+ +----------------+
565+
566+A deadlock will occur when at least two transactions are mutually waiting for the other to finish, thus creating a circular dependency that lasts until something breaks it. |InnoDB| is quite good at detecting deadlocks and generally returns an error instantly. Most transactional systems have no way to prevent deadlocks from occurring and must be designed to handle them, for instance by retrying the transaction that failed.
567+
568+
569+Version Specific Information
570+============================
571+
572+ * 5.5.8-20.0:
573+ Full functionality available.
574+
575+Status Variables
576+================
577+
578+One new status variable was introduced by this feature.
579+
580+.. variable:: innodb_deadlocks
581+
582+ :vartype: LONG
583+ :scope: Global
584+
585+
586+Related Reading
587+===============
588+
589+ * `Original post by Eric Bergen <http://ebergen.net/wordpress/2009/08/27/|InnoDB|-deadlock-count-patch/>`_
590+
591
592=== added file 'doc/source/diagnostics/innodb_show_lock_names.rst'
593--- doc/source/diagnostics/innodb_show_lock_names.rst 1970-01-01 00:00:00 +0000
594+++ doc/source/diagnostics/innodb_show_lock_names.rst 2013-05-22 08:54:39 +0000
595@@ -0,0 +1,24 @@
596+.. _innodb_show_lock_names:
597+
598+=================
599+ Show Lock Names
600+=================
601+
602+This feature is currently undocumented except for the following example.
603+
604+Example: ::
605+
606+ mysql> SHOW ENGINE INNODB MUTEX;
607+ +--------+---------------------------+---------------+
608+ | Type | Name | Status |
609+ +--------+---------------------------+---------------+
610+ | InnoDB | &rseg->mutex | os_waits=210 |
611+ | InnoDB | &dict_sys->mutex | os_waits=3 |
612+ | InnoDB | &trx_doublewrite->mutex | os_waits=1 |
613+ | InnoDB | &log_sys->mutex | os_waits=1197 |
614+ | InnoDB | &LRU_list_mutex | os_waits=2 |
615+ | InnoDB | &fil_system->mutex | os_waits=5 |
616+ | InnoDB | &kernel_mutex | os_waits=242 |
617+ | InnoDB | &new_index->lock | os_waits=2 |
618+ | InnoDB | &new_index->lock | os_waits=415 |
619+ .....
620
621=== added file 'doc/source/diagnostics/innodb_show_status.rst'
622--- doc/source/diagnostics/innodb_show_status.rst 1970-01-01 00:00:00 +0000
623+++ doc/source/diagnostics/innodb_show_status.rst 2013-05-22 08:54:39 +0000
624@@ -0,0 +1,475 @@
625+.. _innodb_show_status:
626+
627+======================
628+ Show |InnoDB| Status
629+======================
630+
631+This feature reorganizes the output of ``SHOW INNODB STATUS`` for a better readability and prints the amount of memory used by the internal hash tables. In addition, new variables are available to control the output.
632+
633+This feature modified the ``SHOW INNODB STATUS`` command as follows:
634+
635+ * ``TRANSACTION`` section was moved to the end of the output, so that important information is not overlooked when the there is a large amount of it.
636+
637+ * Added two variables to control ``SHOW INNODB STATUS`` information presented (bugfix for `#29123 <http://bugs.mysql.com/bug.php?id=29126>`_):
638+
639+ * :variable:`innodb_show_verbose_locks` - Whether to show records locked
640+
641+ * :variable:`innodb_show_locks_held` - Number of locks held to print for each |InnoDB| transaction
642+
643+ * Added extended information about |InnoDB| internal hash table sizes (in bytes) in the ``BUFFER POOL AND MEMORY`` section; also added buffer pool size in bytes.
644+
645+ * Added additional LOG section information (beginning in release 5.5.8-20.0).
646+
647+Version Specific Information
648+============================
649+
650+ * 5.5.8-20.0
651+ Added status variables showing information from ``SHOW INNODB STATUS``.
652+
653+ * 5.5.8-20.0
654+ Added additional information in the LOG section.
655+
656+ * 5.5.10-20.1:
657+ Renamed status variable :variable:`innodb_row_lock_numbers` to :variable:`innodb_current_row_locks`.
658+
659+Other Information
660+=================
661+
662+ * Author / Origin:
663+ Baron Schwartz, http://lists.mysql.com/internals/35174
664+
665+
666+System Variables
667+================
668+
669+.. variable:: innodb_show_verbose_locks
670+
671+ :cli: Yes
672+ :conf: Yes
673+ :scope: Global
674+ :dyn: Yes
675+ :vartype: ULONG
676+ :default: 0
677+ :range: 0 - 1
678+
679+Specifies to show records locked in ``SHOW INNODB STATUS``. The default is 0, which means only the higher-level information about the lock (which table and index is locked, etc.) is printed. If set to 1, then traditional |InnoDB| behavior is enabled: the records that are locked are dumped to the output.
680+
681+.. variable:: innodb_show_locks_held
682+
683+ :cli: Yes
684+ :conf: Yes
685+ :scope: Global
686+ :dyn: Yes
687+ :vartype: ULONG
688+ :default: 10
689+ :range: 0 - 1000
690+
691+Specifies the number of locks held to print for each |InnoDB| transaction in SHOW INNODB STATUS.
692+
693+
694+Status Variables
695+================
696+
697+The status variables here contain information available in the output of ``SHOW INNODB STATUS``, organized by the sections ``SHOW INNODB STATUS`` displays. If you are familiar with the output of ``SHOW INNODB STATUS``, you will probably already recognize the information these variables contain.
698+
699+
700+BACKGROUND THREAD
701+-----------------
702+
703+The following variables contain information in the BACKGROUND THREAD section of the output from ``SHOW INNODB STATUS``. An example of that output is:
704+
705+ Insert an example of BACKGROUND THREAD section output here.
706+
707+.. variable:: innodb_master_thread_1_second_loops
708+
709+ :version 5.5.8-20.0: Introduced.
710+ :vartype: Numeric
711+ :scope: Global
712+
713+.. variable:: innodb_master_thread_10_second_loops
714+
715+ :version 5.5.8-20.0: Introduced.
716+ :vartype: Numeric
717+ :scope: Global
718+
719+.. variable:: innodb_master_thread_background_loops
720+
721+ :version 5.5.8-20.0: Introduced.
722+ :vartype: Numeric
723+ :scope: Global
724+
725+.. variable:: innodb_master_thread_main_flush_loops
726+
727+ :version 5.5.8-20.0: Introduced.
728+ :vartype: Numeric
729+ :scope: Global
730+
731+.. variable:: innodb_master_thread_sleeps
732+
733+ :version 5.5.8-20.0: Introduced.
734+ :vartype: Numeric
735+ :scope: Global
736+
737+.. variable:: innodb_background_log_sync
738+
739+ :version 5.5.8-20.0: Introduced.
740+ :vartype: Numeric
741+ :scope: Global
742+
743+SEMAPHORES
744+----------
745+
746+The following variables contain information in the SEMAPHORES section of the output from ``SHOW INNODB STATUS``. An example of that output is: ::
747+
748+ ----------
749+ SEMAPHORES
750+ ----------
751+ OS WAIT ARRAY INFO: reservation count 9664, signal count 11182
752+ Mutex spin waits 20599, rounds 223821, OS waits 4479
753+ RW-shared spins 5155, OS waits 1678; RW-excl spins 5632, OS waits 2592
754+ Spin rounds per wait: 10.87 mutex, 15.01 RW-shared, 27.19 RW-excl
755+
756+.. variable:: innodb_mutex_os_waits
757+
758+ :version 5.5.8-20.0: Introduced.
759+ :vartype: Numeric
760+ :scope: Global
761+
762+.. variable:: innodb_mutex_spin_rounds
763+
764+ :version 5.5.8-20.0: Introduced.
765+ :vartype: Numeric
766+ :scope: Global
767+
768+.. variable:: innodb_mutex_spin_waits
769+
770+ :version 5.5.8-20.0: Introduced.
771+ :vartype: Numeric
772+ :scope: Global
773+
774+.. variable:: innodb_s_lock_os_waits
775+
776+ :version 5.5.8-20.0: Introduced.
777+ :vartype: Numeric
778+ :scope: Global
779+
780+.. variable:: innodb_s_lock_spin_rounds
781+
782+ :version 5.5.8-20.0: Introduced.
783+ :vartype: Numeric
784+ :scope: Global
785+
786+.. variable:: innodb_s_lock_spin_waits
787+
788+ :version 5.5.8-20.0: Introduced.
789+ :vartype: Numeric
790+ :scope: Global
791+
792+.. variable:: innodb_x_lock_os_waits
793+
794+ :version 5.5.8-20.0: Introduced.
795+ :vartype: Numeric
796+ :scope: Global
797+
798+.. variable:: innodb_x_lock_spin_rounds
799+
800+ :version 5.5.8-20.0: Introduced.
801+ :vartype: Numeric
802+ :scope: Global
803+
804+.. variable:: innodb_x_lock_spin_waits
805+
806+ :version 5.5.8-20.0: Introduced.
807+ :vartype: Numeric
808+ :scope: Global
809+
810+INSERT BUFFER AND ADAPTIVE HASH INDEX
811+-------------------------------------
812+
813+The following variables contain information in the INSERT BUFFER AND ADAPTIVE HASH INDEX section of the output from SHOW |InnoDB| STATUS. An example of that output is: ::
814+
815+ -------------------------------------
816+ INSERT BUFFER AND ADAPTIVE HASH INDEX
817+ -------------------------------------
818+ Ibuf: size 1, free list len 6089, seg size 6091,
819+ 44497 inserts, 44497 merged recs, 8734 merges
820+ Hash table size 276707, node heap has 1 buffer(s)
821+ 0.00 hash searches/s, 0.00 non-hash searches/s
822+
823+.. variable:: innodb_ibuf_discarded_delete_marks
824+
825+ :version 5.5.8-20.0: Introduced.
826+ :vartype: Numeric
827+ :scope: Global
828+
829+.. variable:: innodb_ibuf_discarded_deletes
830+
831+ :version 5.5.8-20.0: Introduced.
832+ :vartype: Numeric
833+ :scope: Global
834+
835+.. variable:: innodb_ibuf_discarded_inserts
836+
837+ :version 5.5.8-20.0: Introduced.
838+ :vartype: Numeric
839+ :scope: Global
840+
841+.. variable:: innodb_ibuf_free_list
842+
843+ :version 5.5.8-20.0: Introduced.
844+ :vartype: Numeric
845+ :scope: Global
846+
847+.. variable:: innodb_ibuf_merged_delete_marks
848+
849+ :version 5.5.8-20.0: Introduced.
850+ :vartype: Numeric
851+ :scope: Global
852+
853+.. variable:: innodb_ibuf_merged_deletes
854+
855+ :version 5.5.8-20.0: Introduced.
856+ :vartype: Numeric
857+ :scope: Global
858+
859+.. variable:: innodb_ibuf_merged_inserts
860+
861+ :version 5.5.8-20.0: Introduced.
862+ :vartype: Numeric
863+ :scope: Global
864+
865+.. variable:: innodb_ibuf_merges
866+
867+ :version 5.5.8-20.0: Introduced.
868+ :vartype: Numeric
869+ :scope: Global
870+
871+.. variable:: innodb_ibuf_segment_size
872+
873+ :version 5.5.8-20.0: Introduced.
874+ :vartype: Numeric
875+ :scope: Global
876+
877+.. variable:: innodb_ibuf_size
878+
879+ :version 5.5.8-20.0: Introduced.
880+ :vartype: Numeric
881+ :scope: Global
882+
883+.. variable:: innodb_adaptive_hash_cells
884+
885+ :version 5.5.8-20.0: Introduced.
886+ :vartype: Numeric
887+ :scope: Global
888+
889+.. variable:: innodb_adaptive_hash_heap_buffers
890+
891+ :version 5.5.8-20.0: Introduced.
892+ :vartype: Numeric
893+ :scope: Global
894+
895+.. variable:: innodb_adaptive_hash_hash_searches
896+
897+ :version 5.5.8-20.0: Introduced.
898+ :vartype: Numeric
899+ :scope: Global
900+
901+.. variable:: innodb_adaptive_hash_non_hash_searches
902+
903+ :version 5.5.8-20.0: Introduced.
904+ :vartype: Numeric
905+ :scope: Global
906+
907+LOG
908+---
909+
910+The following variables contain information in the LOG section of the output from ``SHOW INNODB STATUS``. An example of that output is: ::
911+
912+ ---
913+ LOG
914+ ---
915+ Log sequence number 28219393219
916+ Log flushed up to 28219393219
917+ Last checkpoint at 28212583337
918+ Max checkpoint age 7782360
919+ Checkpoint age target 7539162
920+ Modified age 6809882
921+ Checkpoint age 6809882
922+ 0 pending log writes, 0 pending chkp writes
923+ 8570 log i/o's done, 2000.00 log i/o's/second
924+
925+.. variable:: innodb_lsn_current
926+
927+ :version 5.5.8-20.0: Introduced.
928+ :vartype: Numeric
929+ :scope: Global
930+
931+.. variable:: innodb_lsn_flushed
932+
933+ :version 5.5.8-20.0: Introduced.
934+ :vartype: Numeric
935+ :scope: Global
936+
937+.. variable:: innodb_lsn_last_checkpoint
938+
939+ :version 5.5.8-20.0: Introduced.
940+ :vartype: Numeric
941+ :scope: Global
942+
943+.. variable:: innodb_checkpoint_age
944+
945+ :version 5.5.8-20.0: Introduced.
946+ :vartype: Numeric
947+ :scope: Global
948+
949+.. variable:: innodb_checkpoint_max_age
950+
951+ :version 5.5.8-20.0: Introduced.
952+ :vartype: Numeric
953+ :scope: Global
954+
955+.. variable:: innodb_checkpoint_target_age
956+
957+ :version 5.5.8-20.0: Introduced.
958+ :vartype: Numeric
959+ :scope: Global
960+
961+BUFFER POOL AND MEMORY
962+----------------------
963+
964+The following variables contain information in the BUFFER POOL AND MEMORY section of the output from ``SHOW INNODB STATUS``. An example of that output is: ::
965+
966+ ----------------------
967+ BUFFER POOL AND MEMORY
968+ ----------------------
969+ Total memory allocated 137625600; in additional pool allocated 0
970+ Internal hash tables (constant factor + variable factor)
971+ Adaptive hash index 3774352 (2213656 + 1560696)
972+ Page hash 139144
973+ Dictionary cache 629811 (554864 + 74947)
974+ File system 83536 (82672 + 864)
975+ Lock system 380792 (332872 + 47920)
976+ Recovery system 0 (0 + 0)
977+ Threads 84040 (82696 + 1344)
978+ Dictionary memory allocated 74947
979+ Buffer pool size 8192
980+ Buffer pool size, bytes 134217728
981+ Free buffers 0
982+ Database pages 8095
983+ Old database pages 2968
984+ Modified db pages 5914
985+ Pending reads 0
986+ Pending writes: LRU 0, flush list 129, single page 0
987+ Pages made young 372084, not young 0
988+ 2546000.00 youngs/s, 0.00 non-youngs/s
989+ Pages read 103356, created 154787, written 979572
990+ 469000.00 reads/s, 78000.00 creates/s, 138000.00 writes/s
991+ Buffer pool hit rate 994 / 1000, young-making rate 34 / 1000 not 0 / 1000
992+ Pages read ahead 0.00/s, evicted without access 15000.00/s
993+
994+.. variable:: innodb_mem_adaptive_hash
995+
996+ :version 5.5.8-20.0: Introduced.
997+ :vartype: Numeric
998+ :scope: Global
999+
1000+.. variable:: innodb_mem_dictionary
1001+
1002+ :version 5.5.8-20.0: Introduced.
1003+ :vartype: Numeric
1004+ :scope: Global
1005+
1006+.. variable:: innodb_mem_total
1007+
1008+ :version 5.5.8-20.0: Introduced.
1009+ :vartype: Numeric
1010+ :scope: Global
1011+
1012+.. variable:: innodb_buffer_pool_pages_LRU_flushed
1013+
1014+ :version 5.5.8-20.0: Introduced.
1015+ :vartype: Numeric
1016+ :scope: Global
1017+
1018+.. variable:: innodb_buffer_pool_pages_made_not_young
1019+
1020+ :version 5.5.8-20.0: Introduced.
1021+ :vartype: Numeric
1022+ :scope: Global
1023+
1024+.. variable:: innodb_buffer_pool_pages_made_young
1025+
1026+ :version 5.5.8-20.0: Introduced.
1027+ :vartype: Numeric
1028+ :scope: Global
1029+
1030+.. variable:: innodb_buffer_pool_pages_old
1031+
1032+ :version 5.5.8-20.0: Introduced.
1033+ :vartype: Numeric
1034+ :scope: Global
1035+
1036+TRANSACTIONS
1037+------------
1038+
1039+The following variables contain information in the TRANSACTIONS section of the output from ``SHOW INNODB STATUS``. An example of that output is: ::
1040+
1041+ ------------
1042+ TRANSACTIONS
1043+ ------------
1044+ Trx id counter F561FD
1045+ Purge done for trx's n:o < F561EB undo n:o < 0
1046+ History list length 19
1047+ LIST OF TRANSACTIONS FOR EACH SESSION:
1048+ ---TRANSACTION 0, not started, process no 993, OS thread id 140213152634640
1049+ mysql thread id 15933, query id 32109 localhost root
1050+ show innodb status
1051+ ---TRANSACTION F561FC, ACTIVE 29 sec, process no 993, OS thread id 140213152769808 updating or deleting
1052+ mysql tables in use 1, locked 1
1053+
1054+.. variable:: innodb_history_list_length
1055+
1056+ :version 5.5.8-20.0: Introduced.
1057+ :vartype: Numeric
1058+ :scope: Global
1059+
1060+.. variable:: innodb_max_trx_id
1061+
1062+ :version 5.5.8-20.0: Introduced.
1063+ :vartype: Numeric
1064+ :scope: Global
1065+
1066+.. variable:: innodb_oldest_view_low_limit_trx_id
1067+
1068+ :version 5.5.8-20.0: Introduced.
1069+ :vartype: Numeric
1070+ :scope: Global
1071+
1072+.. variable:: innodb_purge_trx_id
1073+
1074+ :version 5.5.8-20.0: Introduced.
1075+ :vartype: Numeric
1076+ :scope: Global
1077+
1078+.. variable:: innodb_purge_undo_no
1079+
1080+ :version 5.5.8-20.0: Introduced.
1081+ :vartype: Numeric
1082+ :scope: Global
1083+
1084+.. variable:: innodb_current_row_locks
1085+
1086+ :version 5.5.8-20.0: Introduced.
1087+ :version 5.5.10-20.1: Renamed.
1088+ :vartype: Numeric
1089+ :scope: Global
1090+
1091+ This variable was named :variable:`innodb_row_lock_numbers` in release 5.5.8-20.0.
1092+
1093+
1094+Other reading
1095+=============
1096+
1097+ * `SHOW INNODB STATUS walk through <http://www.mysqlperformanceblog.com/2006/07/17/show-innodb-status-walk-through/>`_
1098+
1099+ * `Table locks in SHOW INNODB STATUS <http://www.mysqlperformanceblog.com/2010/06/08/table-locks-in-show-innodb-status/>`_
1100
1101=== added file 'doc/source/diagnostics/misc_info_schema_tables.rst'
1102--- doc/source/diagnostics/misc_info_schema_tables.rst 1970-01-01 00:00:00 +0000
1103+++ doc/source/diagnostics/misc_info_schema_tables.rst 2013-03-05 12:46:43 +0000
1104@@ -0,0 +1,48 @@
1105+.. _misc_info_schema_tables:
1106+
1107+=================================
1108+ Misc. INFORMATION_SCHEMA Tables
1109+=================================
1110+
1111+This page lists the ``INFORMATION_SCHEMA`` tables added to standard |MySQL| by |Percona Server| that don't exist elsewhere in the documentation.
1112+
1113+.. _temp_tables:
1114+
1115+Temporary tables
1116+================
1117+
1118+ Only the temporary tables that were explicitly created with `CREATE TEMPORARY TABLE` or `ALTER TABLE` are shown, and not the ones created to process complex queries.
1119+
1120+.. table:: INFORMATION_SCHEMA.GLOBAL_TEMPORARY_TABLES
1121+
1122+ :version 5.6.5-60.0: Feature introduced
1123+ :column SESSION_ID: |MySQL| connection id
1124+ :column TABLE_SCHEMA: Schema in which the temporary table is created
1125+ :column TABLE_NAME: Name of the temporary table
1126+ :column ENGINE: Engine of the temporary table
1127+ :column NAME: Internal name of the temporary table
1128+ :column TABLE_ROWS: Number of rows of the temporary table
1129+ :column AVG_ROW_LENGTH: Average row length of the temporary table
1130+ :column DATA_LENGTH: Size of the data (Bytes)
1131+ :column INDEX_LENGTH: Size of the indexes (Bytes)
1132+ :column CREATE_TIME: Date and time of creation of the temporary table
1133+ :column UPDATE_TIME: Date and time of the latest update of the temporary table
1134+
1135+This table holds information on the temporary tables existing for all connections. You don't need the ``SUPER`` privilege to query this table.
1136+
1137+.. table:: INFORMATION_SCHEMA.TEMPORARY_TABLES
1138+
1139+ :version 5.6.5-60.0: Feature introduced
1140+ :column SESSION_ID: |MySQL| connection id
1141+ :column TABLE_SCHEMA: Schema in which the temporary table is created
1142+ :column TABLE_NAME: Name of the temporary table
1143+ :column ENGINE: Engine of the temporary table
1144+ :column NAME: Internal name of the temporary table
1145+ :column TABLE_ROWS: Number of rows of the temporary table
1146+ :column AVG_ROW_LENGTH: Average row length of the temporary table
1147+ :column DATA_LENGTH: Size of the data (Bytes)
1148+ :column INDEX_LENGTH: Size of the indexes (Bytes)
1149+ :column CREATE_TIME: Date and time of creation of the temporary table
1150+ :column UPDATE_TIME: Date and time of the latest update of the temporary table
1151+
1152+This table holds information on the temporary tables existing for the running connection.
1153
1154=== added file 'doc/source/diagnostics/mysql_syslog.rst'
1155--- doc/source/diagnostics/mysql_syslog.rst 1970-01-01 00:00:00 +0000
1156+++ doc/source/diagnostics/mysql_syslog.rst 2013-05-22 08:54:39 +0000
1157@@ -0,0 +1,43 @@
1158+.. _mysql_syslog:
1159+
1160+======================================
1161+ Log All Client Commands (``syslog``)
1162+======================================
1163+
1164+When enabled, this feature causes all commands run by the command line client to be logged to syslog. If you want to enable this option permanently, add it to the [mysql] group in my.cnf.
1165+
1166+Version Specific Information
1167+============================
1168+
1169+ * :rn:`5.5.8-20.0`:
1170+ Full functionality available.
1171+
1172+Other Information
1173+=================
1174+
1175+ * Author / Origin:
1176+ Percona
1177+
1178+Client Variables
1179+================
1180+
1181+.. variable:: syslog
1182+
1183+ :cli: Yes
1184+ :conf: Yes
1185+ :server: No
1186+ :scope: Global
1187+ :dyn: Yes
1188+ :vartype: Boolean
1189+ :default: OFF
1190+ :range: ON/OFF
1191+
1192+The variable enables (ON)/disables (OFF) logging to syslog.
1193+
1194+
1195+Other Reading
1196+=============
1197+
1198+ * http://en.wikipedia.org/wiki/Syslog
1199+
1200+ * http://tools.ietf.org/html/rfc5424
1201
1202=== added file 'doc/source/diagnostics/process_list.rst'
1203--- doc/source/diagnostics/process_list.rst 1970-01-01 00:00:00 +0000
1204+++ doc/source/diagnostics/process_list.rst 2013-03-05 12:46:43 +0000
1205@@ -0,0 +1,53 @@
1206+.. _process_list:
1207+
1208+=============
1209+Process List
1210+=============
1211+
1212+This page describes Percona changes to both the standard |MySQL| ``SHOW PROCESSLIST`` command and the standard |MySQL| ``INFORMATION_SCHEMA`` table ``PROCESSLIST``.
1213+
1214+The changes that have been made as of version 5.6 of the server are:
1215+
1216+ * :table:`PROCESSLIST` table:
1217+
1218+ * added column ``TIME_MS``
1219+
1220+Version Specific Information
1221+============================
1222+
1223+ * :rn:`5.6.5-60.0`:
1224+
1225+ * Added column ``TIME_MS`` to table ``PROCESSLIST``.
1226+
1227+
1228+INFORMATION_SCHEMA Tables
1229+=========================
1230+
1231+.. table:: INFORMATION_SCHEMA.PROCESSLIST
1232+
1233+ This table implements modifications to the standard |MySQL| ``INFORMATION_SCHEMA`` table ``PROCESSLIST``.
1234+
1235+ :column ID: The connection identifier.
1236+ :column USER: The |MySQL| user who issued the statement.
1237+ :column HOST: The host name of the client issuing the statement.
1238+ :column DB: The default database, if one is selected, otherwise NULL.
1239+ :column COMMAND: The type of command the thread is executing.
1240+ :column TIME: The time in seconds that the thread has been in its current state.
1241+ :column STATE: An action, event, or state that indicates what the thread is doing.
1242+ :column INFO: The statement that the thread is executing, or NULL if it is not executing any statement.
1243+ :column TIME_MS: The time in milliseconds that the thread has been in its current state.
1244+
1245+
1246+Example Output
1247+==============
1248+
1249+Table :table:`PROCESSLIST`: ::
1250+
1251+ mysql> SELECT * FROM INFORMATION_SCHEMA.PROCESSLIST;
1252+
1253+ +----+------+-----------+--------------------+---------+------+-----------+----------------------------------------------+---------+
1254+ | ID | USER | HOST | DB | COMMAND | TIME | STATE | INFO | TIME_MS |
1255+ +----+------+-----------+--------------------+---------+------+-----------+----------------------------------------------+---------+
1256+ | 5 | root | localhost | information_schema | Query | 0 | executing | select * from information_schema.PROCESSLIST | 0 |
1257+ +----+------+-----------+--------------------+---------+------+-----------+----------------------------------------------+---------+
1258+
1259
1260=== added file 'doc/source/diagnostics/show_engines.rst'
1261--- doc/source/diagnostics/show_engines.rst 1970-01-01 00:00:00 +0000
1262+++ doc/source/diagnostics/show_engines.rst 2013-05-22 08:54:39 +0000
1263@@ -0,0 +1,40 @@
1264+.. _show_engines:
1265+
1266+======================
1267+ Show Storage Engines
1268+======================
1269+
1270+This feature changes the comment field displayed when the ``SHOW STORAGE ENGINES`` command is executed and |XtraDB| is the storage engine.
1271+
1272+Before the Change: ::
1273+
1274+ mysql> show storage engines;
1275+ +------------+---------+----------------------------------------------------------------+--------------+------+------------+
1276+ | Engine | Support | Comment | Transactions | XA | Savepoints |
1277+ +------------+---------+----------------------------------------------------------------+--------------+------+------------+
1278+ | InnoDB | YES | Supports transactions, row-level locking, and foreign keys | YES | YES | YES |
1279+ ...
1280+ +------------+---------+----------------------------------------------------------------+--------------+------+------------+
1281+
1282+After the Change: ::
1283+
1284+ mysql> show storage engines;
1285+ +------------+---------+----------------------------------------------------------------------------+--------------+------+------------+
1286+ | Engine | Support | Comment | Transactions | XA | Savepoints |
1287+ +------------+---------+----------------------------------------------------------------------------+--------------+------+------------+
1288+ | InnoDB | YES | Percona-XtraDB, Supports transactions, row-level locking, and foreign keys | YES | YES | YES |
1289+ ...
1290+ +------------+---------+----------------------------------------------------------------------------+--------------+------+------------+
1291+
1292+Version-Specific Information
1293+============================
1294+
1295+ * 5.5.8-20.0:
1296+ Full functionality available.
1297+
1298+Other Information
1299+=================
1300+
1301+ * Author / Origin:
1302+ Percona
1303+
1304
1305=== added file 'doc/source/diagnostics/slow_extended_55.rst'
1306--- doc/source/diagnostics/slow_extended_55.rst 1970-01-01 00:00:00 +0000
1307+++ doc/source/diagnostics/slow_extended_55.rst 2013-05-22 08:54:39 +0000
1308@@ -0,0 +1,377 @@
1309+.. _slow_extended_55:
1310+
1311+================
1312+ Slow Query Log
1313+================
1314+
1315+This feature adds microsecond time resolution and additional statistics to the slow query log output. It lets you enable or disable the slow query log at runtime, adds logging for the slave SQL thread, and adds fine-grained control over what and how much to log into the slow query log.
1316+
1317+The ability to log queries with microsecond precision is essential for measuring the work the |MySQL| server performs. The standard slow query log in |MySQL| 5.0 has only 1-second granularity, which is too coarse for all but the slowest queries. |MySQL| 5.1 has microsecond resolution, but does not have the extra information about query execution that is included in the |Percona Server|.
1318+
1319+You can use *Percona-Toolkit*'s `pt-query-digest <http://www.percona.com/doc/percona-toolkit/2.1/pt-query-digest.html>`_ tool to aggregate similar queries together and report on those that consume the most execution time.
1320+
1321+
1322+Version Specific Information
1323+============================
1324+
1325+ * 5.5.8-20.0:
1326+ Added values ``profiling`` and ``profiling_use_getrusage`` to variable log_slow_verbosity.
1327+
1328+ * 5.5.10-20.1:
1329+ * Renamed variable :variable:`slow_query_log_timestamp_always` to :variable:`slow_query_log_timestamp_always`.
1330+
1331+ * Renamed variable :variable:`slow_query_log_microseconds_timestamp` to :variable:`slow_query_log_timestamp_precision`.
1332+
1333+ * Renamed variable :variable:`use_global_log_slow_control` to :variable:`slow_query_log_use_global_control`.
1334+
1335+Other Information
1336+=================
1337+
1338+ * Author / Origin:
1339+ Maciej Dobrzanski, Percona
1340+
1341+System Variables
1342+================
1343+
1344+.. variable:: log_slow_admin_statements
1345+
1346+ :cli: Yes
1347+ :conf: Yes
1348+ :scope: Global
1349+ :dyn: yes
1350+
1351+When this variable is enabled, administrative statements will be logged to the slow query log. Upstream version of the |MySQL| server has implemented command line option with same name. Significant difference is that this feature is implemented as variable in |Percona Server|, that means it can be enabled/disabled dynamically without restarting the server.
1352+
1353+.. variable:: log_slow_filter
1354+
1355+ :cli: Yes
1356+ :conf: Yes
1357+ :scope: Global, Session
1358+ :dyn: Yes
1359+
1360+Filters the slow log by the query's execution plan. The value is a comma-delimited string, and can contain any combination of the following values:
1361+
1362+ * ``qc_miss``:
1363+ The query was not found in the query cache.
1364+
1365+ * ``full_scan``:
1366+ The query performed a full table scan.
1367+
1368+ * ``full_join``:
1369+ The query performed a full join (a join without indexes).
1370+
1371+ * ``tmp_table``:
1372+ The query created an implicit internal temporary table.
1373+
1374+ * ``tmp_table_on_disk``:
1375+ The query``s temporary table was stored on disk.
1376+
1377+ * ``filesort``:
1378+ The query used a filesort.
1379+
1380+ * ``filesort_on_disk``:
1381+ The filesort was performed on disk.
1382+
1383+Values are OR'ed together. If the string is empty, then the filter is disabled. If it is not empty, then queries will only be logged to the slow log if their execution plan matches one of the types of plans present in the filter.
1384+
1385+For example, to log only queries that perform a full table scan, set the value to ``full_scan``. To log only queries that use on-disk temporary storage for intermediate results, set the value to ``tmp_table_on_disk,filesort_on_disk``.
1386+
1387+.. variable:: log_slow_rate_type
1388+
1389+ :cli: Yes
1390+ :conf: Yes
1391+ :scope: Global
1392+ :dyn: Yes
1393+ :vartype: Enumerated
1394+ :default: ``session``
1395+ :range: ``session``, ``query``
1396+
1397+Specifies semantic of :variable:`log_slow_rate_limit` - ``session`` or ``query``.
1398+
1399+.. variable:: log_slow_rate_limit
1400+
1401+ :cli: Yes
1402+ :conf: Yes
1403+ :scope: Global, session
1404+ :dyn: Yes
1405+
1406+Behavior of this variable depends from :variable:`log_slow_rate_type`.
1407+
1408+Specifies that only a fraction of ``session/query`` should be logged. Logging is enabled for every nth ``session/query``. By default, n is 1, so logging is enabled for every ``session/query``. Please note: when :variable:`log_slow_rate_type` is ``session`` rate limiting is disabled for the replication thread.
1409+
1410+Logging all queries might consume I/O bandwidth and cause the log file to grow large.
1411+ * When :variable:`log_slow_rate_type` is ``session``, this option lets you log full sessions, so you have complete records of sessions for later analysis; but you can rate-limit the number of sessions that are logged. Note that this feature will not work well if your application uses any type of connection pooling or persistent connections. Note that you change :variable:`log_slow_rate_limit` in ``session`` mode, you should reconnect for get effect.
1412+
1413+ * When :variable:`log_slow_rate_type` is ``query``, this option lets you log just some queries for later analysis. For example, if you set the value to 100, then one percona of queryies will logged.
1414+
1415+Note that every query has global unique ``query_id`` and every connection can has it own (session) :variable:``log_slow_rate_limit``.
1416+Decision "log or no" calculated in following manner:
1417+
1418+ * if ``log_slow_rate_limit`` is 0 - log every query
1419+
1420+ * If ``log_slow_rate_limit`` > 0 - log query when (``query_id`` % ``log_slow_rate_limit``) is zero.
1421+
1422+This allows flexible setup logging behavior.
1423+
1424+For example, if you set the value to 100, then one percent of ``sessions/queries`` will be logged.
1425+
1426+.. variable:: log_slow_slave_statements
1427+
1428+ :cli: Yes
1429+ :conf: Yes
1430+ :scope: Global, session
1431+ :dyn: Yes (in 5.1 releases only)
1432+
1433+Specifies that slow queries replayed by the slave SQL thread on a |MySQL| slave will be logged. Upstream version of the |MySQL| server has implemented command line option with same name. Significant difference is that this feature is implemented as variable in |Percona Server|, that means it can be enabled/disabled dynamically without restarting the server.
1434+
1435+To start the logging from the slave thread, you should change the global value: set global :variable:`log_slow_slave_statements` ``=ON``; and then execute: ``STOP SLAVE; START SLAVE;``. This will destroy and recreate the slave SQL thread, so it will see the newly set global value.
1436+
1437+To stop the logging from the slave thread, you should just change the global value: set global :variable:`log_slow_slave_statements` ``=OFF``; the logging stops immediately.
1438+
1439+
1440+.. variable:: log_slow_sp_statements
1441+
1442+ :cli: Yes
1443+ :conf: Yes
1444+ :scope: Global
1445+ :dyn: Yes
1446+ :vartype: Boolean
1447+ :default: TRUE
1448+ :range: TRUE/FALSE
1449+
1450+If ``TRUE``, statements executed by stored procedures are logged to the slow if it is open.
1451+
1452+.. note::
1453+
1454+ Support for logging stored procedures doesn't involve triggers, so they won't be logged even if this feature is enabled.
1455+
1456+.. variable:: log_slow_verbosity
1457+
1458+ :version 5.5.8-20.0: Added ``profiling`` and ``profiling_use_getrusage``
1459+ :cli: Yes
1460+ :conf: Yes
1461+ :scope: Global, session
1462+ :dyn: Yes
1463+
1464+Specifies how much information to include in your slow log. The value is a comma-delimited string, and can contain any combination of the following values:
1465+
1466+ * ``microtime``:
1467+ Log queries with microsecond precision.
1468+
1469+ * ``query_plan``:
1470+ Log information about the query's execution plan.
1471+
1472+ * ``innodb``:
1473+ Log |InnoDB| statistics.
1474+
1475+ * ``minimal``:
1476+ Equivalent to enabling just ``microtime``.
1477+
1478+ * ``standard``:
1479+ Equivalent to enabling ``microtime,innodb``.
1480+
1481+ * ``full``:
1482+ Equivalent to all other values OR'ed together.
1483+
1484+ * ``profiling``:
1485+ Enables profiling of all queries in all connections.
1486+
1487+ * ``profiling_use_getrusage``:
1488+ Enables usage of the getrusage function.
1489+
1490+Values are OR'ed together.
1491+
1492+For example, to enable microsecond query timing and |InnoDB| statistics, set this option to ``microtime,innodb`` or ``standard``. To turn all options on, set the option to ``full``.
1493+
1494+.. variable:: slow_query_log_timestamp_always
1495+
1496+ :version 5.5.10-20.1: Introduced (renamed from :variable:`log_slow_timestamp_every`)
1497+ :cli: Yes
1498+ :conf: Yes
1499+ :scope: Global
1500+ :dyn: Yes
1501+ :vartype: Boolean
1502+ :default: FALSE
1503+ :range: TRUE/FALSE
1504+
1505+If ``TRUE``, a timestamp is printed on every slow log record. Multiple records may have the same time.
1506+
1507+.. variable:: slow_query_log_timestamp_precision
1508+
1509+ :version 5.5.10-20.1: Introduced (renamed from ``slow_query_log_microseconds_timestamp``)
1510+ :cli: Yes
1511+ :conf: Yes
1512+ :scope: Global
1513+ :dyn: Yes
1514+ :vartype: Enumerated
1515+ :default: ``second``
1516+ :range: ``second``, ``microsecond``
1517+
1518+Normally, entries to the slow query log are in seconds precision, in this format: ::
1519+
1520+ # Time: 090402 9:23:36 # User@Host: XXX @ XXX [10.X.X.X]
1521+
1522+If :variable:`slow_query_log_timestamp_precision` ``=microsecond``, entries to the slow query log are in microsecond precision, in this format: ::
1523+
1524+ # Time: 090402 9:23:36.123456 # User@Host: XXX @ XXX [10.X.X.X]
1525+
1526+.. variable:: slow_query_log_use_global_control
1527+
1528+ :cli: Yes
1529+ :conf: Yes
1530+ :scope: Global
1531+ :dyn: Yes
1532+ :default: None
1533+ :version 5.5.10-20.1: Introduced (renamed from :variable:`log_slow_timestamp_every`)
1534+
1535+Specifies which variables have global scope instead of local. Value is a “flag” variable - you can specify multiple values separated by commas
1536+
1537+ * ``none``:
1538+ All variables use local scope
1539+
1540+ * ``log_slow_filter``:
1541+ Global variable :variable:`log_slow_filter` has effect (instead of local)
1542+
1543+ * ``log_slow_rate_limit``:
1544+ Global variable :variable:`log_slow_rate_limit` has effect (instead of local)
1545+
1546+ * ``log_slow_verbosity``:
1547+ Global variable :variable:`log_slow_verbosity` has effect (instead of local)
1548+
1549+ * ``long_query_time``:
1550+ Global variable :variable:`long_query_time` has effect (instead of local)
1551+
1552+ * ``min_examined_row_limit``:
1553+ Global variable ``min_examined_row_limit`` has effect (instead of local)
1554+
1555+ * ``all``
1556+ Global variables has effect (instead of local)
1557+
1558+**NOTE:** This variable has been renamed from :variable:`log_slow_timestamp_every` since 5.5.10-20.1.
1559+
1560+
1561+Other Information
1562+=================
1563+
1564+Changes to the Log Format
1565+-------------------------
1566+
1567+The feature adds more information to the slow log output. Here is a sample log entry: ::
1568+
1569+ # User@Host: mailboxer[mailboxer] @ [192.168.10.165]
1570+ # Thread_id: 11167745 Schema: board
1571+ # QC_Hit: No Full_scan: No Full_join: No Tmp_table: Yes Disk_tmp_table: No
1572+ # Filesort: Yes Disk_filesort: No Merge_passes: 0
1573+ # Query_time: 0.000659 Lock_time: 0.000070 Rows_sent: 0 Rows_examined: 30 Rows_affected: 0 Rows_read: 30
1574+ # innodb_IO_r_ops: 1 innodb_IO_r_bytes: 16384 innodb_IO_r_wait: 0.028487
1575+ # innodb_rec_lock_wait: 0.000000 innodb_queue_wait: 0.000000
1576+ # innodb_pages_distinct: 5
1577+ select count(distinct author_id) from art87.article87 force index (forum_id) where forum_id = 240215 and thread_id = ``710575``
1578+
1579+Another example (:variable:`log_slow_verbosity` ``=profiling``): ::
1580+
1581+ # Query_time: 4.555235 Lock_time: 0.000000 Rows_sent: 1 Rows_examined: 0 Rows_affected: 0 Rows_read: 1
1582+ # Profile_starting: 4.554799 Profile_starting_cpu: 0.000000 Profile_checking_permissions: 0.000095 Profile_checking_permissions_cpu: 0.000000 Profile_Opening_tables: 0.000088 Profile_Opening_tables_cpu: 0.000000 Profile_init: 0.000056 Profile_init_cpu: 0.000000 Profile_optimizing: 0.000046 Profile_optimizing_cpu: 0.000000 Profile_executing: 0.000098 Profile_executing_cpu: 0.000000 Profile_end: 0.000049 Profile_end_cpu: 0.000000 Profile_query_end: 0.000045 Profile_query_end_cpu: 0.000000 Profile_freeing_items: 0.000084 Profile_freeing_items_cpu: 0.000000 Profile_logging_slow_query: 0.000045 Profile_logging_slow_query_cpu: 0.000000
1583+ # Profile_total: 4.555405 Profile_total_cpu: 0.000000
1584+ insert into teee4 select * from teee4 limit 10000000;
1585+
1586+Connection and Schema Identifier
1587+--------------------------------
1588+
1589+Each slow log entry now contains a connection identifier, so you can trace all the queries coming from a single connection. This is the same value that is shown in the Id column in ``SHOW FULL PROCESSLIST`` or returned from the ``CONNECTION_ID()`` function.
1590+
1591+Each entry also contains a schema name, so you can trace all the queries whose default database was set to a particular schema. ::
1592+
1593+ # Thread_id: 11167745 Schema: board
1594+
1595+Microsecond Time Resolution and Extra Row Information
1596+-----------------------------------------------------
1597+
1598+This is the original functionality offered by the ``microslow`` feature. ``Query_time`` and ``Lock_time`` are logged with microsecond resolution.
1599+
1600+The feature also adds information about how many rows were examined for ``SELECT`` queries, and how many were analyzed and affected for ``UPDATE``, ``DELETE``, and ``INSERT`` queries, ::
1601+
1602+ # Query_time: 0.000659 Lock_time: 0.000070 Rows_sent: 0 Rows_examined: 30 Rows_affected: 0 Rows_read: 30
1603+
1604+Values and context:
1605+
1606+ * ``Rows_examined``:
1607+ Number of rows scanned - ``SELECT``
1608+
1609+ * ``Rows_affected``:
1610+ Number of rows changed - ``UPDATE``, ``DELETE``, ``INSERT``
1611+
1612+ * ``Rows_read``:
1613+ Number of rows read - ``UPDATE``, ``DELETE``, ``INSERT``
1614+
1615+Memory Footprint
1616+----------------
1617+
1618+The feature provides information about the amount of bytes sent for the result of the query and the number of temporary tables created for its execution - differentiated by whether they were created on memory or on disk - with the total number of bytes used by them. ::
1619+
1620+ # Bytes_sent: 8053 Tmp_tables: 1 Tmp_disk_tables: 0 Tmp_table_sizes: 950528
1621+
1622+Values and context:
1623+
1624+ * ``Bytes_sent``:
1625+ The amount of bytes sent for the result of the query
1626+
1627+ * ``Tmp_tables``:
1628+ Number of temporary tables created on memory for the query
1629+
1630+ * ``Tmp_disk_tables``:
1631+ Number of temporary tables created on disk for the query
1632+
1633+ * ``Tmp_table_sizes``:
1634+ Total Size in bytes for all temporary tables used in the query
1635+
1636+
1637+Query Plan Information
1638+----------------------
1639+
1640+Each query can be executed in various ways. For example, it may use indexes or do a full table scan, or a temporary table may be needed. These are the things that you can usually see by running ``EXPLAIN`` on the query. The feature will now allow you to see the most important facts about the execution in the log file. ::
1641+
1642+ # QC_Hit: No Full_scan: No Full_join: No Tmp_table: Yes Disk_tmp_table: No
1643+ # Filesort: Yes Disk_filesort: No Merge_passes: 0
1644+
1645+The values and their meanings are documented with the :variable:`log_slow_filter` option.
1646+
1647+|InnoDB| Usage Information
1648+--------------------------
1649+
1650+The final part of the output is the |InnoDB| usage statistics. |MySQL| currently shows many per-session statistics for operations with ``SHOW SESSION STATUS``, but that does not include those of |InnoDB|, which are always global and shared by all threads. This feature lets you see those values for a given query. ::
1651+
1652+ # innodb_IO_r_ops: 1 innodb_IO_r_bytes: 16384 innodb_IO_r_wait: 0.028487
1653+ # innodb_rec_lock_wait: 0.000000 innodb_queue_wait: 0.000000
1654+ # innodb_pages_distinct: 5
1655+
1656+Values:
1657+
1658+ * ``innodb_IO_r_ops``:
1659+ Counts the number of page read operations scheduled. The actual number of read operations may be different, but since this can be done asynchronously, there is no good way to measure it.
1660+
1661+ * ``innodb_IO_r_bytes``:
1662+ Similar to innodb_IO_r_ops, but the unit is bytes.
1663+
1664+ * ``innodb_IO_r_wait``:
1665+ Shows how long (in seconds) it took |InnoDB| to actually read the data from storage.
1666+
1667+ * ``innodb_rec_lock_wait``:
1668+ Shows how long (in seconds) the query waited for row locks.
1669+
1670+ * ``innodb_queue_wait``:
1671+ Shows how long (in seconds) the query spent either waiting to enter the |InnoDB| queue or inside that queue waiting for execution.
1672+
1673+ * ``innodb_pages_distinct``:
1674+ Counts approximately the number of unique pages the query accessed. The approximation is based on a small hash array representing the entire buffer pool, because it could take a lot of memory to map all the pages. The inaccuracy grows with the number of pages accessed by a query, because there is a higher probability of hash collisions.
1675+
1676+If the query did not use |InnoDB| tables, that information is written into the log instead of the above statistics.
1677+
1678+Related Reading
1679+===============
1680+
1681+ * http://www.mysqlperformanceblog.com/2009/02/10/impact-of-logging-on-mysql%E2%80%99s-performance/
1682+
1683+ * `log_slow_filter Usage <http://www.mysqlperformanceblog.com/2008/09/22/finding-what-created_tmp_disk_tables-with-log_slow_filter/>`_
1684+
1685+ * `Blueprint in Launchpad <https://blueprints.launchpad.net/percona-server/+spec/microseconds-in-query-log>`_
1686
1687=== added file 'doc/source/diagnostics/thread_based_profiling.rst'
1688--- doc/source/diagnostics/thread_based_profiling.rst 1970-01-01 00:00:00 +0000
1689+++ doc/source/diagnostics/thread_based_profiling.rst 2013-05-22 08:54:39 +0000
1690@@ -0,0 +1,17 @@
1691+.. _thread_based_profiling:
1692+
1693+=========================
1694+ Thread Based Profiling
1695+=========================
1696+
1697+|Percona Server| now uses thread based profiling by default, instead of process based profiling. This was implemented because with process based profiling, threads on the server, other than the one being profiled, can affect the profiling information.
1698+
1699+Thread based profiling is using the information provided by the kernel `getrusage <http://kernel.org/doc/man-pages/online/pages/man2/getrusage.2.html>`_ function. Since the 2.6.26 kernel version, thread based resource usage is available with the **RUSAGE_THREAD**. This means that the thread based profiling will be used if you're running the 2.6.26 kernel or newer, or if the **RUSAGE_THREAD** has been ported back.
1700+
1701+This feature is enabled by default if your system supports it, in other cases it uses process based profiling.
1702+
1703+Version Specific Information
1704+============================
1705+
1706+ * :rn:`5.5.25a-27.1`:
1707+ Thread based profiling introduced
1708
1709=== added file 'doc/source/diagnostics/user_stats.rst'
1710--- doc/source/diagnostics/user_stats.rst 1970-01-01 00:00:00 +0000
1711+++ doc/source/diagnostics/user_stats.rst 2013-05-22 08:54:39 +0000
1712@@ -0,0 +1,242 @@
1713+.. _user_stats:
1714+
1715+=================
1716+ User Statistics
1717+=================
1718+
1719+This feature adds several ``INFORMATION_SCHEMA`` tables, several commands, and the userstat variable. The tables and commands can be used to understand the server activity better and identify the source of the load.
1720+
1721+The functionality is disabled by default, and must be enabled by setting ``userstat`` to ``ON``. It works by keeping several hash tables in memory. To avoid contention over global mutexes, each connection has its own local statistics, which are occasionally merged into the global statistics, and the local statistics are then reset to 0.
1722+
1723+
1724+Version Specific Information
1725+============================
1726+
1727+ * :rn:`5.5.10-20.1`:
1728+ Renamed variable :variable:`userstat_running` to :variable:`userstat`.
1729+
1730+Other Information
1731+=================
1732+
1733+ * Author/Origin:
1734+ *Google*; *Percona* added the ``INFORMATION_SCHEMA`` tables and the :variable:`userstat_running` variable.
1735+
1736+System Variables
1737+================
1738+
1739+.. variable:: userstat_running
1740+
1741+ :version 5.5.10-20.1: Renamed to :variable:`userstat`
1742+ :cli: Yes
1743+ :conf: Yes
1744+ :scope: Global
1745+ :dyn: Yes
1746+ :vartype: BOOLEAN
1747+ :default: OFF
1748+ :range: ON/OFF
1749+
1750+Enables or disables collection of statistics. The default is ``OFF``, meaning no statistics are gathered. This is to ensure that the statistics collection doesn't cause any extra load on the server unless desired.
1751+
1752+
1753+INFORMATION_SCHEMA Tables
1754+=========================
1755+
1756+.. table:: INFORMATION_SCHEMA.CLIENT_STATISTICS
1757+
1758+ :column CLIENT: The IP address or hostname from which the connection originated.
1759+ :column TOTAL_CONNECTIONS: The number of connections created for this client.
1760+ :column CONCURRENT_CONNECTIONS: The number of concurrent connections for this client.
1761+ :column CONNECTED_TIME: The cumulative number of seconds elapsed while there were connections from this client.
1762+ :column BUSY_TIME: The cumulative number of seconds there was activity on connections from this client.
1763+ :column CPU_TIME: The cumulative CPU time elapsed, in seconds, while servicing this client``s connections.
1764+ :column BYTES_RECEIVED: The number of bytes received from this client's connections.
1765+ :column BYTES_SENT: The number of bytes sent to this client's connections.
1766+ :column BINLOG_BYTES_WRITTEN: The number of bytes written to the binary log from this client's connections.
1767+ :column ROWS_FETCHED: The number of rows fetched by this client's connections.
1768+ :column ROWS_UPDATED: The number of rows updated by this client's connections.
1769+ :column TABLE_ROWS_READ: The number of rows read from tables by this client's connections. (It may be different from ``ROWS_FETCHED``.)
1770+ :column SELECT_COMMANDS: The number of ``SELECT`` commands executed from this client's connections.
1771+ :column UPDATE_COMMANDS: The number of ``UPDATE`` commands executed from this client's connections.
1772+ :column OTHER_COMMANDS: The number of other commands executed from this client's connections.
1773+ :column COMMIT_TRANSACTIONS: The number of ``COMMIT`` commands issued by this client's connections.
1774+ :column ROLLBACK_TRANSACTIONS: The number of ``ROLLBACK`` commands issued by this client's connections.
1775+ :column DENIED_CONNECTIONS: The number of connections denied to this client.
1776+ :column LOST_CONNECTIONS: The number of this client's connections that were terminated uncleanly.
1777+ :column ACCESS_DENIED: The number of times this client's connections issued commands that were denied.
1778+ :column EMPTY_QUERIES: The number of times this client's connections sent empty queries to the server.
1779+
1780+This table holds statistics about client connections. The Percona version of the feature restricts this table's visibility to users who have the ``SUPER`` or ``PROCESS`` privilege.
1781+
1782+Example: ::
1783+
1784+ mysql> SELECT * FROM INFORMATION_SCHEMA.CLIENT_STATISTICS\G
1785+ *************************** 1. row ***************************
1786+ CLIENT: 10.1.12.30
1787+ TOTAL_CONNECTIONS: 20
1788+ CONCURRENT_CONNECTIONS: 0
1789+ CONNECTED_TIME: 0
1790+ BUSY_TIME: 93
1791+ CPU_TIME: 48
1792+ BYTES_RECEIVED: 5031
1793+ BYTES_SENT: 276926
1794+ BINLOG_BYTES_WRITTEN: 217
1795+ ROWS_FETCHED: 81
1796+ ROWS_UPDATED: 0
1797+ TABLE_ROWS_READ: 52836023
1798+ SELECT_COMMANDS: 26
1799+ UPDATE_COMMANDS: 1
1800+ OTHER_COMMANDS: 145
1801+ COMMIT_TRANSACTIONS: 1
1802+ ROLLBACK_TRANSACTIONS: 0
1803+ DENIED_CONNECTIONS: 0
1804+ LOST_CONNECTIONS: 0
1805+ ACCESS_DENIED: 0
1806+ EMPTY_QUERIES: 0
1807+
1808+
1809+.. table:: INFORMATION_SCHEMA.INDEX_STATISTICS
1810+
1811+ :column TABLE_SCHEMA: The schema (database) name.
1812+ :column TABLE_NAME: The table name.
1813+ :column INDEX_NAME: The index name (as visible in ``SHOW CREATE TABLE``).
1814+ :column ROWS_READ: The number of rows read from this index.
1815+
1816+This table shows statistics on index usage. An older version of the feature contained a single column that had the ``TABLE_SCHEMA``, ``TABLE_NAME`` and ``INDEX_NAME`` columns concatenated together. The |Percona| version of the feature separates these into three columns. Users can see entries only for tables to which they have ``SELECT`` access.
1817+
1818+This table makes it possible to do many things that were difficult or impossible previously. For example, you can use it to find unused indexes and generate DROP commands to remove them.
1819+
1820+Example: ::
1821+
1822+ mysql> SELECT * FROM INFORMATION_SCHEMA.INDEX_STATISTICS
1823+ WHERE TABLE_NAME='tables_priv';
1824+ +--------------+-----------------------+--------------------+-----------+
1825+ | TABLE_SCHEMA | TABLE_NAME | INDEX_NAME | ROWS_READ |
1826+ +--------------+-----------------------+--------------------+-----------+
1827+ | mysql | tables_priv | PRIMARY | 2 |
1828+ +--------------+-----------------------+--------------------+-----------+
1829+
1830+
1831+
1832+.. table:: INFORMATION_SCHEMA.TABLE_STATISTICS
1833+
1834+ :column TABLE_SCHEMA: The schema (database) name.
1835+ :column TABLE_NAME: The table name.
1836+ :column ROWS_READ: The number of rows read from the table.
1837+ :column ROWS_CHANGED: The number of rows changed in the table.
1838+ :column ROWS_CHANGED_X_INDEXES: The number of rows changed in the table, multiplied by the number of indexes changed.
1839+
1840+This table is similar in function to the ``INDEX_STATISTICS`` table.
1841+
1842+Example: ::
1843+
1844+ mysql> SELECT * FROM INFORMATION_SCHEMA.TABLE_STATISTICS
1845+ WHERE TABLE_NAME=``tables_priv``;
1846+ +--------------+-------------------------------+-----------+--------------+------------------------+
1847+ | TABLE_SCHEMA | TABLE_NAME | ROWS_READ | ROWS_CHANGED | ROWS_CHANGED_X_INDEXES |
1848+ +--------------+-------------------------------+-----------+--------------+------------------------+
1849+ | mysql | tables_priv | 2 | 0 | 0 |
1850+ +--------------+-------------------------------+-----------+--------------+------------------------+
1851+
1852+
1853+.. table:: INFORMATION_SCHEMA.THREAD_STATISTICS
1854+
1855+ :column THREAD_ID: int(21)
1856+ :column TOTAL_CONNECTIONS: int(21)
1857+ :column CONCURRENT_CONNECTIONS: int(21)
1858+ :column CONNECTED_TIME: int(21)
1859+ :column BUSY_TIME: int(21)
1860+ :column CPU_TIME: int(21)
1861+ :column BYTES_RECEIVED: int(21)
1862+ :column BYTES_SENT: int(21)
1863+ :column BINLOG_BYTES_WRITTEN: int(21)
1864+ :column ROWS_FETCHED: int(21)
1865+ :column ROWS_UPDATED: int(21)
1866+ :column TABLE_ROWS_READ: int(21)
1867+ :column SELECT_COMMANDS: int(21)
1868+ :column UPDATE_COMMANDS: int(21)
1869+ :column OTHER_COMMANDS: int(21)
1870+ :column COMMIT_TRANSACTIONS: int(21)
1871+ :column ROLLBACK_TRANSACTIONS: int(21)
1872+ :column DENIED_CONNECTIONS: int(21)
1873+ :column LOST_CONNECTIONS: int(21)
1874+ :column ACCESS_DENIED: int(21)
1875+ :column EMPTY_QUERIES: int(21)
1876+
1877+.. table:: INFORMATION_SCHEMA.USER_STATISTICS
1878+
1879+ :column USER: The username. The value ``#mysql_system_user#`` appears when there is no username (such as for the slave SQL thread).
1880+ :column TOTAL_CONNECTIONS: The number of connections created for this user.
1881+ :column CONCURRENT_CONNECTIONS: The number of concurrent connections for this user.
1882+ :column CONNECTED_TIME: The cumulative number of seconds elapsed while there were connections from this user.
1883+ :column BUSY_TIME: The cumulative number of seconds there was activity on connections from this user.
1884+ :column CPU_TIME: The cumulative CPU time elapsed, in seconds, while servicing this user's connections.
1885+ :column BYTES_RECEIVED: The number of bytes received from this user's connections.
1886+ :column BYTES_SENT: The number of bytes sent to this user's connections.
1887+ :column BINLOG_BYTES_WRITTEN: The number of bytes written to the binary log from this user's connections.
1888+ :column ROWS_FETCHED: The number of rows fetched by this user's connections.
1889+ :column ROWS_UPDATED: The number of rows updated by this user's connections.
1890+ :column TABLE_ROWS_READ: The number of rows read from tables by this user's connections. (It may be different from ``ROWS_FETCHED``.)
1891+ :column SELECT_COMMANDS: The number of ``SELECT`` commands executed from this user's connections.
1892+ :column UPDATE_COMMANDS: The number of ``UPDATE`` commands executed from this user's connections.
1893+ :column OTHER_COMMANDS: The number of other commands executed from this user's connections.
1894+ :column COMMIT_TRANSACTIONS: The number of ``COMMIT`` commands issued by this user's connections.
1895+ :column ROLLBACK_TRANSACTIONS: The number of ``ROLLBACK`` commands issued by this user's connections.
1896+ :column DENIED_CONNECTIONS: The number of connections denied to this user.
1897+ :column LOST_CONNECTIONS: The number of this user's connections that were terminated uncleanly.
1898+ :column ACCESS_DENIED: The number of times this user's connections issued commands that were denied.
1899+ :column EMPTY_QUERIES: The number of times this user's connections sent empty queries to the server.
1900+
1901+This table contains information about user activity. The |Percona| version of the patch restricts this table's visibility to users who have the ``SUPER`` or ``PROCESS`` privilege.
1902+
1903+The table gives answers to questions such as which users cause the most load, and whether any users are being abusive. It also lets you measure how close to capacity the server may be. For example, you can use it to find out whether replication is likely to start falling behind.
1904+
1905+Example: ::
1906+
1907+ mysql> SELECT * FROM INFORMATION_SCHEMA.USER_STATISTICS\G
1908+ *************************** 1. row ***************************
1909+ USER: root
1910+ TOTAL_CONNECTIONS: 5592
1911+ CONCURRENT_CONNECTIONS: 0
1912+ CONNECTED_TIME: 6844
1913+ BUSY_TIME: 179
1914+ CPU_TIME: 72
1915+ BYTES_RECEIVED: 603344
1916+ BYTES_SENT: 15663832
1917+ BINLOG_BYTES_WRITTEN: 217
1918+ ROWS_FETCHED: 9793
1919+ ROWS_UPDATED: 0
1920+ TABLE_ROWS_READ: 52836023
1921+ SELECT_COMMANDS: 9701
1922+ UPDATE_COMMANDS: 1
1923+ OTHER_COMMANDS: 2614
1924+ COMMIT_TRANSACTIONS: 1
1925+ ROLLBACK_TRANSACTIONS: 0
1926+ DENIED_CONNECTIONS: 0
1927+ LOST_CONNECTIONS: 0
1928+ ACCESS_DENIED: 0
1929+ EMPTY_QUERIES: 0
1930+
1931+Commands Provided
1932+=================
1933+
1934+ * ``FLUSH CLIENT_STATISTICS``
1935+
1936+ * ``FLUSH INDEX_STATISTICS``
1937+
1938+ * ``FLUSH TABLE_STATISTICS``
1939+
1940+ * ``FLUSH THREAD_STATISTICS``
1941+
1942+ * ``FLUSH USER_STATISTICS``
1943+
1944+These commands discard the specified type of stored statistical information.
1945+
1946+ * ``SHOW CLIENT_STATISTICS``
1947+ * ``SHOW INDEX_STATISTICS``
1948+ * ``SHOW TABLE_STATISTICS``
1949+ * ``SHOW THREAD_STATISTICS``
1950+ * ``SHOW USER_STATISTICS``
1951+
1952+These commands are another way to display the information you can get from the ``INFORMATION_SCHEMA`` tables. The commands accept ``WHERE`` clauses. They also accept but ignore ``LIKE`` clauses.
1953+
1954+
1955
1956=== added file 'doc/source/flexibility/mysqldump_ignore_create_error.rst'
1957--- doc/source/flexibility/mysqldump_ignore_create_error.rst 1970-01-01 00:00:00 +0000
1958+++ doc/source/flexibility/mysqldump_ignore_create_error.rst 2013-05-22 08:54:39 +0000
1959@@ -0,0 +1,22 @@
1960+.. _mysqldump_ignore_create_error:
1961+
1962+======================================
1963+ Ignoring missing tables in mysqldump
1964+======================================
1965+
1966+In case table name was changed during the :command:`mysqldump` process taking place, :command:`mysqldump` would stop with error: ::
1967+
1968+ Couldn't execute 'show create table testtable'
1969+ Table 'testdb.tabletest' doesn't exist (1146)\n")
1970+
1971+This could happen if :command:`mysqldump` was taking a backup of a working slave and during that process table name would get changed. This error happens because :command:`mysqldump` takes the list of the tables at the beginning of the dump process but the ``SHOW CREATE TABLE`` happens just before the table is being dumped.
1972+
1973+With this option :command:`mysqldump` will still show error to ``stderr``, but it will continue to work and dump the rest of the tables.
1974+
1975+Version Specific Information
1976+============================
1977+
1978+ * :rn:`5.6.5-60.0`
1979+ :command:`mysqldump` option :option:`--ignore-create-error` introduced
1980+
1981+
1982
1983=== removed directory 'doc/source/reliability'
1984=== removed file 'doc/source/reliability/error_pad.rst'
1985--- doc/source/reliability/error_pad.rst 2013-05-22 08:54:33 +0000
1986+++ doc/source/reliability/error_pad.rst 1970-01-01 00:00:00 +0000
1987@@ -1,55 +0,0 @@
1988-.. _error_pad:
1989-
1990-==========================
1991- Error Code Compatibility
1992-==========================
1993-
1994-|Percona Server| with |XtraDB| has error code incompatibilities with |MySQL| 5.5. It is important to maintain compatibility in the error codes used by the servers. For example, scripts that may be run on both servers could contain references to error codes.
1995-
1996-The reasons for the current incompatibilities are:
1997-
1998- * |Percona Server| with |XtraDB| contains features that have been backported from MyQL 5.5. Some of the |MySQL| 5.5 features added new error codes.
1999-
2000- * Some |Percona Server| with |XtraDB| features have added new error codes.
2001-
2002-The solution to the first problem is to preserve |MySQL| 5.5 error codes in the |Percona Server|. An example of where this has been done is |Percona Server| feature Query Cache Enhancements. This feature adds error ``ER_QUERY_CACHE_DISABLED`` to the |Percona Server|, which is defined as error code 1651 in |MySQL| 5.5.
2003-
2004-After migrating |Percona Server| / |XtraDB| to |MySQL| 5.5, users might experience troubles because of this.
2005-
2006-The solution to the second problem is to insure that unique error codes are chosen, when adding new ones to |Percona Server|, that will never be duplicated during |MySQL| development.
2007-
2008-For example, |MySQL| has a tool ``comp_err`` that generates:
2009-
2010- - :file:`errmsg.sys` files
2011-
2012- - header file :file:`include/mysqld_error.h`
2013-
2014- - header file :file:`include/mysqld_ername.h`
2015-
2016-from the file :file:`errmsg.txt`.
2017-
2018-To keep error numbers consistent, we should add some fictive errors to :file:`errmsg.txt`, because ``comp_err`` assigns error code numbers sequentially, without gaps.
2019-
2020-I propose patch to ``comp_err``.
2021-
2022-This patch allows usage of a new syntax, with prefix ``PADD``, for example: ::
2023-
2024- PADD_QUERY_CACHE_DISABLED 1651
2025- eng "ER_QUERY_CACHE_DISABLED padding to 1651 error"
2026- ER_QUERY_CACHE_DISABLED
2027- eng "Query cache is disabled; restart the server with query_cache_type=1 to enable it"
2028-
2029-comp_err with my patch padds empty intervals (from last error code number to 1651) by error message ``ER_QUERY_CACHE_DISABLED padding to 1651 error``, i.e. and ``ER_QUERY_CACHE_DISABLED`` now has error code 1651 (as desired). I propose to use this patch for Percona errors, for example: ::
2030-
2031- PADD_PERCONA_NEW_ERROR_CODE 4000
2032- end "Padd empty space to error code number 4000 (Percona error codes)"
2033- ...some percona error codes...
2034-
2035-Patch only adds prefix ``PADD_`` and padds error in sys files. All other |MySQL| code (load*.sys files, my_error, etc) works as old one.
2036-
2037-
2038-Version-Specific Information
2039-============================
2040-
2041- * 5.5.8-20.0
2042- Full functionality available.
2043
2044=== removed file 'doc/source/reliability/innodb_corrupt_table_action.rst'
2045--- doc/source/reliability/innodb_corrupt_table_action.rst 2013-04-10 14:43:41 +0000
2046+++ doc/source/reliability/innodb_corrupt_table_action.rst 1970-01-01 00:00:00 +0000
2047@@ -1,35 +0,0 @@
2048-.. _innodb_corrupt_table_action_page:
2049-
2050-=========================
2051- Handle Corrupted Tables
2052-=========================
2053-
2054-Instead of crashing the server as they used to do, corrupted |InnoDB| tables are simply disabled, so that the database remains available while the corruption is being fixed.
2055-
2056-This feature adds a new system variable.
2057-
2058-Version Specific Information
2059-============================
2060-
2061- * 5.6.10-60.2:
2062- Feature ported from |Percona Server| 5.5
2063-
2064-System Variables
2065-================
2066-
2067-.. variable:: innodb_corrupt_table_action
2068-
2069- :version 5.6.10-60.2: Introduced.
2070- :cli: Yes
2071- :conf: Yes
2072- :scope: Global
2073- :dyn: Yes
2074- :vartype: ULONG
2075- :range: ``assert``, ``warn``, ``salvage``
2076-
2077-* With the default value |XtraDB| will intentionally crash the server with an assertion failure as it would normally do when detecting corrupted data in a single-table tablespace.
2078-
2079-* If the ``warn`` value is used it will pass corruption of the table as ``corrupt table`` instead of crashing itself. For this to work :option:`innodb_file_per_table` should be enabled. All file I/O for the datafile after detected as corrupt is disabled, except for the deletion.
2080-
2081-* When the option value is ``salvage``, |XtraDB| allows read access to a corrupted tablespace, but ignores corrupted pages".
2082-
2083
2084=== removed file 'doc/source/reliability/log_connection_error.rst'
2085--- doc/source/reliability/log_connection_error.rst 2013-05-22 08:54:33 +0000
2086+++ doc/source/reliability/log_connection_error.rst 1970-01-01 00:00:00 +0000
2087@@ -1,14 +0,0 @@
2088-.. _log_connection_error:
2089-
2090-==============================
2091- Too Many Connections Warning
2092-==============================
2093-
2094-
2095-This feature issues the warning ``Too many connections`` to the log, if ``log_warnings`` is enabled.
2096-
2097-Version-Specific Information
2098-============================
2099-
2100- * 5.5.8-20.0:
2101- Full functionality available.
2102
2103=== removed file 'doc/source/reliability/show_slave_status_nolock.rst'
2104--- doc/source/reliability/show_slave_status_nolock.rst 2013-05-22 08:54:33 +0000
2105+++ doc/source/reliability/show_slave_status_nolock.rst 1970-01-01 00:00:00 +0000
2106@@ -1,23 +0,0 @@
2107-.. _show_slave_status_nolock:
2108-
2109-=================================
2110- Lock-Free ``SHOW SLAVE STATUS``
2111-=================================
2112-
2113-The ``STOP SLAVE`` and ``SHOW SLAVE STATUS`` commands can conflict due to a global lock in the situation where one thread on a slave attempts to execute a ``STOP SLAVE`` command, while a second thread on the slave is already running a command that takes a long time to execute.
2114-
2115-If a ``STOP SLAVE`` command is given in this situation, it will wait and not complete execution until the long-executing thread has completed its task. If another thread now executes a ``SHOW SLAVE STATUS`` command while the STOP SLAVE command is waiting to complete, the ``SHOW SLAVE STATUS`` command will not be able to execute while the ``STOP SLAVE`` command is waiting.
2116-
2117-This features modifies the ``SLOW SLAVE STATUS`` syntax to allow: ::
2118-
2119- SLOW SLAVE STATUS NOLOCK
2120-
2121-This will display the slave's status as if there were no lock, allowing the user to detect and understand the situation that is occurring.
2122-
2123-**NOTE:** The information given when ``NOLOCK`` is used may be slightly inconsistent with the actual situation while the lock is being held.
2124-
2125-
2126-Version Specific Information
2127-============================
2128-
2129- * 5.5.8-20.0:
2130
2131=== removed file 'doc/source/upstream-bug-fixes.rst'
2132--- doc/source/upstream-bug-fixes.rst 2013-05-22 08:54:33 +0000
2133+++ doc/source/upstream-bug-fixes.rst 1970-01-01 00:00:00 +0000
2134@@ -1,133 +0,0 @@
2135-.. _upstream_bug_fixes:
2136-
2137-=============================================================
2138- List of upstream |MySQL| bugs fixed in |Percona Server| 5.6
2139-=============================================================
2140-
2141-+-------------------------------------------------------------------------------------------------------------+
2142-|:Upstream bug: :mysqlbug:`67504` - Duplicate error in replication with slave triggers and auto increment |
2143-|:Launchpad bug: :bug:`1068210` |
2144-|:Upstream state: Verified (checked on 2013-02-21) |
2145-|:Fix Released: :rn:`5.6.11-60.3` |
2146-|:Upstream fix: N/A |
2147-+-------------------------------------------------------------------------------------------------------------+
2148-|:Upstream bug: :mysqlbug:`67974` - Server crashes in add_identifier on concurrent ALTER TABLE and SHOW ENGINE|
2149-|:Launchpad bug: :bug:`1017192` |
2150-|:Upstream state: N/A |
2151-|:Fix Released: :rn:`5.6.11-60.3` |
2152-|:Upstream fix: N/A |
2153-+-------------------------------------------------------------------------------------------------------------+
2154-|:Upstream bug: :mysqlbug:`68045` - security vulnerability CVE-2012-4414 |
2155-|:Launchpad bug: :bug:`1049871` |
2156-|:Upstream state: N/A |
2157-|:Fix Released: :rn:`5.6.11-60.3` |
2158-|:Upstream fix: N/A |
2159-+-------------------------------------------------------------------------------------------------------------+
2160-|:Upstream bug: :mysqlbug:`66550` - security vulnerability CVE-2012-4414 |
2161-|:Launchpad bug: :bug:`1049871` |
2162-|:Upstream state: N/A |
2163-|:Fix Released: :rn:`5.6.11-60.3` |
2164-|:Upstream fix: N/A |
2165-+-------------------------------------------------------------------------------------------------------------+
2166-|:Upstream bug: :mysqlbug:`67685` - security vulnerability CVE-2012-5611 |
2167-|:Launchpad bug: :bug:`1083377` |
2168-|:Upstream state: N/A |
2169-|:Fix Released: :rn:`5.6.11-60.3` |
2170-|:Upstream fix: N/A |
2171-+-------------------------------------------------------------------------------------------------------------+
2172-|:Upstream bug: :mysqlbug:`66237` - Temporary files created by binary log cache are not purged after transa...|
2173-|:Launchpad bug: :bug:`1070856` |
2174-|:Upstream state: Verified (checked on 2013-02-21) |
2175-|:Fix Released: :rn:`5.6.11-60.3` |
2176-|:Upstream fix: N/A |
2177-+-------------------------------------------------------------------------------------------------------------+
2178-|:Upstream bug: :mysqlbug:`67606` - MySQL crashes with segmentation fault when disk quota is reached |
2179-|:Launchpad bug: :bug:`1079596` |
2180-|:Upstream state: Duplicate |
2181-|:Fix Released: :rn:`5.6.11-60.3` |
2182-|:Upstream fix: N/A |
2183-+-------------------------------------------------------------------------------------------------------------+
2184-|:Upstream bug: :mysqlbug:`62856` - Check for "stack overrun" doesn't work with gcc-4.6, server crashes |
2185-|:Launchpad bug: :bug:`1042517` |
2186-|:Upstream state: Verified (checked on 2013-02-21) |
2187-|:Fix Released: :rn:`5.6.11-60.3` |
2188-|:Upstream fix: N/A |
2189-+-------------------------------------------------------------------------------------------------------------+
2190-|:Upstream bug: :mysqlbug:`61180` - korr/store macros in my_global.h assume the argument to be a char pointer |
2191-|:Launchpad bug: :bug:`1042517` |
2192-|:Upstream state: Verified (checked on 2013-02-21) |
2193-|:Fix Released: :rn:`5.6.11-60.3` |
2194-|:Upstream fix: N/A |
2195-+-------------------------------------------------------------------------------------------------------------+
2196-|:Upstream bug: :mysqlbug:`61179` - Unoptimized versions of korr/store macros in my_global.h are used on ... |
2197-|:Launchpad bug: :bug:`1042517` |
2198-|:Upstream state: Verified (checked on 2013-02-21) |
2199-|:Fix Released: :rn:`5.6.11-60.3` |
2200-|:Upstream fix: N/A |
2201-+-------------------------------------------------------------------------------------------------------------+
2202-|:Upstream bug: :mysqlbug:`61178` - Incorrect implementation of intersect(ulonglong) in non-optimized Bitmap..|
2203-|:Launchpad bug: :bug:`1042517` |
2204-|:Upstream state: Verified (checked on 2013-02-21) |
2205-|:Fix Released: :rn:`5.6.11-60.3` |
2206-|:Upstream fix: N/A |
2207-+-------------------------------------------------------------------------------------------------------------+
2208-|:Upstream bug: :mysqlbug:`54127` - mysqld segfaults when built using --with-max-indexes=128 |
2209-|:Launchpad bug: :bug:`1042517` |
2210-|:Upstream state: Verified (checked on 2013-02-21) |
2211-|:Fix Released: :rn:`5.5.10-60.3` |
2212-|:Upstream fix: N/A |
2213-+-------------------------------------------------------------------------------------------------------------+
2214-|:Upstream bug: :mysqlbug:`64800` - mysqldump with --include-master-host-port putting quotes around port no. |
2215-|:Launchpad bug: :bug:`1013432` |
2216-|:Upstream state: Verified (checked on 2013-02-21) |
2217-|:Fix Released: :rn:`5.6.11-60.3` |
2218-|:Upstream fix: N/A |
2219-+-------------------------------------------------------------------------------------------------------------+
2220-|:Upstream bug: :mysqlbug:`66301` - INSERT ... ON DUPLICATE KEY UPDATE + innodb_autoinc_lock_mode=1 is broken |
2221-|:Launchpad bug: :bug:`1035225` |
2222-|:Upstream state: Verified (checked on 2013-02-21) |
2223-|:Fix Released: :rn:`5.6.11-60.3` |
2224-|:Upstream fix: N/A |
2225-+-------------------------------------------------------------------------------------------------------------+
2226-|:Upstream bug: :mysqlbug:`60743` - typo in cmake/dtrace.cmake |
2227-|:Launchpad bug: :bug:`1013455` |
2228-|:Upstream state: Verified (checked on 2013-02-21) |
2229-|:Fix Released: :rn:`5.6.11-60.3` |
2230-|:Upstream fix: N/A |
2231-+-------------------------------------------------------------------------------------------------------------+
2232-|:Upstream bug: :mysqlbug:`64663` - Segfault when adding indexes to InnoDB temporary tables |
2233-|:Launchpad bug: :bug:`999147` |
2234-|:Upstream state: Verified (checked on 2013-02-21) |
2235-|:Fix Released: :rn:`5.6.11-60.3` |
2236-|:Upstream fix: N/A |
2237-+-------------------------------------------------------------------------------------------------------------+
2238-|:Upstream bug: :mysqlbug:`64432` - Bug :mysqlbug:`54330` (Broken fast index creation) was never fixed in 5.5 |
2239-|:Launchpad bug: :bug:`939485` |
2240-|:Upstream state: Documenting (checked on 2013-02-21) |
2241-|:Fix Released: :rn:`5.6.11-60.3` |
2242-|:Upstream fix: N/A |
2243-+-------------------------------------------------------------------------------------------------------------+
2244-|:Upstream bug: :mysqlbug:`61595` - mysql-test/include/wait_for_slave_param.inc timeout logic is incorrect |
2245-|:Launchpad bug: :bug:`800035` |
2246-|:Upstream state: Verified (checked on 2013-02-21) |
2247-|:Fix Released: :rn:`5.6.11-60.3` |
2248-|:Upstream fix: N/A |
2249-+-------------------------------------------------------------------------------------------------------------+
2250-|:Upstream bug: :mysqlbug:`60788` - InnoDB crashes with an assertion failure when receiving a signal on pwrite|
2251-|:Launchpad bug: :bug:`764395` |
2252-|:Upstream state: Duplicate |
2253-|:Fix Released: :rn:`5.6.11-60.3` |
2254-|:Upstream fix: N/A |
2255-+-------------------------------------------------------------------------------------------------------------+
2256-|:Upstream bug: :mysqlbug:`68116` - InnoDB monitor may hit an assertion error in buf_page_get_gen in debug ...|
2257-|:Launchpad bug: :bug:`1100178` |
2258-|:Upstream state: Analyzing (checked on 2013-02-21) |
2259-|:Fix Released: :rn:`5.6.10-60.2` |
2260-|:Upstream fix: N/A |
2261-+-------------------------------------------------------------------------------------------------------------+
2262-|:Upstream bug: :mysqlbug:`65946` - Sid_map::Sid_map calls DBUG which may have unitialized THR_KEY_mysys and..|
2263-|:Launchpad bug: :bug:`1050758` |
2264-|:Upstream state: Duplicate |
2265-|:Fix Released: :rn:`5.6.5-60.0` |
2266-|:Upstream fix: N/A |
2267-+-------------------------------------------------------------------------------------------------------------+

Subscribers

People subscribed via source and target branches