mirror of
https://github.com/sqlite/sqlite.git
synced 2025-11-11 01:42:22 +03:00
DISTINCT may not be ignored inside a UNION ALL common table expression.
Fix for ticket [c51489c3b8f919c5] FossilOrigin-Name: 7d2b590d3abd66a7e6ae9046198eb669e0fd2f223f7691281e9ad795a12b8903
This commit is contained in:
@@ -3152,9 +3152,6 @@ struct Select {
|
||||
** statements within triggers whose only purpose is
|
||||
** the side-effects of functions.
|
||||
**
|
||||
** All of the above are free to ignore their ORDER BY clause. Those that
|
||||
** follow must honor the ORDER BY clause.
|
||||
**
|
||||
** SRT_Output Generate a row of output (using the OP_ResultRow
|
||||
** opcode) for each row in the result set.
|
||||
**
|
||||
@@ -3211,13 +3208,18 @@ struct Select {
|
||||
#define SRT_Except 2 /* Remove result from a UNION index */
|
||||
#define SRT_Exists 3 /* Store 1 if the result is not empty */
|
||||
#define SRT_Discard 4 /* Do not save the results anywhere */
|
||||
#define SRT_Fifo 5 /* Store result as data with an automatic rowid */
|
||||
#define SRT_DistFifo 6 /* Like SRT_Fifo, but unique results only */
|
||||
#define SRT_DistFifo 5 /* Like SRT_Fifo, but unique results only */
|
||||
#define SRT_DistQueue 6 /* Like SRT_Queue, but unique results only */
|
||||
|
||||
/* The DISTINCT clause is ignored for all of the above. Not that
|
||||
** IgnorableDistinct() implies IgnorableOrderby() */
|
||||
#define IgnorableDistinct(X) ((X->eDest)<=SRT_DistQueue)
|
||||
|
||||
#define SRT_Queue 7 /* Store result in an queue */
|
||||
#define SRT_DistQueue 8 /* Like SRT_Queue, but unique results only */
|
||||
#define SRT_Fifo 8 /* Store result as data with an automatic rowid */
|
||||
|
||||
/* The ORDER BY clause is ignored for all of the above */
|
||||
#define IgnorableOrderby(X) ((X->eDest)<=SRT_DistQueue)
|
||||
#define IgnorableOrderby(X) ((X->eDest)<=SRT_Fifo)
|
||||
|
||||
#define SRT_Output 9 /* Output each row of result */
|
||||
#define SRT_Mem 10 /* Store result in a memory cell */
|
||||
|
||||
Reference in New Issue
Block a user