Details
-
Task
-
Status: Closed (View Workflow)
-
Major
-
Resolution: Fixed
Description
SQL Standard allows to use EXCEPT ALL and INTERSECT ALL as set operations.
Currently MariaDB Server does not support them.
The goal of this task is to support EXCEPT ALL and INTERSECT ALL
1. at syntax level - allow to use operators EXCEPT ALL and INTERSECT ALL in query expression body
2. at execution level - implement these operations employing temporary tables
(the implementation could use the idea similar to that used for the existing implementation of the INTERSECT operation).
Attachments
Issue Links
- relates to
-
MDEV-21716 Document EXCEPT ALL and INTERSECT ALL operations
-
- Closed
-
-
MDEV-24242 Query returns wrong result while using big_tables=1;
-
- Closed
-
This week I try to refine my code. Include deciding the routine of processing a record in advance rather than do it every time before execution or reduce the number of loops etc.
These can be done in more than one ways, I first use a callback function but it seems not to match our expectation. Then I put different circumstances into different classes which is more convenient in this problem.
What's more, by adding assertions to make it runs more restricted, some corner cases we did not concern before can be found. Like some function will not be called in the way I thought or some variables are set incorrectly but don't affect in many situations.