summaryrefslogtreecommitdiff
path: root/mysql-test/t/partition_innodb.test
Commit message (Collapse)AuthorAgeFilesLines
* Create 'main' test directory and move 't' and 'r' thereMichael Widenius2018-03-291-1021/+0
|
* Merge a test case from MySQL 5.7 (no code fix needed)Marko Mäkelä2018-02-021-0/+28
|
* Merge branch '10.1' into 10.2Sergei Golubchik2017-03-301-0/+98
|\
| * Merge 10.0 into 10.1Marko Mäkelä2017-03-091-0/+98
| |\ | | | | | | | | | | | | | | | | | | | | | | | | Also, implement MDEV-11027 a little differently from 5.5 and 10.0: recv_apply_hashed_log_recs(): Change the return type back to void (DB_SUCCESS was always returned). Report progress also via systemd using sd_notifyf().
| | * Merge branch '5.5' into 10.0Vicențiu Ciorbaru2017-03-031-0/+98
| | |\
| | | * MDEV-9455: [ERROR] mysqld got signal 11Oleksandr Byelkin2017-02-201-0/+93
| | | | | | | | | | | | | | | | Switch MEM_ROOT to non-prune_partitions() during optimizing subselect.
* | | | MDEV-7635: Part 1Nirbhay Choubey2017-02-101-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | innodb_autoinc_lock_mode = 2 innodb_buffer_pool_dump_at_shutdown = ON innodb_buffer_pool_dump_pct = 25 innodb_buffer_pool_load_at_startup = ON innodb_checksum_algorithm = CRC32 innodb_file_format = Barracuda innodb_large_prefix = ON innodb_log_compressed_pages = ON innodb_purge_threads = 4 innodb_strict_mode = ON binlog_annotate_row_events = ON binlog_format = MIXED binlog-row-event-max-size = 8192 group_concat_max_len = 1M lock_wait_timeout = 86400 log_slow_admin_statements = ON log_slow_slave_statements = ON log_warnings = 2 max_allowed_packet = 16M replicate_annotate_row_events = ON slave_net_timeout = 60 sync_binlog = 1 aria_recover = BACKUP,QUICK myisam_recover_options = BACKUP,QUICK
* | | | MDEV-6720 - enable connection log in mysqltest by defaultSergey Vojtovich2016-03-311-11/+2
|/ / /
* | | Merge branch '10.0' into 10.1Sergei Golubchik2015-11-191-0/+42
|\ \ \ | |/ /
| * | MDEV-8805 - Assertion `!m_ordered_rec_buffer' failed inAditya A2015-10-281-0/+42
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ha_partition::init_record_priority_queue() Cherry-pick rev.6b0ee0c795499cee7f9deb649fb010801e0be4c2 from mysql-5.6. Bug #18305270 BACKPORT BUG#18694052 FIX FOR ASSERTION `!M_ORDERED_REC_BUFFER' FAILED TO 5.6 PROBLEM ------- Missed to remove record priority queue if init_index failed for a partition which was causing the crash. FIX --- Remove priority queue if init_index fails for partition.
* | | MDEV-6066: Merge new defaults from 5.6 and 5.7 (defaults changed, QC can be ↵Oleksandr Byelkin2015-09-041-0/+2
|/ / | | | | | | stopped with no-zero size)
* | after-merge fixesSergei Golubchik2015-06-161-1/+1
| | | | | | | | | | in innobase: compilation error on windows other changes: perfschema merge followup
* | Merge branch '5.5' into 10.0Sergei Golubchik2015-06-111-6/+22
|\ \ | |/
| * Merge branch 'merge/merge-xtradb-5.5' into bb-5.5-sergSergei Golubchik2015-06-051-0/+4
| | | | | | | | update tests
| * Merge tag 'mysql-5.5.44' into bb-5.5-sergSergei Golubchik2015-06-051-6/+18
| |\
| | * Bug #17299181 CREATE_TIME AND UPDATE_TIME ARE WRONG FOR PARTITIONED TABLESaditya2015-04-061-6/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | PROBLEM Create time is calculated as last status change time of .frm file. The first problem was that innodb was passing file name as "table_name#po#p0.frm" to the stat() call which calculates the create time. Since there is no frm file with this name create_time will be stored as NULL. The second problem is ha_partition::info() updates stats for create time when HA_STATUS_CONST flag was set ,where as innodb calculates this statistic when HA_STATUS_TIME is set,which causes create_time to be set as NULL. Fix Pass proper .frm name to stat() call and calculate create time when HA_STATUS_CONST flag is set.
| | * merge of bug#1364811 into mysql-5.5Mattias Jonsson2012-03-141-0/+29
| | |\
| | | * Bug#13694811: THE OPTIMIZER WRONGLY USES THE FIRST INNODBMattias Jonsson2012-02-221-0/+29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | PARTITION STATISTICS Problem was the fix for bug#11756867; It always used the first partitions, and stopped after it checked 10 [sub]partitions. (or until it found a partition which would contain a match). This results in bad statistics for tables where the first 10 partitions don't represent the majority of the data (like when the first 10 partitions only contained a few rows in total). The solution was to take statisics from the partitions containing the most rows instead: Added an array of partition ids which is sorted by number of records in descending order. this array is used in records_in_range to cover as many records as possible in as few calls as possible. Also changed the limit of how many partitions to use for the statistics from a static max of 10 partitions, into a dynamic model: Maximum number of partitions is now log2(total number of partitions) taken from the ordered array. It will continue calling partitions records_in_range until it has checked: (total rows in matching partitions) * (maximum number of partitions) / (number of used partitions) Also reverted the changes for ha_partition::scan_time() and ha_partition::estimate_rows_upper_bound() to before the fix of bug#11756867. Since they are not as slow as records_in_range.
| | * | merge mysql-5.5->mysql-5.5-bugteamGeorgi Kodinov2010-12-161-0/+2
| | |\ \
| | | * \ Manual merge from mysql-5.5-bugteam.Ramil Kalimullin2010-11-221-0/+21
| | | |\ \
| | | * \ \ merging.Alexey Botchkov2010-10-151-0/+13
| | | |\ \ \ | | | | | |/ | | | | |/|
| | | * | | Manual mergeMattias Jonsson2010-10-151-0/+25
| | | |\ \ \
| | * | \ \ \ mergeGeorgi Kodinov2010-11-261-0/+39
| | |\ \ \ \ \ | | | | |_|/ / | | | |/| | / | | | |_|_|/ | | |/| | |
| | | * | | merging.Alexey Botchkov2010-10-151-0/+13
| | | |\ \ \ | | | | |_|/ | | | |/| |
| | | | * | Bug#55146 Assertion `m_part_spec.start_part == m_part_spec.end_part' in ↵Alexey Botchkov2010-08-121-0/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | index_read_idx_map As we check for the impossible partitions earlier, it's possible that we don't find any suitable partitions at all. So this assertion just has to be corrected for this case. per-file comments: mysql-test/r/partition_innodb.result Bug#55146 Assertion `m_part_spec.start_part == m_part_spec.end_part' in index_read_idx_map test result updated. mysql-test/t/partition_innodb.test Bug#55146 Assertion `m_part_spec.start_part == m_part_spec.end_part' in index_read_idx_map test case added. sql/ha_partition.cc Bug#55146 Assertion `m_part_spec.start_part == m_part_spec.end_part' in index_read_idx_map Assertion changed to '>=' as the prune_partition_set() in the get_partition_set() can do start_part= end_part+1 if no possible partitions were found.
| | | * | | Bug#56287: mysql5.1.50 crash when using Partition datetime in sub in queryMattias Jonsson2010-09-161-0/+24
| | | |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When having a sub query in partitioned innodb one could make the partitioning engine to search for a 'index_next_same' on a partition that had not been initialized. Problem was that the subselect function looks at table->status which was not set in the partitioning handler when it skipped scanning due to no matching partitions found. Fixed by setting table->status = STATUS_NOT_FOUND when there was no partitions to scan. (If there are partitions to scan, it will be set in the partitions handler.)
| | * | | Fix for bug #57985 "ONLINE/FAST ALTER PARTITION can fail and Dmitry Lenev2010-11-191-0/+21
| | | |/ | | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | leave the table unusable". Failing ALTER statement on partitioned table could have left this table in an unusable state. This has happened in cases when ALTER was executed using "fast" algorithm, which doesn't involve copying of data between old and new versions of table, and the resulting new table was incompatible with partitioning function in some way. The problem stems from the fact that discrepancies between new table definition and partitioning function are discovered only when the table is opened. In case of "fast" algorithm this has happened too late during ALTER's execution, at the moment when all changes were already done and couldn't have been reverted. In the cases when "slow" algorithm, which copies data, is used such discrepancies are detected at the moment new table definition is opened implicitly when new version of table is created in storage engine. As result ALTER is aborted before any changes to table were done. This fix tries to address this issue by ensuring that "fast" algorithm behaves similarly to "slow" algorithm and checks compatibility between new definition and partitioning function by trying to open new definition after .FRM file for it has been created. Long term we probably should implement some way to check compatibility between partitioning function and new table definition which won't involve opening it, as this should allow much cleaner fix for this problem.
| | * | Bug#54747: Deadlock between REORGANIZE PARTITION and SELECT is not detectedMattias Jonsson2010-08-201-0/+57
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The ALTER PARTITION and SELECT seemed to be deadlocked when having innodb_thread_concurrency = 1. Problem was that there was unreleased latches in the ALTER PARTITION thread which was needed by the SELECT thread to be able to continue. Solution was to release the latches by commit before requesting upgrade to exclusive MDL lock. Updated according to reviewers comments (3).
| | * | Bug#53676: Unexpected errors and possible tableMattias Jonsson2010-08-131-0/+44
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
| | * | Bug#54783: optimize table crashes with invalid timestamp defaultDavi Arnaut2010-07-061-0/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | value and NO_ZERO_DATE The problem was that a older version of the error path for a failed admin statement relied upon a few error conditions being met in order to access a table handler, the first one being that the table object pointer was not NULL. Probably due to chance, in all cases a table object was closed but the reference wasn't reset, the other conditions didn't evaluate to true. With the addition of a new check on the error path, the handler started being dereferenced whenever it was not reset to NULL, causing problems for code paths which closed the table but didn't reset the reference. The solution is to reset the reference whenever a admin statement fails and the tables are closed.
| | * | WL#5349 Change default storage engine to InnoDBMagne Mahre2010-06-171-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The default storage engine is changed from MyISAM to InnoDB, in all builds except for the embedded server. In addition, the following system variables are changed: * innodb_file_per_table is enabled * innodb_strict_mode is enabled * innodb_file_format_name_update is changed to 'Barracuda' The test suite is changed so that tests that do not explicitly include the have_innodb.inc are run with --default-storage-engine=MyISAM. This is to ease the transition, so that most regression tests are run with the same engine as before. Some tests are disabled for the embedded server regression test, as the output of certain statements will be different that for the regular server (i.e SELECT @@default_storage_engine). This is to ease transition.
| | * | Manual merge of mysql-trunk into mysql-trunk-merge.Alexey Kopytov2010-03-241-1/+2
| | |\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: Text conflict in client/mysqlbinlog.cc Text conflict in mysql-test/Makefile.am Text conflict in mysql-test/collections/default.daily Text conflict in mysql-test/r/mysqlbinlog_row_innodb.result Text conflict in mysql-test/suite/rpl/r/rpl_typeconv_innodb.result Text conflict in mysql-test/suite/rpl/t/rpl_get_master_version_and_clock.test Text conflict in mysql-test/suite/rpl/t/rpl_row_create_table.test Text conflict in mysql-test/suite/rpl/t/rpl_slave_skip.test Text conflict in mysql-test/suite/rpl/t/rpl_typeconv_innodb.test Text conflict in mysys/charset.c Text conflict in sql/field.cc Text conflict in sql/field.h Text conflict in sql/item.h Text conflict in sql/item_func.cc Text conflict in sql/log.cc Text conflict in sql/log_event.cc Text conflict in sql/log_event_old.cc Text conflict in sql/mysqld.cc Text conflict in sql/rpl_utility.cc Text conflict in sql/rpl_utility.h Text conflict in sql/set_var.cc Text conflict in sql/share/Makefile.am Text conflict in sql/sql_delete.cc Text conflict in sql/sql_plugin.cc Text conflict in sql/sql_select.cc Text conflict in sql/sql_table.cc Text conflict in storage/example/ha_example.h Text conflict in storage/federated/ha_federated.cc Text conflict in storage/myisammrg/ha_myisammrg.cc Text conflict in storage/myisammrg/myrg_open.c
| | | * \ Merge next-mr -> next-4284.Konstantin Osipov2010-02-061-1/+46
| | | |\ \
| | | | * \ Manual merge from mysql-trunk-merge.Alexander Nozdrin2010-01-281-1/+44
| | | | |\ \ | | | |/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: - sql/ha_partition.cc - sql/sql_partition.cc The following tests started to fail: - main.partition_innodb (a crash)
| | | * | | merge of bug#35765 into mysql-next-mr-bugfixingMattias Jonsson2009-11-241-1/+0
| | | | | |
| | * | | | Manual merge of mysql-5.1-bugteam to mysql-trunk-merge.Alexey Kopytov2010-03-201-1/+60
| | |\ \ \ \ | | | | |_|/ | | | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: Text conflict in mysql-test/r/partition_innodb.result Text conflict in sql/field.h Text conflict in sql/item.h Text conflict in sql/item_cmpfunc.h Text conflict in sql/item_sum.h Text conflict in sql/log_event_old.cc Text conflict in sql/protocol.cc Text conflict in sql/sql_select.cc Text conflict in sql/sql_yacc.yy
| | | * | | mergeMattias Jonsson2010-03-121-0/+32
| | | |\ \ \
| | | | * | | Bug#51830: Incorrect partition pruning on range partitionMattias Jonsson2010-03-101-0/+32
| | | | | |/ | | | | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (regression) Problem was that partition pruning did not exclude the last partition if the range was beyond it (i.e. not using MAXVALUE) Fix was to not include the last partition if the partitioning function value was not within the partition range.
| | | * | | Bug#50104: Partitioned table with just 1 partion works with fkMattias Jonsson2010-03-041-1/+28
| | | |/ / | | | | | | | | | | | | | | | | | | | | | | | | | There was no check for foreign keys when altering partitioned tables. Added check for FK when altering partitioned tables.
| | * | | Manual merge of mysql-5.1-bugteam into mysql-trunk-merge.Alexey Kopytov2010-01-241-1/+44
| | |\ \ \ | | | |/ / | | | | / | | | |/ | | |/|
| | | * Bug#47343: InnoDB fails to clean-up after lock wait timeout onMattias Jonsson2010-01-181-1/+44
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | REORGANIZE PARTITION There were several problems which lead to this this, all related to bad error handling. 1) There was several bugs preventing the ddl-log to be used for cleaning up created files on error. 2) The error handling after the copy partition rows did not close and unlock the tables, resulting in deletion of partitions which were in use, which lead InnoDB to put the partition to drop in a background queue.
| | * | BUG#48447, BUG#48161, fixed a regression from fix of BUG#6045, where binary ↵Mikael Ronstrom2009-11-051-0/+15
| | | | | | | | | | | | | | | | collations can use indexes/partition pruning for cases using equality conditions, however it cannot be used for any other condition like <, >, <=, >=, <>, also added test case for verification of BUG#47774 in this patch
| | * | Changed COLUMN_LIST to COLUMNS after arch reviewMikael Ronstrom2009-10-291-3/+3
| | | |
| | * | MergeMikael Ronstrom2009-10-211-0/+29
| | |\ \
| | | * \ Manual merge mysql-trunk -> mysql-trunk-wl3352Mattias Jonsson2009-10-191-0/+29
| | | |\ \
| | | | * \ Merge from mysql-5.1-bugteam.Alexander Nozdrin2009-09-161-0/+29
| | | | |\ \ | | | | | |/
| | | | | * Local merge.Sergey Vojtovich2009-09-101-0/+12
| | | | | |\
| | | | | | * BUG#46483 - drop table of partitioned table may leaveSergey Vojtovich2009-09-021-0/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | extraneous file Online/fast ALTER TABLE of a partitioned table may leave temporary file in database directory. Fixed by removing unnecessary call to handler::ha_create_handler_files(), which was creating partitioning definition file.
| | | | | * | Fix to ensure that all subpartitions gets deleted before renaming starts, ↵Mikael Ronstrom2009-09-071-0/+17
| | | | | |/ | | | | | | | | | | | | | | | | | | BUG#47029
| | * | | | Fixed removal of column_list keyword for VALUES part, retained for PARTITION ↵Mikael Ronstrom2009-10-161-6/+6
| | |/ / / | | | | | | | | | | | | | | | BY RANGE/LIST COLUMN_LIST, not entirely working yet