summaryrefslogtreecommitdiff
path: root/mysql-test/suite/archive
Commit message (Collapse)AuthorAgeFilesLines
* Added test cases for preceding testMonty2023-02-032-1/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This includes all test changes from "Changing all cost calculation to be given in milliseconds" and forwards. Some of the things that caused changes in the result files: - As part of fixing tests, I added 'echo' to some comments to be able to easier find out where things where wrong. - MATERIALIZED has now a higher cost compared to X than before. Because of this some MATERIALIZED types have changed to DEPENDEND SUBQUERY. - Some test cases that required MATERIALIZED to repeat a bug was changed by adding more rows to force MATERIALIZED to happen. - 'Filtered' in SHOW EXPLAIN has in many case changed from 100.00 to something smaller. This is because now filtered also takes into account the smallest possible ref access and filters, even if they where not used. Another reason for 'Filtered' being smaller is that we now also take into account implicit filtering done for subqueries using FIRSTMATCH. (main.subselect_no_exists_to_in) This is caluculated in best_access_path() and stored in records_out. - Table orders has changed because more accurate costs. - 'index' and 'ALL' for small tables has changed to use 'range' or 'ref' because of optimizer_scan_setup_cost. - index can be changed to 'range' as 'range' optimizer assumes we don't have to read the blocks from disk that range optimizer has already read. This can be confusing in the case where there is no obvious where clause but instead there is a hidden 'key_column > NULL' added by the optimizer. (main.subselect_no_exists_to_in) - Scan on primary clustered key does not report 'Using Index' anymore (It's a table scan, not an index scan). - For derived tables, the number of rows is now 100 instead of 2, which can be seen in EXPLAIN. - More tests have "Using index for group by" as the cost of this optimization is now more correct (lower). - A primary key could be preferred for a normal key, even if it would access more rows, as it's faster to do 1 lokoup and 3 'index_next' on a clustered primary key than one lookup trough a secondary. (main.stat_tables_innodb) Notes: - There was a 4.7% more calls to best_extension_by_limited_search() in the main.greedy_optimizer test. However examining the test results it looked that the plans where slightly better (eq_ref where more chained together) so I assume this is ok. - I have verified a few test cases where there was notable/unexpected changes in the plan and in all cases the new optimizer plans where faster. (main.greedy_optimizer and some others)
* Merge 10.7 into 10.8Marko Mäkelä2022-09-217-18/+18
|\
| * Merge 10.6 into 10.7Marko Mäkelä2022-09-217-18/+18
| |\
| | * Merge 10.5 into 10.6Marko Mäkelä2022-09-207-18/+18
| | |\
| | | * Merge remote-tracking branch 'origin/10.4' into 10.5Alexander Barkov2022-09-147-18/+18
| | | |\
| | | | * Merge 10.3 into 10.4Marko Mäkelä2022-09-137-18/+18
| | | | |\
| | | | | * MDEV-29446 Change SHOW CREATE TABLE to display default collationAlexander Barkov2022-09-127-18/+18
| | | | | |
* | | | | | Merge branch '10.7' into 10.8Oleksandr Byelkin2022-08-091-2/+2
|\ \ \ \ \ \ | |/ / / / /
| * | | | | MDEV-29159 Patch for MDEV-28918 introduces more inconsistency than it ↵Alexander Barkov2022-08-051-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | solves, breaks usability 1. Store assignment failures on incompatible data types now raise errors if: - STRICT_ALL_TABLES or STRICT_TRANS_TABLES sql_mode is used, and - IGNORE is not used Otherwise, only a warning is raised and the statement continues. 2. Changing the error/warning test as follows: -ERROR HY000: Illegal parameter data types inet6 and int for operation 'SET' +ERROR HY000: Cannot cast 'int' as 'inet6' in assignment of `db`.`t`.`col` so in case of a big table it's easier to see which column has the problem. The new error text is also applied to SP variables.
* | | | | | Merge 10.7 into 10.8Marko Mäkelä2022-06-281-2/+2
|\ \ \ \ \ \ | |/ / / / /
| * | | | | MDEV-28918 Implicit cast from INET6 UNSIGNED works differently on UPDATE vs ↵Alexander Barkov2022-06-271-2/+2
| |/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ALTER Now INSERT, UPDATE, ALTER statements involving incompatible data type pairs, e.g.: UPDATE TABLE t1 SET col_inet6=col_int; INSERT INTO t1 (col_inet6) SELECT col_in FROM t2; ALTER TABLE t1 MODIFY col_inet6 INT; consistently return an error at the statement preparation time: ERROR HY000: Illegal parameter data types inet6 and int for operation 'SET' and abort the statement before starting interating rows. This error is the same with what is raised for queries like: SELECT col_inet6 FROM t1 UNION SELECT col_int FROM t2; SELECT COALESCE(col_inet6, col_int) FROM t1; Before this change the error was caught only during the execution time, when a Field_xxx::store_xxx() was called for the very firts row. The behavior was not consistent between various statements and could do different things: - abort the statement - set a column to the data type default value (e.g. '::' for INET6) - set a column to NULL A typical old error was: ERROR 22007: Incorrect inet6 value: '1' for column `test`.`t1`.`a` at row 1 EXCEPTION: Note, there is an exception: a multi-row INSERT..VALUES, e.g.: INSERT INTO t1 (col_a,col_b) VALUES (a1,b1),(a2,b2); checks assignment compability at the preparation time for the very first row only: (col_a,col_b) vs (a1,b1) Other rows are still checked at the execution time and return the old warnings or errors in case of a failure. This is done because catching all rows at the preparation time would change behavior significantly. So it still works according to the STRICT_XXX_TABLES sql_mode flags and the table transaction ability. This is too late to change this behavior in 10.7. There is no a firm decision yet if a multi-row INSERT..VALUES behavior will change in later versions.
* | | | | Merge 10.7 into 10.8Marko Mäkelä2022-03-032-3/+3
|\ \ \ \ \ | |/ / / /
| * | | | Fix various spelling errorsOtto Kekäläinen2022-03-032-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Among others: existance -> existence reinitialze -> reinitialize successfuly -> successfully
* | | | | MDEV-27396 DESC index attribute remains in Archive table definition, despite ↵Sergei Golubchik2022-01-262-8/+30
|/ / / / | | | | | | | | | | | | | | | | | | | | being apparently ignored disallow descending indexes in archive
* | | | Marked some very slow mtr tests with not_valgrindMonty2021-06-141-0/+2
|/ / /
* | | MDEV-18650: Options deprecated in previous versions - storage_engineVicențiu Ciorbaru2020-02-134-4/+4
|/ / | | | | | | | | | | | | Remove usage of deprecated variable storage_engine. It was deprecated in 5.5 but it never issued a deprecation warning. Make it issue a warning in 10.5.1. Replaced with default_storage_engine.
* | Merge branch '10.3' into 10.4Sergei Golubchik2019-09-061-0/+1
|\ \ | |/
| * Merge branch '10.2' into 10.3Monty2019-09-031-0/+1
| |\
| | * Updated mtr files to support different compiled in optionsMonty2019-09-012-0/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This allows one to run the test suite even if any of the following options are changed: - character-set-server - collation-server - join-cache-level - log-basename - max-allowed-packet - optimizer-switch - query-cache-size and query-cache-type - skip-name-resolve - table-definition-cache - table-open-cache - Some innodb options etc Changes: - Don't print out the value of system variables as one can't depend on them to being constants. - Don't set global variables to 'default' as the default may not be the same as the test was started with if there was an additional option file. Instead save original value and reset it at end of test. - Test that depends on the latin1 character set should include default_charset.inc or set the character set to latin1 - Test that depends on the original optimizer switch, should include default_optimizer_switch.inc - Test that depends on the value of a specific system variable should set it in the test (like optimizer_use_condition_selectivity) - Split subselect3.test into subselect3.test and subselect3.inc to make it easier to set and reset system variables. - Added .opt files for test that required specfic options that could be changed by external configuration files. - Fixed result files in rockdsb & tokudb that had not been updated for a while.
* | | enabled test archive_gisVarun2019-06-111-2/+0
| | |
* | | Merge 10.3 into 10.4Marko Mäkelä2019-04-252-0/+56
|\ \ \ | |/ / | | | | | | | | | In is_eits_usable(), we disable an assertion that fails due to MDEV-19334.
| * | Merge 10.2 into 10.3Marko Mäkelä2019-04-252-0/+56
| |\ \ | | |/
| | * Merge 10.1 into 10.2Marko Mäkelä2019-04-252-0/+56
| | |\
| | | * MDEV-17297: stats.records=0 for a table of Archive engine when it has rows, ↵Sergei Petrunia2019-04-182-0/+56
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | when we run ANALYZE command Archive storage engine assumed that any query that attempts to read from the table will call ha_archive::info() beforehand. ha_archive would flush un-written data in that call (this would make it visible for the reads). Break this assumption. Flush the data when the table is opened for reading. This way, one can do multiple write statements without causing a flush, but as soon as we might need the data, we flush it.
* | | | Merge 10.3 into 10.4Marko Mäkelä2019-03-201-0/+4
|\ \ \ \ | |/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The MDEV-17262 commit 26432e49d37a37d09b862bb49a021e44bdf4789c was skipped. In Galera 4, the implementation would seem to require changes to the streaming replication. In the tests archive.rnd_pos main.profiling, disable_ps_protocol for SHOW STATUS and SHOW PROFILE commands until MDEV-18974 has been fixed.
* | | | Merge branch '10.3' into 10.4Oleksandr Byelkin2019-02-212-4/+3
|\ \ \ \ | |/ / /
| * | | dirty mergeOleksandr Byelkin2019-02-072-4/+3
| |\ \ \ | | |/ /
| | * | cleanup: don't ---replace_regex /#sql-.*/#sql-temporary/Sergei Golubchik2019-02-052-4/+3
| | | | | | | | | | | | | | | | no longer needed
* | | | Optimize flush tables with read lock (FTWRL) to not wait for select'sMonty2018-12-092-0/+43
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Part of MDEV-5336 Implement LOCK FOR BACKUP The idea is that instead of waiting in close_cached_tables() for all tables to be closed, we instead call flush_tables() that does: - Flush not used objects in table cache to free memory - Collect all tables that are open - Call HA_EXTRA_FLUSH on the objects, to get them into "closed state" - Added HA_EXTRA_FLUSH support to archive and CSV - Added multi-user protection to HA_EXTRA_FLUSH in MyISAM and Aria The benefit compared to old code is: - FTWRL doesn't have to wait for long running read operations or open HANDLER's
* | | | MDEV-15253: Default optimizer setting changes for MariaDB 10.4Varun Gupta2018-12-091-0/+13
| | | | | | | | | | | | | | | | | | | | use_stat_tables= PREFERABLY optimizer_use_condition_selectivity= 4
* | | | MDEV-14500 filesort to support engines with slow rnd_posSergei Golubchik2018-11-202-0/+83
|/ / / | | | | | | | | | | | | If the engine wants to avoid rnd_pos() - force a temporary table before a filesort. But don't do it if addon_fields are used.
* | | MDEV-12645 - mysql_install_db: no install test db optionSergey Vojtovich2018-04-301-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Added --skip-test-db option to mysql_install_db. If specified, no test database created and relevant grants issued. Removed --skip-auth-anonymous-user option of mysql_install_db. Now it is covered by --skip-test-db. Dropped some Debian patches that did the same. Removed unused make_win_bin_dist.1, make_win_bin_dist and mysql_install_db.pl.in.
* | | Tests: enable disabled tests [closes #341]Aleksey Midenkov2017-11-271-12/+0
| | |
* | | SQL: allow PERIOD as identifier [fixes #331]Eugene Kosov2017-11-272-7/+7
| | |
* | | System Versioning pre0.12Aleksey Midenkov2017-11-073-7/+19
|\ \ \ | | | | | | | | | | | | Merge remote-tracking branch 'origin/archive/2017-10-17' into 10.3
| * | | Tests: disable tests failing in 10.3kevg2017-05-051-0/+12
| | | |
| * | | 0.1: SQL-level System VersioningDaniel Fiala2017-05-052-7/+7
| | | |
| * | | MDEV-10141: Add support for INTERSECT (and common parts for EXCEPT)Oleksandr Byelkin2017-03-131-2/+2
| | | | | | | | | | | | | | | | MDEV-10140: Add support for EXCEPT
* | | | Merge branch '10.2' into bb-10.2-extSergei Golubchik2017-08-251-2/+2
|\ \ \ \ | | |/ / | |/| |
| * | | Merge branch '10.1' into 10.2Sergei Golubchik2017-08-171-2/+2
| |\ \ \ | | | |/ | | |/|
| | * | Merge branch '10.0' into 10.1Sergei Golubchik2017-08-081-2/+2
| | |\ \
| | | * | MDEV-12915 ST_Centroid does not return the same result than MySQL.Alexey Botchkov2017-08-011-2/+2
| | | | | | | | | | | | | | | | | | | | Calculation of the polygon's centroid fixed.
* | | | | Merge remote-tracking branch 'origin/10.2' into bb-10.2-extAlexander Barkov2017-07-071-16/+16
|\ \ \ \ \ | |/ / / /
| * | | | MDEV-13089 identifier quoting in partitioningSergei Golubchik2017-07-051-16/+16
| | |_|/ | |/| | | | | | | | | | | | | | don't print partitioning expression as it was entered by the user, use Item::print() according to the sql_mode and sql_quote_show_create
* | | | MDEV-10141: Add support for INTERSECT (and common parts for EXCEPT)Oleksandr Byelkin2017-03-141-2/+2
|/ / / | | | | | | | | | MDEV-10140: Add support for EXCEPT
* | | MDEV-7635: Update tests to adapt to the new default sql_modeNirbhay Choubey2017-02-103-5/+5
| | |
* | | MDEV-7635: Part 1Nirbhay Choubey2017-02-102-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | | Merge 10.1 into 10.2Marko Mäkelä2017-01-102-0/+17
|\ \ \ | |/ /
| * | Merge 10.0 into 10.1Marko Mäkelä2017-01-102-0/+17
| |\ \ | | |/
| | * MDEV-11317: `! is_set()' or `!is_set() || (m_status == DA_OK_BULK && ↵Monty2017-01-082-0/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | is_bulk_op())' fails in Diagnostics_area::set_ok_status on CREATE OR REPLACE with ARCHIVE table Problem was with deleting non existing .frm file for a storage engine that doesn't have .frm files (yet) Fixed by not giving an error for non existing .frm files for storage engines that are using discovery Fixed also valgrind supression related to the given test case