summaryrefslogtreecommitdiff
path: root/mysql-test/suite/federated
Commit message (Collapse)AuthorAgeFilesLines
...
| | * | | | Merge branch '10.4' into 10.5Oleksandr Byelkin2022-02-014-0/+128
| | |\ \ \ \ | | | |/ / /
| | | * | | Merge branch '10.3' into 10.4Oleksandr Byelkin2022-01-302-0/+37
| | | |\ \ \ | | | | |/ /
| | | | * | Merge branch '10.2' into 10.3mariadb-10.3.33Oleksandr Byelkin2022-01-292-0/+37
| | | | |\ \ | | | | | |/
| | | | | * test cases for MySQL bugsSergei Golubchik2022-01-212-0/+37
| | | | | | | | | | | | | | | | | | | | | | | | also fix a comment, and update a macro just in case
| | | * | | MDEV-14907 FEDERATEDX doesn't respect DISTINCTMonty2022-01-052-0/+91
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Federated and Federatex cannot be used with ROR scans Federated::position() and Federatex::position() is storing in 'ref' a pointer into a local result set buffer. This means that one cannot compare 'ref' from different handler instances to see if they point to the same physical record. This bug caused federated.federatedx to return wrong results when the optimizer tried to use index_merge to resolve some queries. Fixed by introducing table flag HA_NON_COMPARABLE_ROWID and using this with the above handlers. Todo: - Fix multi_delete(), multi_update and read_records() to use primary key instead of 'ref' if case HA_NON_COMPARABLE_ROWID is set. The current code only works if we have only one range (like table scan) for the tables that will be updated in the second pass. - Enable DBUG_ASSERT() in ha_federated::cmp_ref() and ha_federatedx::cmp_ref().
* | | | | | MDEV-27398 DESC index causes wrong (empty) result on Federated tablesSergei Golubchik2022-01-262-0/+55
| | | | | | | | | | | | | | | | | | | | | | | | take descending indexes into account when generating a query
* | | | | | MDEV-27036: resolve duplicated key issues of JSON tracing outputs:Sergei Krivonos2021-11-261-74/+92
|/ / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | MDEV-27036: repeated "table" key resolve for print_explain_json MDEV-27036: duplicated keys in best_access_path MDEV-27036: Explain_aggr_filesort::print_json_members: resolve duplicated "filesort" member in Json object MDEV-27036: Explain_basic_join:: print_explain_json_interns fixed start_dups_weedout case for main.explain_json test
* | | | | MDEV-26654 ROW_NUMBER is wrong upon INSERT into Federated tableSergei Golubchik2021-10-262-0/+44
|/ / / / | | | | | | | | | | | | just a test case
* | | | Merge 10.4 into 10.5Marko Mäkelä2021-08-182-0/+61
|\ \ \ \ | |/ / /
| * | | Merge 10.3 into 10.4Marko Mäkelä2021-08-182-0/+61
| |\ \ \ | | |/ /
| | * | Merge 10.2 into 10.3Marko Mäkelä2021-08-182-0/+61
| | |\ \ | | | |/ | | | | | | | | MDEV-18734 FIXME: vcol.partition triggers ASAN heap-use-after-free
| | | * MDEV-18734 ASAN heap-use-after-free upon sorting by blob column from ↵Aleksey Midenkov2021-08-052-0/+61
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | partitioned table ha_partition stores records in array of m_ordered_rec_buffer and uses it for prio queue in ordered index scan. When the records are restored from the array the blob buffers may be already freed or rewritten. The solution is to take temporary ownership of cached blob buffers via String::swap(). When the record is restored from m_ordered_rec_buffer the ownership is returned to table fields. Cleanups: init_record_priority_queue(): removed needless !m_ordered_rec_buffer check as there is same assertion few lines before. dbug_print_row() for arbitrary row pointer
* | | | Merge 10.4 into 10.5Marko Mäkelä2021-01-252-13/+23
|\ \ \ \ | |/ / /
| * | | Merge 10.3 into 10.4Marko Mäkelä2021-01-252-13/+23
| |\ \ \ | | |/ /
| | * | MDEV-17227 Server crash in TABLE_SHARE::init_from_sql_statement_string upon ↵Sergei Golubchik2021-01-122-13/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | table discovery with non-existent database * failed init_from_binary_frm_image can clear share->db_plugin, don't use it on the error path * cleanup the test a bit
* | | | Merge commit '10.4' into 10.5Oleksandr Byelkin2021-01-062-0/+55
|\ \ \ \ | |/ / /
| * | | Merge branch '10.3' into 10.4bb-10.4-MDEV-23468Oleksandr Byelkin2020-12-252-0/+55
| |\ \ \ | | |/ /
| | * | Merge branch '10.2' into 10.3Oleksandr Byelkin2020-12-232-0/+55
| | |\ \ | | | |/
| | | * MDEV-17573 Assertion in federatedx on multi-updateAleksey Midenkov2020-12-092-0/+55
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Cause: shared federatedx_io cannot store table-specific data. Fix: move current row reference `federatedx_io_mysql::current` to ha_federatedx. FederatedX connection (represented by federatedx_io) is stored into federatedx_txn::txn_list of per-server connections (see federatedx_txn::acquire()). federatedx_txn object is stored into THD (see ha_federatedx::external_lock()). When multiple handlers acquire FederatedX connection they get single federatedx_io instance. Multiple handlers do their operation via federatedx_io_mysql::mark_position() and federatedx_io_mysql::fetch_row() in arbitrarty manner. They access the same federatedx_io_mysql instance and same MYSQL_ROWS *current pointer, so one handler disrupts the work of the other. Related to "MDEV-14551 Can't find record in table on multi-table update with ORDER BY".
| | * | MDEV-16937 Strict SQL with system versioned tables causes issuesAleksey Midenkov2020-05-282-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | Respect system fields in NO_ZERO_DATE mode. This is the subject for refactoring in MDEV-19597
* | | | Merge branch '10.4' into 10.5Sujatha2020-09-292-0/+101
|\ \ \ \ | |/ / /
| * | | MDEV-23778 Derived table handler looses data on conversion from HEAP to AriaIgor Babaev2020-09-282-0/+101
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This bug happened when the HEAP temporary table used for the derived table created for a derived handler of a remote engine of the federated type became full and was converted to an Area table. For this conversion the tmp_table_param parameter must be always taken from the select_unit object created for the result of the derived table.
* | | | Merge 10.4 into 10.5Marko Mäkelä2020-07-022-20/+107
|\ \ \ \ | |/ / /
| * | | MDEV-22993: Crash on EXPLAIN with PUSHED DOWN SELECT and subquerySergei Petrunia2020-06-242-20/+107
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - select_describe() should not attempt to produce query plans for subqueries if the query is handled by a Select Handler. - JOIN::save_explain_data_intern should not add links to Explain_select for children selects if: 1. The whole query is handled by the Select Handler, or 2. this select (and so its children) is handled by Derived Handler.
* | | | Merge 10.4 into 10.5Marko Mäkelä2020-05-312-3/+3
|\ \ \ \ | |/ / /
| * | | MDEV-16937 Strict SQL with system versioned tables causes issues (10.4)Aleksey Midenkov2020-05-292-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Respect system fields in NO_ZERO_DATE mode. This is the subject for refactoring in MDEV-19597 Conflict resolution from 7d5223310789f967106d86ce193ef31b315ecff0
| * | | MDEV-21887: federatedx crashes on SELECT ... INTO query in select_handler codeSergei Petrunia2020-03-262-2/+41
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Backport to 10.4: - Don't try to push down SELECTs that have a side effect - In case the storage engine did support pushdown of SELECT with an INTO clause, write the rows we've got from it into select->join->result, and not thd->protocol. This way, SELECT ... INTO ... FROM smart_engine_table will put the result into where instructed, and NOT send it to the client.
* | | | MDEV-21743: Re-record --big-test resultsMarko Mäkelä2020-03-111-4/+4
| | | |
* | | | MDEV-21887: federatedx crashes on SELECT ... INTO query in select_handler codeSergei Petrunia2020-03-072-2/+41
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Don't try to push down SELECTs that have a side effect - In case the storage engine did support pushdown of SELECT with an INTO clause, write the rows we've got from it into select->join->result, and not thd->protocol. This way, SELECT ... INTO ... FROM smart_engine_table will put the result into where instructed, and NOT send it to the client.
* | | | Merge 10.4 into 10.5Aleksey Midenkov2019-11-252-0/+37
|\ \ \ \ | |/ / /
| * | | Merge 10.3 into 10.4Aleksey Midenkov2019-11-252-0/+37
| |\ \ \ | | |/ /
| | * | MDEV-21049 Segfault in create federatedx table with empty hostnameAleksey Midenkov2019-11-222-0/+37
| | | | | | | | | | | | | | | | Use my_localhost instead of NULL for share->hostname.
* | | | MDEV-20854: ANALYZE for statements: not clear where the time is spentSergei Petrunia2019-11-121-2/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Count the "gap" time between table accesses and display it as r_other_time_ms in the "table" element. * The advantage of this approach is that it doesn't add any new my_timer_cycles() calls. * The disadvantage is that the definition of what is done during "other time" is not that clear: it includes checking the WHERE (for this table), constructing index lookup tuple (for the next table) writing to GROUP BY temporary table (as we dont account for that time separately [yet], etc)
* | | | MDEV-20806 Federated does not work with INET6, returns NULL with warning ↵Alexander Barkov2019-10-122-0/+41
|/ / / | | | | | | | | | ER_TRUNCATED_WRONG_VALUE
* | | Merge 10.3 into 10.4Marko Mäkelä2019-10-102-5/+10
|\ \ \ | |/ /
| * | versioning test suite fixesAleksey Midenkov2019-10-102-5/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Preparation for MDEV-16210: replace.test: key_type combinations: PK and UNIQUE. foreign.test: Preparation for key_type combinations. Other fixes: * Merged versioning.update2 into versioning.update; * Removed test2 database and done individual drop instead.
* | | Merge branch '10.3' into 10.4Sergei Golubchik2019-09-062-9/+5
|\ \ \ | |/ /
| * | Merge branch '10.2' into 10.3Monty2019-09-032-9/+5
| |\ \ | | |/
* | | generalize the error messageSergei Golubchik2019-05-181-1/+1
| | |
* | | MDEV-15966 Behavior for TRUNCATE versioned table is not documented and not ↵Sergei Golubchik2019-05-182-6/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | covered by tests * add error for truncation of versioned tables: `ER_TRUNCATE_ILLEGAL_VERS` * make a full table open with `tdc_aquire_share` instead of just `ha_table_exists` check test suites run: main, parts, versioning Closes #785
* | | Write information about restart in .resultMichael Widenius2019-04-013-0/+3
| | | | | | | | | | | | Idea comes from MySQL which does something similar
* | | MDEV-17096 Pushdown of simple derived tables to storage enginesIgor Babaev2019-02-122-1/+7
| | | | | | | | | | | | | | | Made the setting of the system variable federated_pushdown at the default connection.
* | | MDEV-17096 Pushdown of simple derived tables to storage enginesIgor Babaev2019-02-121-0/+4
| | | | | | | | | | | | Added plugin system variable federated_pushdown.
* | | MDEV-17096 Pushdown of simple derived tables to storage enginesIgor Babaev2019-02-092-17/+162
| | | | | | | | | | | | | | | | | | | | | Resolved the problem of forming a proper query string for FEDERATEDX. Added test cases. Cleanup of extra spaces.
* | | MDEV-17096 Pushdown of simple derived tables to storage enginesIgor Babaev2019-02-062-0/+318
|/ / | | | | | | | | | | | | | | MDEV-17631 select_handler for a full query pushdown Interfaces + Proof of Concept for federatedx with test cases. The interfaces have been developed for integration of ColumnStore engine.
* | Merge branch '10.2' into 10.3Sergei Golubchik2018-06-301-1/+1
|\ \ | |/
| * Merge branch '10.1' into 10.2Sergei Golubchik2018-06-211-1/+1
| |\
| | * Merge branch '10.0' into 10.1Vicențiu Ciorbaru2018-06-121-1/+1
| | |\
| | | * Merge branch '5.5' into 10.0Vicențiu Ciorbaru2018-06-121-1/+1
| | | |\
| | | | * MDEV-16342 SHOW ENGINES: MyISAM description is uselessSergei Golubchik2018-06-111-1/+1
| | | | | | | | | | | | | | | | | | | | rewrite tautological engine descriptions