- 20 Aug, 2010 1 commit
-
-
Sergey Vojtovich authored
attempt to install a plugin twice Server crashes when [UN]INSTALL PLUGIN fails (returns an error) and general log is disabled and there are audit plugins interested in MYSQL_AUDIT_GENERAL_CLASS. When audit event is triggered, audit subsystem acquires interested plugins by walking through plugin list. Evidently plugin list iterator protects plugin list by acquiring LOCK_plugin, see plugin_foreach_with_mask(). On the other hand [UN]INSTALL PLUGIN is acquiring LOCK_plugin rather for a long time. When audit event is triggered during [UN]INSTALL PLUGIN, plugin list iterator acquires the same lock (within the same thread) second time. Repeatable only with general_log disabled, because general_log triggers MYSQL_AUDIT_GENERAL_LOG event, which acquires audit plugins before [UN]INSTALL PLUGIN acquired LOCK_plugin. With this fix we pre-acquire audit plugins for events that may potentially occur during [UN]INSTALL PLUGIN. This hack should be removed when LOCK_plugin is fixed so it protects only what it supposed to protect. No test case for this fix - we do not have facility to test audit plugins yet.
-
- 18 Aug, 2010 4 commits
-
-
Alexander Nozdrin authored
-
Vasil Dimov authored
-
Alexander Nozdrin authored
-
Vasil Dimov authored
-
- 17 Aug, 2010 9 commits
-
-
Joerg Bruehe authored
-
Marko Mäkelä authored
dict_load_index_low(): Rename the parameter "cached" to "allocated" and clarify the comments.
-
Vasil Dimov authored
Followup to vasil.dimov@oracle.com-20100817063430-inglmzgdtj95t29d which didn't fully fix the test because the order of the returned rows was different in embedded and non-embedded version. So the only way to fix this is to add an ORDER BY clause.
-
Jimmy Yang authored
lock wait time. Including the InnoDB lock time in the exiting "Lock_time" output.
-
Vasil Dimov authored
This is a followup to vasil.dimov@oracle.com-20100816142329-yimenbuktd416z1a which improved the sampling algorithm. The endspace test is non-deterministic because it does not include ORDER BY clause in its queries.
-
Vasil Dimov authored
This is a followup to vasil.dimov@oracle.com-20100816142329-yimenbuktd416z1a which improved the sampling algorithm.
-
Vasil Dimov authored
This is a followup to vasil.dimov@oracle.com-20100816142329-yimenbuktd416z1a which improved the sampling algorithm.
-
Vasil Dimov authored
This is a followup to vasil.dimov@oracle.com-20100816142329-yimenbuktd416z1a which improved the sampling algorithm.
-
Vasil Dimov authored
This is a followup to vasil.dimov@oracle.com-20100816142329-yimenbuktd416z1a which improved the sampling algorithm. I have manually checked that the new values are actually the correct ones, for example: -rows 16 +rows 32 the number of rows returned by the query is 32.
-
- 16 Aug, 2010 8 commits
-
-
Mattias Jonsson authored
-
Mattias Jonsson authored
-
Vasil Dimov authored
Improve the range estimation algorithm. Previously: For a given level the algo knows the number of pages in the requested range and the n With this change: Same idea, but peek a few (10) of the intermediate pages to get a better estimate of In the bug report one of the examples has a btree with a snippet of the leaf level li page1(899 records), page2(1 record), page3(1 record), page4(1 record) so when trying to estimate, the previous algo, assumed there are average (899+1)/2=45 Fix Bug#53761 RANGE estimation for matched rows may be 200 times different Improve the range estimation algorithm. Previously: For a given level the algo knows the number of pages in the requested range and the number of records on the leftmost and the rightmost page. Then it assumes all pages in between contain the average between the two border pages and multiplies this average number by the number of intermediate pages. With this change: Same idea, but peek a few (10) of the intermediate pages to get a better estimate of the average number of records per page. If there are less than 10 intermediate pages then all of them will be scanned and the result will be precise, not an estimation. In the bug report one of the examples has a btree with a snippet of the leaf level like this: page1(899 records), page2(1 record), page3(1 record), page4(1 record) so when trying to estimate, the previous algo, assumed there are average (899+1)/2=450 records per page which went terribly wrong. With this change page2 and page3 will be read and the exact number of records will be returned. Approved by: Sunny (rb://401)
-
Mattias Jonsson authored
-
Mattias Jonsson authored
locks on the table Fixing the partitioning specifics after TRUNCATE TABLE in bug-42643 was fixed. Reorganize of code to decrease the size of the giant switch in mysql_execute_command, and to prepare for future parser reengineering. Moved code into Sql_statement objects. Updated patch according to davi's review comments.
-
Alexander Nozdrin authored
-
Alexander Nozdrin authored
-
Alexander Nozdrin authored
-
- 14 Aug, 2010 1 commit
-
-
Evgeny Potemkin authored
pushdown. NDB supports only a limited set of item nodes for use in engine condition pushdown. Because of this adding cache for const expression effectively disabled this optimization. The ndb_serialize_cond function is extended to support Item_cache and treat it as a constant values. A helper function called ndb_serialize_const is added. It is used to create Ndb_cond value node from given const item.
-
- 13 Aug, 2010 5 commits
-
-
Inaam Rana authored
Note that this was originally pushed by Calvin but the was later reverted by mistake. bug#54702
-
Inaam Rana authored
-
Alexander Nozdrin authored
-
Mattias Jonsson authored
-
Mattias Jonsson authored
corruption on ADD PARTITION and LOCK TABLE Bug#53770: Server crash at handler.cc:2076 on LOAD DATA after timed out COALESCE PARTITION 5.5 fix for: Bug#51042: REORGANIZE PARTITION can leave table in an inconsistent state in case of crash Needs to be back-ported to 5.1 5.5 fix for: Bug#50418: DROP PARTITION does not interact with transactions Main problem was non-persistent operations done before meta-data lock was taken (53770+53676). And 53676 needed to keep the table/partitions opened and locked while copying the data to the new partitions. Also added thorough tests to spot some additional bugs in the ddl_log code, which could result in bad state between the .frm and partitions. Collapsed patch, includes all fixes required from the reviewers.
-
- 12 Aug, 2010 5 commits
-
-
Alexander Nozdrin authored
Fixing copyright text.
-
Marc Alff authored
Removed table SETUP_OBJECTS. Renamed table PROCESSLIST to THREADS. Renamed table EVENTS_WAITS_SUMMARY_BY_EVENT_NAME to EVENTS_WAITS_SUMMARY_GLOBAL_BY_EVENT_NAME. Adjusted Makefiles, code and tests accordingly.
-
Alexander Nozdrin authored
-
Alexander Nozdrin authored
-
Sunny Bains authored
Disable the GCC visibility attribute on all sun platforms. Approved by Marko on IRC.
-
- 11 Aug, 2010 2 commits
-
-
Joerg Bruehe authored
"MySQL server is not restarted properly after RPM upgrade" The problem is that with the general spec file cleanup and alignment we also did a name change, dropping the "-community" part from the package file name. As a result of this, RPM (some versions of it) will report file conflicts, because it considers this name difference to imply different packages. To avoid this, the spec file explicitly "obsoletes" the old packages (with "-community" in the file name). Now, RPM will first install these packages and the remove the old ones, and part of that removal is running the "%preun" section which stops the server and uninstalls the service (removes the symlinks to "/etc/init.d/mysql" from the run level directories). This stop/uninstall will affect the new server! The fix is to define a "%triggerpostun" in this spec file which will watch for removal of the "-community" server. If this is done (as part of this install/upgrade), the trigger code will re-install the service and restart the server process. In addition, the "sleep" calls after starting the server have been cleaned up: Rather than doing 2* "sleep 2", it is now 1 "sleep 5".
-
Guilhem Bichot authored
it couldn't parse the --ssl option.
-
- 12 Aug, 2010 1 commit
-
-
Marc Alff authored
This is a performance improvement fix. Removed the "volatile" property of PFS_events_waits::m_wait_class. Simplified the code accordingly.
-
- 11 Aug, 2010 2 commits
-
-
Martin Hansson authored
-
Martin Hansson authored
feature The test for bug no 50939 was put in range.test which isn't such a good idea since it requires partitioning. Fixed by moving the test case to partitioning_range.test.
-
- 10 Aug, 2010 2 commits
-
-
Vasil Dimov authored
-
Jonathan Perkin authored
-