- 24 Oct, 2011 5 commits
-
-
Alexander Nozdrin authored
-
Alexander Nozdrin authored
-
Alexander Nozdrin authored
-
Nirbhay Choubey authored
-
Nirbhay Choubey authored
Fixed a misplaced parenthesis, injected due to syncing from libedit CVS head.
-
- 23 Oct, 2011 1 commit
-
-
Dmitry Lenev authored
NEW_FRM_MEM WITHOUT NEEDING TO". During the process of opening tables for a statement, we allocated memory which was used only during view loading even in cases when the statement didn't use any views. Such an unnecessary allocation (and corresponding freeing) might have caused significant performance overhead in some workloads. For example, it caused up to 15% slowdown in a simple stored routine calculating Fibonacci's numbers. This memory was pre-allocated as part of "new_frm_mem" MEM_ROOT initialization at the beginning of open_tables(). This patch addresses this issue by turning off memory pre-allocation during initialization for this MEM_ROOT. Now, memory on this root will be allocated only at the point when the first .FRM for a view is opened. The patch doesn't contain a test case since it is hard to test the performance improvements or the absence of memory allocation in our test framework.
-
- 22 Oct, 2011 1 commit
-
-
Ashish Agarwal authored
TESTS: CRASH, CORRUPTION, 4G MEMOR Issue: Valgrind errors due to checksum and optimize query against archive tables with null columns. Table record buffer was not initialized. Solution: Initialize the record buffer.
-
- 21 Oct, 2011 7 commits
-
-
Nirbhay Choubey authored
-
Nirbhay Choubey authored
BREAKS SOURCE RELEASE BUILD Some of the required files were not getting copied while performing 'make dist' and hence the build failed for the created distribution source. Added the missing files to Makefile.am.
-
Ashish Agarwal authored
TESTS: CRASH, CORRUPTION, 4G MEMOR Issue: Valgrind errors due to checksum and optimize query angaist archive tables with null columns. Table record buffer was not initialized. Solution: Initialize the record buffer.
-
Sergey Vojtovich authored
-
Sergey Vojtovich authored
-
Marko Mäkelä authored
-
Marko Mäkelä authored
btr_record_not_null_field_in_rec(): Remove the parameter rec. Use rec_offs_nth_sql_null() instead of rec_get_nth_field(). rb:788 approved by Jimmy Yang
-
- 20 Oct, 2011 3 commits
-
-
Alexander Nozdrin authored
-
Alexander Nozdrin authored
-
Sergey Vojtovich authored
USING MYISAM_USE_MMAP ON WINDOWS When OPTIMIZE/REPAIR TABLE is switching to new data file, old data file is removed while memory mapping is still active. With 5.1 implementation of nt_share_delete() it is not permitted to remove mmaped file. This fix disables memory mapping for mi_repair() operations. mysql-test/r/myisam.result: A test case for BUG#11757032. mysql-test/t/myisam.test: A test case for BUG#11757032. storage/myisam/ha_myisam.cc: mi_repair*() functions family use file I/O even if memory mapping is available. Since mixing mmap I/O and file I/O may cause various artifacts, memory mapping must be disabled. storage/myisam/mi_delete_all.c: Clean-up: do not attempt to remap file after truncate, since there is nothing to map.
-
- 19 Oct, 2011 7 commits
-
-
Bjorn Munch authored
-
Sergey Glukhov authored
The assertion in innodb is triggered in this way: 1. mysql server does lookup on the primary key with full key, innodb decides to not store cursor position because "any index_next/prev call will return EOF anyway" 2. server asks innodb to return any next record in the index and the assertion is triggered because no cursor position is stored. It happens when a unique search (match_mode=ROW_SEL_EXACT) in the clustered index is performed. InnoDB has never stored the cursor position after a unique key lookup in the clustered index because storing the position is an expensive operation. The bug was introduced by WL3220 'Loose index scan for aggregate functions'. The fix is to disallow loose index scan optimization for AGG_FUNC(DISTINCT ...) if GROUP_MIN_MAX quick select uses clustered key. mysql-test/r/group_min_max_innodb.result: test case mysql-test/t/group_min_max_innodb.test: test case sql/opt_range.cc: disallow loose index scan optimization for AGG_FUNC(DISTINCT ...) if GROUP_MIN_MAX quick select uses clustered key.
-
Joerg Bruehe authored
-
Bjorn Munch authored
-
unknown authored
modified function do_get_error in mysqltest.cc to handle multiple variable passed added test case to mysqltest.test to verify handling to multiple errors passed
-
Tatjana Azundris Nuernberg authored
-
Tatjana Azundris Nuernberg authored
sql/sp_head.cc: alignment-safe copy sql/sql_cache.cc: alignment-safe copy sql/sql_parse.cc: alignment-safe copy
-
- 18 Oct, 2011 2 commits
-
-
Nirbhay Choubey authored
-
Nirbhay Choubey authored
WITH LIBEDIT Libedit won't build on platforms that do not provide "sys/cdefs.h". Removed the inclusion of cdefs.h from all files other that sys.h, which includes this file only when the header is found while configuring.
-
- 17 Oct, 2011 2 commits
-
-
unknown authored
This patch corrects a defect whereby the bootstrap_server() method was returning 0 instead of the error code generated. The code has been changed to return the correct value returned from the bootstrap command.
-
unknown authored
This patch corrects a defect in the building of the DELETE commands for disabling a plugin whereby only the original plugin data was deleted. If there were other plugins, the delete did not remove the rows. The code has been changed to remove all rows from the mysql.plugin table that were inserted when the plugin was loaded. The test has also been changed to correctly identify if all rows have been deleted.
-
- 14 Oct, 2011 4 commits
-
-
Alfranio Correia authored
warnings are converted to errors, the compiler complains about the fact that binlog_can_be_corrupted is defined but never used. We need to check if this is a dead code or if someone removed any code by mistake.
-
Tor Didriksen authored
-
Tor Didriksen authored
-
Tor Didriksen authored
Buffer over-run on all platforms, crash on windows, wrong result on other platforms, when rounding numbers which start with 999999999 and have precision = 9 or 18 or 27 or 36 ... mysql-test/r/type_newdecimal.result: New test cases. mysql-test/t/type_newdecimal.test: New test cases. sql/my_decimal.h: Add sanity checking code, to catch buffer over/under-run. strings/decimal.c: The original initialization of intg1 (add 1 if buf[0] == DIG_MAX) will set p1 to point outside the buffer, and the loop to copy the original value while (buf0 < p0) *(--p1) = *(--p0); will overwrite memory outside the my_decimal object.
-
- 13 Oct, 2011 2 commits
-
-
Nirbhay Choubey authored
-
Nirbhay Choubey authored
Updated libedit library.
-
- 12 Oct, 2011 6 commits
-
-
Sergey Glukhov authored
-
Sergey Glukhov authored
When temporary tables is used for result sorting result field for gconcat function is created using group_concat_max_len size. It leads to result truncation when character_set_results is multi-byte character set due to insufficient tmp table field size. The fix is to increase temporary table field size for gconcat. Method make_string_field() is overloaded for Item_func_group_concat class and uses max_characters * collation.collation->mbmaxlen size for result field. max_characters is maximum number of characters what can fit into max_length size. mysql-test/r/ctype_utf16.result: test result mysql-test/r/ctype_utf32.result: test result mysql-test/r/ctype_utf8.result: test result mysql-test/t/ctype_utf16.test: test case mysql-test/t/ctype_utf32.test: test case mysql-test/t/ctype_utf8.test: test case sql/item.h: make Item::make_string_field() virtual sql/item_sum.cc: added Item_func_group_concat::make_string_field(TABLE *table) method which uses max_characters * collation.collation->mbmaxlen size for result item. max_characters is maximum number of characters what can fit into max_length size. sql/item_sum.h: added Item_func_group_concat::make_string_field(TABLE *table) method
-
Georgi Kodinov authored
-
Georgi Kodinov authored
-
Georgi Kodinov authored
-
Georgi Kodinov authored
-