Skip to content

Multi-stage except ignores all modifier #13127

@gortiz

Description

@gortiz

Like #13126 but for EXCEPT.

In Postgres:

postgres=# select * from A;
 1
 1
 2
 3
 4

postgres=# select * from B;
 2

postgres=# select * from (select a from A) as a except (select b from B);
 3
 4
 1

postgres=# select * from (select a from A) as a except all (select b from B);
 3
 4
 1
 1

But in Pinot we just ignore the all modifier.

This can be tested in ColocatedJoinEngineQuickStart, where

select count(userUUID) 
from userGroups where userUUID = 'user-5'

returns 2

but

select userUUID
from (select userUUID from userGroups)
except all
(select userUUID from userAttributes where userUUID <> 'user-5')

returns only 1 row.

Metadata

Metadata

Assignees

No one assigned

    Labels

    beginner-taskSmall task for new contributors to ramp upmulti-stageRelated to the multi-stage query engine

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions