diff options
author | Monty <monty@mariadb.org> | 2023-02-10 13:18:39 +0200 |
---|---|---|
committer | Monty <monty@mariadb.org> | 2023-03-02 13:11:54 +0200 |
commit | bd9ca2a0e3dfb00da226822cea53bb856e8393f0 (patch) | |
tree | e7ce21d5f51c1ea255485d0f3ea012ff6116c0fa /mysql-test/suite | |
parent | eb441f6cb7f32caeba4ea1633e8111318b0a2574 (diff) | |
download | mariadb-git-bd9ca2a0e3dfb00da226822cea53bb856e8393f0.tar.gz |
MDEV-30540 Wrong result with IN list length reaching IN_PREDICATE_CONVERSION_THRESHOLD
The problem was the mysql_derived_prepare() did not correctly set
'distinct' when creating a temporary derivated table.
Fixed by separating checking for distinct for queries with and without
UNION.
Other things:
- Fixed bug in generate_derived_keys_for_table() where we set the wrong
bit for join_tab->keys
- Cleaned up JOIN::drop_unused_derived_keys()
- Changed TABLE::use_index() to keep unique keys and update
share->key_parts
Author: Sergei Petrunia <sergey@mariadb.com>, monty@mariadb.org
Diffstat (limited to 'mysql-test/suite')
-rw-r--r-- | mysql-test/suite/federated/federatedx_create_handlers.result | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/mysql-test/suite/federated/federatedx_create_handlers.result b/mysql-test/suite/federated/federatedx_create_handlers.result index 34056d0c696..2f413f720de 100644 --- a/mysql-test/suite/federated/federatedx_create_handlers.result +++ b/mysql-test/suite/federated/federatedx_create_handlers.result @@ -308,7 +308,7 @@ SELECT * FROM federated.t1 WHERE id >= 5) t WHERE federated.t3.name=t.name; id select_type table type possible_keys key key_len ref rows Extra 1 PRIMARY t3 ALL NULL NULL NULL NULL 7 -1 PRIMARY <derived2> ref key1 key1 18 federated.t3.name 1 +1 PRIMARY <derived2> ref key1,distinct_key key1 18 federated.t3.name 1 2 PUSHED DERIVED NULL NULL NULL NULL NULL NULL NULL NULL # # MDEV-21887: federatedx crashes on SELECT ... INTO query in select_handler code |