An error occurred fetching the project authors.
- 29 Apr, 2011 1 commit
-
-
Mattias Jonsson authored
The partitioning engine checked the auto_increment column even if it was not to be written, triggering a DBUG_ASSERT. Fixed by checking if table->write_set for that column was set.
-
- 09 Feb, 2011 1 commit
-
-
MySQL Build Team authored
> ------------------------------------------------------------ > revno: 3527.3.1 > revision-id: mattias.jonsson@oracle.com-20101222095036-2lpx0gqu4i45jtkz > parent: sven.sandberg@oracle.com-20101220090735-psae11j9nwuj8vzl > committer: Mattias Jonsson <mattias.jonsson@oracle.com> > branch nick: b54483-51-bt_2 > timestamp: Wed 2010-12-22 10:50:36 +0100 > message: > Bug#54483: valgrind errors when making warnings for multiline inserts into partition > Bug#57071: EXTRACT(WEEK from date_col) cannot be allowed as partitioning function > > There were functions allowed as partitioning functions > that implicit allowed cast. That could result in unacceptable > behaviour. > > Solution was to check that the arguments of date and time functions > have allowed types (field and date/datetime/time depending on function).
-
- 24 Jan, 2011 1 commit
-
-
Mattias Jonsson authored
Regression introduced in bug#52455. Problem was that the fixed function did not set the last used partition variable, resulting in wrong partition used when storing the position of the newly retrieved row. Fixed by setting the last used partition in ha_partition::index_read_idx_map.
-
- 22 Dec, 2010 1 commit
-
-
Mattias Jonsson authored
Bug#57071: EXTRACT(WEEK from date_col) cannot be allowed as partitioning function There were functions allowed as partitioning functions that implicit allowed cast. That could result in unacceptable behaviour. Solution was to check that the arguments of date and time functions have allowed types (field and date/datetime/time depending on function).
-
- 30 Sep, 2010 1 commit
-
-
Mattias Jonsson authored
Bug#57113: ha_partition::extra(ha_extra_function): Assertion `m_extra_cache' failed Fix for bug#55458 included DBUG_ASSERTS causing debug builds of the server to crash on another multi-table update. Removed the asserts since they where wrong. (updated after testing the patch in 5.5).
-
- 27 Aug, 2010 1 commit
-
-
Mattias Jonsson authored
Bug#46754: 'rows' field doesn't reflect partition pruning Update of test results after fixing the above bugs. (fix in separate commit).
-
- 10 Aug, 2010 1 commit
-
-
Mattias Jonsson authored
Problem was that the handler call ::extra(HA_EXTRA_CACHE) was cached but the ::extra(HA_EXTRA_PREPARE_FOR_UPDATE) was not. Solution was to also cache the other call and forward it when moving to a new partition to scan.
-
- 22 Mar, 2010 1 commit
-
-
Sergey Vojtovich authored
myisam tables Queries following TRUNCATE of partitioned MyISAM table may crash server if myisam_use_mmap is true. Internally this is MyISAM bug, but limited to partitioned tables, because MyISAM doesn't use ::delete_all_rows() method for TRUNCATE, but goes via table recreate instead. MyISAM didn't properly fall back to non-mmaped I/O after mmap() failure. Was not repeatable on linux before, likely because (quote from man mmap): SUSv3 specifies that mmap() should fail if length is 0. However, in kernels before 2.6.12, mmap() succeeded in this case: no mapping was created and the call returned addr. Since kernel 2.6.12, mmap() fails with the error EINVAL for this case.
-
- 14 Dec, 2009 1 commit
-
-
Alexey Kopytov authored
-
- 17 Nov, 2009 1 commit
-
-
Mattias Jonsson authored
-
- 09 Nov, 2009 1 commit
-
-
Mattias Jonsson authored
Bug when setting up default partitioning, used an uninitialized variabe.
-
- 03 Nov, 2009 1 commit
-
-
Mattias Jonsson authored
ONLY_FULL_GROUP_BY Problem was that during checking and preparation of the partitioining function as a side effect in fix_fields the full_group_by_flag was changed. Solution was to set it back to its original value after calling fix_fields. Updated patch, to also exclude allow_sum_func from being affected of fix_fields, as requested by reviewer.
-
- 08 Oct, 2009 1 commit
-
-
Mattias Jonsson authored
backport for bug#44059 from mysql-pe to mysql-5.1-bugteam Using the partition with most rows instead of first partition to estimate the cardinality of indexes.
-
- 21 Aug, 2009 1 commit
-
-
Mattias Jonsson authored
INSERT ... SELECT ... Problem was that when bulk insert is used on an empty table/partition, it disables the indexes for better performance, but in this specific case it also tries to read from that partition using an index, which is not possible since it has been disabled. Solution was to allow index reads on disabled indexes if there are no records. Also reverted the patch for bug#38005, since that was a workaround in the partitioning engine instead of a fix in myisam.
-
- 06 Aug, 2009 2 commits
-
-
Mattias Jonsson authored
when partition is reoganized. Problem was that table->timestamp_field_type was not changed before copying rows between partitions. fixed by setting it to TIMESTAMP_NO_AUTO_SET as the first thing in fast_alter_partition_table, so that all if-branches is covered.
-
Satya B authored
column on partitioned table An assertion 'ASSERT_COULUMN_MARKED_FOR_READ' is failed if the query is executed with index containing double column on partitioned table. The problem is that assertion expects all the fields which are read, to be in the read_set. In this query only the field 'a' is in the readset as the tables in the query are joined by the field 'a' and so the assertion fails expecting other field 'b'. Since the function cmp() is just comparison of two parameters passed, the assertion is not required. Fixed by removing the assertion in the double fields comparision function and also fixed the index initialization to do ordered index scan with RW LOCK which ensures all the fields from a key are in the read_set. Note: this bug is not reproducible with other datatypes because the assertion doesn't exist in comparision function for other datatypes.
-
- 31 Jul, 2009 2 commits
-
-
Davi Arnaut authored
engine to the partition_csv test. Also remove test case that was duplicated. Fix connection procedure with the embedded server.
-
Tatiana A. Nurnberg authored
We disallow the partitioning of a log table. You could however partition a table first, and then point logging to it. This is not only against the docs, it also crashes the server. We catch this case now.
-
- 29 Jul, 2009 1 commit
-
-
Mikael Ronstrom authored
Bug#46354, when defining partitions without subpartition definition after defining it with the first partition and using list partition caused crash, fixed by more error checks in parser
-
- 02 Jul, 2009 1 commit
-
-
Georgi Kodinov authored
contains ONLY_FULL_GROUP_BY The partitioning code needs to issue a Item::fix_fields() on the partitioning expression in order to prepare it for being evaluated. It does this by creating a special table and a table list for the scope of the partitioning expression. But when checking ONLY_FULL_GROUP_BY the Item_field::fix_fields() was relying that there always be cached_table set and was trying to use it to get the select_lex of the SELECT the field's table is in. But the cached_table was not set by the partitioning code that creates the artificial TABLE_LIST used to resolve the partitioning expression and this resulted in a crash. Fixed by rectifying the following errors : 1. Item_field::fix_fields() : the code that check for ONLY_FULL_GROUP_BY relies on having tables with cacheable_table set. This is mostly true, the only two exceptions being the partitioning context table and the trigger context table. Fixed by taking the current parsing context if no pointer to the TABLE_LIST instance is present in the cached_table. 2. fix_fields_part_func() : 2a. The code that adds the table being created to the scope for the partitioning expression is mostly a copy of the add_table_to_list and friends with one exception : it was not marking the table as cacheable (something that normal add_table_to_list is doing). This caused the problem in the check for ONLY_FULL_GROUP_BY in Item_field::fix_fields() to appear. Fixed by setting the correct members to make the table cacheable. The ideal structural fix for this is to use a unified interface for adding a table to a table list (add_table_to_list?) : noted in a TODO comment 2b. The Item::fix_fields() was called with a NULL destination pointer. This causes uninitalized memory reads in the overloaded ::fix_fields() function (namely Item_field::fix_fields()) as it expects a non-zero pointer there. Fixed by passing the source pointer similarly to how it's done in JOIN::prepare().
-
- 16 Jun, 2009 1 commit
-
-
Georgi Kodinov authored
to a test file that guarantees the presence of partition code
-
- 01 Apr, 2009 1 commit
-
-
Ramil Kalimullin authored
Problem: we don't prune a LESS THAN partition if MAXVALUE is given and given value is equal to a LESS THAN value. Fix: prune partitions in such cases.
-
- 18 Feb, 2009 1 commit
-
-
Mattias Jonsson authored
Backport from 6.0 Changed error message to show that it is partitioning that does not support foreign keys yet. Changed spelling from British english to American english.
-
- 25 Nov, 2008 1 commit
-
-
Build Team authored
mysql-test/t/partition.test sql/ha_partition.cc Bug#40954: Crash in MyISAM index code with concurrency test using partitioned tables Problem was usage of read_range_first with an empty key. Solution was to not to give a key if it was empty. (real author Mattias Jonsson) storage/archive/archive_reader.c client/mysqlslap.c Aligned the copyright texts output from "--version" of tools, to let internal tools be able to change them if needed. storage/ndb/test/tools/connect.cpp storage/ndb/test/run-test/atrt.hpp Corrected a few GPL headers not restricted to GPL version 2 Makefile.am Added missing --report-features to the 'test-bt-fast' target support-files/mysql.spec.sh Reversed the removal of the "%define license GPL" in as internal tools depended on it
-
- 24 Nov, 2008 1 commit
-
-
Mattias Jonsson authored
Problem was usage of read_range_first with an empty key. Solution was to not to give a key if it was empty.
-
- 13 Nov, 2008 1 commit
-
-
Sven Sandberg authored
Problem: Many test cases don't clean up after themselves (fail to drop tables or fail to reset variables). This implies that: (1) check-testcase in the new mtr that currently lives in 5.1-rpl failed. (2) it may cause unexpected results in subsequent tests. Fix: make all tests clean up. Also: cleaned away unnecessary output in rpl_packet.result Also: fixed bug where rpl_log called RESET MASTER with a running slave. This is not supposed to work. Also: removed unnecessary code from rpl_stm_EE_err2 and made it verify that an error occurred. Also: removed unnecessary code from rpl_ndb_ctype_ucs2_def.
-
- 05 Nov, 2008 1 commit
-
-
Mattias Jonsson authored
order by Problem was that the first index read was unordered, and the next was ordered, resulting in use of uninitialized data. Solution was to use the correct variable to see if the 'next' call should be ordered or not.
-
- 04 Nov, 2008 1 commit
-
-
Mattias Jonsson authored
The partitioning clause is only a very long single line, which is very hard to interpret for a human. This patch breaks the partitioning syntax into one line for the partitioning type, and one line per partition/subpartition.
-
- 06 Oct, 2008 2 commits
-
-
Alexey Botchkov authored
MyISAM blocks index usage for bulk insert into zero-records tables. See ha_myisam::start_bulk_insert() lines from ... if (file->state->records == 0 ... ... That causes problems for partition engine when some partitions have records some not as the engine uses same access method for all partitions. Now partition engine doesn't call index_first/index_last for empty tables. per-file comments: mysql-test/r/partition.result Bug#38005 Partitions: error with insert select. test result mysql-test/t/partition.test Bug#38005 Partitions: error with insert select. test case sql/ha_partition.cc Bug#38005 Partitions: error with insert select. ha_engine::index_first and ha_engine::index_last not called for empty tables.
-
Alexey Botchkov authored
problems are located in the sql_partition.cc where functions calculation partition_id don't expect error returned from item->val_int(). Fixed by adding checks to these functions. Note - it tries to fix more problems than just the reported bug. per-file comments: modified: mysql-test/r/partition.result Bug#38083 Error-causing row inserted into partitioned table despite error test result mysql-test/t/partition.test Bug#38083 Error-causing row inserted into partitioned table despite error test case sql/opt_range.cc Bug#38083 Error-causing row inserted into partitioned table despite error get_part_id() call fixed sql/partition_info.h Bug#38083 Error-causing row inserted into partitioned table despite error get_subpart_id_func interface changed. sql/sql_partition.cc Bug#38083 Error-causing row inserted into partitioned table despite error various functions calculationg partition_id and subpart_id didn't expect an error returned from item->val_int(). Error checks added.
-
- 01 Sep, 2008 1 commit
-
-
Mattias Jonsson authored
sporadic failures due to full disk. Fix by truncating general_log before altering it. (if running the full main-test, it can be big).
-
- 15 Aug, 2008 1 commit
-
-
Chad MILLER authored
update accross partitions. It's not Innodb-specific bug. ha_partition::update_row() didn't set table->timestamp_field_type= TIMESTAMP_NO_AUTO_SET when orig_timestamp_type == TIMESTAMP_AUTO_SET_ON_INSERT. So that a partition sets the timestamp field when a record is moved to a different partition. Fixed by doing '= TIMESTAMP_NO_AUTO_SET' unconditionally. Also ha_partition::write_row() is fixed in same way as now Field_timestamp::set() is called twice in SET_ON_INSERT case. (Chad queues this patch on demand by Trudy/Davi.)
-
- 11 Aug, 2008 1 commit
-
-
Mattias Jonsson authored
partition is corrupt The main problem was that ALTER TABLE t ANALYZE/CHECK/OPTIMIZE/REPAIR PARTITION took another code path (over mysql_alter_table instead of mysql_admin_table) which differs in two ways: 1) alter table opens the tables in a different way than admin tables do resulting in returning with error before it tried the command 2) alter table does not start to send any diagnostic rows to the client which the lower admin functions continue to use -> resulting in assertion crash The fix: Remapped ALTER TABLE t ANALYZE/CHECK/OPTIMIZE/REPAIR PARTITION to use the same code path as ANALYZE/CHECK/OPTIMIZE/REPAIR TABLE t. Adding check in mysql_admin_table to setup the partition list for which partitions that should be used. Partitioned tables will still not work with REPAIR TABLE/PARTITION USE_FRM, since that requires moving partitions to tables, REPAIR TABLE t USE_FRM, and check that the data still fulfills the partitioning function and then move the table back to being a partition. NOTE: I have removed the following functions from the handler interface: analyze_partitions, check_partitions, optimize_partitions, repair_partitions Since they are not longer needed. THIS ALTERS THE STORAGE ENGINE API
-
- 07 Jul, 2008 1 commit
-
-
Mattias Jonsson authored
problem was that ha_partition::records was not implemented, thus using the default handler::records, which is not correct if the engine does not support HA_STATS_RECORDS_IS_EXACT. Solution was to implement ha_partition::records as a wrapper around the underlying partitions records. The rows column in explain partitions will now include the total number of records in the partitioned table. (recommit after removing out-commented code)
-
- 17 Jun, 2008 1 commit
-
-
Mattias Jonsson authored
returns erroneous results Used the wrong function when fixing 30480 which lead to no stop on end_key resulting in duplicate results from index scan Includes test cases for the duplicates 37327 and 37329, Duplicate rows and bad performance/High Handler_read_next values Recommit after merge issues
-
- 03 Mar, 2008 2 commits
-
-
gluh@mysql.com/mgluh.(none) authored
-
gluh@mysql.com/mgluh.(none) authored
-
- 28 Feb, 2008 1 commit
-
-
gluh@mysql.com/eagle.(none) authored
added new function test_if_data_home_dir() which checks that path does not contain mysql data home directory. Using of 'mysql data home'/'any db name' in DATA DIRECTORY & INDEX DIRECTORY is disallowed
-
- 25 Feb, 2008 1 commit
-
-
mattiasj@witty. authored
Fixed a missed case in the patch for Bug#31931. Also makes Bug#33722 a duplicate of Bug#31931. Added tests for better coverage. Replaced some legacy function calls.
-
- 11 Feb, 2008 1 commit
-
-
Problem was that it did not work with corrupted/crashed tables. Solution is to disable these commands until WL#4176 is completed
-