This question is similar to this one, however concerning time-unit column-partitioned tables instead of ingestion-time partitioned tables (hence there is no _PARTITIONTIME pseudo-column).
Consider two tables A and B, each with a date column used for daily partitioning.
These tables are joined using a full outer join, as follows:
SELECT
date,
A.date AS A_date,
B.date AS B_date,
FROM A FULL OUTER JOIN B USING(date)
Filtering this table using WHERE A_date = '2021-01-01' will process 20.6MB
Filtering this table using WHERE B_date = '2021-01-01' will process 10.9MB
Filtering this table using WHERE date = '2021-01-01' will process 31.5MB
Filtering this table using WHERE A_date = '2021-01-01' AND B_date = '2021-01-01' will process only 65.6KB
I would expect that using date would also process only 65.6KB, however it seems like the time-partitioning is simply ignored. Is this intentional behavior, or is there any way to remedy this?