# test OVERLAPS expression
query B
SELECT
(TIMESTAMP '2000-01-01 00:00:00',
TIMESTAMP '2000-01-01 01:00:00')
OVERLAPS
(TIMESTAMP '2000-01-01 00:30:00',
TIMESTAMP '2000-01-01 01:30:00');
----
true

query B
SELECT
(TIMESTAMP '2000-01-01 01:00:00',
TIMESTAMP '2000-01-01 00:00:00')
OVERLAPS
(TIMESTAMP '2000-01-01 00:30:00',
TIMESTAMP '2000-01-01 01:30:00');
----
true

query B
SELECT
(TIMESTAMP '2000-01-01 00:00:00',
TIMESTAMP '2000-01-01 00:15:00')
OVERLAPS
(TIMESTAMP '2000-01-01 00:30:00',
TIMESTAMP '2000-01-01 01:30:00');
----
false

query B
SELECT
(TIMESTAMP '2000-01-01 00:00:00',
TIMESTAMP '2000-01-01 00:30:00')
OVERLAPS
(TIMESTAMP '2000-01-01 00:30:00',
TIMESTAMP '2000-01-01 01:30:00');
----
false

query B
SELECT
(TIMESTAMP '2000-01-01 00:30:00',
TIMESTAMP '2000-01-01 00:30:00')
OVERLAPS
(TIMESTAMP '2000-01-01 00:30:00',
TIMESTAMP '2000-01-01 01:30:00');
----
true

query B
SELECT
(TIMESTAMPTZ '2000-01-01 00:00:00',
TIMESTAMPTZ '2000-01-01 01:00:00')
OVERLAPS
(TIMESTAMPTZ '2000-01-01 00:30:00',
TIMESTAMPTZ '2000-01-01 01:30:00');
----
true

query B
SELECT
(TIMESTAMPTZ '2000-01-01 01:00:00',
TIMESTAMPTZ '2000-01-01 00:00:00')
OVERLAPS
(TIMESTAMPTZ '2000-01-01 00:30:00',
TIMESTAMPTZ '2000-01-01 01:30:00');
----
true

query B
SELECT
(TIMESTAMPTZ '2000-01-01 00:00:00',
TIMESTAMPTZ '2000-01-01 00:15:00')
OVERLAPS
(TIMESTAMPTZ '2000-01-01 00:30:00',
TIMESTAMPTZ '2000-01-01 01:30:00');
----
false

query B
SELECT
(TIMESTAMPTZ '2000-01-01 00:00:00',
TIMESTAMPTZ '2000-01-01 00:30:00')
OVERLAPS
(TIMESTAMPTZ '2000-01-01 00:30:00',
TIMESTAMPTZ '2000-01-01 01:30:00');
----
false

query B
SELECT
(TIMESTAMPTZ '2000-01-01 00:30:00',
TIMESTAMPTZ '2000-01-01 00:30:00')
OVERLAPS
(TIMESTAMPTZ '2000-01-01 00:30:00',
TIMESTAMPTZ '2000-01-01 01:30:00');
----
true

query B
SELECT
(TIME '2000-01-01 00:00:00',
TIME '2000-01-01 01:00:00')
OVERLAPS
(TIME '2000-01-01 00:30:00',
TIME '2000-01-01 01:30:00');
----
true

query B
SELECT
(TIME '2000-01-01 01:00:00',
TIME '2000-01-01 00:00:00')
OVERLAPS
(TIME '2000-01-01 00:30:00',
TIME '2000-01-01 01:30:00');
----
true

query B
SELECT
(TIME '2000-01-01 00:00:00',
TIME '2000-01-01 00:15:00')
OVERLAPS
(TIME '2000-01-01 00:30:00',
TIME '2000-01-01 01:30:00');
----
false

query B
SELECT
(TIME '2000-01-01 00:00:00',
TIME '2000-01-01 00:30:00')
OVERLAPS
(TIME '2000-01-01 00:30:00',
TIME '2000-01-01 01:30:00');
----
false

query B
SELECT
(TIME '2000-01-01 00:30:00',
TIME '2000-01-01 00:30:00')
OVERLAPS
(TIME '2000-01-01 00:30:00',
TIME '2000-01-01 01:30:00');
----
true

query B
SELECT
(TIMETZ '2000-01-01 00:00:00',
TIMETZ '2000-01-01 01:00:00')
OVERLAPS
(TIMETZ '2000-01-01 00:30:00',
TIMETZ '2000-01-01 01:30:00');
----
true

query B
SELECT
(TIMETZ '2000-01-01 01:00:00',
TIMETZ '2000-01-01 00:00:00')
OVERLAPS
(TIMETZ '2000-01-01 00:30:00',
TIMETZ '2000-01-01 01:30:00');
----
true

query B
SELECT
(TIMETZ '2000-01-01 00:00:00',
TIMETZ '2000-01-01 00:15:00')
OVERLAPS
(TIMETZ '2000-01-01 00:30:00',
TIMETZ '2000-01-01 01:30:00');
----
false

query B
SELECT
(TIMETZ '2000-01-01 00:00:00',
TIMETZ '2000-01-01 00:30:00')
OVERLAPS
(TIMETZ '2000-01-01 00:30:00',
TIMETZ '2000-01-01 01:30:00');
----
false

query B
SELECT
(TIMETZ '2000-01-01 00:30:00',
TIMETZ '2000-01-01 00:30:00')
OVERLAPS
(TIMETZ '2000-01-01 00:30:00',
TIMETZ '2000-01-01 01:30:00');
----
true

query B
SELECT
(DATE '2000-01-01',
DATE '2000-01-03')
OVERLAPS
(DATE '2000-01-02',
DATE '2000-01-04');
----
true

query B
SELECT
(DATE '2000-01-03',
DATE '2000-01-01')
OVERLAPS
(DATE '2000-01-02',
DATE '2000-01-04');
----
true

query B
SELECT
(DATE '2000-01-01',
DATE '2000-01-02')
OVERLAPS
(DATE '2000-01-03',
DATE '2000-01-04');
----
false

query B
SELECT
(DATE '2000-01-01',
DATE '2000-01-03')
OVERLAPS
(DATE '2000-01-03',
DATE '2000-01-04');
----
false

query B
SELECT
(DATE '2000-01-03',
DATE '2000-01-03')
OVERLAPS
(DATE '2000-01-03',
DATE '2000-01-04');
----
true

query B
SELECT
(TIMESTAMP '2000-01-01 00:00:00',
INTERVAL '100 days')
OVERLAPS
(TIMESTAMP '2000-01-01 00:30:00',
INTERVAL '30 minutes');
----
true

query B
SELECT
(TIMESTAMP '2000-01-01 00:00:00',
INTERVAL '100 s')
OVERLAPS
(TIMESTAMP '2000-01-01 00:30:00',
INTERVAL '30 minutes');
----
false

query B
SELECT
(TIMESTAMP '2000-01-01 00:00:00',
INTERVAL '30 minutes')
OVERLAPS
(TIMESTAMP '2000-01-01 00:30:00',
INTERVAL '30 minutes');
----
false

query B
SELECT
(TIMESTAMPTZ '2000-01-01 00:00:00',
INTERVAL '100 days')
OVERLAPS
(TIMESTAMPTZ '2000-01-01 00:30:00',
INTERVAL '30 minutes');
----
true

query B
SELECT
(TIMESTAMPTZ '2000-01-01 00:00:00',
INTERVAL '100 s')
OVERLAPS
(TIMESTAMPTZ '2000-01-01 00:30:00',
INTERVAL '30 minutes');
----
false

query B
SELECT
(TIMESTAMPTZ '2000-01-01 00:00:00',
INTERVAL '30 minutes')
OVERLAPS
(TIMESTAMPTZ '2000-01-01 00:30:00',
INTERVAL '30 minutes');
----
false

query B
SELECT
(TIME '2000-01-01 00:00:00',
INTERVAL '100 days')
OVERLAPS
(TIME '2000-01-01 00:30:00',
INTERVAL '30 minutes');
----
false

query B
SELECT
(TIME '2000-01-01 00:00:00',
INTERVAL '100 s')
OVERLAPS
(TIME '2000-01-01 00:30:00',
INTERVAL '30 minutes');
----
false

query B
SELECT
(TIME '2000-01-01 00:00:00',
INTERVAL '30 minutes')
OVERLAPS
(TIME '2000-01-01 00:30:00',
INTERVAL '30 minutes');
----
false

query B
SELECT
(TIMETZ '00:00:00',
INTERVAL '3 hours')
OVERLAPS
(TIMETZ '00:30:00',
INTERVAL '30 minutes');
----
true

query B
SELECT
(TIMETZ '00:00:00',
INTERVAL '100 s')
OVERLAPS
(TIMETZ '00:30:00',
INTERVAL '30 minutes');
----
false

query B
SELECT
(TIMETZ '00:00:00',
INTERVAL '30 minutes')
OVERLAPS
(TIMETZ '00:30:00',
INTERVAL '30 minutes');
----
false

query B
SELECT
(DATE '2000-01-01',
INTERVAL '3 hours')
OVERLAPS
(DATE '2000-01-02',
INTERVAL '2 days');
----
false

query B
SELECT
(DATE '2000-01-01',
INTERVAL '2 days')
OVERLAPS
(DATE '2000-01-02',
INTERVAL '2 days');
----
true

query B
SELECT
(DATE '2000-01-01',
INTERVAL '1 day')
OVERLAPS
(DATE '2000-01-02',
INTERVAL '2 days');
----
false

query error pq: unknown signature: overlaps\(timestamp, time, time, timestamp\)
SELECT
(TIMESTAMP '2000-01-01 00:00:00',
TIME '2000-01-01 01:00:00')
OVERLAPS
(TIME '2000-01-01 00:30:00',
TIMESTAMP '2000-01-01 01:30:00');

query T
SELECT (NULL, NULL) overlaps (NULL, NULL);
----
NULL

query T
SELECT (NULL, INTERVAL '1 day') overlaps (NULL, NULL);
----
NULL

query T
SELECT (DATE '2000-01-01', INTERVAL '1 day') overlaps (NULL, NULL);
----
NULL

query T
SELECT (DATE '2000-01-01', NULL) overlaps (DATE '2000-01-01', DATE '2000-01-02');
----
NULL
