### SUBSTRAIT_SCALAR_TEST: v1.0
### SUBSTRAIT_INCLUDE: extension:io.substrait:functions_datetime
# timestamps: examples using the precision_timestamp and precision_timestamp_tz types
extract(YEAR::enum, 2016-12-31T13:30:15::pts<6>) = 2016::i64
extract(ISO_YEAR::enum, 2016-01-01T13:30:15::pts<6>) = 2015::i64
extract(QUARTER::enum, 2016-12-31T13:30:15::pts<6>) = 4::i64
extract(MONTH::enum, 2016-12-31T13:30:15::pts<6>) = 12::i64
extract(ISO_WEEK::enum, 2016-12-31T13:30:15::pts<6>) = 52::i64
extract(DAY::enum, 2016-12-31T13:30:15::pts<6>) = 31::i64
extract(SUNDAY_DAY_OF_WEEK::enum, 2016-12-25T13:30:15::pts<6>) = 7::i64
extract(MONDAY_DAY_OF_WEEK::enum, 2016-12-25T13:30:15::pts<6>) = 0::i64
extract(DAY_OF_YEAR::enum, 2016-12-25T13:30:15::pts<6>) = 360::i64
extract(HOUR::enum, 2016-12-31T13:30:15::pts<6>) = 13::i64
extract(MINUTE::enum, 2016-12-31T13:30:15::pts<6>) = 30::i64
extract(SECOND::enum, 2016-12-31T13:30:15::pts<6>) = 15::i64
extract(MILLISECOND::enum, 2016-12-31T13:30:15::pts<6>) = 15000::i64
extract(MICROSECOND::enum, 2016-12-31T13:30:15.220000::pts<6>) = 15220000::i64
extract(UNIX_TIME::enum, 2016-12-31T13:30:15::pts<6>) = 1483191015::i64
# date: examples using the date type
extract(YEAR::enum, 2020-12-31::date) = 2020::i64
extract(MONTH::enum, 2020-12-31::date) = 12::i64
extract(DAY::enum, 2020-12-31::date) = 31::i64
# time: examples using the precision_time type
extract(HOUR::enum, 01:02:03::pt<6>) = 1::i64
extract(MINUTE::enum, 01:02:03::pt<6>) = 2::i64
extract(SECOND::enum, 01:02:03::pt<6>) = 3::i64
extract(MILLISECOND::enum, 01:02:03.155::pt<6>) = 3155::i64
extract(MICROSECOND::enum, 01:02:03.45::pt<6>) = 3450000::i64