Details
-
Bug
-
Status: Closed (View Workflow)
-
Major
-
Resolution: Fixed
-
5.3.12, 5.5(EOL), 10.0(EOL), 10.1(EOL)
-
None
-
mysql Ver 15.1 Distrib 10.0.18-MariaDB, for osx10.10 (x86_64) using readline 5.1
MariaDB installed with homebrew
-
5.5.45, 10.1.7-1
Description
Turning semijoin optimization on/off can affect number of rows returned by a query.
Enabling semojoin optimisation can cause a query like that:
SELECT * FROM manufacturers WHERE (...); |
to return more rows than:
SELECT * FROM manufacturers; |
Please, find a full test case setup attached.
Just to sum up the test case:
It executes the query below: (manufacturers table size: 2)
SELECT * FROM manufacturers WHERE manufacturers.id IN ( |
SELECT ships.manufacturers_id FROM owners JOIN ships ON owners.id = ships.owners_id WHERE owners.id = 1 |
);
|
Then the query returns:
- 2 rows ( SET optimizer_switch='semijoin=off'; )
- 3 rows ( SET optimizer_switch='semijoin=on'; )
Attachments
Activity
Field | Original Value | New Value |
---|---|---|
Description |
Turning semijoin optimization on/off can affect number of rows returned by a query. Enabling semojoin optimisation can cause a query like that: {code:sql} SELECT * FROM manufacturers WHERE (...); {code} to return more rows than: {code:sql} SELECT * FROM manufacturers; {code} Please, find a full use case setup attached. Just to sum up the test case: It executes the query below: (manufacturers table size: 2) {code:sql} SELECT * FROM manufacturers WHERE manufacturers.id IN ( SELECT ships.manufacturers_id FROM owners JOIN ships ON owners.id = ships.owners_id WHERE owners.id = 1 ); {code} Then the query returns: - 2 rows (SET optimizer_switch='semijoin=off';) - 3 rows (SET optimizer_switch='semijoin=on';) |
Turning semijoin optimization on/off can affect number of rows returned by a query. Enabling semojoin optimisation can cause a query like that: {code:sql} SELECT * FROM manufacturers WHERE (...); {code} to return more rows than: {code:sql} SELECT * FROM manufacturers; {code} Please, find a full use case setup attached. Just to sum up the test case: It executes the query below: (manufacturers table size: 2) {code:sql} SELECT * FROM manufacturers WHERE manufacturers.id IN ( SELECT ships.manufacturers_id FROM owners JOIN ships ON owners.id = ships.owners_id WHERE owners.id = 1 ); {code} Then the query returns: - 2 rows ( SET optimizer_switch='semijoin=off'; ) - 3 rows ( SET optimizer_switch='semijoin=on'; ) |
Description |
Turning semijoin optimization on/off can affect number of rows returned by a query. Enabling semojoin optimisation can cause a query like that: {code:sql} SELECT * FROM manufacturers WHERE (...); {code} to return more rows than: {code:sql} SELECT * FROM manufacturers; {code} Please, find a full use case setup attached. Just to sum up the test case: It executes the query below: (manufacturers table size: 2) {code:sql} SELECT * FROM manufacturers WHERE manufacturers.id IN ( SELECT ships.manufacturers_id FROM owners JOIN ships ON owners.id = ships.owners_id WHERE owners.id = 1 ); {code} Then the query returns: - 2 rows ( SET optimizer_switch='semijoin=off'; ) - 3 rows ( SET optimizer_switch='semijoin=on'; ) |
Turning semijoin optimization on/off can affect number of rows returned by a query. Enabling semojoin optimisation can cause a query like that: {code:sql} SELECT * FROM manufacturers WHERE (...); {code} to return more rows than: {code:sql} SELECT * FROM manufacturers; {code} Please, find a full test case setup attached. Just to sum up the test case: It executes the query below: (manufacturers table size: 2) {code:sql} SELECT * FROM manufacturers WHERE manufacturers.id IN ( SELECT ships.manufacturers_id FROM owners JOIN ships ON owners.id = ships.owners_id WHERE owners.id = 1 ); {code} Then the query returns: - 2 rows ( SET optimizer_switch='semijoin=off'; ) - 3 rows ( SET optimizer_switch='semijoin=on'; ) |
Status | Open [ 1 ] | Confirmed [ 10101 ] |
Fix Version/s | 10.1 [ 16100 ] | |
Fix Version/s | 10.0 [ 16000 ] | |
Fix Version/s | 5.5 [ 15800 ] | |
Affects Version/s | 5.3.12 [ 12000 ] | |
Affects Version/s | 10.1 [ 16100 ] | |
Affects Version/s | 10.0 [ 16000 ] | |
Affects Version/s | 5.5 [ 15800 ] | |
Affects Version/s | 10.0.18 [ 18702 ] | |
Assignee | Sergei Petrunia [ psergey ] |
Sprint | 5.5.45 [ 9 ] |
Sprint | 5.5.45 [ 9 ] | 5.5.45, 10.1.7-1 [ 9, 10 ] |
Rank | Ranked higher |
Assignee | Sergei Petrunia [ psergey ] | Elena Stepanova [ elenst ] |
Assignee | Elena Stepanova [ elenst ] | Sergei Petrunia [ psergey ] |
Rank | Ranked higher |
Fix Version/s | 10.0.22 [ 19700 ] | |
Fix Version/s | 10.0 [ 16000 ] | |
Fix Version/s | 5.5 [ 15800 ] | |
Fix Version/s | 10.1 [ 16100 ] | |
Resolution | Fixed [ 1 ] | |
Status | Confirmed [ 10101 ] | Closed [ 6 ] |
Workflow | MariaDB v3 [ 69873 ] | MariaDB v4 [ 149252 ] |