From 9808988194b1f20cf279cb82c94d259972287c7b Mon Sep 17 00:00:00 2001 From: Maxim Gekk Date: Mon, 7 Oct 2019 10:05:31 +0300 Subject: [PATCH 01/11] Add interval.sql --- .../sql-tests/inputs/postgreSQL/interval.sql | 310 ++++++++++++++++++ 1 file changed, 310 insertions(+) create mode 100644 sql/core/src/test/resources/sql-tests/inputs/postgreSQL/interval.sql diff --git a/sql/core/src/test/resources/sql-tests/inputs/postgreSQL/interval.sql b/sql/core/src/test/resources/sql-tests/inputs/postgreSQL/interval.sql new file mode 100644 index 0000000000000..bc5537d1b9c00 --- /dev/null +++ b/sql/core/src/test/resources/sql-tests/inputs/postgreSQL/interval.sql @@ -0,0 +1,310 @@ +-- +-- INTERVAL +-- + +SET DATESTYLE = 'ISO'; +SET IntervalStyle to postgres; + +-- check acceptance of "time zone style" +SELECT INTERVAL '01:00' AS "One hour"; +SELECT INTERVAL '+02:00' AS "Two hours"; +SELECT INTERVAL '-08:00' AS "Eight hours"; +SELECT INTERVAL '-1 +02:03' AS "22 hours ago..."; +SELECT INTERVAL '-1 days +02:03' AS "22 hours ago..."; +SELECT INTERVAL '1.5 weeks' AS "Ten days twelve hours"; +SELECT INTERVAL '1.5 months' AS "One month 15 days"; +SELECT INTERVAL '10 years -11 month -12 days +13:14' AS "9 years..."; + +CREATE TABLE INTERVAL_TBL (f1 interval); + +INSERT INTO INTERVAL_TBL (f1) VALUES ('@ 1 minute'); +INSERT INTO INTERVAL_TBL (f1) VALUES ('@ 5 hour'); +INSERT INTO INTERVAL_TBL (f1) VALUES ('@ 10 day'); +INSERT INTO INTERVAL_TBL (f1) VALUES ('@ 34 year'); +INSERT INTO INTERVAL_TBL (f1) VALUES ('@ 3 months'); +INSERT INTO INTERVAL_TBL (f1) VALUES ('@ 14 seconds ago'); +INSERT INTO INTERVAL_TBL (f1) VALUES ('1 day 2 hours 3 minutes 4 seconds'); +INSERT INTO INTERVAL_TBL (f1) VALUES ('6 years'); +INSERT INTO INTERVAL_TBL (f1) VALUES ('5 months'); +INSERT INTO INTERVAL_TBL (f1) VALUES ('5 months 12 hours'); + +-- badly formatted interval +INSERT INTO INTERVAL_TBL (f1) VALUES ('badly formatted interval'); +INSERT INTO INTERVAL_TBL (f1) VALUES ('@ 30 eons ago'); + +-- test interval operators + +SELECT '' AS ten, * FROM INTERVAL_TBL; + +SELECT '' AS nine, * FROM INTERVAL_TBL + WHERE INTERVAL_TBL.f1 <> interval '@ 10 days'; + +SELECT '' AS three, * FROM INTERVAL_TBL + WHERE INTERVAL_TBL.f1 <= interval '@ 5 hours'; + +SELECT '' AS three, * FROM INTERVAL_TBL + WHERE INTERVAL_TBL.f1 < interval '@ 1 day'; + +SELECT '' AS one, * FROM INTERVAL_TBL + WHERE INTERVAL_TBL.f1 = interval '@ 34 years'; + +SELECT '' AS five, * FROM INTERVAL_TBL + WHERE INTERVAL_TBL.f1 >= interval '@ 1 month'; + +SELECT '' AS nine, * FROM INTERVAL_TBL + WHERE INTERVAL_TBL.f1 > interval '@ 3 seconds ago'; + +SELECT '' AS fortyfive, r1.*, r2.* + FROM INTERVAL_TBL r1, INTERVAL_TBL r2 + WHERE r1.f1 > r2.f1 + ORDER BY r1.f1, r2.f1; + +-- Test intervals that are large enough to overflow 64 bits in comparisons +CREATE TEMP TABLE INTERVAL_TBL_OF (f1 interval); +INSERT INTO INTERVAL_TBL_OF (f1) VALUES + ('2147483647 days 2147483647 months'), + ('2147483647 days -2147483648 months'), + ('1 year'), + ('-2147483648 days 2147483647 months'), + ('-2147483648 days -2147483648 months'); +-- these should fail as out-of-range +INSERT INTO INTERVAL_TBL_OF (f1) VALUES ('2147483648 days'); +INSERT INTO INTERVAL_TBL_OF (f1) VALUES ('-2147483649 days'); +INSERT INTO INTERVAL_TBL_OF (f1) VALUES ('2147483647 years'); +INSERT INTO INTERVAL_TBL_OF (f1) VALUES ('-2147483648 years'); + +SELECT r1.*, r2.* + FROM INTERVAL_TBL_OF r1, INTERVAL_TBL_OF r2 + WHERE r1.f1 > r2.f1 + ORDER BY r1.f1, r2.f1; + +CREATE INDEX ON INTERVAL_TBL_OF USING btree (f1); +SET enable_seqscan TO false; +EXPLAIN (COSTS OFF) +SELECT f1 FROM INTERVAL_TBL_OF r1 ORDER BY f1; +SELECT f1 FROM INTERVAL_TBL_OF r1 ORDER BY f1; +RESET enable_seqscan; + +DROP TABLE INTERVAL_TBL_OF; + +-- Test multiplication and division with intervals. +-- Floating point arithmetic rounding errors can lead to unexpected results, +-- though the code attempts to do the right thing and round up to days and +-- minutes to avoid results such as '3 days 24:00 hours' or '14:20:60'. +-- Note that it is expected for some day components to be greater than 29 and +-- some time components be greater than 23:59:59 due to how intervals are +-- stored internally. + +CREATE TABLE INTERVAL_MULDIV_TBL (span interval); +COPY INTERVAL_MULDIV_TBL FROM STDIN; +41 mon 12 days 360:00 +-41 mon -12 days +360:00 +-12 days +9 mon -27 days 12:34:56 +-3 years 482 days 76:54:32.189 +4 mon +14 mon +999 mon 999 days +\. + +SELECT span * 0.3 AS product +FROM INTERVAL_MULDIV_TBL; + +SELECT span * 8.2 AS product +FROM INTERVAL_MULDIV_TBL; + +SELECT span / 10 AS quotient +FROM INTERVAL_MULDIV_TBL; + +SELECT span / 100 AS quotient +FROM INTERVAL_MULDIV_TBL; + +DROP TABLE INTERVAL_MULDIV_TBL; + +SET DATESTYLE = 'postgres'; +SET IntervalStyle to postgres_verbose; + +SELECT '' AS ten, * FROM INTERVAL_TBL; + +-- test avg(interval), which is somewhat fragile since people have been +-- known to change the allowed input syntax for type interval without +-- updating pg_aggregate.agginitval + +select avg(f1) from interval_tbl; + +-- test long interval input +select '4 millenniums 5 centuries 4 decades 1 year 4 months 4 days 17 minutes 31 seconds'::interval; + +-- test long interval output +-- Note: the actual maximum length of the interval output is longer, +-- but we need the test to work for both integer and floating-point +-- timestamps. +select '100000000y 10mon -1000000000d -100000h -10min -10.000001s ago'::interval; + +-- test justify_hours() and justify_days() + +SELECT justify_hours(interval '6 months 3 days 52 hours 3 minutes 2 seconds') as "6 mons 5 days 4 hours 3 mins 2 seconds"; +SELECT justify_days(interval '6 months 36 days 5 hours 4 minutes 3 seconds') as "7 mons 6 days 5 hours 4 mins 3 seconds"; + +-- test justify_interval() + +SELECT justify_interval(interval '1 month -1 hour') as "1 month -1 hour"; + +-- test fractional second input, and detection of duplicate units +SET DATESTYLE = 'ISO'; +SET IntervalStyle TO postgres; + +SELECT '1 millisecond'::interval, '1 microsecond'::interval, + '500 seconds 99 milliseconds 51 microseconds'::interval; +SELECT '3 days 5 milliseconds'::interval; + +SELECT '1 second 2 seconds'::interval; -- error +SELECT '10 milliseconds 20 milliseconds'::interval; -- error +SELECT '5.5 seconds 3 milliseconds'::interval; -- error +SELECT '1:20:05 5 microseconds'::interval; -- error +SELECT '1 day 1 day'::interval; -- error +SELECT interval '1-2'; -- SQL year-month literal +SELECT interval '999' second; -- oversize leading field is ok +SELECT interval '999' minute; +SELECT interval '999' hour; +SELECT interval '999' day; +SELECT interval '999' month; + +-- test SQL-spec syntaxes for restricted field sets +SELECT interval '1' year; +SELECT interval '2' month; +SELECT interval '3' day; +SELECT interval '4' hour; +SELECT interval '5' minute; +SELECT interval '6' second; +SELECT interval '1' year to month; +SELECT interval '1-2' year to month; +SELECT interval '1 2' day to hour; +SELECT interval '1 2:03' day to hour; +SELECT interval '1 2:03:04' day to hour; +SELECT interval '1 2' day to minute; +SELECT interval '1 2:03' day to minute; +SELECT interval '1 2:03:04' day to minute; +SELECT interval '1 2' day to second; +SELECT interval '1 2:03' day to second; +SELECT interval '1 2:03:04' day to second; +SELECT interval '1 2' hour to minute; +SELECT interval '1 2:03' hour to minute; +SELECT interval '1 2:03:04' hour to minute; +SELECT interval '1 2' hour to second; +SELECT interval '1 2:03' hour to second; +SELECT interval '1 2:03:04' hour to second; +SELECT interval '1 2' minute to second; +SELECT interval '1 2:03' minute to second; +SELECT interval '1 2:03:04' minute to second; +SELECT interval '1 +2:03' minute to second; +SELECT interval '1 +2:03:04' minute to second; +SELECT interval '1 -2:03' minute to second; +SELECT interval '1 -2:03:04' minute to second; +SELECT interval '123 11' day to hour; -- ok +SELECT interval '123 11' day; -- not ok +SELECT interval '123 11'; -- not ok, too ambiguous +SELECT interval '123 2:03 -2:04'; -- not ok, redundant hh:mm fields + +-- test syntaxes for restricted precision +SELECT interval(0) '1 day 01:23:45.6789'; +SELECT interval(2) '1 day 01:23:45.6789'; +SELECT interval '12:34.5678' minute to second(2); -- per SQL spec +SELECT interval '1.234' second; +SELECT interval '1.234' second(2); +SELECT interval '1 2.345' day to second(2); +SELECT interval '1 2:03' day to second(2); +SELECT interval '1 2:03.4567' day to second(2); +SELECT interval '1 2:03:04.5678' day to second(2); +SELECT interval '1 2.345' hour to second(2); +SELECT interval '1 2:03.45678' hour to second(2); +SELECT interval '1 2:03:04.5678' hour to second(2); +SELECT interval '1 2.3456' minute to second(2); +SELECT interval '1 2:03.5678' minute to second(2); +SELECT interval '1 2:03:04.5678' minute to second(2); + +-- test casting to restricted precision (bug #14479) +SELECT f1, f1::INTERVAL DAY TO MINUTE AS "minutes", + (f1 + INTERVAL '1 month')::INTERVAL MONTH::INTERVAL YEAR AS "years" + FROM interval_tbl; + +-- test inputting and outputting SQL standard interval literals +SET IntervalStyle TO sql_standard; +SELECT interval '0' AS "zero", + interval '1-2' year to month AS "year-month", + interval '1 2:03:04' day to second AS "day-time", + - interval '1-2' AS "negative year-month", + - interval '1 2:03:04' AS "negative day-time"; + +-- test input of some not-quite-standard interval values in the sql style +SET IntervalStyle TO postgres; +SELECT interval '+1 -1:00:00', + interval '-1 +1:00:00', + interval '+1-2 -3 +4:05:06.789', + interval '-1-2 +3 -4:05:06.789'; + +-- test output of couple non-standard interval values in the sql style +SET IntervalStyle TO sql_standard; +SELECT interval '1 day -1 hours', + interval '-1 days +1 hours', + interval '1 years 2 months -3 days 4 hours 5 minutes 6.789 seconds', + - interval '1 years 2 months -3 days 4 hours 5 minutes 6.789 seconds'; + +-- test outputting iso8601 intervals +SET IntervalStyle to iso_8601; +select interval '0' AS "zero", + interval '1-2' AS "a year 2 months", + interval '1 2:03:04' AS "a bit over a day", + interval '2:03:04.45679' AS "a bit over 2 hours", + (interval '1-2' + interval '3 4:05:06.7') AS "all fields", + (interval '1-2' - interval '3 4:05:06.7') AS "mixed sign", + (- interval '1-2' + interval '3 4:05:06.7') AS "negative"; + +-- test inputting ISO 8601 4.4.2.1 "Format With Time Unit Designators" +SET IntervalStyle to sql_standard; +select interval 'P0Y' AS "zero", + interval 'P1Y2M' AS "a year 2 months", + interval 'P1W' AS "a week", + interval 'P1DT2H3M4S' AS "a bit over a day", + interval 'P1Y2M3DT4H5M6.7S' AS "all fields", + interval 'P-1Y-2M-3DT-4H-5M-6.7S' AS "negative", + interval 'PT-0.1S' AS "fractional second"; + +-- test inputting ISO 8601 4.4.2.2 "Alternative Format" +SET IntervalStyle to postgres; +select interval 'P00021015T103020' AS "ISO8601 Basic Format", + interval 'P0002-10-15T10:30:20' AS "ISO8601 Extended Format"; + +-- Make sure optional ISO8601 alternative format fields are optional. +select interval 'P0002' AS "year only", + interval 'P0002-10' AS "year month", + interval 'P0002-10-15' AS "year month day", + interval 'P0002T1S' AS "year only plus time", + interval 'P0002-10T1S' AS "year month plus time", + interval 'P0002-10-15T1S' AS "year month day plus time", + interval 'PT10' AS "hour only", + interval 'PT10:30' AS "hour minute"; + +-- test a couple rounding cases that changed since 8.3 w/ HAVE_INT64_TIMESTAMP. +SET IntervalStyle to postgres_verbose; +select interval '-10 mons -3 days +03:55:06.70'; +select interval '1 year 2 mons 3 days 04:05:06.699999'; +select interval '0:0:0.7', interval '@ 0.70 secs', interval '0.7 seconds'; + +-- check that '30 days' equals '1 month' according to the hash function +select '30 days'::interval = '1 month'::interval as t; +select interval_hash('30 days'::interval) = interval_hash('1 month'::interval) as t; + +-- numeric constructor +select make_interval(years := 2); +select make_interval(years := 1, months := 6); +select make_interval(years := 1, months := -1, weeks := 5, days := -7, hours := 25, mins := -180); + +select make_interval() = make_interval(years := 0, months := 0, weeks := 0, days := 0, mins := 0, secs := 0.0); +select make_interval(hours := -2, mins := -10, secs := -25.3); + +select make_interval(years := 'inf'::float::int); +select make_interval(months := 'NaN'::float::int); +select make_interval(secs := 'inf'); +select make_interval(secs := 'NaN'); +select make_interval(secs := 7e12); From d2def5dc4c7e62cb8a3bceedfe341abd03179409 Mon Sep 17 00:00:00 2001 From: Maxim Gekk Date: Mon, 7 Oct 2019 10:13:50 +0300 Subject: [PATCH 02/11] Generate results of interval.sql as is --- .../results/postgreSQL/interval.sql.out | 1890 +++++++++++++++++ 1 file changed, 1890 insertions(+) create mode 100644 sql/core/src/test/resources/sql-tests/results/postgreSQL/interval.sql.out diff --git a/sql/core/src/test/resources/sql-tests/results/postgreSQL/interval.sql.out b/sql/core/src/test/resources/sql-tests/results/postgreSQL/interval.sql.out new file mode 100644 index 0000000000000..0e7c6c1dd638b --- /dev/null +++ b/sql/core/src/test/resources/sql-tests/results/postgreSQL/interval.sql.out @@ -0,0 +1,1890 @@ +-- Automatically generated by SQLQueryTestSuite +-- Number of queries: 154 + + +-- !query 0 +SET DATESTYLE = 'ISO' +-- !query 0 schema +struct +-- !query 0 output +DATESTYLE 'ISO' + + +-- !query 1 +SET IntervalStyle to postgres +-- !query 1 schema +struct +-- !query 1 output +IntervalStyle to postgres + + +-- !query 2 +SELECT INTERVAL '01:00' AS "One hour" +-- !query 2 schema +struct<> +-- !query 2 output +org.apache.spark.sql.catalyst.parser.ParseException + +no viable alternative at input 'AS'(line 1, pos 24) + +== SQL == +SELECT INTERVAL '01:00' AS "One hour" +------------------------^^^ + + +-- !query 3 +SELECT INTERVAL '+02:00' AS "Two hours" +-- !query 3 schema +struct<> +-- !query 3 output +org.apache.spark.sql.catalyst.parser.ParseException + +no viable alternative at input 'AS'(line 1, pos 25) + +== SQL == +SELECT INTERVAL '+02:00' AS "Two hours" +-------------------------^^^ + + +-- !query 4 +SELECT INTERVAL '-08:00' AS "Eight hours" +-- !query 4 schema +struct<> +-- !query 4 output +org.apache.spark.sql.catalyst.parser.ParseException + +no viable alternative at input 'AS'(line 1, pos 25) + +== SQL == +SELECT INTERVAL '-08:00' AS "Eight hours" +-------------------------^^^ + + +-- !query 5 +SELECT INTERVAL '-1 +02:03' AS "22 hours ago..." +-- !query 5 schema +struct<> +-- !query 5 output +org.apache.spark.sql.catalyst.parser.ParseException + +no viable alternative at input 'AS'(line 1, pos 28) + +== SQL == +SELECT INTERVAL '-1 +02:03' AS "22 hours ago..." +----------------------------^^^ + + +-- !query 6 +SELECT INTERVAL '-1 days +02:03' AS "22 hours ago..." +-- !query 6 schema +struct<> +-- !query 6 output +org.apache.spark.sql.catalyst.parser.ParseException + +no viable alternative at input 'AS'(line 1, pos 33) + +== SQL == +SELECT INTERVAL '-1 days +02:03' AS "22 hours ago..." +---------------------------------^^^ + + +-- !query 7 +SELECT INTERVAL '1.5 weeks' AS "Ten days twelve hours" +-- !query 7 schema +struct<> +-- !query 7 output +org.apache.spark.sql.catalyst.parser.ParseException + +no viable alternative at input 'AS'(line 1, pos 28) + +== SQL == +SELECT INTERVAL '1.5 weeks' AS "Ten days twelve hours" +----------------------------^^^ + + +-- !query 8 +SELECT INTERVAL '1.5 months' AS "One month 15 days" +-- !query 8 schema +struct<> +-- !query 8 output +org.apache.spark.sql.catalyst.parser.ParseException + +no viable alternative at input 'AS'(line 1, pos 29) + +== SQL == +SELECT INTERVAL '1.5 months' AS "One month 15 days" +-----------------------------^^^ + + +-- !query 9 +SELECT INTERVAL '10 years -11 month -12 days +13:14' AS "9 years..." +-- !query 9 schema +struct<> +-- !query 9 output +org.apache.spark.sql.catalyst.parser.ParseException + +no viable alternative at input 'AS'(line 1, pos 53) + +== SQL == +SELECT INTERVAL '10 years -11 month -12 days +13:14' AS "9 years..." +-----------------------------------------------------^^^ + + +-- !query 10 +CREATE TABLE INTERVAL_TBL (f1 interval) +-- !query 10 schema +struct<> +-- !query 10 output +org.apache.spark.sql.AnalysisException +Hive support is required to CREATE Hive TABLE (AS SELECT); + + +-- !query 11 +INSERT INTO INTERVAL_TBL (f1) VALUES ('@ 1 minute') +-- !query 11 schema +struct<> +-- !query 11 output +org.apache.spark.sql.catalyst.parser.ParseException + +mismatched input 'f1' expecting {'(', 'FROM', 'MAP', 'REDUCE', 'SELECT', 'TABLE', 'VALUES', 'WITH'}(line 1, pos 26) + +== SQL == +INSERT INTO INTERVAL_TBL (f1) VALUES ('@ 1 minute') +--------------------------^^^ + + +-- !query 12 +INSERT INTO INTERVAL_TBL (f1) VALUES ('@ 5 hour') +-- !query 12 schema +struct<> +-- !query 12 output +org.apache.spark.sql.catalyst.parser.ParseException + +mismatched input 'f1' expecting {'(', 'FROM', 'MAP', 'REDUCE', 'SELECT', 'TABLE', 'VALUES', 'WITH'}(line 1, pos 26) + +== SQL == +INSERT INTO INTERVAL_TBL (f1) VALUES ('@ 5 hour') +--------------------------^^^ + + +-- !query 13 +INSERT INTO INTERVAL_TBL (f1) VALUES ('@ 10 day') +-- !query 13 schema +struct<> +-- !query 13 output +org.apache.spark.sql.catalyst.parser.ParseException + +mismatched input 'f1' expecting {'(', 'FROM', 'MAP', 'REDUCE', 'SELECT', 'TABLE', 'VALUES', 'WITH'}(line 1, pos 26) + +== SQL == +INSERT INTO INTERVAL_TBL (f1) VALUES ('@ 10 day') +--------------------------^^^ + + +-- !query 14 +INSERT INTO INTERVAL_TBL (f1) VALUES ('@ 34 year') +-- !query 14 schema +struct<> +-- !query 14 output +org.apache.spark.sql.catalyst.parser.ParseException + +mismatched input 'f1' expecting {'(', 'FROM', 'MAP', 'REDUCE', 'SELECT', 'TABLE', 'VALUES', 'WITH'}(line 1, pos 26) + +== SQL == +INSERT INTO INTERVAL_TBL (f1) VALUES ('@ 34 year') +--------------------------^^^ + + +-- !query 15 +INSERT INTO INTERVAL_TBL (f1) VALUES ('@ 3 months') +-- !query 15 schema +struct<> +-- !query 15 output +org.apache.spark.sql.catalyst.parser.ParseException + +mismatched input 'f1' expecting {'(', 'FROM', 'MAP', 'REDUCE', 'SELECT', 'TABLE', 'VALUES', 'WITH'}(line 1, pos 26) + +== SQL == +INSERT INTO INTERVAL_TBL (f1) VALUES ('@ 3 months') +--------------------------^^^ + + +-- !query 16 +INSERT INTO INTERVAL_TBL (f1) VALUES ('@ 14 seconds ago') +-- !query 16 schema +struct<> +-- !query 16 output +org.apache.spark.sql.catalyst.parser.ParseException + +mismatched input 'f1' expecting {'(', 'FROM', 'MAP', 'REDUCE', 'SELECT', 'TABLE', 'VALUES', 'WITH'}(line 1, pos 26) + +== SQL == +INSERT INTO INTERVAL_TBL (f1) VALUES ('@ 14 seconds ago') +--------------------------^^^ + + +-- !query 17 +INSERT INTO INTERVAL_TBL (f1) VALUES ('1 day 2 hours 3 minutes 4 seconds') +-- !query 17 schema +struct<> +-- !query 17 output +org.apache.spark.sql.catalyst.parser.ParseException + +mismatched input 'f1' expecting {'(', 'FROM', 'MAP', 'REDUCE', 'SELECT', 'TABLE', 'VALUES', 'WITH'}(line 1, pos 26) + +== SQL == +INSERT INTO INTERVAL_TBL (f1) VALUES ('1 day 2 hours 3 minutes 4 seconds') +--------------------------^^^ + + +-- !query 18 +INSERT INTO INTERVAL_TBL (f1) VALUES ('6 years') +-- !query 18 schema +struct<> +-- !query 18 output +org.apache.spark.sql.catalyst.parser.ParseException + +mismatched input 'f1' expecting {'(', 'FROM', 'MAP', 'REDUCE', 'SELECT', 'TABLE', 'VALUES', 'WITH'}(line 1, pos 26) + +== SQL == +INSERT INTO INTERVAL_TBL (f1) VALUES ('6 years') +--------------------------^^^ + + +-- !query 19 +INSERT INTO INTERVAL_TBL (f1) VALUES ('5 months') +-- !query 19 schema +struct<> +-- !query 19 output +org.apache.spark.sql.catalyst.parser.ParseException + +mismatched input 'f1' expecting {'(', 'FROM', 'MAP', 'REDUCE', 'SELECT', 'TABLE', 'VALUES', 'WITH'}(line 1, pos 26) + +== SQL == +INSERT INTO INTERVAL_TBL (f1) VALUES ('5 months') +--------------------------^^^ + + +-- !query 20 +INSERT INTO INTERVAL_TBL (f1) VALUES ('5 months 12 hours') +-- !query 20 schema +struct<> +-- !query 20 output +org.apache.spark.sql.catalyst.parser.ParseException + +mismatched input 'f1' expecting {'(', 'FROM', 'MAP', 'REDUCE', 'SELECT', 'TABLE', 'VALUES', 'WITH'}(line 1, pos 26) + +== SQL == +INSERT INTO INTERVAL_TBL (f1) VALUES ('5 months 12 hours') +--------------------------^^^ + + +-- !query 21 +INSERT INTO INTERVAL_TBL (f1) VALUES ('badly formatted interval') +-- !query 21 schema +struct<> +-- !query 21 output +org.apache.spark.sql.catalyst.parser.ParseException + +mismatched input 'f1' expecting {'(', 'FROM', 'MAP', 'REDUCE', 'SELECT', 'TABLE', 'VALUES', 'WITH'}(line 1, pos 26) + +== SQL == +INSERT INTO INTERVAL_TBL (f1) VALUES ('badly formatted interval') +--------------------------^^^ + + +-- !query 22 +INSERT INTO INTERVAL_TBL (f1) VALUES ('@ 30 eons ago') +-- !query 22 schema +struct<> +-- !query 22 output +org.apache.spark.sql.catalyst.parser.ParseException + +mismatched input 'f1' expecting {'(', 'FROM', 'MAP', 'REDUCE', 'SELECT', 'TABLE', 'VALUES', 'WITH'}(line 1, pos 26) + +== SQL == +INSERT INTO INTERVAL_TBL (f1) VALUES ('@ 30 eons ago') +--------------------------^^^ + + +-- !query 23 +SELECT '' AS ten, * FROM INTERVAL_TBL +-- !query 23 schema +struct<> +-- !query 23 output +org.apache.spark.sql.AnalysisException +Table or view not found: INTERVAL_TBL; line 1 pos 25 + + +-- !query 24 +SELECT '' AS nine, * FROM INTERVAL_TBL + WHERE INTERVAL_TBL.f1 <> interval '@ 10 days' +-- !query 24 schema +struct<> +-- !query 24 output +org.apache.spark.sql.AnalysisException +Table or view not found: INTERVAL_TBL; line 1 pos 26 + + +-- !query 25 +SELECT '' AS three, * FROM INTERVAL_TBL + WHERE INTERVAL_TBL.f1 <= interval '@ 5 hours' +-- !query 25 schema +struct<> +-- !query 25 output +org.apache.spark.sql.AnalysisException +Table or view not found: INTERVAL_TBL; line 1 pos 27 + + +-- !query 26 +SELECT '' AS three, * FROM INTERVAL_TBL + WHERE INTERVAL_TBL.f1 < interval '@ 1 day' +-- !query 26 schema +struct<> +-- !query 26 output +org.apache.spark.sql.AnalysisException +Table or view not found: INTERVAL_TBL; line 1 pos 27 + + +-- !query 27 +SELECT '' AS one, * FROM INTERVAL_TBL + WHERE INTERVAL_TBL.f1 = interval '@ 34 years' +-- !query 27 schema +struct<> +-- !query 27 output +org.apache.spark.sql.AnalysisException +Table or view not found: INTERVAL_TBL; line 1 pos 25 + + +-- !query 28 +SELECT '' AS five, * FROM INTERVAL_TBL + WHERE INTERVAL_TBL.f1 >= interval '@ 1 month' +-- !query 28 schema +struct<> +-- !query 28 output +org.apache.spark.sql.AnalysisException +Table or view not found: INTERVAL_TBL; line 1 pos 26 + + +-- !query 29 +SELECT '' AS nine, * FROM INTERVAL_TBL + WHERE INTERVAL_TBL.f1 > interval '@ 3 seconds ago' +-- !query 29 schema +struct<> +-- !query 29 output +org.apache.spark.sql.AnalysisException +Table or view not found: INTERVAL_TBL; line 1 pos 26 + + +-- !query 30 +SELECT '' AS fortyfive, r1.*, r2.* + FROM INTERVAL_TBL r1, INTERVAL_TBL r2 + WHERE r1.f1 > r2.f1 + ORDER BY r1.f1, r2.f1 +-- !query 30 schema +struct<> +-- !query 30 output +org.apache.spark.sql.AnalysisException +Table or view not found: INTERVAL_TBL; line 2 pos 8 + + +-- !query 31 +CREATE TEMP TABLE INTERVAL_TBL_OF (f1 interval) +-- !query 31 schema +struct<> +-- !query 31 output +org.apache.spark.sql.catalyst.parser.ParseException + +CREATE TEMPORARY TABLE is not supported yet. Please use CREATE TEMPORARY VIEW as an alternative.(line 1, pos 0) + +== SQL == +CREATE TEMP TABLE INTERVAL_TBL_OF (f1 interval) +^^^ + + +-- !query 32 +INSERT INTO INTERVAL_TBL_OF (f1) VALUES + ('2147483647 days 2147483647 months'), + ('2147483647 days -2147483648 months'), + ('1 year'), + ('-2147483648 days 2147483647 months'), + ('-2147483648 days -2147483648 months') +-- !query 32 schema +struct<> +-- !query 32 output +org.apache.spark.sql.catalyst.parser.ParseException + +mismatched input 'f1' expecting {'(', 'FROM', 'MAP', 'REDUCE', 'SELECT', 'TABLE', 'VALUES', 'WITH'}(line 1, pos 29) + +== SQL == +INSERT INTO INTERVAL_TBL_OF (f1) VALUES +-----------------------------^^^ + ('2147483647 days 2147483647 months'), + ('2147483647 days -2147483648 months'), + ('1 year'), + ('-2147483648 days 2147483647 months'), + ('-2147483648 days -2147483648 months') + + +-- !query 33 +INSERT INTO INTERVAL_TBL_OF (f1) VALUES ('2147483648 days') +-- !query 33 schema +struct<> +-- !query 33 output +org.apache.spark.sql.catalyst.parser.ParseException + +mismatched input 'f1' expecting {'(', 'FROM', 'MAP', 'REDUCE', 'SELECT', 'TABLE', 'VALUES', 'WITH'}(line 1, pos 29) + +== SQL == +INSERT INTO INTERVAL_TBL_OF (f1) VALUES ('2147483648 days') +-----------------------------^^^ + + +-- !query 34 +INSERT INTO INTERVAL_TBL_OF (f1) VALUES ('-2147483649 days') +-- !query 34 schema +struct<> +-- !query 34 output +org.apache.spark.sql.catalyst.parser.ParseException + +mismatched input 'f1' expecting {'(', 'FROM', 'MAP', 'REDUCE', 'SELECT', 'TABLE', 'VALUES', 'WITH'}(line 1, pos 29) + +== SQL == +INSERT INTO INTERVAL_TBL_OF (f1) VALUES ('-2147483649 days') +-----------------------------^^^ + + +-- !query 35 +INSERT INTO INTERVAL_TBL_OF (f1) VALUES ('2147483647 years') +-- !query 35 schema +struct<> +-- !query 35 output +org.apache.spark.sql.catalyst.parser.ParseException + +mismatched input 'f1' expecting {'(', 'FROM', 'MAP', 'REDUCE', 'SELECT', 'TABLE', 'VALUES', 'WITH'}(line 1, pos 29) + +== SQL == +INSERT INTO INTERVAL_TBL_OF (f1) VALUES ('2147483647 years') +-----------------------------^^^ + + +-- !query 36 +INSERT INTO INTERVAL_TBL_OF (f1) VALUES ('-2147483648 years') +-- !query 36 schema +struct<> +-- !query 36 output +org.apache.spark.sql.catalyst.parser.ParseException + +mismatched input 'f1' expecting {'(', 'FROM', 'MAP', 'REDUCE', 'SELECT', 'TABLE', 'VALUES', 'WITH'}(line 1, pos 29) + +== SQL == +INSERT INTO INTERVAL_TBL_OF (f1) VALUES ('-2147483648 years') +-----------------------------^^^ + + +-- !query 37 +SELECT r1.*, r2.* + FROM INTERVAL_TBL_OF r1, INTERVAL_TBL_OF r2 + WHERE r1.f1 > r2.f1 + ORDER BY r1.f1, r2.f1 +-- !query 37 schema +struct<> +-- !query 37 output +org.apache.spark.sql.AnalysisException +Table or view not found: INTERVAL_TBL_OF; line 2 pos 8 + + +-- !query 38 +CREATE INDEX ON INTERVAL_TBL_OF USING btree (f1) +-- !query 38 schema +struct<> +-- !query 38 output +org.apache.spark.sql.catalyst.parser.ParseException + +Operation not allowed: CREATE INDEX(line 1, pos 0) + +== SQL == +CREATE INDEX ON INTERVAL_TBL_OF USING btree (f1) +^^^ + + +-- !query 39 +SET enable_seqscan TO false +-- !query 39 schema +struct +-- !query 39 output +enable_seqscan TO false + + +-- !query 40 +EXPLAIN (COSTS OFF) +SELECT f1 FROM INTERVAL_TBL_OF r1 ORDER BY f1 +-- !query 40 schema +struct<> +-- !query 40 output +org.apache.spark.sql.catalyst.parser.ParseException + +mismatched input 'COSTS' expecting {'(', 'FROM', 'MAP', 'REDUCE', 'SELECT', 'TABLE', 'VALUES', 'WITH'}(line 1, pos 9) + +== SQL == +EXPLAIN (COSTS OFF) +---------^^^ +SELECT f1 FROM INTERVAL_TBL_OF r1 ORDER BY f1 + + +-- !query 41 +SELECT f1 FROM INTERVAL_TBL_OF r1 ORDER BY f1 +-- !query 41 schema +struct<> +-- !query 41 output +org.apache.spark.sql.AnalysisException +Table or view not found: INTERVAL_TBL_OF; line 1 pos 15 + + +-- !query 42 +RESET enable_seqscan +-- !query 42 schema +struct<> +-- !query 42 output +org.apache.spark.sql.catalyst.parser.ParseException + +extraneous input 'enable_seqscan' expecting (line 1, pos 6) + +== SQL == +RESET enable_seqscan +------^^^ + + +-- !query 43 +DROP TABLE INTERVAL_TBL_OF +-- !query 43 schema +struct<> +-- !query 43 output +org.apache.spark.sql.AnalysisException +Table or view not found: INTERVAL_TBL_OF; + + +-- !query 44 +CREATE TABLE INTERVAL_MULDIV_TBL (span interval) +-- !query 44 schema +struct<> +-- !query 44 output +org.apache.spark.sql.AnalysisException +Hive support is required to CREATE Hive TABLE (AS SELECT); + + +-- !query 45 +COPY INTERVAL_MULDIV_TBL FROM STDIN +-- !query 45 schema +struct<> +-- !query 45 output +org.apache.spark.sql.catalyst.parser.ParseException + +mismatched input 'COPY' expecting {'(', 'ADD', 'ALTER', 'ANALYZE', 'CACHE', 'CLEAR', 'COMMIT', 'CREATE', 'DELETE', 'DESC', 'DESCRIBE', 'DFS', 'DROP', 'EXPLAIN', 'EXPORT', 'FROM', 'GRANT', 'IMPORT', 'INSERT', 'LIST', 'LOAD', 'LOCK', 'MAP', 'MSCK', 'REDUCE', 'REFRESH', 'REPLACE', 'RESET', 'REVOKE', 'ROLLBACK', 'SELECT', 'SET', 'SHOW', 'START', 'TABLE', 'TRUNCATE', 'UNCACHE', 'UNLOCK', 'UPDATE', 'USE', 'VALUES', 'WITH'}(line 1, pos 0) + +== SQL == +COPY INTERVAL_MULDIV_TBL FROM STDIN +^^^ + + +-- !query 46 +41 mon 12 days 360:00 +-41 mon -12 days +360:00 +-12 days +9 mon -27 days 12:34:56 +-3 years 482 days 76:54:32.189 +4 mon +14 mon +999 mon 999 days +\. + +SELECT span * 0.3 AS product +FROM INTERVAL_MULDIV_TBL +-- !query 46 schema +struct<> +-- !query 46 output +org.apache.spark.sql.catalyst.parser.ParseException + +mismatched input '41' expecting {'(', 'ADD', 'ALTER', 'ANALYZE', 'CACHE', 'CLEAR', 'COMMIT', 'CREATE', 'DELETE', 'DESC', 'DESCRIBE', 'DFS', 'DROP', 'EXPLAIN', 'EXPORT', 'FROM', 'GRANT', 'IMPORT', 'INSERT', 'LIST', 'LOAD', 'LOCK', 'MAP', 'MSCK', 'REDUCE', 'REFRESH', 'REPLACE', 'RESET', 'REVOKE', 'ROLLBACK', 'SELECT', 'SET', 'SHOW', 'START', 'TABLE', 'TRUNCATE', 'UNCACHE', 'UNLOCK', 'UPDATE', 'USE', 'VALUES', 'WITH'}(line 1, pos 0) + +== SQL == +41 mon 12 days 360:00 +^^^ +-41 mon -12 days +360:00 +-12 days +9 mon -27 days 12:34:56 +-3 years 482 days 76:54:32.189 +4 mon +14 mon +999 mon 999 days +\. + +SELECT span * 0.3 AS product +FROM INTERVAL_MULDIV_TBL + + +-- !query 47 +SELECT span * 8.2 AS product +FROM INTERVAL_MULDIV_TBL +-- !query 47 schema +struct<> +-- !query 47 output +org.apache.spark.sql.AnalysisException +Table or view not found: INTERVAL_MULDIV_TBL; line 2 pos 5 + + +-- !query 48 +SELECT span / 10 AS quotient +FROM INTERVAL_MULDIV_TBL +-- !query 48 schema +struct<> +-- !query 48 output +org.apache.spark.sql.AnalysisException +Table or view not found: INTERVAL_MULDIV_TBL; line 2 pos 5 + + +-- !query 49 +SELECT span / 100 AS quotient +FROM INTERVAL_MULDIV_TBL +-- !query 49 schema +struct<> +-- !query 49 output +org.apache.spark.sql.AnalysisException +Table or view not found: INTERVAL_MULDIV_TBL; line 2 pos 5 + + +-- !query 50 +DROP TABLE INTERVAL_MULDIV_TBL +-- !query 50 schema +struct<> +-- !query 50 output +org.apache.spark.sql.AnalysisException +Table or view not found: INTERVAL_MULDIV_TBL; + + +-- !query 51 +SET DATESTYLE = 'postgres' +-- !query 51 schema +struct +-- !query 51 output +DATESTYLE 'postgres' + + +-- !query 52 +SET IntervalStyle to postgres_verbose +-- !query 52 schema +struct +-- !query 52 output +IntervalStyle to postgres_verbose + + +-- !query 53 +SELECT '' AS ten, * FROM INTERVAL_TBL +-- !query 53 schema +struct<> +-- !query 53 output +org.apache.spark.sql.AnalysisException +Table or view not found: INTERVAL_TBL; line 1 pos 25 + + +-- !query 54 +select avg(f1) from interval_tbl +-- !query 54 schema +struct<> +-- !query 54 output +org.apache.spark.sql.AnalysisException +Table or view not found: interval_tbl; line 1 pos 20 + + +-- !query 55 +select '4 millenniums 5 centuries 4 decades 1 year 4 months 4 days 17 minutes 31 seconds'::interval +-- !query 55 schema +struct<> +-- !query 55 output +org.apache.spark.sql.catalyst.parser.ParseException + +mismatched input ':' expecting {, '(', ',', '.', '[', 'ADD', 'AFTER', 'ALL', 'ALTER', 'ANALYZE', 'AND', 'ANTI', 'ANY', 'ARCHIVE', 'ARRAY', 'AS', 'ASC', 'AT', 'AUTHORIZATION', 'BETWEEN', 'BOTH', 'BUCKET', 'BUCKETS', 'BY', 'CACHE', 'CASCADE', 'CASE', 'CAST', 'CHANGE', 'CHECK', 'CLEAR', 'CLUSTER', 'CLUSTERED', 'CODEGEN', 'COLLATE', 'COLLECTION', 'COLUMN', 'COLUMNS', 'COMMENT', 'COMMIT', 'COMPACT', 'COMPACTIONS', 'COMPUTE', 'CONCATENATE', 'CONSTRAINT', 'COST', 'CREATE', 'CROSS', 'CUBE', 'CURRENT', 'CURRENT_DATE', 'CURRENT_TIME', 'CURRENT_TIMESTAMP', 'CURRENT_USER', 'DATA', 'DATABASE', DATABASES, 'DAY', 'DAYS', 'DBPROPERTIES', 'DEFINED', 'DELETE', 'DELIMITED', 'DESC', 'DESCRIBE', 'DFS', 'DIRECTORIES', 'DIRECTORY', 'DISTINCT', 'DISTRIBUTE', 'DROP', 'ELSE', 'END', 'ESCAPED', 'EXCEPT', 'EXCHANGE', 'EXISTS', 'EXPLAIN', 'EXPORT', 'EXTENDED', 'EXTERNAL', 'EXTRACT', 'FALSE', 'FETCH', 'FIELDS', 'FILEFORMAT', 'FIRST', 'FIRST_VALUE', 'FOLLOWING', 'FOR', 'FOREIGN', 'FORMAT', 'FORMATTED', 'FROM', 'FULL', 'FUNCTION', 'FUNCTIONS', 'GLOBAL', 'GRANT', 'GROUP', 'GROUPING', 'HAVING', 'HOUR', 'HOURS', 'IF', 'IGNORE', 'IMPORT', 'IN', 'INDEX', 'INDEXES', 'INNER', 'INPATH', 'INPUTFORMAT', 'INSERT', 'INTERSECT', 'INTERVAL', 'INTO', 'IS', 'ITEMS', 'JOIN', 'KEYS', 'LAST', 'LAST_VALUE', 'LATERAL', 'LAZY', 'LEADING', 'LEFT', 'LIKE', 'LIMIT', 'LINES', 'LIST', 'LOAD', 'LOCAL', 'LOCATION', 'LOCK', 'LOCKS', 'LOGICAL', 'MACRO', 'MAP', 'MICROSECOND', 'MICROSECONDS', 'MILLISECOND', 'MILLISECONDS', 'MINUTE', 'MINUTES', 'MONTH', 'MONTHS', 'MSCK', 'NAMESPACE', 'NAMESPACES', 'NATURAL', 'NO', NOT, 'NULL', 'NULLS', 'OF', 'ON', 'ONLY', 'OPTION', 'OPTIONS', 'OR', 'ORDER', 'OUT', 'OUTER', 'OUTPUTFORMAT', 'OVER', 'OVERLAPS', 'OVERLAY', 'OVERWRITE', 'PARTITION', 'PARTITIONED', 'PARTITIONS', 'PERCENT', 'PIVOT', 'PLACING', 'POSITION', 'PRECEDING', 'PRIMARY', 'PRINCIPALS', 'PURGE', 'QUERY', 'RANGE', 'RECORDREADER', 'RECORDWRITER', 'RECOVER', 'REDUCE', 'REFERENCES', 'REFRESH', 'RENAME', 'REPAIR', 'REPLACE', 'RESET', 'RESPECT', 'RESTRICT', 'REVOKE', 'RIGHT', RLIKE, 'ROLE', 'ROLES', 'ROLLBACK', 'ROLLUP', 'ROW', 'ROWS', 'SCHEMA', 'SECOND', 'SECONDS', 'SELECT', 'SEMI', 'SEPARATED', 'SERDE', 'SERDEPROPERTIES', 'SESSION_USER', 'SET', 'MINUS', 'SETS', 'SHOW', 'SKEWED', 'SOME', 'SORT', 'SORTED', 'START', 'STATISTICS', 'STORED', 'STRATIFY', 'STRUCT', 'SUBSTR', 'SUBSTRING', 'TABLE', 'TABLES', 'TABLESAMPLE', 'TBLPROPERTIES', TEMPORARY, 'TERMINATED', 'THEN', 'TO', 'TOUCH', 'TRAILING', 'TRANSACTION', 'TRANSACTIONS', 'TRANSFORM', 'TRIM', 'TRUE', 'TRUNCATE', 'TYPE', 'UNARCHIVE', 'UNBOUNDED', 'UNCACHE', 'UNION', 'UNIQUE', 'UNKNOWN', 'UNLOCK', 'UNSET', 'UPDATE', 'USE', 'USER', 'USING', 'VALUES', 'VIEW', 'WEEK', 'WEEKS', 'WHEN', 'WHERE', 'WINDOW', 'WITH', 'YEAR', 'YEARS', EQ, '<=>', '<>', '!=', '<', LTE, '>', GTE, '+', '-', '*', '/', '%', 'DIV', '&', '|', '||', '^', STRING, IDENTIFIER, BACKQUOTED_IDENTIFIER}(line 1, pos 89) + +== SQL == +select '4 millenniums 5 centuries 4 decades 1 year 4 months 4 days 17 minutes 31 seconds'::interval +-----------------------------------------------------------------------------------------^^^ + + +-- !query 56 +select '100000000y 10mon -1000000000d -100000h -10min -10.000001s ago'::interval +-- !query 56 schema +struct<> +-- !query 56 output +org.apache.spark.sql.catalyst.parser.ParseException + +mismatched input ':' expecting {, '(', ',', '.', '[', 'ADD', 'AFTER', 'ALL', 'ALTER', 'ANALYZE', 'AND', 'ANTI', 'ANY', 'ARCHIVE', 'ARRAY', 'AS', 'ASC', 'AT', 'AUTHORIZATION', 'BETWEEN', 'BOTH', 'BUCKET', 'BUCKETS', 'BY', 'CACHE', 'CASCADE', 'CASE', 'CAST', 'CHANGE', 'CHECK', 'CLEAR', 'CLUSTER', 'CLUSTERED', 'CODEGEN', 'COLLATE', 'COLLECTION', 'COLUMN', 'COLUMNS', 'COMMENT', 'COMMIT', 'COMPACT', 'COMPACTIONS', 'COMPUTE', 'CONCATENATE', 'CONSTRAINT', 'COST', 'CREATE', 'CROSS', 'CUBE', 'CURRENT', 'CURRENT_DATE', 'CURRENT_TIME', 'CURRENT_TIMESTAMP', 'CURRENT_USER', 'DATA', 'DATABASE', DATABASES, 'DAY', 'DAYS', 'DBPROPERTIES', 'DEFINED', 'DELETE', 'DELIMITED', 'DESC', 'DESCRIBE', 'DFS', 'DIRECTORIES', 'DIRECTORY', 'DISTINCT', 'DISTRIBUTE', 'DROP', 'ELSE', 'END', 'ESCAPED', 'EXCEPT', 'EXCHANGE', 'EXISTS', 'EXPLAIN', 'EXPORT', 'EXTENDED', 'EXTERNAL', 'EXTRACT', 'FALSE', 'FETCH', 'FIELDS', 'FILEFORMAT', 'FIRST', 'FIRST_VALUE', 'FOLLOWING', 'FOR', 'FOREIGN', 'FORMAT', 'FORMATTED', 'FROM', 'FULL', 'FUNCTION', 'FUNCTIONS', 'GLOBAL', 'GRANT', 'GROUP', 'GROUPING', 'HAVING', 'HOUR', 'HOURS', 'IF', 'IGNORE', 'IMPORT', 'IN', 'INDEX', 'INDEXES', 'INNER', 'INPATH', 'INPUTFORMAT', 'INSERT', 'INTERSECT', 'INTERVAL', 'INTO', 'IS', 'ITEMS', 'JOIN', 'KEYS', 'LAST', 'LAST_VALUE', 'LATERAL', 'LAZY', 'LEADING', 'LEFT', 'LIKE', 'LIMIT', 'LINES', 'LIST', 'LOAD', 'LOCAL', 'LOCATION', 'LOCK', 'LOCKS', 'LOGICAL', 'MACRO', 'MAP', 'MICROSECOND', 'MICROSECONDS', 'MILLISECOND', 'MILLISECONDS', 'MINUTE', 'MINUTES', 'MONTH', 'MONTHS', 'MSCK', 'NAMESPACE', 'NAMESPACES', 'NATURAL', 'NO', NOT, 'NULL', 'NULLS', 'OF', 'ON', 'ONLY', 'OPTION', 'OPTIONS', 'OR', 'ORDER', 'OUT', 'OUTER', 'OUTPUTFORMAT', 'OVER', 'OVERLAPS', 'OVERLAY', 'OVERWRITE', 'PARTITION', 'PARTITIONED', 'PARTITIONS', 'PERCENT', 'PIVOT', 'PLACING', 'POSITION', 'PRECEDING', 'PRIMARY', 'PRINCIPALS', 'PURGE', 'QUERY', 'RANGE', 'RECORDREADER', 'RECORDWRITER', 'RECOVER', 'REDUCE', 'REFERENCES', 'REFRESH', 'RENAME', 'REPAIR', 'REPLACE', 'RESET', 'RESPECT', 'RESTRICT', 'REVOKE', 'RIGHT', RLIKE, 'ROLE', 'ROLES', 'ROLLBACK', 'ROLLUP', 'ROW', 'ROWS', 'SCHEMA', 'SECOND', 'SECONDS', 'SELECT', 'SEMI', 'SEPARATED', 'SERDE', 'SERDEPROPERTIES', 'SESSION_USER', 'SET', 'MINUS', 'SETS', 'SHOW', 'SKEWED', 'SOME', 'SORT', 'SORTED', 'START', 'STATISTICS', 'STORED', 'STRATIFY', 'STRUCT', 'SUBSTR', 'SUBSTRING', 'TABLE', 'TABLES', 'TABLESAMPLE', 'TBLPROPERTIES', TEMPORARY, 'TERMINATED', 'THEN', 'TO', 'TOUCH', 'TRAILING', 'TRANSACTION', 'TRANSACTIONS', 'TRANSFORM', 'TRIM', 'TRUE', 'TRUNCATE', 'TYPE', 'UNARCHIVE', 'UNBOUNDED', 'UNCACHE', 'UNION', 'UNIQUE', 'UNKNOWN', 'UNLOCK', 'UNSET', 'UPDATE', 'USE', 'USER', 'USING', 'VALUES', 'VIEW', 'WEEK', 'WEEKS', 'WHEN', 'WHERE', 'WINDOW', 'WITH', 'YEAR', 'YEARS', EQ, '<=>', '<>', '!=', '<', LTE, '>', GTE, '+', '-', '*', '/', '%', 'DIV', '&', '|', '||', '^', STRING, IDENTIFIER, BACKQUOTED_IDENTIFIER}(line 1, pos 70) + +== SQL == +select '100000000y 10mon -1000000000d -100000h -10min -10.000001s ago'::interval +----------------------------------------------------------------------^^^ + + +-- !query 57 +SELECT justify_hours(interval '6 months 3 days 52 hours 3 minutes 2 seconds') as "6 mons 5 days 4 hours 3 mins 2 seconds" +-- !query 57 schema +struct<> +-- !query 57 output +org.apache.spark.sql.catalyst.parser.ParseException + +no viable alternative at input 'as'(line 1, pos 78) + +== SQL == +SELECT justify_hours(interval '6 months 3 days 52 hours 3 minutes 2 seconds') as "6 mons 5 days 4 hours 3 mins 2 seconds" +------------------------------------------------------------------------------^^^ + + +-- !query 58 +SELECT justify_days(interval '6 months 36 days 5 hours 4 minutes 3 seconds') as "7 mons 6 days 5 hours 4 mins 3 seconds" +-- !query 58 schema +struct<> +-- !query 58 output +org.apache.spark.sql.catalyst.parser.ParseException + +no viable alternative at input 'as'(line 1, pos 77) + +== SQL == +SELECT justify_days(interval '6 months 36 days 5 hours 4 minutes 3 seconds') as "7 mons 6 days 5 hours 4 mins 3 seconds" +-----------------------------------------------------------------------------^^^ + + +-- !query 59 +SELECT justify_interval(interval '1 month -1 hour') as "1 month -1 hour" +-- !query 59 schema +struct<> +-- !query 59 output +org.apache.spark.sql.catalyst.parser.ParseException + +no viable alternative at input 'as'(line 1, pos 52) + +== SQL == +SELECT justify_interval(interval '1 month -1 hour') as "1 month -1 hour" +----------------------------------------------------^^^ + + +-- !query 60 +SET DATESTYLE = 'ISO' +-- !query 60 schema +struct +-- !query 60 output +DATESTYLE 'ISO' + + +-- !query 61 +SET IntervalStyle TO postgres +-- !query 61 schema +struct +-- !query 61 output +IntervalStyle TO postgres + + +-- !query 62 +SELECT '1 millisecond'::interval, '1 microsecond'::interval, + '500 seconds 99 milliseconds 51 microseconds'::interval +-- !query 62 schema +struct<> +-- !query 62 output +org.apache.spark.sql.catalyst.parser.ParseException + +mismatched input ':' expecting {, '(', ',', '.', '[', 'ADD', 'AFTER', 'ALL', 'ALTER', 'ANALYZE', 'AND', 'ANTI', 'ANY', 'ARCHIVE', 'ARRAY', 'AS', 'ASC', 'AT', 'AUTHORIZATION', 'BETWEEN', 'BOTH', 'BUCKET', 'BUCKETS', 'BY', 'CACHE', 'CASCADE', 'CASE', 'CAST', 'CHANGE', 'CHECK', 'CLEAR', 'CLUSTER', 'CLUSTERED', 'CODEGEN', 'COLLATE', 'COLLECTION', 'COLUMN', 'COLUMNS', 'COMMENT', 'COMMIT', 'COMPACT', 'COMPACTIONS', 'COMPUTE', 'CONCATENATE', 'CONSTRAINT', 'COST', 'CREATE', 'CROSS', 'CUBE', 'CURRENT', 'CURRENT_DATE', 'CURRENT_TIME', 'CURRENT_TIMESTAMP', 'CURRENT_USER', 'DATA', 'DATABASE', DATABASES, 'DAY', 'DAYS', 'DBPROPERTIES', 'DEFINED', 'DELETE', 'DELIMITED', 'DESC', 'DESCRIBE', 'DFS', 'DIRECTORIES', 'DIRECTORY', 'DISTINCT', 'DISTRIBUTE', 'DROP', 'ELSE', 'END', 'ESCAPED', 'EXCEPT', 'EXCHANGE', 'EXISTS', 'EXPLAIN', 'EXPORT', 'EXTENDED', 'EXTERNAL', 'EXTRACT', 'FALSE', 'FETCH', 'FIELDS', 'FILEFORMAT', 'FIRST', 'FIRST_VALUE', 'FOLLOWING', 'FOR', 'FOREIGN', 'FORMAT', 'FORMATTED', 'FROM', 'FULL', 'FUNCTION', 'FUNCTIONS', 'GLOBAL', 'GRANT', 'GROUP', 'GROUPING', 'HAVING', 'HOUR', 'HOURS', 'IF', 'IGNORE', 'IMPORT', 'IN', 'INDEX', 'INDEXES', 'INNER', 'INPATH', 'INPUTFORMAT', 'INSERT', 'INTERSECT', 'INTERVAL', 'INTO', 'IS', 'ITEMS', 'JOIN', 'KEYS', 'LAST', 'LAST_VALUE', 'LATERAL', 'LAZY', 'LEADING', 'LEFT', 'LIKE', 'LIMIT', 'LINES', 'LIST', 'LOAD', 'LOCAL', 'LOCATION', 'LOCK', 'LOCKS', 'LOGICAL', 'MACRO', 'MAP', 'MICROSECOND', 'MICROSECONDS', 'MILLISECOND', 'MILLISECONDS', 'MINUTE', 'MINUTES', 'MONTH', 'MONTHS', 'MSCK', 'NAMESPACE', 'NAMESPACES', 'NATURAL', 'NO', NOT, 'NULL', 'NULLS', 'OF', 'ON', 'ONLY', 'OPTION', 'OPTIONS', 'OR', 'ORDER', 'OUT', 'OUTER', 'OUTPUTFORMAT', 'OVER', 'OVERLAPS', 'OVERLAY', 'OVERWRITE', 'PARTITION', 'PARTITIONED', 'PARTITIONS', 'PERCENT', 'PIVOT', 'PLACING', 'POSITION', 'PRECEDING', 'PRIMARY', 'PRINCIPALS', 'PURGE', 'QUERY', 'RANGE', 'RECORDREADER', 'RECORDWRITER', 'RECOVER', 'REDUCE', 'REFERENCES', 'REFRESH', 'RENAME', 'REPAIR', 'REPLACE', 'RESET', 'RESPECT', 'RESTRICT', 'REVOKE', 'RIGHT', RLIKE, 'ROLE', 'ROLES', 'ROLLBACK', 'ROLLUP', 'ROW', 'ROWS', 'SCHEMA', 'SECOND', 'SECONDS', 'SELECT', 'SEMI', 'SEPARATED', 'SERDE', 'SERDEPROPERTIES', 'SESSION_USER', 'SET', 'MINUS', 'SETS', 'SHOW', 'SKEWED', 'SOME', 'SORT', 'SORTED', 'START', 'STATISTICS', 'STORED', 'STRATIFY', 'STRUCT', 'SUBSTR', 'SUBSTRING', 'TABLE', 'TABLES', 'TABLESAMPLE', 'TBLPROPERTIES', TEMPORARY, 'TERMINATED', 'THEN', 'TO', 'TOUCH', 'TRAILING', 'TRANSACTION', 'TRANSACTIONS', 'TRANSFORM', 'TRIM', 'TRUE', 'TRUNCATE', 'TYPE', 'UNARCHIVE', 'UNBOUNDED', 'UNCACHE', 'UNION', 'UNIQUE', 'UNKNOWN', 'UNLOCK', 'UNSET', 'UPDATE', 'USE', 'USER', 'USING', 'VALUES', 'VIEW', 'WEEK', 'WEEKS', 'WHEN', 'WHERE', 'WINDOW', 'WITH', 'YEAR', 'YEARS', EQ, '<=>', '<>', '!=', '<', LTE, '>', GTE, '+', '-', '*', '/', '%', 'DIV', '&', '|', '||', '^', STRING, IDENTIFIER, BACKQUOTED_IDENTIFIER}(line 1, pos 22) + +== SQL == +SELECT '1 millisecond'::interval, '1 microsecond'::interval, +----------------------^^^ + '500 seconds 99 milliseconds 51 microseconds'::interval + + +-- !query 63 +SELECT '3 days 5 milliseconds'::interval +-- !query 63 schema +struct<> +-- !query 63 output +org.apache.spark.sql.catalyst.parser.ParseException + +mismatched input ':' expecting {, '(', ',', '.', '[', 'ADD', 'AFTER', 'ALL', 'ALTER', 'ANALYZE', 'AND', 'ANTI', 'ANY', 'ARCHIVE', 'ARRAY', 'AS', 'ASC', 'AT', 'AUTHORIZATION', 'BETWEEN', 'BOTH', 'BUCKET', 'BUCKETS', 'BY', 'CACHE', 'CASCADE', 'CASE', 'CAST', 'CHANGE', 'CHECK', 'CLEAR', 'CLUSTER', 'CLUSTERED', 'CODEGEN', 'COLLATE', 'COLLECTION', 'COLUMN', 'COLUMNS', 'COMMENT', 'COMMIT', 'COMPACT', 'COMPACTIONS', 'COMPUTE', 'CONCATENATE', 'CONSTRAINT', 'COST', 'CREATE', 'CROSS', 'CUBE', 'CURRENT', 'CURRENT_DATE', 'CURRENT_TIME', 'CURRENT_TIMESTAMP', 'CURRENT_USER', 'DATA', 'DATABASE', DATABASES, 'DAY', 'DAYS', 'DBPROPERTIES', 'DEFINED', 'DELETE', 'DELIMITED', 'DESC', 'DESCRIBE', 'DFS', 'DIRECTORIES', 'DIRECTORY', 'DISTINCT', 'DISTRIBUTE', 'DROP', 'ELSE', 'END', 'ESCAPED', 'EXCEPT', 'EXCHANGE', 'EXISTS', 'EXPLAIN', 'EXPORT', 'EXTENDED', 'EXTERNAL', 'EXTRACT', 'FALSE', 'FETCH', 'FIELDS', 'FILEFORMAT', 'FIRST', 'FIRST_VALUE', 'FOLLOWING', 'FOR', 'FOREIGN', 'FORMAT', 'FORMATTED', 'FROM', 'FULL', 'FUNCTION', 'FUNCTIONS', 'GLOBAL', 'GRANT', 'GROUP', 'GROUPING', 'HAVING', 'HOUR', 'HOURS', 'IF', 'IGNORE', 'IMPORT', 'IN', 'INDEX', 'INDEXES', 'INNER', 'INPATH', 'INPUTFORMAT', 'INSERT', 'INTERSECT', 'INTERVAL', 'INTO', 'IS', 'ITEMS', 'JOIN', 'KEYS', 'LAST', 'LAST_VALUE', 'LATERAL', 'LAZY', 'LEADING', 'LEFT', 'LIKE', 'LIMIT', 'LINES', 'LIST', 'LOAD', 'LOCAL', 'LOCATION', 'LOCK', 'LOCKS', 'LOGICAL', 'MACRO', 'MAP', 'MICROSECOND', 'MICROSECONDS', 'MILLISECOND', 'MILLISECONDS', 'MINUTE', 'MINUTES', 'MONTH', 'MONTHS', 'MSCK', 'NAMESPACE', 'NAMESPACES', 'NATURAL', 'NO', NOT, 'NULL', 'NULLS', 'OF', 'ON', 'ONLY', 'OPTION', 'OPTIONS', 'OR', 'ORDER', 'OUT', 'OUTER', 'OUTPUTFORMAT', 'OVER', 'OVERLAPS', 'OVERLAY', 'OVERWRITE', 'PARTITION', 'PARTITIONED', 'PARTITIONS', 'PERCENT', 'PIVOT', 'PLACING', 'POSITION', 'PRECEDING', 'PRIMARY', 'PRINCIPALS', 'PURGE', 'QUERY', 'RANGE', 'RECORDREADER', 'RECORDWRITER', 'RECOVER', 'REDUCE', 'REFERENCES', 'REFRESH', 'RENAME', 'REPAIR', 'REPLACE', 'RESET', 'RESPECT', 'RESTRICT', 'REVOKE', 'RIGHT', RLIKE, 'ROLE', 'ROLES', 'ROLLBACK', 'ROLLUP', 'ROW', 'ROWS', 'SCHEMA', 'SECOND', 'SECONDS', 'SELECT', 'SEMI', 'SEPARATED', 'SERDE', 'SERDEPROPERTIES', 'SESSION_USER', 'SET', 'MINUS', 'SETS', 'SHOW', 'SKEWED', 'SOME', 'SORT', 'SORTED', 'START', 'STATISTICS', 'STORED', 'STRATIFY', 'STRUCT', 'SUBSTR', 'SUBSTRING', 'TABLE', 'TABLES', 'TABLESAMPLE', 'TBLPROPERTIES', TEMPORARY, 'TERMINATED', 'THEN', 'TO', 'TOUCH', 'TRAILING', 'TRANSACTION', 'TRANSACTIONS', 'TRANSFORM', 'TRIM', 'TRUE', 'TRUNCATE', 'TYPE', 'UNARCHIVE', 'UNBOUNDED', 'UNCACHE', 'UNION', 'UNIQUE', 'UNKNOWN', 'UNLOCK', 'UNSET', 'UPDATE', 'USE', 'USER', 'USING', 'VALUES', 'VIEW', 'WEEK', 'WEEKS', 'WHEN', 'WHERE', 'WINDOW', 'WITH', 'YEAR', 'YEARS', EQ, '<=>', '<>', '!=', '<', LTE, '>', GTE, '+', '-', '*', '/', '%', 'DIV', '&', '|', '||', '^', STRING, IDENTIFIER, BACKQUOTED_IDENTIFIER}(line 1, pos 30) + +== SQL == +SELECT '3 days 5 milliseconds'::interval +------------------------------^^^ + + +-- !query 64 +SELECT '1 second 2 seconds'::interval +-- !query 64 schema +struct<> +-- !query 64 output +org.apache.spark.sql.catalyst.parser.ParseException + +mismatched input ':' expecting {, '(', ',', '.', '[', 'ADD', 'AFTER', 'ALL', 'ALTER', 'ANALYZE', 'AND', 'ANTI', 'ANY', 'ARCHIVE', 'ARRAY', 'AS', 'ASC', 'AT', 'AUTHORIZATION', 'BETWEEN', 'BOTH', 'BUCKET', 'BUCKETS', 'BY', 'CACHE', 'CASCADE', 'CASE', 'CAST', 'CHANGE', 'CHECK', 'CLEAR', 'CLUSTER', 'CLUSTERED', 'CODEGEN', 'COLLATE', 'COLLECTION', 'COLUMN', 'COLUMNS', 'COMMENT', 'COMMIT', 'COMPACT', 'COMPACTIONS', 'COMPUTE', 'CONCATENATE', 'CONSTRAINT', 'COST', 'CREATE', 'CROSS', 'CUBE', 'CURRENT', 'CURRENT_DATE', 'CURRENT_TIME', 'CURRENT_TIMESTAMP', 'CURRENT_USER', 'DATA', 'DATABASE', DATABASES, 'DAY', 'DAYS', 'DBPROPERTIES', 'DEFINED', 'DELETE', 'DELIMITED', 'DESC', 'DESCRIBE', 'DFS', 'DIRECTORIES', 'DIRECTORY', 'DISTINCT', 'DISTRIBUTE', 'DROP', 'ELSE', 'END', 'ESCAPED', 'EXCEPT', 'EXCHANGE', 'EXISTS', 'EXPLAIN', 'EXPORT', 'EXTENDED', 'EXTERNAL', 'EXTRACT', 'FALSE', 'FETCH', 'FIELDS', 'FILEFORMAT', 'FIRST', 'FIRST_VALUE', 'FOLLOWING', 'FOR', 'FOREIGN', 'FORMAT', 'FORMATTED', 'FROM', 'FULL', 'FUNCTION', 'FUNCTIONS', 'GLOBAL', 'GRANT', 'GROUP', 'GROUPING', 'HAVING', 'HOUR', 'HOURS', 'IF', 'IGNORE', 'IMPORT', 'IN', 'INDEX', 'INDEXES', 'INNER', 'INPATH', 'INPUTFORMAT', 'INSERT', 'INTERSECT', 'INTERVAL', 'INTO', 'IS', 'ITEMS', 'JOIN', 'KEYS', 'LAST', 'LAST_VALUE', 'LATERAL', 'LAZY', 'LEADING', 'LEFT', 'LIKE', 'LIMIT', 'LINES', 'LIST', 'LOAD', 'LOCAL', 'LOCATION', 'LOCK', 'LOCKS', 'LOGICAL', 'MACRO', 'MAP', 'MICROSECOND', 'MICROSECONDS', 'MILLISECOND', 'MILLISECONDS', 'MINUTE', 'MINUTES', 'MONTH', 'MONTHS', 'MSCK', 'NAMESPACE', 'NAMESPACES', 'NATURAL', 'NO', NOT, 'NULL', 'NULLS', 'OF', 'ON', 'ONLY', 'OPTION', 'OPTIONS', 'OR', 'ORDER', 'OUT', 'OUTER', 'OUTPUTFORMAT', 'OVER', 'OVERLAPS', 'OVERLAY', 'OVERWRITE', 'PARTITION', 'PARTITIONED', 'PARTITIONS', 'PERCENT', 'PIVOT', 'PLACING', 'POSITION', 'PRECEDING', 'PRIMARY', 'PRINCIPALS', 'PURGE', 'QUERY', 'RANGE', 'RECORDREADER', 'RECORDWRITER', 'RECOVER', 'REDUCE', 'REFERENCES', 'REFRESH', 'RENAME', 'REPAIR', 'REPLACE', 'RESET', 'RESPECT', 'RESTRICT', 'REVOKE', 'RIGHT', RLIKE, 'ROLE', 'ROLES', 'ROLLBACK', 'ROLLUP', 'ROW', 'ROWS', 'SCHEMA', 'SECOND', 'SECONDS', 'SELECT', 'SEMI', 'SEPARATED', 'SERDE', 'SERDEPROPERTIES', 'SESSION_USER', 'SET', 'MINUS', 'SETS', 'SHOW', 'SKEWED', 'SOME', 'SORT', 'SORTED', 'START', 'STATISTICS', 'STORED', 'STRATIFY', 'STRUCT', 'SUBSTR', 'SUBSTRING', 'TABLE', 'TABLES', 'TABLESAMPLE', 'TBLPROPERTIES', TEMPORARY, 'TERMINATED', 'THEN', 'TO', 'TOUCH', 'TRAILING', 'TRANSACTION', 'TRANSACTIONS', 'TRANSFORM', 'TRIM', 'TRUE', 'TRUNCATE', 'TYPE', 'UNARCHIVE', 'UNBOUNDED', 'UNCACHE', 'UNION', 'UNIQUE', 'UNKNOWN', 'UNLOCK', 'UNSET', 'UPDATE', 'USE', 'USER', 'USING', 'VALUES', 'VIEW', 'WEEK', 'WEEKS', 'WHEN', 'WHERE', 'WINDOW', 'WITH', 'YEAR', 'YEARS', EQ, '<=>', '<>', '!=', '<', LTE, '>', GTE, '+', '-', '*', '/', '%', 'DIV', '&', '|', '||', '^', STRING, IDENTIFIER, BACKQUOTED_IDENTIFIER}(line 1, pos 27) + +== SQL == +SELECT '1 second 2 seconds'::interval +---------------------------^^^ + + +-- !query 65 +SELECT '10 milliseconds 20 milliseconds'::interval +-- !query 65 schema +struct<> +-- !query 65 output +org.apache.spark.sql.catalyst.parser.ParseException + +mismatched input ':' expecting {, '(', ',', '.', '[', 'ADD', 'AFTER', 'ALL', 'ALTER', 'ANALYZE', 'AND', 'ANTI', 'ANY', 'ARCHIVE', 'ARRAY', 'AS', 'ASC', 'AT', 'AUTHORIZATION', 'BETWEEN', 'BOTH', 'BUCKET', 'BUCKETS', 'BY', 'CACHE', 'CASCADE', 'CASE', 'CAST', 'CHANGE', 'CHECK', 'CLEAR', 'CLUSTER', 'CLUSTERED', 'CODEGEN', 'COLLATE', 'COLLECTION', 'COLUMN', 'COLUMNS', 'COMMENT', 'COMMIT', 'COMPACT', 'COMPACTIONS', 'COMPUTE', 'CONCATENATE', 'CONSTRAINT', 'COST', 'CREATE', 'CROSS', 'CUBE', 'CURRENT', 'CURRENT_DATE', 'CURRENT_TIME', 'CURRENT_TIMESTAMP', 'CURRENT_USER', 'DATA', 'DATABASE', DATABASES, 'DAY', 'DAYS', 'DBPROPERTIES', 'DEFINED', 'DELETE', 'DELIMITED', 'DESC', 'DESCRIBE', 'DFS', 'DIRECTORIES', 'DIRECTORY', 'DISTINCT', 'DISTRIBUTE', 'DROP', 'ELSE', 'END', 'ESCAPED', 'EXCEPT', 'EXCHANGE', 'EXISTS', 'EXPLAIN', 'EXPORT', 'EXTENDED', 'EXTERNAL', 'EXTRACT', 'FALSE', 'FETCH', 'FIELDS', 'FILEFORMAT', 'FIRST', 'FIRST_VALUE', 'FOLLOWING', 'FOR', 'FOREIGN', 'FORMAT', 'FORMATTED', 'FROM', 'FULL', 'FUNCTION', 'FUNCTIONS', 'GLOBAL', 'GRANT', 'GROUP', 'GROUPING', 'HAVING', 'HOUR', 'HOURS', 'IF', 'IGNORE', 'IMPORT', 'IN', 'INDEX', 'INDEXES', 'INNER', 'INPATH', 'INPUTFORMAT', 'INSERT', 'INTERSECT', 'INTERVAL', 'INTO', 'IS', 'ITEMS', 'JOIN', 'KEYS', 'LAST', 'LAST_VALUE', 'LATERAL', 'LAZY', 'LEADING', 'LEFT', 'LIKE', 'LIMIT', 'LINES', 'LIST', 'LOAD', 'LOCAL', 'LOCATION', 'LOCK', 'LOCKS', 'LOGICAL', 'MACRO', 'MAP', 'MICROSECOND', 'MICROSECONDS', 'MILLISECOND', 'MILLISECONDS', 'MINUTE', 'MINUTES', 'MONTH', 'MONTHS', 'MSCK', 'NAMESPACE', 'NAMESPACES', 'NATURAL', 'NO', NOT, 'NULL', 'NULLS', 'OF', 'ON', 'ONLY', 'OPTION', 'OPTIONS', 'OR', 'ORDER', 'OUT', 'OUTER', 'OUTPUTFORMAT', 'OVER', 'OVERLAPS', 'OVERLAY', 'OVERWRITE', 'PARTITION', 'PARTITIONED', 'PARTITIONS', 'PERCENT', 'PIVOT', 'PLACING', 'POSITION', 'PRECEDING', 'PRIMARY', 'PRINCIPALS', 'PURGE', 'QUERY', 'RANGE', 'RECORDREADER', 'RECORDWRITER', 'RECOVER', 'REDUCE', 'REFERENCES', 'REFRESH', 'RENAME', 'REPAIR', 'REPLACE', 'RESET', 'RESPECT', 'RESTRICT', 'REVOKE', 'RIGHT', RLIKE, 'ROLE', 'ROLES', 'ROLLBACK', 'ROLLUP', 'ROW', 'ROWS', 'SCHEMA', 'SECOND', 'SECONDS', 'SELECT', 'SEMI', 'SEPARATED', 'SERDE', 'SERDEPROPERTIES', 'SESSION_USER', 'SET', 'MINUS', 'SETS', 'SHOW', 'SKEWED', 'SOME', 'SORT', 'SORTED', 'START', 'STATISTICS', 'STORED', 'STRATIFY', 'STRUCT', 'SUBSTR', 'SUBSTRING', 'TABLE', 'TABLES', 'TABLESAMPLE', 'TBLPROPERTIES', TEMPORARY, 'TERMINATED', 'THEN', 'TO', 'TOUCH', 'TRAILING', 'TRANSACTION', 'TRANSACTIONS', 'TRANSFORM', 'TRIM', 'TRUE', 'TRUNCATE', 'TYPE', 'UNARCHIVE', 'UNBOUNDED', 'UNCACHE', 'UNION', 'UNIQUE', 'UNKNOWN', 'UNLOCK', 'UNSET', 'UPDATE', 'USE', 'USER', 'USING', 'VALUES', 'VIEW', 'WEEK', 'WEEKS', 'WHEN', 'WHERE', 'WINDOW', 'WITH', 'YEAR', 'YEARS', EQ, '<=>', '<>', '!=', '<', LTE, '>', GTE, '+', '-', '*', '/', '%', 'DIV', '&', '|', '||', '^', STRING, IDENTIFIER, BACKQUOTED_IDENTIFIER}(line 1, pos 40) + +== SQL == +SELECT '10 milliseconds 20 milliseconds'::interval +----------------------------------------^^^ + + +-- !query 66 +SELECT '5.5 seconds 3 milliseconds'::interval +-- !query 66 schema +struct<> +-- !query 66 output +org.apache.spark.sql.catalyst.parser.ParseException + +mismatched input ':' expecting {, '(', ',', '.', '[', 'ADD', 'AFTER', 'ALL', 'ALTER', 'ANALYZE', 'AND', 'ANTI', 'ANY', 'ARCHIVE', 'ARRAY', 'AS', 'ASC', 'AT', 'AUTHORIZATION', 'BETWEEN', 'BOTH', 'BUCKET', 'BUCKETS', 'BY', 'CACHE', 'CASCADE', 'CASE', 'CAST', 'CHANGE', 'CHECK', 'CLEAR', 'CLUSTER', 'CLUSTERED', 'CODEGEN', 'COLLATE', 'COLLECTION', 'COLUMN', 'COLUMNS', 'COMMENT', 'COMMIT', 'COMPACT', 'COMPACTIONS', 'COMPUTE', 'CONCATENATE', 'CONSTRAINT', 'COST', 'CREATE', 'CROSS', 'CUBE', 'CURRENT', 'CURRENT_DATE', 'CURRENT_TIME', 'CURRENT_TIMESTAMP', 'CURRENT_USER', 'DATA', 'DATABASE', DATABASES, 'DAY', 'DAYS', 'DBPROPERTIES', 'DEFINED', 'DELETE', 'DELIMITED', 'DESC', 'DESCRIBE', 'DFS', 'DIRECTORIES', 'DIRECTORY', 'DISTINCT', 'DISTRIBUTE', 'DROP', 'ELSE', 'END', 'ESCAPED', 'EXCEPT', 'EXCHANGE', 'EXISTS', 'EXPLAIN', 'EXPORT', 'EXTENDED', 'EXTERNAL', 'EXTRACT', 'FALSE', 'FETCH', 'FIELDS', 'FILEFORMAT', 'FIRST', 'FIRST_VALUE', 'FOLLOWING', 'FOR', 'FOREIGN', 'FORMAT', 'FORMATTED', 'FROM', 'FULL', 'FUNCTION', 'FUNCTIONS', 'GLOBAL', 'GRANT', 'GROUP', 'GROUPING', 'HAVING', 'HOUR', 'HOURS', 'IF', 'IGNORE', 'IMPORT', 'IN', 'INDEX', 'INDEXES', 'INNER', 'INPATH', 'INPUTFORMAT', 'INSERT', 'INTERSECT', 'INTERVAL', 'INTO', 'IS', 'ITEMS', 'JOIN', 'KEYS', 'LAST', 'LAST_VALUE', 'LATERAL', 'LAZY', 'LEADING', 'LEFT', 'LIKE', 'LIMIT', 'LINES', 'LIST', 'LOAD', 'LOCAL', 'LOCATION', 'LOCK', 'LOCKS', 'LOGICAL', 'MACRO', 'MAP', 'MICROSECOND', 'MICROSECONDS', 'MILLISECOND', 'MILLISECONDS', 'MINUTE', 'MINUTES', 'MONTH', 'MONTHS', 'MSCK', 'NAMESPACE', 'NAMESPACES', 'NATURAL', 'NO', NOT, 'NULL', 'NULLS', 'OF', 'ON', 'ONLY', 'OPTION', 'OPTIONS', 'OR', 'ORDER', 'OUT', 'OUTER', 'OUTPUTFORMAT', 'OVER', 'OVERLAPS', 'OVERLAY', 'OVERWRITE', 'PARTITION', 'PARTITIONED', 'PARTITIONS', 'PERCENT', 'PIVOT', 'PLACING', 'POSITION', 'PRECEDING', 'PRIMARY', 'PRINCIPALS', 'PURGE', 'QUERY', 'RANGE', 'RECORDREADER', 'RECORDWRITER', 'RECOVER', 'REDUCE', 'REFERENCES', 'REFRESH', 'RENAME', 'REPAIR', 'REPLACE', 'RESET', 'RESPECT', 'RESTRICT', 'REVOKE', 'RIGHT', RLIKE, 'ROLE', 'ROLES', 'ROLLBACK', 'ROLLUP', 'ROW', 'ROWS', 'SCHEMA', 'SECOND', 'SECONDS', 'SELECT', 'SEMI', 'SEPARATED', 'SERDE', 'SERDEPROPERTIES', 'SESSION_USER', 'SET', 'MINUS', 'SETS', 'SHOW', 'SKEWED', 'SOME', 'SORT', 'SORTED', 'START', 'STATISTICS', 'STORED', 'STRATIFY', 'STRUCT', 'SUBSTR', 'SUBSTRING', 'TABLE', 'TABLES', 'TABLESAMPLE', 'TBLPROPERTIES', TEMPORARY, 'TERMINATED', 'THEN', 'TO', 'TOUCH', 'TRAILING', 'TRANSACTION', 'TRANSACTIONS', 'TRANSFORM', 'TRIM', 'TRUE', 'TRUNCATE', 'TYPE', 'UNARCHIVE', 'UNBOUNDED', 'UNCACHE', 'UNION', 'UNIQUE', 'UNKNOWN', 'UNLOCK', 'UNSET', 'UPDATE', 'USE', 'USER', 'USING', 'VALUES', 'VIEW', 'WEEK', 'WEEKS', 'WHEN', 'WHERE', 'WINDOW', 'WITH', 'YEAR', 'YEARS', EQ, '<=>', '<>', '!=', '<', LTE, '>', GTE, '+', '-', '*', '/', '%', 'DIV', '&', '|', '||', '^', STRING, IDENTIFIER, BACKQUOTED_IDENTIFIER}(line 1, pos 35) + +== SQL == +SELECT '5.5 seconds 3 milliseconds'::interval +-----------------------------------^^^ + + +-- !query 67 +SELECT '1:20:05 5 microseconds'::interval +-- !query 67 schema +struct<> +-- !query 67 output +org.apache.spark.sql.catalyst.parser.ParseException + +mismatched input ':' expecting {, '(', ',', '.', '[', 'ADD', 'AFTER', 'ALL', 'ALTER', 'ANALYZE', 'AND', 'ANTI', 'ANY', 'ARCHIVE', 'ARRAY', 'AS', 'ASC', 'AT', 'AUTHORIZATION', 'BETWEEN', 'BOTH', 'BUCKET', 'BUCKETS', 'BY', 'CACHE', 'CASCADE', 'CASE', 'CAST', 'CHANGE', 'CHECK', 'CLEAR', 'CLUSTER', 'CLUSTERED', 'CODEGEN', 'COLLATE', 'COLLECTION', 'COLUMN', 'COLUMNS', 'COMMENT', 'COMMIT', 'COMPACT', 'COMPACTIONS', 'COMPUTE', 'CONCATENATE', 'CONSTRAINT', 'COST', 'CREATE', 'CROSS', 'CUBE', 'CURRENT', 'CURRENT_DATE', 'CURRENT_TIME', 'CURRENT_TIMESTAMP', 'CURRENT_USER', 'DATA', 'DATABASE', DATABASES, 'DAY', 'DAYS', 'DBPROPERTIES', 'DEFINED', 'DELETE', 'DELIMITED', 'DESC', 'DESCRIBE', 'DFS', 'DIRECTORIES', 'DIRECTORY', 'DISTINCT', 'DISTRIBUTE', 'DROP', 'ELSE', 'END', 'ESCAPED', 'EXCEPT', 'EXCHANGE', 'EXISTS', 'EXPLAIN', 'EXPORT', 'EXTENDED', 'EXTERNAL', 'EXTRACT', 'FALSE', 'FETCH', 'FIELDS', 'FILEFORMAT', 'FIRST', 'FIRST_VALUE', 'FOLLOWING', 'FOR', 'FOREIGN', 'FORMAT', 'FORMATTED', 'FROM', 'FULL', 'FUNCTION', 'FUNCTIONS', 'GLOBAL', 'GRANT', 'GROUP', 'GROUPING', 'HAVING', 'HOUR', 'HOURS', 'IF', 'IGNORE', 'IMPORT', 'IN', 'INDEX', 'INDEXES', 'INNER', 'INPATH', 'INPUTFORMAT', 'INSERT', 'INTERSECT', 'INTERVAL', 'INTO', 'IS', 'ITEMS', 'JOIN', 'KEYS', 'LAST', 'LAST_VALUE', 'LATERAL', 'LAZY', 'LEADING', 'LEFT', 'LIKE', 'LIMIT', 'LINES', 'LIST', 'LOAD', 'LOCAL', 'LOCATION', 'LOCK', 'LOCKS', 'LOGICAL', 'MACRO', 'MAP', 'MICROSECOND', 'MICROSECONDS', 'MILLISECOND', 'MILLISECONDS', 'MINUTE', 'MINUTES', 'MONTH', 'MONTHS', 'MSCK', 'NAMESPACE', 'NAMESPACES', 'NATURAL', 'NO', NOT, 'NULL', 'NULLS', 'OF', 'ON', 'ONLY', 'OPTION', 'OPTIONS', 'OR', 'ORDER', 'OUT', 'OUTER', 'OUTPUTFORMAT', 'OVER', 'OVERLAPS', 'OVERLAY', 'OVERWRITE', 'PARTITION', 'PARTITIONED', 'PARTITIONS', 'PERCENT', 'PIVOT', 'PLACING', 'POSITION', 'PRECEDING', 'PRIMARY', 'PRINCIPALS', 'PURGE', 'QUERY', 'RANGE', 'RECORDREADER', 'RECORDWRITER', 'RECOVER', 'REDUCE', 'REFERENCES', 'REFRESH', 'RENAME', 'REPAIR', 'REPLACE', 'RESET', 'RESPECT', 'RESTRICT', 'REVOKE', 'RIGHT', RLIKE, 'ROLE', 'ROLES', 'ROLLBACK', 'ROLLUP', 'ROW', 'ROWS', 'SCHEMA', 'SECOND', 'SECONDS', 'SELECT', 'SEMI', 'SEPARATED', 'SERDE', 'SERDEPROPERTIES', 'SESSION_USER', 'SET', 'MINUS', 'SETS', 'SHOW', 'SKEWED', 'SOME', 'SORT', 'SORTED', 'START', 'STATISTICS', 'STORED', 'STRATIFY', 'STRUCT', 'SUBSTR', 'SUBSTRING', 'TABLE', 'TABLES', 'TABLESAMPLE', 'TBLPROPERTIES', TEMPORARY, 'TERMINATED', 'THEN', 'TO', 'TOUCH', 'TRAILING', 'TRANSACTION', 'TRANSACTIONS', 'TRANSFORM', 'TRIM', 'TRUE', 'TRUNCATE', 'TYPE', 'UNARCHIVE', 'UNBOUNDED', 'UNCACHE', 'UNION', 'UNIQUE', 'UNKNOWN', 'UNLOCK', 'UNSET', 'UPDATE', 'USE', 'USER', 'USING', 'VALUES', 'VIEW', 'WEEK', 'WEEKS', 'WHEN', 'WHERE', 'WINDOW', 'WITH', 'YEAR', 'YEARS', EQ, '<=>', '<>', '!=', '<', LTE, '>', GTE, '+', '-', '*', '/', '%', 'DIV', '&', '|', '||', '^', STRING, IDENTIFIER, BACKQUOTED_IDENTIFIER}(line 1, pos 31) + +== SQL == +SELECT '1:20:05 5 microseconds'::interval +-------------------------------^^^ + + +-- !query 68 +SELECT '1 day 1 day'::interval +-- !query 68 schema +struct<> +-- !query 68 output +org.apache.spark.sql.catalyst.parser.ParseException + +mismatched input ':' expecting {, '(', ',', '.', '[', 'ADD', 'AFTER', 'ALL', 'ALTER', 'ANALYZE', 'AND', 'ANTI', 'ANY', 'ARCHIVE', 'ARRAY', 'AS', 'ASC', 'AT', 'AUTHORIZATION', 'BETWEEN', 'BOTH', 'BUCKET', 'BUCKETS', 'BY', 'CACHE', 'CASCADE', 'CASE', 'CAST', 'CHANGE', 'CHECK', 'CLEAR', 'CLUSTER', 'CLUSTERED', 'CODEGEN', 'COLLATE', 'COLLECTION', 'COLUMN', 'COLUMNS', 'COMMENT', 'COMMIT', 'COMPACT', 'COMPACTIONS', 'COMPUTE', 'CONCATENATE', 'CONSTRAINT', 'COST', 'CREATE', 'CROSS', 'CUBE', 'CURRENT', 'CURRENT_DATE', 'CURRENT_TIME', 'CURRENT_TIMESTAMP', 'CURRENT_USER', 'DATA', 'DATABASE', DATABASES, 'DAY', 'DAYS', 'DBPROPERTIES', 'DEFINED', 'DELETE', 'DELIMITED', 'DESC', 'DESCRIBE', 'DFS', 'DIRECTORIES', 'DIRECTORY', 'DISTINCT', 'DISTRIBUTE', 'DROP', 'ELSE', 'END', 'ESCAPED', 'EXCEPT', 'EXCHANGE', 'EXISTS', 'EXPLAIN', 'EXPORT', 'EXTENDED', 'EXTERNAL', 'EXTRACT', 'FALSE', 'FETCH', 'FIELDS', 'FILEFORMAT', 'FIRST', 'FIRST_VALUE', 'FOLLOWING', 'FOR', 'FOREIGN', 'FORMAT', 'FORMATTED', 'FROM', 'FULL', 'FUNCTION', 'FUNCTIONS', 'GLOBAL', 'GRANT', 'GROUP', 'GROUPING', 'HAVING', 'HOUR', 'HOURS', 'IF', 'IGNORE', 'IMPORT', 'IN', 'INDEX', 'INDEXES', 'INNER', 'INPATH', 'INPUTFORMAT', 'INSERT', 'INTERSECT', 'INTERVAL', 'INTO', 'IS', 'ITEMS', 'JOIN', 'KEYS', 'LAST', 'LAST_VALUE', 'LATERAL', 'LAZY', 'LEADING', 'LEFT', 'LIKE', 'LIMIT', 'LINES', 'LIST', 'LOAD', 'LOCAL', 'LOCATION', 'LOCK', 'LOCKS', 'LOGICAL', 'MACRO', 'MAP', 'MICROSECOND', 'MICROSECONDS', 'MILLISECOND', 'MILLISECONDS', 'MINUTE', 'MINUTES', 'MONTH', 'MONTHS', 'MSCK', 'NAMESPACE', 'NAMESPACES', 'NATURAL', 'NO', NOT, 'NULL', 'NULLS', 'OF', 'ON', 'ONLY', 'OPTION', 'OPTIONS', 'OR', 'ORDER', 'OUT', 'OUTER', 'OUTPUTFORMAT', 'OVER', 'OVERLAPS', 'OVERLAY', 'OVERWRITE', 'PARTITION', 'PARTITIONED', 'PARTITIONS', 'PERCENT', 'PIVOT', 'PLACING', 'POSITION', 'PRECEDING', 'PRIMARY', 'PRINCIPALS', 'PURGE', 'QUERY', 'RANGE', 'RECORDREADER', 'RECORDWRITER', 'RECOVER', 'REDUCE', 'REFERENCES', 'REFRESH', 'RENAME', 'REPAIR', 'REPLACE', 'RESET', 'RESPECT', 'RESTRICT', 'REVOKE', 'RIGHT', RLIKE, 'ROLE', 'ROLES', 'ROLLBACK', 'ROLLUP', 'ROW', 'ROWS', 'SCHEMA', 'SECOND', 'SECONDS', 'SELECT', 'SEMI', 'SEPARATED', 'SERDE', 'SERDEPROPERTIES', 'SESSION_USER', 'SET', 'MINUS', 'SETS', 'SHOW', 'SKEWED', 'SOME', 'SORT', 'SORTED', 'START', 'STATISTICS', 'STORED', 'STRATIFY', 'STRUCT', 'SUBSTR', 'SUBSTRING', 'TABLE', 'TABLES', 'TABLESAMPLE', 'TBLPROPERTIES', TEMPORARY, 'TERMINATED', 'THEN', 'TO', 'TOUCH', 'TRAILING', 'TRANSACTION', 'TRANSACTIONS', 'TRANSFORM', 'TRIM', 'TRUE', 'TRUNCATE', 'TYPE', 'UNARCHIVE', 'UNBOUNDED', 'UNCACHE', 'UNION', 'UNIQUE', 'UNKNOWN', 'UNLOCK', 'UNSET', 'UPDATE', 'USE', 'USER', 'USING', 'VALUES', 'VIEW', 'WEEK', 'WEEKS', 'WHEN', 'WHERE', 'WINDOW', 'WITH', 'YEAR', 'YEARS', EQ, '<=>', '<>', '!=', '<', LTE, '>', GTE, '+', '-', '*', '/', '%', 'DIV', '&', '|', '||', '^', STRING, IDENTIFIER, BACKQUOTED_IDENTIFIER}(line 1, pos 20) + +== SQL == +SELECT '1 day 1 day'::interval +--------------------^^^ + + +-- !query 69 +SELECT interval '1-2' +-- !query 69 schema +struct +-- !query 69 output +NULL + + +-- !query 70 +SELECT interval '999' second +-- !query 70 schema +struct +-- !query 70 output +interval 16 minutes 39 seconds + + +-- !query 71 +SELECT interval '999' minute +-- !query 71 schema +struct +-- !query 71 output +interval 16 hours 39 minutes + + +-- !query 72 +SELECT interval '999' hour +-- !query 72 schema +struct +-- !query 72 output +interval 5 weeks 6 days 15 hours + + +-- !query 73 +SELECT interval '999' day +-- !query 73 schema +struct +-- !query 73 output +interval 142 weeks 5 days + + +-- !query 74 +SELECT interval '999' month +-- !query 74 schema +struct +-- !query 74 output +interval 83 years 3 months + + +-- !query 75 +SELECT interval '1' year +-- !query 75 schema +struct +-- !query 75 output +interval 1 years + + +-- !query 76 +SELECT interval '2' month +-- !query 76 schema +struct +-- !query 76 output +interval 2 months + + +-- !query 77 +SELECT interval '3' day +-- !query 77 schema +struct +-- !query 77 output +interval 3 days + + +-- !query 78 +SELECT interval '4' hour +-- !query 78 schema +struct +-- !query 78 output +interval 4 hours + + +-- !query 79 +SELECT interval '5' minute +-- !query 79 schema +struct +-- !query 79 output +interval 5 minutes + + +-- !query 80 +SELECT interval '6' second +-- !query 80 schema +struct +-- !query 80 output +interval 6 seconds + + +-- !query 81 +SELECT interval '1' year to month +-- !query 81 schema +struct<> +-- !query 81 output +org.apache.spark.sql.catalyst.parser.ParseException + +Interval string does not match year-month format of 'y-m': '1'(line 1, pos 16) + +== SQL == +SELECT interval '1' year to month +----------------^^^ + + +-- !query 82 +SELECT interval '1-2' year to month +-- !query 82 schema +struct +-- !query 82 output +interval 1 years 2 months + + +-- !query 83 +SELECT interval '1 2' day to hour +-- !query 83 schema +struct<> +-- !query 83 output +org.apache.spark.sql.catalyst.parser.ParseException + +Interval string does not match day-time format of 'd h:m:s.n': '1 2'(line 1, pos 16) + +== SQL == +SELECT interval '1 2' day to hour +----------------^^^ + + +-- !query 84 +SELECT interval '1 2:03' day to hour +-- !query 84 schema +struct +-- !query 84 output +interval 1 days 2 hours + + +-- !query 85 +SELECT interval '1 2:03:04' day to hour +-- !query 85 schema +struct +-- !query 85 output +interval 1 days 2 hours + + +-- !query 86 +SELECT interval '1 2' day to minute +-- !query 86 schema +struct<> +-- !query 86 output +org.apache.spark.sql.catalyst.parser.ParseException + +Interval string does not match day-time format of 'd h:m:s.n': '1 2'(line 1, pos 16) + +== SQL == +SELECT interval '1 2' day to minute +----------------^^^ + + +-- !query 87 +SELECT interval '1 2:03' day to minute +-- !query 87 schema +struct +-- !query 87 output +interval 1 days 2 hours 3 minutes + + +-- !query 88 +SELECT interval '1 2:03:04' day to minute +-- !query 88 schema +struct +-- !query 88 output +interval 1 days 2 hours 3 minutes + + +-- !query 89 +SELECT interval '1 2' day to second +-- !query 89 schema +struct<> +-- !query 89 output +org.apache.spark.sql.catalyst.parser.ParseException + +Interval string does not match day-time format of 'd h:m:s.n': '1 2'(line 1, pos 16) + +== SQL == +SELECT interval '1 2' day to second +----------------^^^ + + +-- !query 90 +SELECT interval '1 2:03' day to second +-- !query 90 schema +struct +-- !query 90 output +interval 1 days 2 hours 3 minutes + + +-- !query 91 +SELECT interval '1 2:03:04' day to second +-- !query 91 schema +struct +-- !query 91 output +interval 1 days 2 hours 3 minutes 4 seconds + + +-- !query 92 +SELECT interval '1 2' hour to minute +-- !query 92 schema +struct<> +-- !query 92 output +org.apache.spark.sql.catalyst.parser.ParseException + +Interval string does not match day-time format of 'd h:m:s.n': '1 2'(line 1, pos 16) + +== SQL == +SELECT interval '1 2' hour to minute +----------------^^^ + + +-- !query 93 +SELECT interval '1 2:03' hour to minute +-- !query 93 schema +struct +-- !query 93 output +interval 1 days 2 hours 3 minutes + + +-- !query 94 +SELECT interval '1 2:03:04' hour to minute +-- !query 94 schema +struct +-- !query 94 output +interval 1 days 2 hours 3 minutes + + +-- !query 95 +SELECT interval '1 2' hour to second +-- !query 95 schema +struct<> +-- !query 95 output +org.apache.spark.sql.catalyst.parser.ParseException + +Interval string does not match day-time format of 'd h:m:s.n': '1 2'(line 1, pos 16) + +== SQL == +SELECT interval '1 2' hour to second +----------------^^^ + + +-- !query 96 +SELECT interval '1 2:03' hour to second +-- !query 96 schema +struct +-- !query 96 output +interval 1 days 2 hours 3 minutes + + +-- !query 97 +SELECT interval '1 2:03:04' hour to second +-- !query 97 schema +struct +-- !query 97 output +interval 1 days 2 hours 3 minutes 4 seconds + + +-- !query 98 +SELECT interval '1 2' minute to second +-- !query 98 schema +struct<> +-- !query 98 output +org.apache.spark.sql.catalyst.parser.ParseException + +Interval string does not match day-time format of 'd h:m:s.n': '1 2'(line 1, pos 16) + +== SQL == +SELECT interval '1 2' minute to second +----------------^^^ + + +-- !query 99 +SELECT interval '1 2:03' minute to second +-- !query 99 schema +struct +-- !query 99 output +interval 1 days 2 minutes 3 seconds + + +-- !query 100 +SELECT interval '1 2:03:04' minute to second +-- !query 100 schema +struct +-- !query 100 output +interval 1 days 2 hours 3 minutes 4 seconds + + +-- !query 101 +SELECT interval '1 +2:03' minute to second +-- !query 101 schema +struct<> +-- !query 101 output +org.apache.spark.sql.catalyst.parser.ParseException + +Interval string does not match day-time format of 'd h:m:s.n': '1 +2:03'(line 1, pos 16) + +== SQL == +SELECT interval '1 +2:03' minute to second +----------------^^^ + + +-- !query 102 +SELECT interval '1 +2:03:04' minute to second +-- !query 102 schema +struct<> +-- !query 102 output +org.apache.spark.sql.catalyst.parser.ParseException + +Interval string does not match day-time format of 'd h:m:s.n': '1 +2:03:04'(line 1, pos 16) + +== SQL == +SELECT interval '1 +2:03:04' minute to second +----------------^^^ + + +-- !query 103 +SELECT interval '1 -2:03' minute to second +-- !query 103 schema +struct<> +-- !query 103 output +org.apache.spark.sql.catalyst.parser.ParseException + +Interval string does not match day-time format of 'd h:m:s.n': '1 -2:03'(line 1, pos 16) + +== SQL == +SELECT interval '1 -2:03' minute to second +----------------^^^ + + +-- !query 104 +SELECT interval '1 -2:03:04' minute to second +-- !query 104 schema +struct<> +-- !query 104 output +org.apache.spark.sql.catalyst.parser.ParseException + +Interval string does not match day-time format of 'd h:m:s.n': '1 -2:03:04'(line 1, pos 16) + +== SQL == +SELECT interval '1 -2:03:04' minute to second +----------------^^^ + + +-- !query 105 +SELECT interval '123 11' day to hour +-- !query 105 schema +struct<> +-- !query 105 output +org.apache.spark.sql.catalyst.parser.ParseException + +Interval string does not match day-time format of 'd h:m:s.n': '123 11'(line 1, pos 16) + +== SQL == +SELECT interval '123 11' day to hour +----------------^^^ + + +-- !query 106 +SELECT interval '123 11' day +-- !query 106 schema +struct<> +-- !query 106 output +org.apache.spark.sql.catalyst.parser.ParseException + +Error parsing interval string: For input string: "123 11"(line 1, pos 16) + +== SQL == +SELECT interval '123 11' day +----------------^^^ + + +-- !query 107 +SELECT interval '123 11' +-- !query 107 schema +struct +-- !query 107 output +NULL + + +-- !query 108 +SELECT interval '123 2:03 -2:04' +-- !query 108 schema +struct +-- !query 108 output +NULL + + +-- !query 109 +SELECT interval(0) '1 day 01:23:45.6789' +-- !query 109 schema +struct<> +-- !query 109 output +org.apache.spark.sql.catalyst.parser.ParseException + +extraneous input ''1 day 01:23:45.6789'' expecting (line 1, pos 19) + +== SQL == +SELECT interval(0) '1 day 01:23:45.6789' +-------------------^^^ + + +-- !query 110 +SELECT interval(2) '1 day 01:23:45.6789' +-- !query 110 schema +struct<> +-- !query 110 output +org.apache.spark.sql.catalyst.parser.ParseException + +extraneous input ''1 day 01:23:45.6789'' expecting (line 1, pos 19) + +== SQL == +SELECT interval(2) '1 day 01:23:45.6789' +-------------------^^^ + + +-- !query 111 +SELECT interval '12:34.5678' minute to second(2) +-- !query 111 schema +struct<> +-- !query 111 output +org.apache.spark.sql.catalyst.parser.ParseException + +mismatched input '2' expecting {'ADD', 'AFTER', 'ALL', 'ALTER', 'ANALYZE', 'AND', 'ANTI', 'ANY', 'ARCHIVE', 'ARRAY', 'AS', 'ASC', 'AT', 'AUTHORIZATION', 'BETWEEN', 'BOTH', 'BUCKET', 'BUCKETS', 'BY', 'CACHE', 'CASCADE', 'CASE', 'CAST', 'CHANGE', 'CHECK', 'CLEAR', 'CLUSTER', 'CLUSTERED', 'CODEGEN', 'COLLATE', 'COLLECTION', 'COLUMN', 'COLUMNS', 'COMMENT', 'COMMIT', 'COMPACT', 'COMPACTIONS', 'COMPUTE', 'CONCATENATE', 'CONSTRAINT', 'COST', 'CREATE', 'CROSS', 'CUBE', 'CURRENT', 'CURRENT_DATE', 'CURRENT_TIME', 'CURRENT_TIMESTAMP', 'CURRENT_USER', 'DATA', 'DATABASE', DATABASES, 'DAY', 'DAYS', 'DBPROPERTIES', 'DEFINED', 'DELETE', 'DELIMITED', 'DESC', 'DESCRIBE', 'DFS', 'DIRECTORIES', 'DIRECTORY', 'DISTINCT', 'DISTRIBUTE', 'DROP', 'ELSE', 'END', 'ESCAPED', 'EXCEPT', 'EXCHANGE', 'EXISTS', 'EXPLAIN', 'EXPORT', 'EXTENDED', 'EXTERNAL', 'EXTRACT', 'FALSE', 'FETCH', 'FIELDS', 'FILEFORMAT', 'FIRST', 'FIRST_VALUE', 'FOLLOWING', 'FOR', 'FOREIGN', 'FORMAT', 'FORMATTED', 'FROM', 'FULL', 'FUNCTION', 'FUNCTIONS', 'GLOBAL', 'GRANT', 'GROUP', 'GROUPING', 'HAVING', 'HOUR', 'HOURS', 'IF', 'IGNORE', 'IMPORT', 'IN', 'INDEX', 'INDEXES', 'INNER', 'INPATH', 'INPUTFORMAT', 'INSERT', 'INTERSECT', 'INTERVAL', 'INTO', 'IS', 'ITEMS', 'JOIN', 'KEYS', 'LAST', 'LAST_VALUE', 'LATERAL', 'LAZY', 'LEADING', 'LEFT', 'LIKE', 'LIMIT', 'LINES', 'LIST', 'LOAD', 'LOCAL', 'LOCATION', 'LOCK', 'LOCKS', 'LOGICAL', 'MACRO', 'MAP', 'MICROSECOND', 'MICROSECONDS', 'MILLISECOND', 'MILLISECONDS', 'MINUTE', 'MINUTES', 'MONTH', 'MONTHS', 'MSCK', 'NAMESPACE', 'NAMESPACES', 'NATURAL', 'NO', NOT, 'NULL', 'NULLS', 'OF', 'ON', 'ONLY', 'OPTION', 'OPTIONS', 'OR', 'ORDER', 'OUT', 'OUTER', 'OUTPUTFORMAT', 'OVER', 'OVERLAPS', 'OVERLAY', 'OVERWRITE', 'PARTITION', 'PARTITIONED', 'PARTITIONS', 'PERCENT', 'PIVOT', 'PLACING', 'POSITION', 'PRECEDING', 'PRIMARY', 'PRINCIPALS', 'PURGE', 'QUERY', 'RANGE', 'RECORDREADER', 'RECORDWRITER', 'RECOVER', 'REDUCE', 'REFERENCES', 'REFRESH', 'RENAME', 'REPAIR', 'REPLACE', 'RESET', 'RESPECT', 'RESTRICT', 'REVOKE', 'RIGHT', RLIKE, 'ROLE', 'ROLES', 'ROLLBACK', 'ROLLUP', 'ROW', 'ROWS', 'SCHEMA', 'SECOND', 'SECONDS', 'SELECT', 'SEMI', 'SEPARATED', 'SERDE', 'SERDEPROPERTIES', 'SESSION_USER', 'SET', 'MINUS', 'SETS', 'SHOW', 'SKEWED', 'SOME', 'SORT', 'SORTED', 'START', 'STATISTICS', 'STORED', 'STRATIFY', 'STRUCT', 'SUBSTR', 'SUBSTRING', 'TABLE', 'TABLES', 'TABLESAMPLE', 'TBLPROPERTIES', TEMPORARY, 'TERMINATED', 'THEN', 'TO', 'TOUCH', 'TRAILING', 'TRANSACTION', 'TRANSACTIONS', 'TRANSFORM', 'TRIM', 'TRUE', 'TRUNCATE', 'TYPE', 'UNARCHIVE', 'UNBOUNDED', 'UNCACHE', 'UNION', 'UNIQUE', 'UNKNOWN', 'UNLOCK', 'UNSET', 'UPDATE', 'USE', 'USER', 'USING', 'VALUES', 'VIEW', 'WEEK', 'WEEKS', 'WHEN', 'WHERE', 'WINDOW', 'WITH', 'YEAR', 'YEARS', 'DIV', IDENTIFIER, BACKQUOTED_IDENTIFIER}(line 1, pos 46) + +== SQL == +SELECT interval '12:34.5678' minute to second(2) +----------------------------------------------^^^ + + +-- !query 112 +SELECT interval '1.234' second +-- !query 112 schema +struct +-- !query 112 output +interval 1 seconds + + +-- !query 113 +SELECT interval '1.234' second(2) +-- !query 113 schema +struct<> +-- !query 113 output +org.apache.spark.sql.catalyst.parser.ParseException + +mismatched input '2' expecting {'ADD', 'AFTER', 'ALL', 'ALTER', 'ANALYZE', 'AND', 'ANTI', 'ANY', 'ARCHIVE', 'ARRAY', 'AS', 'ASC', 'AT', 'AUTHORIZATION', 'BETWEEN', 'BOTH', 'BUCKET', 'BUCKETS', 'BY', 'CACHE', 'CASCADE', 'CASE', 'CAST', 'CHANGE', 'CHECK', 'CLEAR', 'CLUSTER', 'CLUSTERED', 'CODEGEN', 'COLLATE', 'COLLECTION', 'COLUMN', 'COLUMNS', 'COMMENT', 'COMMIT', 'COMPACT', 'COMPACTIONS', 'COMPUTE', 'CONCATENATE', 'CONSTRAINT', 'COST', 'CREATE', 'CROSS', 'CUBE', 'CURRENT', 'CURRENT_DATE', 'CURRENT_TIME', 'CURRENT_TIMESTAMP', 'CURRENT_USER', 'DATA', 'DATABASE', DATABASES, 'DAY', 'DAYS', 'DBPROPERTIES', 'DEFINED', 'DELETE', 'DELIMITED', 'DESC', 'DESCRIBE', 'DFS', 'DIRECTORIES', 'DIRECTORY', 'DISTINCT', 'DISTRIBUTE', 'DROP', 'ELSE', 'END', 'ESCAPED', 'EXCEPT', 'EXCHANGE', 'EXISTS', 'EXPLAIN', 'EXPORT', 'EXTENDED', 'EXTERNAL', 'EXTRACT', 'FALSE', 'FETCH', 'FIELDS', 'FILEFORMAT', 'FIRST', 'FIRST_VALUE', 'FOLLOWING', 'FOR', 'FOREIGN', 'FORMAT', 'FORMATTED', 'FROM', 'FULL', 'FUNCTION', 'FUNCTIONS', 'GLOBAL', 'GRANT', 'GROUP', 'GROUPING', 'HAVING', 'HOUR', 'HOURS', 'IF', 'IGNORE', 'IMPORT', 'IN', 'INDEX', 'INDEXES', 'INNER', 'INPATH', 'INPUTFORMAT', 'INSERT', 'INTERSECT', 'INTERVAL', 'INTO', 'IS', 'ITEMS', 'JOIN', 'KEYS', 'LAST', 'LAST_VALUE', 'LATERAL', 'LAZY', 'LEADING', 'LEFT', 'LIKE', 'LIMIT', 'LINES', 'LIST', 'LOAD', 'LOCAL', 'LOCATION', 'LOCK', 'LOCKS', 'LOGICAL', 'MACRO', 'MAP', 'MICROSECOND', 'MICROSECONDS', 'MILLISECOND', 'MILLISECONDS', 'MINUTE', 'MINUTES', 'MONTH', 'MONTHS', 'MSCK', 'NAMESPACE', 'NAMESPACES', 'NATURAL', 'NO', NOT, 'NULL', 'NULLS', 'OF', 'ON', 'ONLY', 'OPTION', 'OPTIONS', 'OR', 'ORDER', 'OUT', 'OUTER', 'OUTPUTFORMAT', 'OVER', 'OVERLAPS', 'OVERLAY', 'OVERWRITE', 'PARTITION', 'PARTITIONED', 'PARTITIONS', 'PERCENT', 'PIVOT', 'PLACING', 'POSITION', 'PRECEDING', 'PRIMARY', 'PRINCIPALS', 'PURGE', 'QUERY', 'RANGE', 'RECORDREADER', 'RECORDWRITER', 'RECOVER', 'REDUCE', 'REFERENCES', 'REFRESH', 'RENAME', 'REPAIR', 'REPLACE', 'RESET', 'RESPECT', 'RESTRICT', 'REVOKE', 'RIGHT', RLIKE, 'ROLE', 'ROLES', 'ROLLBACK', 'ROLLUP', 'ROW', 'ROWS', 'SCHEMA', 'SECOND', 'SECONDS', 'SELECT', 'SEMI', 'SEPARATED', 'SERDE', 'SERDEPROPERTIES', 'SESSION_USER', 'SET', 'MINUS', 'SETS', 'SHOW', 'SKEWED', 'SOME', 'SORT', 'SORTED', 'START', 'STATISTICS', 'STORED', 'STRATIFY', 'STRUCT', 'SUBSTR', 'SUBSTRING', 'TABLE', 'TABLES', 'TABLESAMPLE', 'TBLPROPERTIES', TEMPORARY, 'TERMINATED', 'THEN', 'TO', 'TOUCH', 'TRAILING', 'TRANSACTION', 'TRANSACTIONS', 'TRANSFORM', 'TRIM', 'TRUE', 'TRUNCATE', 'TYPE', 'UNARCHIVE', 'UNBOUNDED', 'UNCACHE', 'UNION', 'UNIQUE', 'UNKNOWN', 'UNLOCK', 'UNSET', 'UPDATE', 'USE', 'USER', 'USING', 'VALUES', 'VIEW', 'WEEK', 'WEEKS', 'WHEN', 'WHERE', 'WINDOW', 'WITH', 'YEAR', 'YEARS', 'DIV', IDENTIFIER, BACKQUOTED_IDENTIFIER}(line 1, pos 31) + +== SQL == +SELECT interval '1.234' second(2) +-------------------------------^^^ + + +-- !query 114 +SELECT interval '1 2.345' day to second(2) +-- !query 114 schema +struct<> +-- !query 114 output +org.apache.spark.sql.catalyst.parser.ParseException + +mismatched input '2' expecting {'ADD', 'AFTER', 'ALL', 'ALTER', 'ANALYZE', 'AND', 'ANTI', 'ANY', 'ARCHIVE', 'ARRAY', 'AS', 'ASC', 'AT', 'AUTHORIZATION', 'BETWEEN', 'BOTH', 'BUCKET', 'BUCKETS', 'BY', 'CACHE', 'CASCADE', 'CASE', 'CAST', 'CHANGE', 'CHECK', 'CLEAR', 'CLUSTER', 'CLUSTERED', 'CODEGEN', 'COLLATE', 'COLLECTION', 'COLUMN', 'COLUMNS', 'COMMENT', 'COMMIT', 'COMPACT', 'COMPACTIONS', 'COMPUTE', 'CONCATENATE', 'CONSTRAINT', 'COST', 'CREATE', 'CROSS', 'CUBE', 'CURRENT', 'CURRENT_DATE', 'CURRENT_TIME', 'CURRENT_TIMESTAMP', 'CURRENT_USER', 'DATA', 'DATABASE', DATABASES, 'DAY', 'DAYS', 'DBPROPERTIES', 'DEFINED', 'DELETE', 'DELIMITED', 'DESC', 'DESCRIBE', 'DFS', 'DIRECTORIES', 'DIRECTORY', 'DISTINCT', 'DISTRIBUTE', 'DROP', 'ELSE', 'END', 'ESCAPED', 'EXCEPT', 'EXCHANGE', 'EXISTS', 'EXPLAIN', 'EXPORT', 'EXTENDED', 'EXTERNAL', 'EXTRACT', 'FALSE', 'FETCH', 'FIELDS', 'FILEFORMAT', 'FIRST', 'FIRST_VALUE', 'FOLLOWING', 'FOR', 'FOREIGN', 'FORMAT', 'FORMATTED', 'FROM', 'FULL', 'FUNCTION', 'FUNCTIONS', 'GLOBAL', 'GRANT', 'GROUP', 'GROUPING', 'HAVING', 'HOUR', 'HOURS', 'IF', 'IGNORE', 'IMPORT', 'IN', 'INDEX', 'INDEXES', 'INNER', 'INPATH', 'INPUTFORMAT', 'INSERT', 'INTERSECT', 'INTERVAL', 'INTO', 'IS', 'ITEMS', 'JOIN', 'KEYS', 'LAST', 'LAST_VALUE', 'LATERAL', 'LAZY', 'LEADING', 'LEFT', 'LIKE', 'LIMIT', 'LINES', 'LIST', 'LOAD', 'LOCAL', 'LOCATION', 'LOCK', 'LOCKS', 'LOGICAL', 'MACRO', 'MAP', 'MICROSECOND', 'MICROSECONDS', 'MILLISECOND', 'MILLISECONDS', 'MINUTE', 'MINUTES', 'MONTH', 'MONTHS', 'MSCK', 'NAMESPACE', 'NAMESPACES', 'NATURAL', 'NO', NOT, 'NULL', 'NULLS', 'OF', 'ON', 'ONLY', 'OPTION', 'OPTIONS', 'OR', 'ORDER', 'OUT', 'OUTER', 'OUTPUTFORMAT', 'OVER', 'OVERLAPS', 'OVERLAY', 'OVERWRITE', 'PARTITION', 'PARTITIONED', 'PARTITIONS', 'PERCENT', 'PIVOT', 'PLACING', 'POSITION', 'PRECEDING', 'PRIMARY', 'PRINCIPALS', 'PURGE', 'QUERY', 'RANGE', 'RECORDREADER', 'RECORDWRITER', 'RECOVER', 'REDUCE', 'REFERENCES', 'REFRESH', 'RENAME', 'REPAIR', 'REPLACE', 'RESET', 'RESPECT', 'RESTRICT', 'REVOKE', 'RIGHT', RLIKE, 'ROLE', 'ROLES', 'ROLLBACK', 'ROLLUP', 'ROW', 'ROWS', 'SCHEMA', 'SECOND', 'SECONDS', 'SELECT', 'SEMI', 'SEPARATED', 'SERDE', 'SERDEPROPERTIES', 'SESSION_USER', 'SET', 'MINUS', 'SETS', 'SHOW', 'SKEWED', 'SOME', 'SORT', 'SORTED', 'START', 'STATISTICS', 'STORED', 'STRATIFY', 'STRUCT', 'SUBSTR', 'SUBSTRING', 'TABLE', 'TABLES', 'TABLESAMPLE', 'TBLPROPERTIES', TEMPORARY, 'TERMINATED', 'THEN', 'TO', 'TOUCH', 'TRAILING', 'TRANSACTION', 'TRANSACTIONS', 'TRANSFORM', 'TRIM', 'TRUE', 'TRUNCATE', 'TYPE', 'UNARCHIVE', 'UNBOUNDED', 'UNCACHE', 'UNION', 'UNIQUE', 'UNKNOWN', 'UNLOCK', 'UNSET', 'UPDATE', 'USE', 'USER', 'USING', 'VALUES', 'VIEW', 'WEEK', 'WEEKS', 'WHEN', 'WHERE', 'WINDOW', 'WITH', 'YEAR', 'YEARS', 'DIV', IDENTIFIER, BACKQUOTED_IDENTIFIER}(line 1, pos 40) + +== SQL == +SELECT interval '1 2.345' day to second(2) +----------------------------------------^^^ + + +-- !query 115 +SELECT interval '1 2:03' day to second(2) +-- !query 115 schema +struct<> +-- !query 115 output +org.apache.spark.sql.catalyst.parser.ParseException + +mismatched input '2' expecting {'ADD', 'AFTER', 'ALL', 'ALTER', 'ANALYZE', 'AND', 'ANTI', 'ANY', 'ARCHIVE', 'ARRAY', 'AS', 'ASC', 'AT', 'AUTHORIZATION', 'BETWEEN', 'BOTH', 'BUCKET', 'BUCKETS', 'BY', 'CACHE', 'CASCADE', 'CASE', 'CAST', 'CHANGE', 'CHECK', 'CLEAR', 'CLUSTER', 'CLUSTERED', 'CODEGEN', 'COLLATE', 'COLLECTION', 'COLUMN', 'COLUMNS', 'COMMENT', 'COMMIT', 'COMPACT', 'COMPACTIONS', 'COMPUTE', 'CONCATENATE', 'CONSTRAINT', 'COST', 'CREATE', 'CROSS', 'CUBE', 'CURRENT', 'CURRENT_DATE', 'CURRENT_TIME', 'CURRENT_TIMESTAMP', 'CURRENT_USER', 'DATA', 'DATABASE', DATABASES, 'DAY', 'DAYS', 'DBPROPERTIES', 'DEFINED', 'DELETE', 'DELIMITED', 'DESC', 'DESCRIBE', 'DFS', 'DIRECTORIES', 'DIRECTORY', 'DISTINCT', 'DISTRIBUTE', 'DROP', 'ELSE', 'END', 'ESCAPED', 'EXCEPT', 'EXCHANGE', 'EXISTS', 'EXPLAIN', 'EXPORT', 'EXTENDED', 'EXTERNAL', 'EXTRACT', 'FALSE', 'FETCH', 'FIELDS', 'FILEFORMAT', 'FIRST', 'FIRST_VALUE', 'FOLLOWING', 'FOR', 'FOREIGN', 'FORMAT', 'FORMATTED', 'FROM', 'FULL', 'FUNCTION', 'FUNCTIONS', 'GLOBAL', 'GRANT', 'GROUP', 'GROUPING', 'HAVING', 'HOUR', 'HOURS', 'IF', 'IGNORE', 'IMPORT', 'IN', 'INDEX', 'INDEXES', 'INNER', 'INPATH', 'INPUTFORMAT', 'INSERT', 'INTERSECT', 'INTERVAL', 'INTO', 'IS', 'ITEMS', 'JOIN', 'KEYS', 'LAST', 'LAST_VALUE', 'LATERAL', 'LAZY', 'LEADING', 'LEFT', 'LIKE', 'LIMIT', 'LINES', 'LIST', 'LOAD', 'LOCAL', 'LOCATION', 'LOCK', 'LOCKS', 'LOGICAL', 'MACRO', 'MAP', 'MICROSECOND', 'MICROSECONDS', 'MILLISECOND', 'MILLISECONDS', 'MINUTE', 'MINUTES', 'MONTH', 'MONTHS', 'MSCK', 'NAMESPACE', 'NAMESPACES', 'NATURAL', 'NO', NOT, 'NULL', 'NULLS', 'OF', 'ON', 'ONLY', 'OPTION', 'OPTIONS', 'OR', 'ORDER', 'OUT', 'OUTER', 'OUTPUTFORMAT', 'OVER', 'OVERLAPS', 'OVERLAY', 'OVERWRITE', 'PARTITION', 'PARTITIONED', 'PARTITIONS', 'PERCENT', 'PIVOT', 'PLACING', 'POSITION', 'PRECEDING', 'PRIMARY', 'PRINCIPALS', 'PURGE', 'QUERY', 'RANGE', 'RECORDREADER', 'RECORDWRITER', 'RECOVER', 'REDUCE', 'REFERENCES', 'REFRESH', 'RENAME', 'REPAIR', 'REPLACE', 'RESET', 'RESPECT', 'RESTRICT', 'REVOKE', 'RIGHT', RLIKE, 'ROLE', 'ROLES', 'ROLLBACK', 'ROLLUP', 'ROW', 'ROWS', 'SCHEMA', 'SECOND', 'SECONDS', 'SELECT', 'SEMI', 'SEPARATED', 'SERDE', 'SERDEPROPERTIES', 'SESSION_USER', 'SET', 'MINUS', 'SETS', 'SHOW', 'SKEWED', 'SOME', 'SORT', 'SORTED', 'START', 'STATISTICS', 'STORED', 'STRATIFY', 'STRUCT', 'SUBSTR', 'SUBSTRING', 'TABLE', 'TABLES', 'TABLESAMPLE', 'TBLPROPERTIES', TEMPORARY, 'TERMINATED', 'THEN', 'TO', 'TOUCH', 'TRAILING', 'TRANSACTION', 'TRANSACTIONS', 'TRANSFORM', 'TRIM', 'TRUE', 'TRUNCATE', 'TYPE', 'UNARCHIVE', 'UNBOUNDED', 'UNCACHE', 'UNION', 'UNIQUE', 'UNKNOWN', 'UNLOCK', 'UNSET', 'UPDATE', 'USE', 'USER', 'USING', 'VALUES', 'VIEW', 'WEEK', 'WEEKS', 'WHEN', 'WHERE', 'WINDOW', 'WITH', 'YEAR', 'YEARS', 'DIV', IDENTIFIER, BACKQUOTED_IDENTIFIER}(line 1, pos 39) + +== SQL == +SELECT interval '1 2:03' day to second(2) +---------------------------------------^^^ + + +-- !query 116 +SELECT interval '1 2:03.4567' day to second(2) +-- !query 116 schema +struct<> +-- !query 116 output +org.apache.spark.sql.catalyst.parser.ParseException + +mismatched input '2' expecting {'ADD', 'AFTER', 'ALL', 'ALTER', 'ANALYZE', 'AND', 'ANTI', 'ANY', 'ARCHIVE', 'ARRAY', 'AS', 'ASC', 'AT', 'AUTHORIZATION', 'BETWEEN', 'BOTH', 'BUCKET', 'BUCKETS', 'BY', 'CACHE', 'CASCADE', 'CASE', 'CAST', 'CHANGE', 'CHECK', 'CLEAR', 'CLUSTER', 'CLUSTERED', 'CODEGEN', 'COLLATE', 'COLLECTION', 'COLUMN', 'COLUMNS', 'COMMENT', 'COMMIT', 'COMPACT', 'COMPACTIONS', 'COMPUTE', 'CONCATENATE', 'CONSTRAINT', 'COST', 'CREATE', 'CROSS', 'CUBE', 'CURRENT', 'CURRENT_DATE', 'CURRENT_TIME', 'CURRENT_TIMESTAMP', 'CURRENT_USER', 'DATA', 'DATABASE', DATABASES, 'DAY', 'DAYS', 'DBPROPERTIES', 'DEFINED', 'DELETE', 'DELIMITED', 'DESC', 'DESCRIBE', 'DFS', 'DIRECTORIES', 'DIRECTORY', 'DISTINCT', 'DISTRIBUTE', 'DROP', 'ELSE', 'END', 'ESCAPED', 'EXCEPT', 'EXCHANGE', 'EXISTS', 'EXPLAIN', 'EXPORT', 'EXTENDED', 'EXTERNAL', 'EXTRACT', 'FALSE', 'FETCH', 'FIELDS', 'FILEFORMAT', 'FIRST', 'FIRST_VALUE', 'FOLLOWING', 'FOR', 'FOREIGN', 'FORMAT', 'FORMATTED', 'FROM', 'FULL', 'FUNCTION', 'FUNCTIONS', 'GLOBAL', 'GRANT', 'GROUP', 'GROUPING', 'HAVING', 'HOUR', 'HOURS', 'IF', 'IGNORE', 'IMPORT', 'IN', 'INDEX', 'INDEXES', 'INNER', 'INPATH', 'INPUTFORMAT', 'INSERT', 'INTERSECT', 'INTERVAL', 'INTO', 'IS', 'ITEMS', 'JOIN', 'KEYS', 'LAST', 'LAST_VALUE', 'LATERAL', 'LAZY', 'LEADING', 'LEFT', 'LIKE', 'LIMIT', 'LINES', 'LIST', 'LOAD', 'LOCAL', 'LOCATION', 'LOCK', 'LOCKS', 'LOGICAL', 'MACRO', 'MAP', 'MICROSECOND', 'MICROSECONDS', 'MILLISECOND', 'MILLISECONDS', 'MINUTE', 'MINUTES', 'MONTH', 'MONTHS', 'MSCK', 'NAMESPACE', 'NAMESPACES', 'NATURAL', 'NO', NOT, 'NULL', 'NULLS', 'OF', 'ON', 'ONLY', 'OPTION', 'OPTIONS', 'OR', 'ORDER', 'OUT', 'OUTER', 'OUTPUTFORMAT', 'OVER', 'OVERLAPS', 'OVERLAY', 'OVERWRITE', 'PARTITION', 'PARTITIONED', 'PARTITIONS', 'PERCENT', 'PIVOT', 'PLACING', 'POSITION', 'PRECEDING', 'PRIMARY', 'PRINCIPALS', 'PURGE', 'QUERY', 'RANGE', 'RECORDREADER', 'RECORDWRITER', 'RECOVER', 'REDUCE', 'REFERENCES', 'REFRESH', 'RENAME', 'REPAIR', 'REPLACE', 'RESET', 'RESPECT', 'RESTRICT', 'REVOKE', 'RIGHT', RLIKE, 'ROLE', 'ROLES', 'ROLLBACK', 'ROLLUP', 'ROW', 'ROWS', 'SCHEMA', 'SECOND', 'SECONDS', 'SELECT', 'SEMI', 'SEPARATED', 'SERDE', 'SERDEPROPERTIES', 'SESSION_USER', 'SET', 'MINUS', 'SETS', 'SHOW', 'SKEWED', 'SOME', 'SORT', 'SORTED', 'START', 'STATISTICS', 'STORED', 'STRATIFY', 'STRUCT', 'SUBSTR', 'SUBSTRING', 'TABLE', 'TABLES', 'TABLESAMPLE', 'TBLPROPERTIES', TEMPORARY, 'TERMINATED', 'THEN', 'TO', 'TOUCH', 'TRAILING', 'TRANSACTION', 'TRANSACTIONS', 'TRANSFORM', 'TRIM', 'TRUE', 'TRUNCATE', 'TYPE', 'UNARCHIVE', 'UNBOUNDED', 'UNCACHE', 'UNION', 'UNIQUE', 'UNKNOWN', 'UNLOCK', 'UNSET', 'UPDATE', 'USE', 'USER', 'USING', 'VALUES', 'VIEW', 'WEEK', 'WEEKS', 'WHEN', 'WHERE', 'WINDOW', 'WITH', 'YEAR', 'YEARS', 'DIV', IDENTIFIER, BACKQUOTED_IDENTIFIER}(line 1, pos 44) + +== SQL == +SELECT interval '1 2:03.4567' day to second(2) +--------------------------------------------^^^ + + +-- !query 117 +SELECT interval '1 2:03:04.5678' day to second(2) +-- !query 117 schema +struct<> +-- !query 117 output +org.apache.spark.sql.catalyst.parser.ParseException + +mismatched input '2' expecting {'ADD', 'AFTER', 'ALL', 'ALTER', 'ANALYZE', 'AND', 'ANTI', 'ANY', 'ARCHIVE', 'ARRAY', 'AS', 'ASC', 'AT', 'AUTHORIZATION', 'BETWEEN', 'BOTH', 'BUCKET', 'BUCKETS', 'BY', 'CACHE', 'CASCADE', 'CASE', 'CAST', 'CHANGE', 'CHECK', 'CLEAR', 'CLUSTER', 'CLUSTERED', 'CODEGEN', 'COLLATE', 'COLLECTION', 'COLUMN', 'COLUMNS', 'COMMENT', 'COMMIT', 'COMPACT', 'COMPACTIONS', 'COMPUTE', 'CONCATENATE', 'CONSTRAINT', 'COST', 'CREATE', 'CROSS', 'CUBE', 'CURRENT', 'CURRENT_DATE', 'CURRENT_TIME', 'CURRENT_TIMESTAMP', 'CURRENT_USER', 'DATA', 'DATABASE', DATABASES, 'DAY', 'DAYS', 'DBPROPERTIES', 'DEFINED', 'DELETE', 'DELIMITED', 'DESC', 'DESCRIBE', 'DFS', 'DIRECTORIES', 'DIRECTORY', 'DISTINCT', 'DISTRIBUTE', 'DROP', 'ELSE', 'END', 'ESCAPED', 'EXCEPT', 'EXCHANGE', 'EXISTS', 'EXPLAIN', 'EXPORT', 'EXTENDED', 'EXTERNAL', 'EXTRACT', 'FALSE', 'FETCH', 'FIELDS', 'FILEFORMAT', 'FIRST', 'FIRST_VALUE', 'FOLLOWING', 'FOR', 'FOREIGN', 'FORMAT', 'FORMATTED', 'FROM', 'FULL', 'FUNCTION', 'FUNCTIONS', 'GLOBAL', 'GRANT', 'GROUP', 'GROUPING', 'HAVING', 'HOUR', 'HOURS', 'IF', 'IGNORE', 'IMPORT', 'IN', 'INDEX', 'INDEXES', 'INNER', 'INPATH', 'INPUTFORMAT', 'INSERT', 'INTERSECT', 'INTERVAL', 'INTO', 'IS', 'ITEMS', 'JOIN', 'KEYS', 'LAST', 'LAST_VALUE', 'LATERAL', 'LAZY', 'LEADING', 'LEFT', 'LIKE', 'LIMIT', 'LINES', 'LIST', 'LOAD', 'LOCAL', 'LOCATION', 'LOCK', 'LOCKS', 'LOGICAL', 'MACRO', 'MAP', 'MICROSECOND', 'MICROSECONDS', 'MILLISECOND', 'MILLISECONDS', 'MINUTE', 'MINUTES', 'MONTH', 'MONTHS', 'MSCK', 'NAMESPACE', 'NAMESPACES', 'NATURAL', 'NO', NOT, 'NULL', 'NULLS', 'OF', 'ON', 'ONLY', 'OPTION', 'OPTIONS', 'OR', 'ORDER', 'OUT', 'OUTER', 'OUTPUTFORMAT', 'OVER', 'OVERLAPS', 'OVERLAY', 'OVERWRITE', 'PARTITION', 'PARTITIONED', 'PARTITIONS', 'PERCENT', 'PIVOT', 'PLACING', 'POSITION', 'PRECEDING', 'PRIMARY', 'PRINCIPALS', 'PURGE', 'QUERY', 'RANGE', 'RECORDREADER', 'RECORDWRITER', 'RECOVER', 'REDUCE', 'REFERENCES', 'REFRESH', 'RENAME', 'REPAIR', 'REPLACE', 'RESET', 'RESPECT', 'RESTRICT', 'REVOKE', 'RIGHT', RLIKE, 'ROLE', 'ROLES', 'ROLLBACK', 'ROLLUP', 'ROW', 'ROWS', 'SCHEMA', 'SECOND', 'SECONDS', 'SELECT', 'SEMI', 'SEPARATED', 'SERDE', 'SERDEPROPERTIES', 'SESSION_USER', 'SET', 'MINUS', 'SETS', 'SHOW', 'SKEWED', 'SOME', 'SORT', 'SORTED', 'START', 'STATISTICS', 'STORED', 'STRATIFY', 'STRUCT', 'SUBSTR', 'SUBSTRING', 'TABLE', 'TABLES', 'TABLESAMPLE', 'TBLPROPERTIES', TEMPORARY, 'TERMINATED', 'THEN', 'TO', 'TOUCH', 'TRAILING', 'TRANSACTION', 'TRANSACTIONS', 'TRANSFORM', 'TRIM', 'TRUE', 'TRUNCATE', 'TYPE', 'UNARCHIVE', 'UNBOUNDED', 'UNCACHE', 'UNION', 'UNIQUE', 'UNKNOWN', 'UNLOCK', 'UNSET', 'UPDATE', 'USE', 'USER', 'USING', 'VALUES', 'VIEW', 'WEEK', 'WEEKS', 'WHEN', 'WHERE', 'WINDOW', 'WITH', 'YEAR', 'YEARS', 'DIV', IDENTIFIER, BACKQUOTED_IDENTIFIER}(line 1, pos 47) + +== SQL == +SELECT interval '1 2:03:04.5678' day to second(2) +-----------------------------------------------^^^ + + +-- !query 118 +SELECT interval '1 2.345' hour to second(2) +-- !query 118 schema +struct<> +-- !query 118 output +org.apache.spark.sql.catalyst.parser.ParseException + +mismatched input '2' expecting {'ADD', 'AFTER', 'ALL', 'ALTER', 'ANALYZE', 'AND', 'ANTI', 'ANY', 'ARCHIVE', 'ARRAY', 'AS', 'ASC', 'AT', 'AUTHORIZATION', 'BETWEEN', 'BOTH', 'BUCKET', 'BUCKETS', 'BY', 'CACHE', 'CASCADE', 'CASE', 'CAST', 'CHANGE', 'CHECK', 'CLEAR', 'CLUSTER', 'CLUSTERED', 'CODEGEN', 'COLLATE', 'COLLECTION', 'COLUMN', 'COLUMNS', 'COMMENT', 'COMMIT', 'COMPACT', 'COMPACTIONS', 'COMPUTE', 'CONCATENATE', 'CONSTRAINT', 'COST', 'CREATE', 'CROSS', 'CUBE', 'CURRENT', 'CURRENT_DATE', 'CURRENT_TIME', 'CURRENT_TIMESTAMP', 'CURRENT_USER', 'DATA', 'DATABASE', DATABASES, 'DAY', 'DAYS', 'DBPROPERTIES', 'DEFINED', 'DELETE', 'DELIMITED', 'DESC', 'DESCRIBE', 'DFS', 'DIRECTORIES', 'DIRECTORY', 'DISTINCT', 'DISTRIBUTE', 'DROP', 'ELSE', 'END', 'ESCAPED', 'EXCEPT', 'EXCHANGE', 'EXISTS', 'EXPLAIN', 'EXPORT', 'EXTENDED', 'EXTERNAL', 'EXTRACT', 'FALSE', 'FETCH', 'FIELDS', 'FILEFORMAT', 'FIRST', 'FIRST_VALUE', 'FOLLOWING', 'FOR', 'FOREIGN', 'FORMAT', 'FORMATTED', 'FROM', 'FULL', 'FUNCTION', 'FUNCTIONS', 'GLOBAL', 'GRANT', 'GROUP', 'GROUPING', 'HAVING', 'HOUR', 'HOURS', 'IF', 'IGNORE', 'IMPORT', 'IN', 'INDEX', 'INDEXES', 'INNER', 'INPATH', 'INPUTFORMAT', 'INSERT', 'INTERSECT', 'INTERVAL', 'INTO', 'IS', 'ITEMS', 'JOIN', 'KEYS', 'LAST', 'LAST_VALUE', 'LATERAL', 'LAZY', 'LEADING', 'LEFT', 'LIKE', 'LIMIT', 'LINES', 'LIST', 'LOAD', 'LOCAL', 'LOCATION', 'LOCK', 'LOCKS', 'LOGICAL', 'MACRO', 'MAP', 'MICROSECOND', 'MICROSECONDS', 'MILLISECOND', 'MILLISECONDS', 'MINUTE', 'MINUTES', 'MONTH', 'MONTHS', 'MSCK', 'NAMESPACE', 'NAMESPACES', 'NATURAL', 'NO', NOT, 'NULL', 'NULLS', 'OF', 'ON', 'ONLY', 'OPTION', 'OPTIONS', 'OR', 'ORDER', 'OUT', 'OUTER', 'OUTPUTFORMAT', 'OVER', 'OVERLAPS', 'OVERLAY', 'OVERWRITE', 'PARTITION', 'PARTITIONED', 'PARTITIONS', 'PERCENT', 'PIVOT', 'PLACING', 'POSITION', 'PRECEDING', 'PRIMARY', 'PRINCIPALS', 'PURGE', 'QUERY', 'RANGE', 'RECORDREADER', 'RECORDWRITER', 'RECOVER', 'REDUCE', 'REFERENCES', 'REFRESH', 'RENAME', 'REPAIR', 'REPLACE', 'RESET', 'RESPECT', 'RESTRICT', 'REVOKE', 'RIGHT', RLIKE, 'ROLE', 'ROLES', 'ROLLBACK', 'ROLLUP', 'ROW', 'ROWS', 'SCHEMA', 'SECOND', 'SECONDS', 'SELECT', 'SEMI', 'SEPARATED', 'SERDE', 'SERDEPROPERTIES', 'SESSION_USER', 'SET', 'MINUS', 'SETS', 'SHOW', 'SKEWED', 'SOME', 'SORT', 'SORTED', 'START', 'STATISTICS', 'STORED', 'STRATIFY', 'STRUCT', 'SUBSTR', 'SUBSTRING', 'TABLE', 'TABLES', 'TABLESAMPLE', 'TBLPROPERTIES', TEMPORARY, 'TERMINATED', 'THEN', 'TO', 'TOUCH', 'TRAILING', 'TRANSACTION', 'TRANSACTIONS', 'TRANSFORM', 'TRIM', 'TRUE', 'TRUNCATE', 'TYPE', 'UNARCHIVE', 'UNBOUNDED', 'UNCACHE', 'UNION', 'UNIQUE', 'UNKNOWN', 'UNLOCK', 'UNSET', 'UPDATE', 'USE', 'USER', 'USING', 'VALUES', 'VIEW', 'WEEK', 'WEEKS', 'WHEN', 'WHERE', 'WINDOW', 'WITH', 'YEAR', 'YEARS', 'DIV', IDENTIFIER, BACKQUOTED_IDENTIFIER}(line 1, pos 41) + +== SQL == +SELECT interval '1 2.345' hour to second(2) +-----------------------------------------^^^ + + +-- !query 119 +SELECT interval '1 2:03.45678' hour to second(2) +-- !query 119 schema +struct<> +-- !query 119 output +org.apache.spark.sql.catalyst.parser.ParseException + +mismatched input '2' expecting {'ADD', 'AFTER', 'ALL', 'ALTER', 'ANALYZE', 'AND', 'ANTI', 'ANY', 'ARCHIVE', 'ARRAY', 'AS', 'ASC', 'AT', 'AUTHORIZATION', 'BETWEEN', 'BOTH', 'BUCKET', 'BUCKETS', 'BY', 'CACHE', 'CASCADE', 'CASE', 'CAST', 'CHANGE', 'CHECK', 'CLEAR', 'CLUSTER', 'CLUSTERED', 'CODEGEN', 'COLLATE', 'COLLECTION', 'COLUMN', 'COLUMNS', 'COMMENT', 'COMMIT', 'COMPACT', 'COMPACTIONS', 'COMPUTE', 'CONCATENATE', 'CONSTRAINT', 'COST', 'CREATE', 'CROSS', 'CUBE', 'CURRENT', 'CURRENT_DATE', 'CURRENT_TIME', 'CURRENT_TIMESTAMP', 'CURRENT_USER', 'DATA', 'DATABASE', DATABASES, 'DAY', 'DAYS', 'DBPROPERTIES', 'DEFINED', 'DELETE', 'DELIMITED', 'DESC', 'DESCRIBE', 'DFS', 'DIRECTORIES', 'DIRECTORY', 'DISTINCT', 'DISTRIBUTE', 'DROP', 'ELSE', 'END', 'ESCAPED', 'EXCEPT', 'EXCHANGE', 'EXISTS', 'EXPLAIN', 'EXPORT', 'EXTENDED', 'EXTERNAL', 'EXTRACT', 'FALSE', 'FETCH', 'FIELDS', 'FILEFORMAT', 'FIRST', 'FIRST_VALUE', 'FOLLOWING', 'FOR', 'FOREIGN', 'FORMAT', 'FORMATTED', 'FROM', 'FULL', 'FUNCTION', 'FUNCTIONS', 'GLOBAL', 'GRANT', 'GROUP', 'GROUPING', 'HAVING', 'HOUR', 'HOURS', 'IF', 'IGNORE', 'IMPORT', 'IN', 'INDEX', 'INDEXES', 'INNER', 'INPATH', 'INPUTFORMAT', 'INSERT', 'INTERSECT', 'INTERVAL', 'INTO', 'IS', 'ITEMS', 'JOIN', 'KEYS', 'LAST', 'LAST_VALUE', 'LATERAL', 'LAZY', 'LEADING', 'LEFT', 'LIKE', 'LIMIT', 'LINES', 'LIST', 'LOAD', 'LOCAL', 'LOCATION', 'LOCK', 'LOCKS', 'LOGICAL', 'MACRO', 'MAP', 'MICROSECOND', 'MICROSECONDS', 'MILLISECOND', 'MILLISECONDS', 'MINUTE', 'MINUTES', 'MONTH', 'MONTHS', 'MSCK', 'NAMESPACE', 'NAMESPACES', 'NATURAL', 'NO', NOT, 'NULL', 'NULLS', 'OF', 'ON', 'ONLY', 'OPTION', 'OPTIONS', 'OR', 'ORDER', 'OUT', 'OUTER', 'OUTPUTFORMAT', 'OVER', 'OVERLAPS', 'OVERLAY', 'OVERWRITE', 'PARTITION', 'PARTITIONED', 'PARTITIONS', 'PERCENT', 'PIVOT', 'PLACING', 'POSITION', 'PRECEDING', 'PRIMARY', 'PRINCIPALS', 'PURGE', 'QUERY', 'RANGE', 'RECORDREADER', 'RECORDWRITER', 'RECOVER', 'REDUCE', 'REFERENCES', 'REFRESH', 'RENAME', 'REPAIR', 'REPLACE', 'RESET', 'RESPECT', 'RESTRICT', 'REVOKE', 'RIGHT', RLIKE, 'ROLE', 'ROLES', 'ROLLBACK', 'ROLLUP', 'ROW', 'ROWS', 'SCHEMA', 'SECOND', 'SECONDS', 'SELECT', 'SEMI', 'SEPARATED', 'SERDE', 'SERDEPROPERTIES', 'SESSION_USER', 'SET', 'MINUS', 'SETS', 'SHOW', 'SKEWED', 'SOME', 'SORT', 'SORTED', 'START', 'STATISTICS', 'STORED', 'STRATIFY', 'STRUCT', 'SUBSTR', 'SUBSTRING', 'TABLE', 'TABLES', 'TABLESAMPLE', 'TBLPROPERTIES', TEMPORARY, 'TERMINATED', 'THEN', 'TO', 'TOUCH', 'TRAILING', 'TRANSACTION', 'TRANSACTIONS', 'TRANSFORM', 'TRIM', 'TRUE', 'TRUNCATE', 'TYPE', 'UNARCHIVE', 'UNBOUNDED', 'UNCACHE', 'UNION', 'UNIQUE', 'UNKNOWN', 'UNLOCK', 'UNSET', 'UPDATE', 'USE', 'USER', 'USING', 'VALUES', 'VIEW', 'WEEK', 'WEEKS', 'WHEN', 'WHERE', 'WINDOW', 'WITH', 'YEAR', 'YEARS', 'DIV', IDENTIFIER, BACKQUOTED_IDENTIFIER}(line 1, pos 46) + +== SQL == +SELECT interval '1 2:03.45678' hour to second(2) +----------------------------------------------^^^ + + +-- !query 120 +SELECT interval '1 2:03:04.5678' hour to second(2) +-- !query 120 schema +struct<> +-- !query 120 output +org.apache.spark.sql.catalyst.parser.ParseException + +mismatched input '2' expecting {'ADD', 'AFTER', 'ALL', 'ALTER', 'ANALYZE', 'AND', 'ANTI', 'ANY', 'ARCHIVE', 'ARRAY', 'AS', 'ASC', 'AT', 'AUTHORIZATION', 'BETWEEN', 'BOTH', 'BUCKET', 'BUCKETS', 'BY', 'CACHE', 'CASCADE', 'CASE', 'CAST', 'CHANGE', 'CHECK', 'CLEAR', 'CLUSTER', 'CLUSTERED', 'CODEGEN', 'COLLATE', 'COLLECTION', 'COLUMN', 'COLUMNS', 'COMMENT', 'COMMIT', 'COMPACT', 'COMPACTIONS', 'COMPUTE', 'CONCATENATE', 'CONSTRAINT', 'COST', 'CREATE', 'CROSS', 'CUBE', 'CURRENT', 'CURRENT_DATE', 'CURRENT_TIME', 'CURRENT_TIMESTAMP', 'CURRENT_USER', 'DATA', 'DATABASE', DATABASES, 'DAY', 'DAYS', 'DBPROPERTIES', 'DEFINED', 'DELETE', 'DELIMITED', 'DESC', 'DESCRIBE', 'DFS', 'DIRECTORIES', 'DIRECTORY', 'DISTINCT', 'DISTRIBUTE', 'DROP', 'ELSE', 'END', 'ESCAPED', 'EXCEPT', 'EXCHANGE', 'EXISTS', 'EXPLAIN', 'EXPORT', 'EXTENDED', 'EXTERNAL', 'EXTRACT', 'FALSE', 'FETCH', 'FIELDS', 'FILEFORMAT', 'FIRST', 'FIRST_VALUE', 'FOLLOWING', 'FOR', 'FOREIGN', 'FORMAT', 'FORMATTED', 'FROM', 'FULL', 'FUNCTION', 'FUNCTIONS', 'GLOBAL', 'GRANT', 'GROUP', 'GROUPING', 'HAVING', 'HOUR', 'HOURS', 'IF', 'IGNORE', 'IMPORT', 'IN', 'INDEX', 'INDEXES', 'INNER', 'INPATH', 'INPUTFORMAT', 'INSERT', 'INTERSECT', 'INTERVAL', 'INTO', 'IS', 'ITEMS', 'JOIN', 'KEYS', 'LAST', 'LAST_VALUE', 'LATERAL', 'LAZY', 'LEADING', 'LEFT', 'LIKE', 'LIMIT', 'LINES', 'LIST', 'LOAD', 'LOCAL', 'LOCATION', 'LOCK', 'LOCKS', 'LOGICAL', 'MACRO', 'MAP', 'MICROSECOND', 'MICROSECONDS', 'MILLISECOND', 'MILLISECONDS', 'MINUTE', 'MINUTES', 'MONTH', 'MONTHS', 'MSCK', 'NAMESPACE', 'NAMESPACES', 'NATURAL', 'NO', NOT, 'NULL', 'NULLS', 'OF', 'ON', 'ONLY', 'OPTION', 'OPTIONS', 'OR', 'ORDER', 'OUT', 'OUTER', 'OUTPUTFORMAT', 'OVER', 'OVERLAPS', 'OVERLAY', 'OVERWRITE', 'PARTITION', 'PARTITIONED', 'PARTITIONS', 'PERCENT', 'PIVOT', 'PLACING', 'POSITION', 'PRECEDING', 'PRIMARY', 'PRINCIPALS', 'PURGE', 'QUERY', 'RANGE', 'RECORDREADER', 'RECORDWRITER', 'RECOVER', 'REDUCE', 'REFERENCES', 'REFRESH', 'RENAME', 'REPAIR', 'REPLACE', 'RESET', 'RESPECT', 'RESTRICT', 'REVOKE', 'RIGHT', RLIKE, 'ROLE', 'ROLES', 'ROLLBACK', 'ROLLUP', 'ROW', 'ROWS', 'SCHEMA', 'SECOND', 'SECONDS', 'SELECT', 'SEMI', 'SEPARATED', 'SERDE', 'SERDEPROPERTIES', 'SESSION_USER', 'SET', 'MINUS', 'SETS', 'SHOW', 'SKEWED', 'SOME', 'SORT', 'SORTED', 'START', 'STATISTICS', 'STORED', 'STRATIFY', 'STRUCT', 'SUBSTR', 'SUBSTRING', 'TABLE', 'TABLES', 'TABLESAMPLE', 'TBLPROPERTIES', TEMPORARY, 'TERMINATED', 'THEN', 'TO', 'TOUCH', 'TRAILING', 'TRANSACTION', 'TRANSACTIONS', 'TRANSFORM', 'TRIM', 'TRUE', 'TRUNCATE', 'TYPE', 'UNARCHIVE', 'UNBOUNDED', 'UNCACHE', 'UNION', 'UNIQUE', 'UNKNOWN', 'UNLOCK', 'UNSET', 'UPDATE', 'USE', 'USER', 'USING', 'VALUES', 'VIEW', 'WEEK', 'WEEKS', 'WHEN', 'WHERE', 'WINDOW', 'WITH', 'YEAR', 'YEARS', 'DIV', IDENTIFIER, BACKQUOTED_IDENTIFIER}(line 1, pos 48) + +== SQL == +SELECT interval '1 2:03:04.5678' hour to second(2) +------------------------------------------------^^^ + + +-- !query 121 +SELECT interval '1 2.3456' minute to second(2) +-- !query 121 schema +struct<> +-- !query 121 output +org.apache.spark.sql.catalyst.parser.ParseException + +mismatched input '2' expecting {'ADD', 'AFTER', 'ALL', 'ALTER', 'ANALYZE', 'AND', 'ANTI', 'ANY', 'ARCHIVE', 'ARRAY', 'AS', 'ASC', 'AT', 'AUTHORIZATION', 'BETWEEN', 'BOTH', 'BUCKET', 'BUCKETS', 'BY', 'CACHE', 'CASCADE', 'CASE', 'CAST', 'CHANGE', 'CHECK', 'CLEAR', 'CLUSTER', 'CLUSTERED', 'CODEGEN', 'COLLATE', 'COLLECTION', 'COLUMN', 'COLUMNS', 'COMMENT', 'COMMIT', 'COMPACT', 'COMPACTIONS', 'COMPUTE', 'CONCATENATE', 'CONSTRAINT', 'COST', 'CREATE', 'CROSS', 'CUBE', 'CURRENT', 'CURRENT_DATE', 'CURRENT_TIME', 'CURRENT_TIMESTAMP', 'CURRENT_USER', 'DATA', 'DATABASE', DATABASES, 'DAY', 'DAYS', 'DBPROPERTIES', 'DEFINED', 'DELETE', 'DELIMITED', 'DESC', 'DESCRIBE', 'DFS', 'DIRECTORIES', 'DIRECTORY', 'DISTINCT', 'DISTRIBUTE', 'DROP', 'ELSE', 'END', 'ESCAPED', 'EXCEPT', 'EXCHANGE', 'EXISTS', 'EXPLAIN', 'EXPORT', 'EXTENDED', 'EXTERNAL', 'EXTRACT', 'FALSE', 'FETCH', 'FIELDS', 'FILEFORMAT', 'FIRST', 'FIRST_VALUE', 'FOLLOWING', 'FOR', 'FOREIGN', 'FORMAT', 'FORMATTED', 'FROM', 'FULL', 'FUNCTION', 'FUNCTIONS', 'GLOBAL', 'GRANT', 'GROUP', 'GROUPING', 'HAVING', 'HOUR', 'HOURS', 'IF', 'IGNORE', 'IMPORT', 'IN', 'INDEX', 'INDEXES', 'INNER', 'INPATH', 'INPUTFORMAT', 'INSERT', 'INTERSECT', 'INTERVAL', 'INTO', 'IS', 'ITEMS', 'JOIN', 'KEYS', 'LAST', 'LAST_VALUE', 'LATERAL', 'LAZY', 'LEADING', 'LEFT', 'LIKE', 'LIMIT', 'LINES', 'LIST', 'LOAD', 'LOCAL', 'LOCATION', 'LOCK', 'LOCKS', 'LOGICAL', 'MACRO', 'MAP', 'MICROSECOND', 'MICROSECONDS', 'MILLISECOND', 'MILLISECONDS', 'MINUTE', 'MINUTES', 'MONTH', 'MONTHS', 'MSCK', 'NAMESPACE', 'NAMESPACES', 'NATURAL', 'NO', NOT, 'NULL', 'NULLS', 'OF', 'ON', 'ONLY', 'OPTION', 'OPTIONS', 'OR', 'ORDER', 'OUT', 'OUTER', 'OUTPUTFORMAT', 'OVER', 'OVERLAPS', 'OVERLAY', 'OVERWRITE', 'PARTITION', 'PARTITIONED', 'PARTITIONS', 'PERCENT', 'PIVOT', 'PLACING', 'POSITION', 'PRECEDING', 'PRIMARY', 'PRINCIPALS', 'PURGE', 'QUERY', 'RANGE', 'RECORDREADER', 'RECORDWRITER', 'RECOVER', 'REDUCE', 'REFERENCES', 'REFRESH', 'RENAME', 'REPAIR', 'REPLACE', 'RESET', 'RESPECT', 'RESTRICT', 'REVOKE', 'RIGHT', RLIKE, 'ROLE', 'ROLES', 'ROLLBACK', 'ROLLUP', 'ROW', 'ROWS', 'SCHEMA', 'SECOND', 'SECONDS', 'SELECT', 'SEMI', 'SEPARATED', 'SERDE', 'SERDEPROPERTIES', 'SESSION_USER', 'SET', 'MINUS', 'SETS', 'SHOW', 'SKEWED', 'SOME', 'SORT', 'SORTED', 'START', 'STATISTICS', 'STORED', 'STRATIFY', 'STRUCT', 'SUBSTR', 'SUBSTRING', 'TABLE', 'TABLES', 'TABLESAMPLE', 'TBLPROPERTIES', TEMPORARY, 'TERMINATED', 'THEN', 'TO', 'TOUCH', 'TRAILING', 'TRANSACTION', 'TRANSACTIONS', 'TRANSFORM', 'TRIM', 'TRUE', 'TRUNCATE', 'TYPE', 'UNARCHIVE', 'UNBOUNDED', 'UNCACHE', 'UNION', 'UNIQUE', 'UNKNOWN', 'UNLOCK', 'UNSET', 'UPDATE', 'USE', 'USER', 'USING', 'VALUES', 'VIEW', 'WEEK', 'WEEKS', 'WHEN', 'WHERE', 'WINDOW', 'WITH', 'YEAR', 'YEARS', 'DIV', IDENTIFIER, BACKQUOTED_IDENTIFIER}(line 1, pos 44) + +== SQL == +SELECT interval '1 2.3456' minute to second(2) +--------------------------------------------^^^ + + +-- !query 122 +SELECT interval '1 2:03.5678' minute to second(2) +-- !query 122 schema +struct<> +-- !query 122 output +org.apache.spark.sql.catalyst.parser.ParseException + +mismatched input '2' expecting {'ADD', 'AFTER', 'ALL', 'ALTER', 'ANALYZE', 'AND', 'ANTI', 'ANY', 'ARCHIVE', 'ARRAY', 'AS', 'ASC', 'AT', 'AUTHORIZATION', 'BETWEEN', 'BOTH', 'BUCKET', 'BUCKETS', 'BY', 'CACHE', 'CASCADE', 'CASE', 'CAST', 'CHANGE', 'CHECK', 'CLEAR', 'CLUSTER', 'CLUSTERED', 'CODEGEN', 'COLLATE', 'COLLECTION', 'COLUMN', 'COLUMNS', 'COMMENT', 'COMMIT', 'COMPACT', 'COMPACTIONS', 'COMPUTE', 'CONCATENATE', 'CONSTRAINT', 'COST', 'CREATE', 'CROSS', 'CUBE', 'CURRENT', 'CURRENT_DATE', 'CURRENT_TIME', 'CURRENT_TIMESTAMP', 'CURRENT_USER', 'DATA', 'DATABASE', DATABASES, 'DAY', 'DAYS', 'DBPROPERTIES', 'DEFINED', 'DELETE', 'DELIMITED', 'DESC', 'DESCRIBE', 'DFS', 'DIRECTORIES', 'DIRECTORY', 'DISTINCT', 'DISTRIBUTE', 'DROP', 'ELSE', 'END', 'ESCAPED', 'EXCEPT', 'EXCHANGE', 'EXISTS', 'EXPLAIN', 'EXPORT', 'EXTENDED', 'EXTERNAL', 'EXTRACT', 'FALSE', 'FETCH', 'FIELDS', 'FILEFORMAT', 'FIRST', 'FIRST_VALUE', 'FOLLOWING', 'FOR', 'FOREIGN', 'FORMAT', 'FORMATTED', 'FROM', 'FULL', 'FUNCTION', 'FUNCTIONS', 'GLOBAL', 'GRANT', 'GROUP', 'GROUPING', 'HAVING', 'HOUR', 'HOURS', 'IF', 'IGNORE', 'IMPORT', 'IN', 'INDEX', 'INDEXES', 'INNER', 'INPATH', 'INPUTFORMAT', 'INSERT', 'INTERSECT', 'INTERVAL', 'INTO', 'IS', 'ITEMS', 'JOIN', 'KEYS', 'LAST', 'LAST_VALUE', 'LATERAL', 'LAZY', 'LEADING', 'LEFT', 'LIKE', 'LIMIT', 'LINES', 'LIST', 'LOAD', 'LOCAL', 'LOCATION', 'LOCK', 'LOCKS', 'LOGICAL', 'MACRO', 'MAP', 'MICROSECOND', 'MICROSECONDS', 'MILLISECOND', 'MILLISECONDS', 'MINUTE', 'MINUTES', 'MONTH', 'MONTHS', 'MSCK', 'NAMESPACE', 'NAMESPACES', 'NATURAL', 'NO', NOT, 'NULL', 'NULLS', 'OF', 'ON', 'ONLY', 'OPTION', 'OPTIONS', 'OR', 'ORDER', 'OUT', 'OUTER', 'OUTPUTFORMAT', 'OVER', 'OVERLAPS', 'OVERLAY', 'OVERWRITE', 'PARTITION', 'PARTITIONED', 'PARTITIONS', 'PERCENT', 'PIVOT', 'PLACING', 'POSITION', 'PRECEDING', 'PRIMARY', 'PRINCIPALS', 'PURGE', 'QUERY', 'RANGE', 'RECORDREADER', 'RECORDWRITER', 'RECOVER', 'REDUCE', 'REFERENCES', 'REFRESH', 'RENAME', 'REPAIR', 'REPLACE', 'RESET', 'RESPECT', 'RESTRICT', 'REVOKE', 'RIGHT', RLIKE, 'ROLE', 'ROLES', 'ROLLBACK', 'ROLLUP', 'ROW', 'ROWS', 'SCHEMA', 'SECOND', 'SECONDS', 'SELECT', 'SEMI', 'SEPARATED', 'SERDE', 'SERDEPROPERTIES', 'SESSION_USER', 'SET', 'MINUS', 'SETS', 'SHOW', 'SKEWED', 'SOME', 'SORT', 'SORTED', 'START', 'STATISTICS', 'STORED', 'STRATIFY', 'STRUCT', 'SUBSTR', 'SUBSTRING', 'TABLE', 'TABLES', 'TABLESAMPLE', 'TBLPROPERTIES', TEMPORARY, 'TERMINATED', 'THEN', 'TO', 'TOUCH', 'TRAILING', 'TRANSACTION', 'TRANSACTIONS', 'TRANSFORM', 'TRIM', 'TRUE', 'TRUNCATE', 'TYPE', 'UNARCHIVE', 'UNBOUNDED', 'UNCACHE', 'UNION', 'UNIQUE', 'UNKNOWN', 'UNLOCK', 'UNSET', 'UPDATE', 'USE', 'USER', 'USING', 'VALUES', 'VIEW', 'WEEK', 'WEEKS', 'WHEN', 'WHERE', 'WINDOW', 'WITH', 'YEAR', 'YEARS', 'DIV', IDENTIFIER, BACKQUOTED_IDENTIFIER}(line 1, pos 47) + +== SQL == +SELECT interval '1 2:03.5678' minute to second(2) +-----------------------------------------------^^^ + + +-- !query 123 +SELECT interval '1 2:03:04.5678' minute to second(2) +-- !query 123 schema +struct<> +-- !query 123 output +org.apache.spark.sql.catalyst.parser.ParseException + +mismatched input '2' expecting {'ADD', 'AFTER', 'ALL', 'ALTER', 'ANALYZE', 'AND', 'ANTI', 'ANY', 'ARCHIVE', 'ARRAY', 'AS', 'ASC', 'AT', 'AUTHORIZATION', 'BETWEEN', 'BOTH', 'BUCKET', 'BUCKETS', 'BY', 'CACHE', 'CASCADE', 'CASE', 'CAST', 'CHANGE', 'CHECK', 'CLEAR', 'CLUSTER', 'CLUSTERED', 'CODEGEN', 'COLLATE', 'COLLECTION', 'COLUMN', 'COLUMNS', 'COMMENT', 'COMMIT', 'COMPACT', 'COMPACTIONS', 'COMPUTE', 'CONCATENATE', 'CONSTRAINT', 'COST', 'CREATE', 'CROSS', 'CUBE', 'CURRENT', 'CURRENT_DATE', 'CURRENT_TIME', 'CURRENT_TIMESTAMP', 'CURRENT_USER', 'DATA', 'DATABASE', DATABASES, 'DAY', 'DAYS', 'DBPROPERTIES', 'DEFINED', 'DELETE', 'DELIMITED', 'DESC', 'DESCRIBE', 'DFS', 'DIRECTORIES', 'DIRECTORY', 'DISTINCT', 'DISTRIBUTE', 'DROP', 'ELSE', 'END', 'ESCAPED', 'EXCEPT', 'EXCHANGE', 'EXISTS', 'EXPLAIN', 'EXPORT', 'EXTENDED', 'EXTERNAL', 'EXTRACT', 'FALSE', 'FETCH', 'FIELDS', 'FILEFORMAT', 'FIRST', 'FIRST_VALUE', 'FOLLOWING', 'FOR', 'FOREIGN', 'FORMAT', 'FORMATTED', 'FROM', 'FULL', 'FUNCTION', 'FUNCTIONS', 'GLOBAL', 'GRANT', 'GROUP', 'GROUPING', 'HAVING', 'HOUR', 'HOURS', 'IF', 'IGNORE', 'IMPORT', 'IN', 'INDEX', 'INDEXES', 'INNER', 'INPATH', 'INPUTFORMAT', 'INSERT', 'INTERSECT', 'INTERVAL', 'INTO', 'IS', 'ITEMS', 'JOIN', 'KEYS', 'LAST', 'LAST_VALUE', 'LATERAL', 'LAZY', 'LEADING', 'LEFT', 'LIKE', 'LIMIT', 'LINES', 'LIST', 'LOAD', 'LOCAL', 'LOCATION', 'LOCK', 'LOCKS', 'LOGICAL', 'MACRO', 'MAP', 'MICROSECOND', 'MICROSECONDS', 'MILLISECOND', 'MILLISECONDS', 'MINUTE', 'MINUTES', 'MONTH', 'MONTHS', 'MSCK', 'NAMESPACE', 'NAMESPACES', 'NATURAL', 'NO', NOT, 'NULL', 'NULLS', 'OF', 'ON', 'ONLY', 'OPTION', 'OPTIONS', 'OR', 'ORDER', 'OUT', 'OUTER', 'OUTPUTFORMAT', 'OVER', 'OVERLAPS', 'OVERLAY', 'OVERWRITE', 'PARTITION', 'PARTITIONED', 'PARTITIONS', 'PERCENT', 'PIVOT', 'PLACING', 'POSITION', 'PRECEDING', 'PRIMARY', 'PRINCIPALS', 'PURGE', 'QUERY', 'RANGE', 'RECORDREADER', 'RECORDWRITER', 'RECOVER', 'REDUCE', 'REFERENCES', 'REFRESH', 'RENAME', 'REPAIR', 'REPLACE', 'RESET', 'RESPECT', 'RESTRICT', 'REVOKE', 'RIGHT', RLIKE, 'ROLE', 'ROLES', 'ROLLBACK', 'ROLLUP', 'ROW', 'ROWS', 'SCHEMA', 'SECOND', 'SECONDS', 'SELECT', 'SEMI', 'SEPARATED', 'SERDE', 'SERDEPROPERTIES', 'SESSION_USER', 'SET', 'MINUS', 'SETS', 'SHOW', 'SKEWED', 'SOME', 'SORT', 'SORTED', 'START', 'STATISTICS', 'STORED', 'STRATIFY', 'STRUCT', 'SUBSTR', 'SUBSTRING', 'TABLE', 'TABLES', 'TABLESAMPLE', 'TBLPROPERTIES', TEMPORARY, 'TERMINATED', 'THEN', 'TO', 'TOUCH', 'TRAILING', 'TRANSACTION', 'TRANSACTIONS', 'TRANSFORM', 'TRIM', 'TRUE', 'TRUNCATE', 'TYPE', 'UNARCHIVE', 'UNBOUNDED', 'UNCACHE', 'UNION', 'UNIQUE', 'UNKNOWN', 'UNLOCK', 'UNSET', 'UPDATE', 'USE', 'USER', 'USING', 'VALUES', 'VIEW', 'WEEK', 'WEEKS', 'WHEN', 'WHERE', 'WINDOW', 'WITH', 'YEAR', 'YEARS', 'DIV', IDENTIFIER, BACKQUOTED_IDENTIFIER}(line 1, pos 50) + +== SQL == +SELECT interval '1 2:03:04.5678' minute to second(2) +--------------------------------------------------^^^ + + +-- !query 124 +SELECT f1, f1::INTERVAL DAY TO MINUTE AS "minutes", + (f1 + INTERVAL '1 month')::INTERVAL MONTH::INTERVAL YEAR AS "years" + FROM interval_tbl +-- !query 124 schema +struct<> +-- !query 124 output +org.apache.spark.sql.catalyst.parser.ParseException + +mismatched input ':' expecting {, '(', ',', '.', '[', 'ADD', 'AFTER', 'ALL', 'ALTER', 'ANALYZE', 'AND', 'ANTI', 'ANY', 'ARCHIVE', 'ARRAY', 'AS', 'ASC', 'AT', 'AUTHORIZATION', 'BETWEEN', 'BOTH', 'BUCKET', 'BUCKETS', 'BY', 'CACHE', 'CASCADE', 'CASE', 'CAST', 'CHANGE', 'CHECK', 'CLEAR', 'CLUSTER', 'CLUSTERED', 'CODEGEN', 'COLLATE', 'COLLECTION', 'COLUMN', 'COLUMNS', 'COMMENT', 'COMMIT', 'COMPACT', 'COMPACTIONS', 'COMPUTE', 'CONCATENATE', 'CONSTRAINT', 'COST', 'CREATE', 'CROSS', 'CUBE', 'CURRENT', 'CURRENT_DATE', 'CURRENT_TIME', 'CURRENT_TIMESTAMP', 'CURRENT_USER', 'DATA', 'DATABASE', DATABASES, 'DAY', 'DAYS', 'DBPROPERTIES', 'DEFINED', 'DELETE', 'DELIMITED', 'DESC', 'DESCRIBE', 'DFS', 'DIRECTORIES', 'DIRECTORY', 'DISTINCT', 'DISTRIBUTE', 'DROP', 'ELSE', 'END', 'ESCAPED', 'EXCEPT', 'EXCHANGE', 'EXISTS', 'EXPLAIN', 'EXPORT', 'EXTENDED', 'EXTERNAL', 'EXTRACT', 'FALSE', 'FETCH', 'FIELDS', 'FILEFORMAT', 'FIRST', 'FIRST_VALUE', 'FOLLOWING', 'FOR', 'FOREIGN', 'FORMAT', 'FORMATTED', 'FROM', 'FULL', 'FUNCTION', 'FUNCTIONS', 'GLOBAL', 'GRANT', 'GROUP', 'GROUPING', 'HAVING', 'HOUR', 'HOURS', 'IF', 'IGNORE', 'IMPORT', 'IN', 'INDEX', 'INDEXES', 'INNER', 'INPATH', 'INPUTFORMAT', 'INSERT', 'INTERSECT', 'INTERVAL', 'INTO', 'IS', 'ITEMS', 'JOIN', 'KEYS', 'LAST', 'LAST_VALUE', 'LATERAL', 'LAZY', 'LEADING', 'LEFT', 'LIKE', 'LIMIT', 'LINES', 'LIST', 'LOAD', 'LOCAL', 'LOCATION', 'LOCK', 'LOCKS', 'LOGICAL', 'MACRO', 'MAP', 'MICROSECOND', 'MICROSECONDS', 'MILLISECOND', 'MILLISECONDS', 'MINUTE', 'MINUTES', 'MONTH', 'MONTHS', 'MSCK', 'NAMESPACE', 'NAMESPACES', 'NATURAL', 'NO', NOT, 'NULL', 'NULLS', 'OF', 'ON', 'ONLY', 'OPTION', 'OPTIONS', 'OR', 'ORDER', 'OUT', 'OUTER', 'OUTPUTFORMAT', 'OVER', 'OVERLAPS', 'OVERLAY', 'OVERWRITE', 'PARTITION', 'PARTITIONED', 'PARTITIONS', 'PERCENT', 'PIVOT', 'PLACING', 'POSITION', 'PRECEDING', 'PRIMARY', 'PRINCIPALS', 'PURGE', 'QUERY', 'RANGE', 'RECORDREADER', 'RECORDWRITER', 'RECOVER', 'REDUCE', 'REFERENCES', 'REFRESH', 'RENAME', 'REPAIR', 'REPLACE', 'RESET', 'RESPECT', 'RESTRICT', 'REVOKE', 'RIGHT', RLIKE, 'ROLE', 'ROLES', 'ROLLBACK', 'ROLLUP', 'ROW', 'ROWS', 'SCHEMA', 'SECOND', 'SECONDS', 'SELECT', 'SEMI', 'SEPARATED', 'SERDE', 'SERDEPROPERTIES', 'SESSION_USER', 'SET', 'MINUS', 'SETS', 'SHOW', 'SKEWED', 'SOME', 'SORT', 'SORTED', 'START', 'STATISTICS', 'STORED', 'STRATIFY', 'STRUCT', 'SUBSTR', 'SUBSTRING', 'TABLE', 'TABLES', 'TABLESAMPLE', 'TBLPROPERTIES', TEMPORARY, 'TERMINATED', 'THEN', 'TO', 'TOUCH', 'TRAILING', 'TRANSACTION', 'TRANSACTIONS', 'TRANSFORM', 'TRIM', 'TRUE', 'TRUNCATE', 'TYPE', 'UNARCHIVE', 'UNBOUNDED', 'UNCACHE', 'UNION', 'UNIQUE', 'UNKNOWN', 'UNLOCK', 'UNSET', 'UPDATE', 'USE', 'USER', 'USING', 'VALUES', 'VIEW', 'WEEK', 'WEEKS', 'WHEN', 'WHERE', 'WINDOW', 'WITH', 'YEAR', 'YEARS', EQ, '<=>', '<>', '!=', '<', LTE, '>', GTE, '+', '-', '*', '/', '%', 'DIV', '&', '|', '||', '^', IDENTIFIER, BACKQUOTED_IDENTIFIER}(line 1, pos 13) + +== SQL == +SELECT f1, f1::INTERVAL DAY TO MINUTE AS "minutes", +-------------^^^ + (f1 + INTERVAL '1 month')::INTERVAL MONTH::INTERVAL YEAR AS "years" + FROM interval_tbl + + +-- !query 125 +SET IntervalStyle TO sql_standard +-- !query 125 schema +struct +-- !query 125 output +IntervalStyle TO sql_standard + + +-- !query 126 +SELECT interval '0' AS "zero", + interval '1-2' year to month AS "year-month", + interval '1 2:03:04' day to second AS "day-time", + - interval '1-2' AS "negative year-month", + - interval '1 2:03:04' AS "negative day-time" +-- !query 126 schema +struct<> +-- !query 126 output +org.apache.spark.sql.catalyst.parser.ParseException + +no viable alternative at input 'AS'(line 1, pos 43) + +== SQL == +SELECT interval '0' AS "zero", +-------------------------------------------^^^ + interval '1-2' year to month AS "year-month", + interval '1 2:03:04' day to second AS "day-time", + - interval '1-2' AS "negative year-month", + - interval '1 2:03:04' AS "negative day-time" + + +-- !query 127 +SET IntervalStyle TO postgres +-- !query 127 schema +struct +-- !query 127 output +IntervalStyle TO postgres + + +-- !query 128 +SELECT interval '+1 -1:00:00', + interval '-1 +1:00:00', + interval '+1-2 -3 +4:05:06.789', + interval '-1-2 +3 -4:05:06.789' +-- !query 128 schema +struct +-- !query 128 output +NULL NULL NULL NULL + + +-- !query 129 +SET IntervalStyle TO sql_standard +-- !query 129 schema +struct +-- !query 129 output +IntervalStyle TO sql_standard + + +-- !query 130 +SELECT interval '1 day -1 hours', + interval '-1 days +1 hours', + interval '1 years 2 months -3 days 4 hours 5 minutes 6.789 seconds', + - interval '1 years 2 months -3 days 4 hours 5 minutes 6.789 seconds' +-- !query 130 schema +struct +-- !query 130 output +NULL NULL NULL NULL + + +-- !query 131 +SET IntervalStyle to iso_8601 +-- !query 131 schema +struct +-- !query 131 output +IntervalStyle to iso_8601 + + +-- !query 132 +select interval '0' AS "zero", + interval '1-2' AS "a year 2 months", + interval '1 2:03:04' AS "a bit over a day", + interval '2:03:04.45679' AS "a bit over 2 hours", + (interval '1-2' + interval '3 4:05:06.7') AS "all fields", + (interval '1-2' - interval '3 4:05:06.7') AS "mixed sign", + (- interval '1-2' + interval '3 4:05:06.7') AS "negative" +-- !query 132 schema +struct<> +-- !query 132 output +org.apache.spark.sql.catalyst.parser.ParseException + +no viable alternative at input 'AS'(line 1, pos 52) + +== SQL == +select interval '0' AS "zero", +----------------------------------------------------^^^ + interval '1-2' AS "a year 2 months", + interval '1 2:03:04' AS "a bit over a day", + interval '2:03:04.45679' AS "a bit over 2 hours", + (interval '1-2' + interval '3 4:05:06.7') AS "all fields", + (interval '1-2' - interval '3 4:05:06.7') AS "mixed sign", + (- interval '1-2' + interval '3 4:05:06.7') AS "negative" + + +-- !query 133 +SET IntervalStyle to sql_standard +-- !query 133 schema +struct +-- !query 133 output +IntervalStyle to sql_standard + + +-- !query 134 +select interval 'P0Y' AS "zero", + interval 'P1Y2M' AS "a year 2 months", + interval 'P1W' AS "a week", + interval 'P1DT2H3M4S' AS "a bit over a day", + interval 'P1Y2M3DT4H5M6.7S' AS "all fields", + interval 'P-1Y-2M-3DT-4H-5M-6.7S' AS "negative", + interval 'PT-0.1S' AS "fractional second" +-- !query 134 schema +struct<> +-- !query 134 output +org.apache.spark.sql.catalyst.parser.ParseException + +no viable alternative at input 'AS'(line 1, pos 42) + +== SQL == +select interval 'P0Y' AS "zero", +------------------------------------------^^^ + interval 'P1Y2M' AS "a year 2 months", + interval 'P1W' AS "a week", + interval 'P1DT2H3M4S' AS "a bit over a day", + interval 'P1Y2M3DT4H5M6.7S' AS "all fields", + interval 'P-1Y-2M-3DT-4H-5M-6.7S' AS "negative", + interval 'PT-0.1S' AS "fractional second" + + +-- !query 135 +SET IntervalStyle to postgres +-- !query 135 schema +struct +-- !query 135 output +IntervalStyle to postgres + + +-- !query 136 +select interval 'P00021015T103020' AS "ISO8601 Basic Format", + interval 'P0002-10-15T10:30:20' AS "ISO8601 Extended Format" +-- !query 136 schema +struct<> +-- !query 136 output +org.apache.spark.sql.catalyst.parser.ParseException + +no viable alternative at input 'AS'(line 1, pos 42) + +== SQL == +select interval 'P00021015T103020' AS "ISO8601 Basic Format", +------------------------------------------^^^ + interval 'P0002-10-15T10:30:20' AS "ISO8601 Extended Format" + + +-- !query 137 +select interval 'P0002' AS "year only", + interval 'P0002-10' AS "year month", + interval 'P0002-10-15' AS "year month day", + interval 'P0002T1S' AS "year only plus time", + interval 'P0002-10T1S' AS "year month plus time", + interval 'P0002-10-15T1S' AS "year month day plus time", + interval 'PT10' AS "hour only", + interval 'PT10:30' AS "hour minute" +-- !query 137 schema +struct<> +-- !query 137 output +org.apache.spark.sql.catalyst.parser.ParseException + +no viable alternative at input 'AS'(line 1, pos 42) + +== SQL == +select interval 'P0002' AS "year only", +------------------------------------------^^^ + interval 'P0002-10' AS "year month", + interval 'P0002-10-15' AS "year month day", + interval 'P0002T1S' AS "year only plus time", + interval 'P0002-10T1S' AS "year month plus time", + interval 'P0002-10-15T1S' AS "year month day plus time", + interval 'PT10' AS "hour only", + interval 'PT10:30' AS "hour minute" + + +-- !query 138 +SET IntervalStyle to postgres_verbose +-- !query 138 schema +struct +-- !query 138 output +IntervalStyle to postgres_verbose + + +-- !query 139 +select interval '-10 mons -3 days +03:55:06.70' +-- !query 139 schema +struct +-- !query 139 output +NULL + + +-- !query 140 +select interval '1 year 2 mons 3 days 04:05:06.699999' +-- !query 140 schema +struct +-- !query 140 output +NULL + + +-- !query 141 +select interval '0:0:0.7', interval '@ 0.70 secs', interval '0.7 seconds' +-- !query 141 schema +struct +-- !query 141 output +NULL NULL NULL + + +-- !query 142 +select '30 days'::interval = '1 month'::interval as t +-- !query 142 schema +struct<> +-- !query 142 output +org.apache.spark.sql.catalyst.parser.ParseException + +mismatched input ':' expecting {, '(', ',', '.', '[', 'ADD', 'AFTER', 'ALL', 'ALTER', 'ANALYZE', 'AND', 'ANTI', 'ANY', 'ARCHIVE', 'ARRAY', 'AS', 'ASC', 'AT', 'AUTHORIZATION', 'BETWEEN', 'BOTH', 'BUCKET', 'BUCKETS', 'BY', 'CACHE', 'CASCADE', 'CASE', 'CAST', 'CHANGE', 'CHECK', 'CLEAR', 'CLUSTER', 'CLUSTERED', 'CODEGEN', 'COLLATE', 'COLLECTION', 'COLUMN', 'COLUMNS', 'COMMENT', 'COMMIT', 'COMPACT', 'COMPACTIONS', 'COMPUTE', 'CONCATENATE', 'CONSTRAINT', 'COST', 'CREATE', 'CROSS', 'CUBE', 'CURRENT', 'CURRENT_DATE', 'CURRENT_TIME', 'CURRENT_TIMESTAMP', 'CURRENT_USER', 'DATA', 'DATABASE', DATABASES, 'DAY', 'DAYS', 'DBPROPERTIES', 'DEFINED', 'DELETE', 'DELIMITED', 'DESC', 'DESCRIBE', 'DFS', 'DIRECTORIES', 'DIRECTORY', 'DISTINCT', 'DISTRIBUTE', 'DROP', 'ELSE', 'END', 'ESCAPED', 'EXCEPT', 'EXCHANGE', 'EXISTS', 'EXPLAIN', 'EXPORT', 'EXTENDED', 'EXTERNAL', 'EXTRACT', 'FALSE', 'FETCH', 'FIELDS', 'FILEFORMAT', 'FIRST', 'FIRST_VALUE', 'FOLLOWING', 'FOR', 'FOREIGN', 'FORMAT', 'FORMATTED', 'FROM', 'FULL', 'FUNCTION', 'FUNCTIONS', 'GLOBAL', 'GRANT', 'GROUP', 'GROUPING', 'HAVING', 'HOUR', 'HOURS', 'IF', 'IGNORE', 'IMPORT', 'IN', 'INDEX', 'INDEXES', 'INNER', 'INPATH', 'INPUTFORMAT', 'INSERT', 'INTERSECT', 'INTERVAL', 'INTO', 'IS', 'ITEMS', 'JOIN', 'KEYS', 'LAST', 'LAST_VALUE', 'LATERAL', 'LAZY', 'LEADING', 'LEFT', 'LIKE', 'LIMIT', 'LINES', 'LIST', 'LOAD', 'LOCAL', 'LOCATION', 'LOCK', 'LOCKS', 'LOGICAL', 'MACRO', 'MAP', 'MICROSECOND', 'MICROSECONDS', 'MILLISECOND', 'MILLISECONDS', 'MINUTE', 'MINUTES', 'MONTH', 'MONTHS', 'MSCK', 'NAMESPACE', 'NAMESPACES', 'NATURAL', 'NO', NOT, 'NULL', 'NULLS', 'OF', 'ON', 'ONLY', 'OPTION', 'OPTIONS', 'OR', 'ORDER', 'OUT', 'OUTER', 'OUTPUTFORMAT', 'OVER', 'OVERLAPS', 'OVERLAY', 'OVERWRITE', 'PARTITION', 'PARTITIONED', 'PARTITIONS', 'PERCENT', 'PIVOT', 'PLACING', 'POSITION', 'PRECEDING', 'PRIMARY', 'PRINCIPALS', 'PURGE', 'QUERY', 'RANGE', 'RECORDREADER', 'RECORDWRITER', 'RECOVER', 'REDUCE', 'REFERENCES', 'REFRESH', 'RENAME', 'REPAIR', 'REPLACE', 'RESET', 'RESPECT', 'RESTRICT', 'REVOKE', 'RIGHT', RLIKE, 'ROLE', 'ROLES', 'ROLLBACK', 'ROLLUP', 'ROW', 'ROWS', 'SCHEMA', 'SECOND', 'SECONDS', 'SELECT', 'SEMI', 'SEPARATED', 'SERDE', 'SERDEPROPERTIES', 'SESSION_USER', 'SET', 'MINUS', 'SETS', 'SHOW', 'SKEWED', 'SOME', 'SORT', 'SORTED', 'START', 'STATISTICS', 'STORED', 'STRATIFY', 'STRUCT', 'SUBSTR', 'SUBSTRING', 'TABLE', 'TABLES', 'TABLESAMPLE', 'TBLPROPERTIES', TEMPORARY, 'TERMINATED', 'THEN', 'TO', 'TOUCH', 'TRAILING', 'TRANSACTION', 'TRANSACTIONS', 'TRANSFORM', 'TRIM', 'TRUE', 'TRUNCATE', 'TYPE', 'UNARCHIVE', 'UNBOUNDED', 'UNCACHE', 'UNION', 'UNIQUE', 'UNKNOWN', 'UNLOCK', 'UNSET', 'UPDATE', 'USE', 'USER', 'USING', 'VALUES', 'VIEW', 'WEEK', 'WEEKS', 'WHEN', 'WHERE', 'WINDOW', 'WITH', 'YEAR', 'YEARS', EQ, '<=>', '<>', '!=', '<', LTE, '>', GTE, '+', '-', '*', '/', '%', 'DIV', '&', '|', '||', '^', STRING, IDENTIFIER, BACKQUOTED_IDENTIFIER}(line 1, pos 16) + +== SQL == +select '30 days'::interval = '1 month'::interval as t +----------------^^^ + + +-- !query 143 +select interval_hash('30 days'::interval) = interval_hash('1 month'::interval) as t +-- !query 143 schema +struct<> +-- !query 143 output +org.apache.spark.sql.catalyst.parser.ParseException + +mismatched input ':' expecting {')', ','}(line 1, pos 30) + +== SQL == +select interval_hash('30 days'::interval) = interval_hash('1 month'::interval) as t +------------------------------^^^ + + +-- !query 144 +select make_interval(years := 2) +-- !query 144 schema +struct<> +-- !query 144 output +org.apache.spark.sql.catalyst.parser.ParseException + +mismatched input ':' expecting {')', ',', '-'}(line 1, pos 27) + +== SQL == +select make_interval(years := 2) +---------------------------^^^ + + +-- !query 145 +select make_interval(years := 1, months := 6) +-- !query 145 schema +struct<> +-- !query 145 output +org.apache.spark.sql.catalyst.parser.ParseException + +mismatched input ':' expecting {')', ',', '-'}(line 1, pos 27) + +== SQL == +select make_interval(years := 1, months := 6) +---------------------------^^^ + + +-- !query 146 +select make_interval(years := 1, months := -1, weeks := 5, days := -7, hours := 25, mins := -180) +-- !query 146 schema +struct<> +-- !query 146 output +org.apache.spark.sql.catalyst.parser.ParseException + +mismatched input ':' expecting {')', ',', '-'}(line 1, pos 27) + +== SQL == +select make_interval(years := 1, months := -1, weeks := 5, days := -7, hours := 25, mins := -180) +---------------------------^^^ + + +-- !query 147 +select make_interval() = make_interval(years := 0, months := 0, weeks := 0, days := 0, mins := 0, secs := 0.0) +-- !query 147 schema +struct<> +-- !query 147 output +org.apache.spark.sql.catalyst.parser.ParseException + +mismatched input ':' expecting {')', ',', '-'}(line 1, pos 45) + +== SQL == +select make_interval() = make_interval(years := 0, months := 0, weeks := 0, days := 0, mins := 0, secs := 0.0) +---------------------------------------------^^^ + + +-- !query 148 +select make_interval(hours := -2, mins := -10, secs := -25.3) +-- !query 148 schema +struct<> +-- !query 148 output +org.apache.spark.sql.catalyst.parser.ParseException + +mismatched input ':' expecting {')', ',', '-'}(line 1, pos 27) + +== SQL == +select make_interval(hours := -2, mins := -10, secs := -25.3) +---------------------------^^^ + + +-- !query 149 +select make_interval(years := 'inf'::float::int) +-- !query 149 schema +struct<> +-- !query 149 output +org.apache.spark.sql.catalyst.parser.ParseException + +mismatched input ':' expecting {')', ',', '-'}(line 1, pos 27) + +== SQL == +select make_interval(years := 'inf'::float::int) +---------------------------^^^ + + +-- !query 150 +select make_interval(months := 'NaN'::float::int) +-- !query 150 schema +struct<> +-- !query 150 output +org.apache.spark.sql.catalyst.parser.ParseException + +mismatched input ':' expecting {')', ',', '-'}(line 1, pos 28) + +== SQL == +select make_interval(months := 'NaN'::float::int) +----------------------------^^^ + + +-- !query 151 +select make_interval(secs := 'inf') +-- !query 151 schema +struct<> +-- !query 151 output +org.apache.spark.sql.catalyst.parser.ParseException + +mismatched input ':' expecting {')', ',', '-'}(line 1, pos 26) + +== SQL == +select make_interval(secs := 'inf') +--------------------------^^^ + + +-- !query 152 +select make_interval(secs := 'NaN') +-- !query 152 schema +struct<> +-- !query 152 output +org.apache.spark.sql.catalyst.parser.ParseException + +mismatched input ':' expecting {')', ',', '-'}(line 1, pos 26) + +== SQL == +select make_interval(secs := 'NaN') +--------------------------^^^ + + +-- !query 153 +select make_interval(secs := 7e12) +-- !query 153 schema +struct<> +-- !query 153 output +org.apache.spark.sql.catalyst.parser.ParseException + +mismatched input ':' expecting {')', ',', '-'}(line 1, pos 26) + +== SQL == +select make_interval(secs := 7e12) +--------------------------^^^ From 18b15b9cec25b36b5583c2c91a16113b8f9a630d Mon Sep 17 00:00:00 2001 From: Maxim Gekk Date: Mon, 7 Oct 2019 10:16:10 +0300 Subject: [PATCH 03/11] Disable PostgreSQL specific settings --- .../test/resources/sql-tests/inputs/postgreSQL/interval.sql | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sql/core/src/test/resources/sql-tests/inputs/postgreSQL/interval.sql b/sql/core/src/test/resources/sql-tests/inputs/postgreSQL/interval.sql index bc5537d1b9c00..6c21a9d0cda35 100644 --- a/sql/core/src/test/resources/sql-tests/inputs/postgreSQL/interval.sql +++ b/sql/core/src/test/resources/sql-tests/inputs/postgreSQL/interval.sql @@ -2,8 +2,8 @@ -- INTERVAL -- -SET DATESTYLE = 'ISO'; -SET IntervalStyle to postgres; +-- SET DATESTYLE = 'ISO'; +-- SET IntervalStyle to postgres; -- check acceptance of "time zone style" SELECT INTERVAL '01:00' AS "One hour"; From 26ec823f0d34946c2da2a803c64fe1fb437fae90 Mon Sep 17 00:00:00 2001 From: Maxim Gekk Date: Mon, 7 Oct 2019 10:32:02 +0300 Subject: [PATCH 04/11] Fix aliases quoting --- .../sql-tests/inputs/postgreSQL/interval.sql | 84 +- .../results/postgreSQL/interval.sql.out | 1127 ++++++++--------- 2 files changed, 539 insertions(+), 672 deletions(-) diff --git a/sql/core/src/test/resources/sql-tests/inputs/postgreSQL/interval.sql b/sql/core/src/test/resources/sql-tests/inputs/postgreSQL/interval.sql index 6c21a9d0cda35..2774910534bf6 100644 --- a/sql/core/src/test/resources/sql-tests/inputs/postgreSQL/interval.sql +++ b/sql/core/src/test/resources/sql-tests/inputs/postgreSQL/interval.sql @@ -6,14 +6,14 @@ -- SET IntervalStyle to postgres; -- check acceptance of "time zone style" -SELECT INTERVAL '01:00' AS "One hour"; -SELECT INTERVAL '+02:00' AS "Two hours"; -SELECT INTERVAL '-08:00' AS "Eight hours"; -SELECT INTERVAL '-1 +02:03' AS "22 hours ago..."; -SELECT INTERVAL '-1 days +02:03' AS "22 hours ago..."; -SELECT INTERVAL '1.5 weeks' AS "Ten days twelve hours"; -SELECT INTERVAL '1.5 months' AS "One month 15 days"; -SELECT INTERVAL '10 years -11 month -12 days +13:14' AS "9 years..."; +SELECT INTERVAL '01:00' AS `One hour`; +SELECT INTERVAL '+02:00' AS `Two hours`; +SELECT INTERVAL '-08:00' AS `Eight hours`; +SELECT INTERVAL '-1 +02:03' AS `22 hours ago...`; +SELECT INTERVAL '-1 days +02:03' AS `22 hours ago...`; +SELECT INTERVAL '1.5 weeks' AS `Ten days twelve hours`; +SELECT INTERVAL '1.5 months' AS `One month 15 days`; +SELECT INTERVAL '10 years -11 month -12 days +13:14' AS `9 years...`; CREATE TABLE INTERVAL_TBL (f1 interval); @@ -143,12 +143,12 @@ select '100000000y 10mon -1000000000d -100000h -10min -10.000001s ago'::interval -- test justify_hours() and justify_days() -SELECT justify_hours(interval '6 months 3 days 52 hours 3 minutes 2 seconds') as "6 mons 5 days 4 hours 3 mins 2 seconds"; -SELECT justify_days(interval '6 months 36 days 5 hours 4 minutes 3 seconds') as "7 mons 6 days 5 hours 4 mins 3 seconds"; +SELECT justify_hours(interval '6 months 3 days 52 hours 3 minutes 2 seconds') as `6 mons 5 days 4 hours 3 mins 2 seconds`; +SELECT justify_days(interval '6 months 36 days 5 hours 4 minutes 3 seconds') as `7 mons 6 days 5 hours 4 mins 3 seconds`; -- test justify_interval() -SELECT justify_interval(interval '1 month -1 hour') as "1 month -1 hour"; +SELECT justify_interval(interval '1 month -1 hour') as `1 month -1 hour`; -- test fractional second input, and detection of duplicate units SET DATESTYLE = 'ISO'; @@ -224,17 +224,17 @@ SELECT interval '1 2:03.5678' minute to second(2); SELECT interval '1 2:03:04.5678' minute to second(2); -- test casting to restricted precision (bug #14479) -SELECT f1, f1::INTERVAL DAY TO MINUTE AS "minutes", - (f1 + INTERVAL '1 month')::INTERVAL MONTH::INTERVAL YEAR AS "years" +SELECT f1, f1::INTERVAL DAY TO MINUTE AS `minutes`, + (f1 + INTERVAL '1 month')::INTERVAL MONTH::INTERVAL YEAR AS `years` FROM interval_tbl; -- test inputting and outputting SQL standard interval literals SET IntervalStyle TO sql_standard; -SELECT interval '0' AS "zero", - interval '1-2' year to month AS "year-month", - interval '1 2:03:04' day to second AS "day-time", - - interval '1-2' AS "negative year-month", - - interval '1 2:03:04' AS "negative day-time"; +SELECT interval '0' AS zero, + interval '1-2' year to month AS `year-month`, + interval '1 2:03:04' day to second AS `day-time`, + - interval '1-2' AS `negative year-month`, + - interval '1 2:03:04' AS `negative day-time`; -- test input of some not-quite-standard interval values in the sql style SET IntervalStyle TO postgres; @@ -252,38 +252,38 @@ SELECT interval '1 day -1 hours', -- test outputting iso8601 intervals SET IntervalStyle to iso_8601; -select interval '0' AS "zero", - interval '1-2' AS "a year 2 months", - interval '1 2:03:04' AS "a bit over a day", - interval '2:03:04.45679' AS "a bit over 2 hours", - (interval '1-2' + interval '3 4:05:06.7') AS "all fields", - (interval '1-2' - interval '3 4:05:06.7') AS "mixed sign", - (- interval '1-2' + interval '3 4:05:06.7') AS "negative"; +select interval '0' AS zero, + interval '1-2' AS `a year 2 months`, + interval '1 2:03:04' AS `a bit over a day`, + interval '2:03:04.45679' AS `a bit over 2 hours`, + (interval '1-2' + interval '3 4:05:06.7') AS `all fields`, + (interval '1-2' - interval '3 4:05:06.7') AS `mixed sign`, + (- interval '1-2' + interval '3 4:05:06.7') AS negative; -- test inputting ISO 8601 4.4.2.1 "Format With Time Unit Designators" SET IntervalStyle to sql_standard; -select interval 'P0Y' AS "zero", - interval 'P1Y2M' AS "a year 2 months", - interval 'P1W' AS "a week", - interval 'P1DT2H3M4S' AS "a bit over a day", - interval 'P1Y2M3DT4H5M6.7S' AS "all fields", - interval 'P-1Y-2M-3DT-4H-5M-6.7S' AS "negative", - interval 'PT-0.1S' AS "fractional second"; +select interval 'P0Y' AS zero, + interval 'P1Y2M' AS `a year 2 months`, + interval 'P1W' AS `a week`, + interval 'P1DT2H3M4S' AS `a bit over a day`, + interval 'P1Y2M3DT4H5M6.7S' AS `all fields`, + interval 'P-1Y-2M-3DT-4H-5M-6.7S' AS negative, + interval 'PT-0.1S' AS `fractional second`; -- test inputting ISO 8601 4.4.2.2 "Alternative Format" SET IntervalStyle to postgres; -select interval 'P00021015T103020' AS "ISO8601 Basic Format", - interval 'P0002-10-15T10:30:20' AS "ISO8601 Extended Format"; +select interval 'P00021015T103020' AS `ISO8601 Basic Format`, + interval 'P0002-10-15T10:30:20' AS `ISO8601 Extended Format`; -- Make sure optional ISO8601 alternative format fields are optional. -select interval 'P0002' AS "year only", - interval 'P0002-10' AS "year month", - interval 'P0002-10-15' AS "year month day", - interval 'P0002T1S' AS "year only plus time", - interval 'P0002-10T1S' AS "year month plus time", - interval 'P0002-10-15T1S' AS "year month day plus time", - interval 'PT10' AS "hour only", - interval 'PT10:30' AS "hour minute"; +select interval 'P0002' AS `year only`, + interval 'P0002-10' AS `year month`, + interval 'P0002-10-15' AS `year month day`, + interval 'P0002T1S' AS `year only plus time`, + interval 'P0002-10T1S' AS `year month plus time`, + interval 'P0002-10-15T1S' AS `year month day plus time`, + interval 'PT10' AS `hour only`, + interval 'PT10:30' AS `hour minute`; -- test a couple rounding cases that changed since 8.3 w/ HAVE_INT64_TIMESTAMP. SET IntervalStyle to postgres_verbose; diff --git a/sql/core/src/test/resources/sql-tests/results/postgreSQL/interval.sql.out b/sql/core/src/test/resources/sql-tests/results/postgreSQL/interval.sql.out index 0e7c6c1dd638b..1af7b3b4688fd 100644 --- a/sql/core/src/test/resources/sql-tests/results/postgreSQL/interval.sql.out +++ b/sql/core/src/test/resources/sql-tests/results/postgreSQL/interval.sql.out @@ -1,146 +1,110 @@ -- Automatically generated by SQLQueryTestSuite --- Number of queries: 154 +-- Number of queries: 152 -- !query 0 -SET DATESTYLE = 'ISO' +SELECT INTERVAL '01:00' AS `One hour` -- !query 0 schema -struct +struct -- !query 0 output -DATESTYLE 'ISO' +NULL -- !query 1 -SET IntervalStyle to postgres +SELECT INTERVAL '+02:00' AS `Two hours` -- !query 1 schema -struct +struct -- !query 1 output -IntervalStyle to postgres +NULL -- !query 2 -SELECT INTERVAL '01:00' AS "One hour" +SELECT INTERVAL '-08:00' AS `Eight hours` -- !query 2 schema -struct<> +struct -- !query 2 output -org.apache.spark.sql.catalyst.parser.ParseException - -no viable alternative at input 'AS'(line 1, pos 24) - -== SQL == -SELECT INTERVAL '01:00' AS "One hour" -------------------------^^^ +NULL -- !query 3 -SELECT INTERVAL '+02:00' AS "Two hours" +SELECT INTERVAL '-1 +02:03' AS `22 hours ago...` -- !query 3 schema -struct<> +struct<22 hours ago...:interval> -- !query 3 output -org.apache.spark.sql.catalyst.parser.ParseException - -no viable alternative at input 'AS'(line 1, pos 25) - -== SQL == -SELECT INTERVAL '+02:00' AS "Two hours" --------------------------^^^ +NULL -- !query 4 -SELECT INTERVAL '-08:00' AS "Eight hours" +SELECT INTERVAL '-1 days +02:03' AS `22 hours ago...` -- !query 4 schema -struct<> +struct<22 hours ago...:interval> -- !query 4 output -org.apache.spark.sql.catalyst.parser.ParseException - -no viable alternative at input 'AS'(line 1, pos 25) - -== SQL == -SELECT INTERVAL '-08:00' AS "Eight hours" --------------------------^^^ +NULL -- !query 5 -SELECT INTERVAL '-1 +02:03' AS "22 hours ago..." +SELECT INTERVAL '1.5 weeks' AS `Ten days twelve hours` -- !query 5 schema -struct<> +struct -- !query 5 output -org.apache.spark.sql.catalyst.parser.ParseException - -no viable alternative at input 'AS'(line 1, pos 28) - -== SQL == -SELECT INTERVAL '-1 +02:03' AS "22 hours ago..." -----------------------------^^^ +NULL -- !query 6 -SELECT INTERVAL '-1 days +02:03' AS "22 hours ago..." +SELECT INTERVAL '1.5 months' AS `One month 15 days` -- !query 6 schema -struct<> +struct -- !query 6 output -org.apache.spark.sql.catalyst.parser.ParseException - -no viable alternative at input 'AS'(line 1, pos 33) - -== SQL == -SELECT INTERVAL '-1 days +02:03' AS "22 hours ago..." ----------------------------------^^^ +NULL -- !query 7 -SELECT INTERVAL '1.5 weeks' AS "Ten days twelve hours" +SELECT INTERVAL '10 years -11 month -12 days +13:14' AS `9 years...` -- !query 7 schema -struct<> +struct<9 years...:interval> -- !query 7 output -org.apache.spark.sql.catalyst.parser.ParseException - -no viable alternative at input 'AS'(line 1, pos 28) - -== SQL == -SELECT INTERVAL '1.5 weeks' AS "Ten days twelve hours" -----------------------------^^^ +NULL -- !query 8 -SELECT INTERVAL '1.5 months' AS "One month 15 days" +CREATE TABLE INTERVAL_TBL (f1 interval) -- !query 8 schema struct<> -- !query 8 output -org.apache.spark.sql.catalyst.parser.ParseException - -no viable alternative at input 'AS'(line 1, pos 29) - -== SQL == -SELECT INTERVAL '1.5 months' AS "One month 15 days" ------------------------------^^^ +org.apache.spark.sql.AnalysisException +Hive support is required to CREATE Hive TABLE (AS SELECT); -- !query 9 -SELECT INTERVAL '10 years -11 month -12 days +13:14' AS "9 years..." +INSERT INTO INTERVAL_TBL (f1) VALUES ('@ 1 minute') -- !query 9 schema struct<> -- !query 9 output org.apache.spark.sql.catalyst.parser.ParseException -no viable alternative at input 'AS'(line 1, pos 53) +mismatched input 'f1' expecting {'(', 'FROM', 'MAP', 'REDUCE', 'SELECT', 'TABLE', 'VALUES', 'WITH'}(line 1, pos 26) == SQL == -SELECT INTERVAL '10 years -11 month -12 days +13:14' AS "9 years..." ------------------------------------------------------^^^ +INSERT INTO INTERVAL_TBL (f1) VALUES ('@ 1 minute') +--------------------------^^^ -- !query 10 -CREATE TABLE INTERVAL_TBL (f1 interval) +INSERT INTO INTERVAL_TBL (f1) VALUES ('@ 5 hour') -- !query 10 schema struct<> -- !query 10 output -org.apache.spark.sql.AnalysisException -Hive support is required to CREATE Hive TABLE (AS SELECT); +org.apache.spark.sql.catalyst.parser.ParseException + +mismatched input 'f1' expecting {'(', 'FROM', 'MAP', 'REDUCE', 'SELECT', 'TABLE', 'VALUES', 'WITH'}(line 1, pos 26) + +== SQL == +INSERT INTO INTERVAL_TBL (f1) VALUES ('@ 5 hour') +--------------------------^^^ -- !query 11 -INSERT INTO INTERVAL_TBL (f1) VALUES ('@ 1 minute') +INSERT INTO INTERVAL_TBL (f1) VALUES ('@ 10 day') -- !query 11 schema struct<> -- !query 11 output @@ -149,12 +113,12 @@ org.apache.spark.sql.catalyst.parser.ParseException mismatched input 'f1' expecting {'(', 'FROM', 'MAP', 'REDUCE', 'SELECT', 'TABLE', 'VALUES', 'WITH'}(line 1, pos 26) == SQL == -INSERT INTO INTERVAL_TBL (f1) VALUES ('@ 1 minute') +INSERT INTO INTERVAL_TBL (f1) VALUES ('@ 10 day') --------------------------^^^ -- !query 12 -INSERT INTO INTERVAL_TBL (f1) VALUES ('@ 5 hour') +INSERT INTO INTERVAL_TBL (f1) VALUES ('@ 34 year') -- !query 12 schema struct<> -- !query 12 output @@ -163,12 +127,12 @@ org.apache.spark.sql.catalyst.parser.ParseException mismatched input 'f1' expecting {'(', 'FROM', 'MAP', 'REDUCE', 'SELECT', 'TABLE', 'VALUES', 'WITH'}(line 1, pos 26) == SQL == -INSERT INTO INTERVAL_TBL (f1) VALUES ('@ 5 hour') +INSERT INTO INTERVAL_TBL (f1) VALUES ('@ 34 year') --------------------------^^^ -- !query 13 -INSERT INTO INTERVAL_TBL (f1) VALUES ('@ 10 day') +INSERT INTO INTERVAL_TBL (f1) VALUES ('@ 3 months') -- !query 13 schema struct<> -- !query 13 output @@ -177,12 +141,12 @@ org.apache.spark.sql.catalyst.parser.ParseException mismatched input 'f1' expecting {'(', 'FROM', 'MAP', 'REDUCE', 'SELECT', 'TABLE', 'VALUES', 'WITH'}(line 1, pos 26) == SQL == -INSERT INTO INTERVAL_TBL (f1) VALUES ('@ 10 day') +INSERT INTO INTERVAL_TBL (f1) VALUES ('@ 3 months') --------------------------^^^ -- !query 14 -INSERT INTO INTERVAL_TBL (f1) VALUES ('@ 34 year') +INSERT INTO INTERVAL_TBL (f1) VALUES ('@ 14 seconds ago') -- !query 14 schema struct<> -- !query 14 output @@ -191,12 +155,12 @@ org.apache.spark.sql.catalyst.parser.ParseException mismatched input 'f1' expecting {'(', 'FROM', 'MAP', 'REDUCE', 'SELECT', 'TABLE', 'VALUES', 'WITH'}(line 1, pos 26) == SQL == -INSERT INTO INTERVAL_TBL (f1) VALUES ('@ 34 year') +INSERT INTO INTERVAL_TBL (f1) VALUES ('@ 14 seconds ago') --------------------------^^^ -- !query 15 -INSERT INTO INTERVAL_TBL (f1) VALUES ('@ 3 months') +INSERT INTO INTERVAL_TBL (f1) VALUES ('1 day 2 hours 3 minutes 4 seconds') -- !query 15 schema struct<> -- !query 15 output @@ -205,12 +169,12 @@ org.apache.spark.sql.catalyst.parser.ParseException mismatched input 'f1' expecting {'(', 'FROM', 'MAP', 'REDUCE', 'SELECT', 'TABLE', 'VALUES', 'WITH'}(line 1, pos 26) == SQL == -INSERT INTO INTERVAL_TBL (f1) VALUES ('@ 3 months') +INSERT INTO INTERVAL_TBL (f1) VALUES ('1 day 2 hours 3 minutes 4 seconds') --------------------------^^^ -- !query 16 -INSERT INTO INTERVAL_TBL (f1) VALUES ('@ 14 seconds ago') +INSERT INTO INTERVAL_TBL (f1) VALUES ('6 years') -- !query 16 schema struct<> -- !query 16 output @@ -219,12 +183,12 @@ org.apache.spark.sql.catalyst.parser.ParseException mismatched input 'f1' expecting {'(', 'FROM', 'MAP', 'REDUCE', 'SELECT', 'TABLE', 'VALUES', 'WITH'}(line 1, pos 26) == SQL == -INSERT INTO INTERVAL_TBL (f1) VALUES ('@ 14 seconds ago') +INSERT INTO INTERVAL_TBL (f1) VALUES ('6 years') --------------------------^^^ -- !query 17 -INSERT INTO INTERVAL_TBL (f1) VALUES ('1 day 2 hours 3 minutes 4 seconds') +INSERT INTO INTERVAL_TBL (f1) VALUES ('5 months') -- !query 17 schema struct<> -- !query 17 output @@ -233,12 +197,12 @@ org.apache.spark.sql.catalyst.parser.ParseException mismatched input 'f1' expecting {'(', 'FROM', 'MAP', 'REDUCE', 'SELECT', 'TABLE', 'VALUES', 'WITH'}(line 1, pos 26) == SQL == -INSERT INTO INTERVAL_TBL (f1) VALUES ('1 day 2 hours 3 minutes 4 seconds') +INSERT INTO INTERVAL_TBL (f1) VALUES ('5 months') --------------------------^^^ -- !query 18 -INSERT INTO INTERVAL_TBL (f1) VALUES ('6 years') +INSERT INTO INTERVAL_TBL (f1) VALUES ('5 months 12 hours') -- !query 18 schema struct<> -- !query 18 output @@ -247,12 +211,12 @@ org.apache.spark.sql.catalyst.parser.ParseException mismatched input 'f1' expecting {'(', 'FROM', 'MAP', 'REDUCE', 'SELECT', 'TABLE', 'VALUES', 'WITH'}(line 1, pos 26) == SQL == -INSERT INTO INTERVAL_TBL (f1) VALUES ('6 years') +INSERT INTO INTERVAL_TBL (f1) VALUES ('5 months 12 hours') --------------------------^^^ -- !query 19 -INSERT INTO INTERVAL_TBL (f1) VALUES ('5 months') +INSERT INTO INTERVAL_TBL (f1) VALUES ('badly formatted interval') -- !query 19 schema struct<> -- !query 19 output @@ -261,12 +225,12 @@ org.apache.spark.sql.catalyst.parser.ParseException mismatched input 'f1' expecting {'(', 'FROM', 'MAP', 'REDUCE', 'SELECT', 'TABLE', 'VALUES', 'WITH'}(line 1, pos 26) == SQL == -INSERT INTO INTERVAL_TBL (f1) VALUES ('5 months') +INSERT INTO INTERVAL_TBL (f1) VALUES ('badly formatted interval') --------------------------^^^ -- !query 20 -INSERT INTO INTERVAL_TBL (f1) VALUES ('5 months 12 hours') +INSERT INTO INTERVAL_TBL (f1) VALUES ('@ 30 eons ago') -- !query 20 schema struct<> -- !query 20 output @@ -275,124 +239,96 @@ org.apache.spark.sql.catalyst.parser.ParseException mismatched input 'f1' expecting {'(', 'FROM', 'MAP', 'REDUCE', 'SELECT', 'TABLE', 'VALUES', 'WITH'}(line 1, pos 26) == SQL == -INSERT INTO INTERVAL_TBL (f1) VALUES ('5 months 12 hours') +INSERT INTO INTERVAL_TBL (f1) VALUES ('@ 30 eons ago') --------------------------^^^ -- !query 21 -INSERT INTO INTERVAL_TBL (f1) VALUES ('badly formatted interval') +SELECT '' AS ten, * FROM INTERVAL_TBL -- !query 21 schema struct<> -- !query 21 output -org.apache.spark.sql.catalyst.parser.ParseException - -mismatched input 'f1' expecting {'(', 'FROM', 'MAP', 'REDUCE', 'SELECT', 'TABLE', 'VALUES', 'WITH'}(line 1, pos 26) - -== SQL == -INSERT INTO INTERVAL_TBL (f1) VALUES ('badly formatted interval') ---------------------------^^^ - - --- !query 22 -INSERT INTO INTERVAL_TBL (f1) VALUES ('@ 30 eons ago') --- !query 22 schema -struct<> --- !query 22 output -org.apache.spark.sql.catalyst.parser.ParseException - -mismatched input 'f1' expecting {'(', 'FROM', 'MAP', 'REDUCE', 'SELECT', 'TABLE', 'VALUES', 'WITH'}(line 1, pos 26) - -== SQL == -INSERT INTO INTERVAL_TBL (f1) VALUES ('@ 30 eons ago') ---------------------------^^^ - - --- !query 23 -SELECT '' AS ten, * FROM INTERVAL_TBL --- !query 23 schema -struct<> --- !query 23 output org.apache.spark.sql.AnalysisException Table or view not found: INTERVAL_TBL; line 1 pos 25 --- !query 24 +-- !query 22 SELECT '' AS nine, * FROM INTERVAL_TBL WHERE INTERVAL_TBL.f1 <> interval '@ 10 days' --- !query 24 schema +-- !query 22 schema struct<> --- !query 24 output +-- !query 22 output org.apache.spark.sql.AnalysisException Table or view not found: INTERVAL_TBL; line 1 pos 26 --- !query 25 +-- !query 23 SELECT '' AS three, * FROM INTERVAL_TBL WHERE INTERVAL_TBL.f1 <= interval '@ 5 hours' --- !query 25 schema +-- !query 23 schema struct<> --- !query 25 output +-- !query 23 output org.apache.spark.sql.AnalysisException Table or view not found: INTERVAL_TBL; line 1 pos 27 --- !query 26 +-- !query 24 SELECT '' AS three, * FROM INTERVAL_TBL WHERE INTERVAL_TBL.f1 < interval '@ 1 day' --- !query 26 schema +-- !query 24 schema struct<> --- !query 26 output +-- !query 24 output org.apache.spark.sql.AnalysisException Table or view not found: INTERVAL_TBL; line 1 pos 27 --- !query 27 +-- !query 25 SELECT '' AS one, * FROM INTERVAL_TBL WHERE INTERVAL_TBL.f1 = interval '@ 34 years' --- !query 27 schema +-- !query 25 schema struct<> --- !query 27 output +-- !query 25 output org.apache.spark.sql.AnalysisException Table or view not found: INTERVAL_TBL; line 1 pos 25 --- !query 28 +-- !query 26 SELECT '' AS five, * FROM INTERVAL_TBL WHERE INTERVAL_TBL.f1 >= interval '@ 1 month' --- !query 28 schema +-- !query 26 schema struct<> --- !query 28 output +-- !query 26 output org.apache.spark.sql.AnalysisException Table or view not found: INTERVAL_TBL; line 1 pos 26 --- !query 29 +-- !query 27 SELECT '' AS nine, * FROM INTERVAL_TBL WHERE INTERVAL_TBL.f1 > interval '@ 3 seconds ago' --- !query 29 schema +-- !query 27 schema struct<> --- !query 29 output +-- !query 27 output org.apache.spark.sql.AnalysisException Table or view not found: INTERVAL_TBL; line 1 pos 26 --- !query 30 +-- !query 28 SELECT '' AS fortyfive, r1.*, r2.* FROM INTERVAL_TBL r1, INTERVAL_TBL r2 WHERE r1.f1 > r2.f1 ORDER BY r1.f1, r2.f1 --- !query 30 schema +-- !query 28 schema struct<> --- !query 30 output +-- !query 28 output org.apache.spark.sql.AnalysisException Table or view not found: INTERVAL_TBL; line 2 pos 8 --- !query 31 +-- !query 29 CREATE TEMP TABLE INTERVAL_TBL_OF (f1 interval) --- !query 31 schema +-- !query 29 schema struct<> --- !query 31 output +-- !query 29 output org.apache.spark.sql.catalyst.parser.ParseException CREATE TEMPORARY TABLE is not supported yet. Please use CREATE TEMPORARY VIEW as an alternative.(line 1, pos 0) @@ -402,16 +338,16 @@ CREATE TEMP TABLE INTERVAL_TBL_OF (f1 interval) ^^^ --- !query 32 +-- !query 30 INSERT INTO INTERVAL_TBL_OF (f1) VALUES ('2147483647 days 2147483647 months'), ('2147483647 days -2147483648 months'), ('1 year'), ('-2147483648 days 2147483647 months'), ('-2147483648 days -2147483648 months') --- !query 32 schema +-- !query 30 schema struct<> --- !query 32 output +-- !query 30 output org.apache.spark.sql.catalyst.parser.ParseException mismatched input 'f1' expecting {'(', 'FROM', 'MAP', 'REDUCE', 'SELECT', 'TABLE', 'VALUES', 'WITH'}(line 1, pos 29) @@ -426,11 +362,11 @@ INSERT INTO INTERVAL_TBL_OF (f1) VALUES ('-2147483648 days -2147483648 months') --- !query 33 +-- !query 31 INSERT INTO INTERVAL_TBL_OF (f1) VALUES ('2147483648 days') --- !query 33 schema +-- !query 31 schema struct<> --- !query 33 output +-- !query 31 output org.apache.spark.sql.catalyst.parser.ParseException mismatched input 'f1' expecting {'(', 'FROM', 'MAP', 'REDUCE', 'SELECT', 'TABLE', 'VALUES', 'WITH'}(line 1, pos 29) @@ -440,11 +376,11 @@ INSERT INTO INTERVAL_TBL_OF (f1) VALUES ('2147483648 days') -----------------------------^^^ --- !query 34 +-- !query 32 INSERT INTO INTERVAL_TBL_OF (f1) VALUES ('-2147483649 days') --- !query 34 schema +-- !query 32 schema struct<> --- !query 34 output +-- !query 32 output org.apache.spark.sql.catalyst.parser.ParseException mismatched input 'f1' expecting {'(', 'FROM', 'MAP', 'REDUCE', 'SELECT', 'TABLE', 'VALUES', 'WITH'}(line 1, pos 29) @@ -454,11 +390,11 @@ INSERT INTO INTERVAL_TBL_OF (f1) VALUES ('-2147483649 days') -----------------------------^^^ --- !query 35 +-- !query 33 INSERT INTO INTERVAL_TBL_OF (f1) VALUES ('2147483647 years') --- !query 35 schema +-- !query 33 schema struct<> --- !query 35 output +-- !query 33 output org.apache.spark.sql.catalyst.parser.ParseException mismatched input 'f1' expecting {'(', 'FROM', 'MAP', 'REDUCE', 'SELECT', 'TABLE', 'VALUES', 'WITH'}(line 1, pos 29) @@ -468,11 +404,11 @@ INSERT INTO INTERVAL_TBL_OF (f1) VALUES ('2147483647 years') -----------------------------^^^ --- !query 36 +-- !query 34 INSERT INTO INTERVAL_TBL_OF (f1) VALUES ('-2147483648 years') --- !query 36 schema +-- !query 34 schema struct<> --- !query 36 output +-- !query 34 output org.apache.spark.sql.catalyst.parser.ParseException mismatched input 'f1' expecting {'(', 'FROM', 'MAP', 'REDUCE', 'SELECT', 'TABLE', 'VALUES', 'WITH'}(line 1, pos 29) @@ -482,23 +418,23 @@ INSERT INTO INTERVAL_TBL_OF (f1) VALUES ('-2147483648 years') -----------------------------^^^ --- !query 37 +-- !query 35 SELECT r1.*, r2.* FROM INTERVAL_TBL_OF r1, INTERVAL_TBL_OF r2 WHERE r1.f1 > r2.f1 ORDER BY r1.f1, r2.f1 --- !query 37 schema +-- !query 35 schema struct<> --- !query 37 output +-- !query 35 output org.apache.spark.sql.AnalysisException Table or view not found: INTERVAL_TBL_OF; line 2 pos 8 --- !query 38 +-- !query 36 CREATE INDEX ON INTERVAL_TBL_OF USING btree (f1) --- !query 38 schema +-- !query 36 schema struct<> --- !query 38 output +-- !query 36 output org.apache.spark.sql.catalyst.parser.ParseException Operation not allowed: CREATE INDEX(line 1, pos 0) @@ -508,20 +444,20 @@ CREATE INDEX ON INTERVAL_TBL_OF USING btree (f1) ^^^ --- !query 39 +-- !query 37 SET enable_seqscan TO false --- !query 39 schema +-- !query 37 schema struct --- !query 39 output +-- !query 37 output enable_seqscan TO false --- !query 40 +-- !query 38 EXPLAIN (COSTS OFF) SELECT f1 FROM INTERVAL_TBL_OF r1 ORDER BY f1 --- !query 40 schema +-- !query 38 schema struct<> --- !query 40 output +-- !query 38 output org.apache.spark.sql.catalyst.parser.ParseException mismatched input 'COSTS' expecting {'(', 'FROM', 'MAP', 'REDUCE', 'SELECT', 'TABLE', 'VALUES', 'WITH'}(line 1, pos 9) @@ -532,20 +468,20 @@ EXPLAIN (COSTS OFF) SELECT f1 FROM INTERVAL_TBL_OF r1 ORDER BY f1 --- !query 41 +-- !query 39 SELECT f1 FROM INTERVAL_TBL_OF r1 ORDER BY f1 --- !query 41 schema +-- !query 39 schema struct<> --- !query 41 output +-- !query 39 output org.apache.spark.sql.AnalysisException Table or view not found: INTERVAL_TBL_OF; line 1 pos 15 --- !query 42 +-- !query 40 RESET enable_seqscan --- !query 42 schema +-- !query 40 schema struct<> --- !query 42 output +-- !query 40 output org.apache.spark.sql.catalyst.parser.ParseException extraneous input 'enable_seqscan' expecting (line 1, pos 6) @@ -555,29 +491,29 @@ RESET enable_seqscan ------^^^ --- !query 43 +-- !query 41 DROP TABLE INTERVAL_TBL_OF --- !query 43 schema +-- !query 41 schema struct<> --- !query 43 output +-- !query 41 output org.apache.spark.sql.AnalysisException Table or view not found: INTERVAL_TBL_OF; --- !query 44 +-- !query 42 CREATE TABLE INTERVAL_MULDIV_TBL (span interval) --- !query 44 schema +-- !query 42 schema struct<> --- !query 44 output +-- !query 42 output org.apache.spark.sql.AnalysisException Hive support is required to CREATE Hive TABLE (AS SELECT); --- !query 45 +-- !query 43 COPY INTERVAL_MULDIV_TBL FROM STDIN --- !query 45 schema +-- !query 43 schema struct<> --- !query 45 output +-- !query 43 output org.apache.spark.sql.catalyst.parser.ParseException mismatched input 'COPY' expecting {'(', 'ADD', 'ALTER', 'ANALYZE', 'CACHE', 'CLEAR', 'COMMIT', 'CREATE', 'DELETE', 'DESC', 'DESCRIBE', 'DFS', 'DROP', 'EXPLAIN', 'EXPORT', 'FROM', 'GRANT', 'IMPORT', 'INSERT', 'LIST', 'LOAD', 'LOCK', 'MAP', 'MSCK', 'REDUCE', 'REFRESH', 'REPLACE', 'RESET', 'REVOKE', 'ROLLBACK', 'SELECT', 'SET', 'SHOW', 'START', 'TABLE', 'TRUNCATE', 'UNCACHE', 'UNLOCK', 'UPDATE', 'USE', 'VALUES', 'WITH'}(line 1, pos 0) @@ -587,7 +523,7 @@ COPY INTERVAL_MULDIV_TBL FROM STDIN ^^^ --- !query 46 +-- !query 44 41 mon 12 days 360:00 -41 mon -12 days +360:00 -12 days @@ -600,9 +536,9 @@ COPY INTERVAL_MULDIV_TBL FROM STDIN SELECT span * 0.3 AS product FROM INTERVAL_MULDIV_TBL --- !query 46 schema +-- !query 44 schema struct<> --- !query 46 output +-- !query 44 output org.apache.spark.sql.catalyst.parser.ParseException mismatched input '41' expecting {'(', 'ADD', 'ALTER', 'ANALYZE', 'CACHE', 'CLEAR', 'COMMIT', 'CREATE', 'DELETE', 'DESC', 'DESCRIBE', 'DFS', 'DROP', 'EXPLAIN', 'EXPORT', 'FROM', 'GRANT', 'IMPORT', 'INSERT', 'LIST', 'LOAD', 'LOCK', 'MAP', 'MSCK', 'REDUCE', 'REFRESH', 'REPLACE', 'RESET', 'REVOKE', 'ROLLBACK', 'SELECT', 'SET', 'SHOW', 'START', 'TABLE', 'TRUNCATE', 'UNCACHE', 'UNLOCK', 'UPDATE', 'USE', 'VALUES', 'WITH'}(line 1, pos 0) @@ -623,84 +559,84 @@ SELECT span * 0.3 AS product FROM INTERVAL_MULDIV_TBL --- !query 47 +-- !query 45 SELECT span * 8.2 AS product FROM INTERVAL_MULDIV_TBL --- !query 47 schema +-- !query 45 schema struct<> --- !query 47 output +-- !query 45 output org.apache.spark.sql.AnalysisException Table or view not found: INTERVAL_MULDIV_TBL; line 2 pos 5 --- !query 48 +-- !query 46 SELECT span / 10 AS quotient FROM INTERVAL_MULDIV_TBL --- !query 48 schema +-- !query 46 schema struct<> --- !query 48 output +-- !query 46 output org.apache.spark.sql.AnalysisException Table or view not found: INTERVAL_MULDIV_TBL; line 2 pos 5 --- !query 49 +-- !query 47 SELECT span / 100 AS quotient FROM INTERVAL_MULDIV_TBL --- !query 49 schema +-- !query 47 schema struct<> --- !query 49 output +-- !query 47 output org.apache.spark.sql.AnalysisException Table or view not found: INTERVAL_MULDIV_TBL; line 2 pos 5 --- !query 50 +-- !query 48 DROP TABLE INTERVAL_MULDIV_TBL --- !query 50 schema +-- !query 48 schema struct<> --- !query 50 output +-- !query 48 output org.apache.spark.sql.AnalysisException Table or view not found: INTERVAL_MULDIV_TBL; --- !query 51 +-- !query 49 SET DATESTYLE = 'postgres' --- !query 51 schema +-- !query 49 schema struct --- !query 51 output +-- !query 49 output DATESTYLE 'postgres' --- !query 52 +-- !query 50 SET IntervalStyle to postgres_verbose --- !query 52 schema +-- !query 50 schema struct --- !query 52 output +-- !query 50 output IntervalStyle to postgres_verbose --- !query 53 +-- !query 51 SELECT '' AS ten, * FROM INTERVAL_TBL --- !query 53 schema +-- !query 51 schema struct<> --- !query 53 output +-- !query 51 output org.apache.spark.sql.AnalysisException Table or view not found: INTERVAL_TBL; line 1 pos 25 --- !query 54 +-- !query 52 select avg(f1) from interval_tbl --- !query 54 schema +-- !query 52 schema struct<> --- !query 54 output +-- !query 52 output org.apache.spark.sql.AnalysisException Table or view not found: interval_tbl; line 1 pos 20 --- !query 55 +-- !query 53 select '4 millenniums 5 centuries 4 decades 1 year 4 months 4 days 17 minutes 31 seconds'::interval --- !query 55 schema +-- !query 53 schema struct<> --- !query 55 output +-- !query 53 output org.apache.spark.sql.catalyst.parser.ParseException mismatched input ':' expecting {, '(', ',', '.', '[', 'ADD', 'AFTER', 'ALL', 'ALTER', 'ANALYZE', 'AND', 'ANTI', 'ANY', 'ARCHIVE', 'ARRAY', 'AS', 'ASC', 'AT', 'AUTHORIZATION', 'BETWEEN', 'BOTH', 'BUCKET', 'BUCKETS', 'BY', 'CACHE', 'CASCADE', 'CASE', 'CAST', 'CHANGE', 'CHECK', 'CLEAR', 'CLUSTER', 'CLUSTERED', 'CODEGEN', 'COLLATE', 'COLLECTION', 'COLUMN', 'COLUMNS', 'COMMENT', 'COMMIT', 'COMPACT', 'COMPACTIONS', 'COMPUTE', 'CONCATENATE', 'CONSTRAINT', 'COST', 'CREATE', 'CROSS', 'CUBE', 'CURRENT', 'CURRENT_DATE', 'CURRENT_TIME', 'CURRENT_TIMESTAMP', 'CURRENT_USER', 'DATA', 'DATABASE', DATABASES, 'DAY', 'DAYS', 'DBPROPERTIES', 'DEFINED', 'DELETE', 'DELIMITED', 'DESC', 'DESCRIBE', 'DFS', 'DIRECTORIES', 'DIRECTORY', 'DISTINCT', 'DISTRIBUTE', 'DROP', 'ELSE', 'END', 'ESCAPED', 'EXCEPT', 'EXCHANGE', 'EXISTS', 'EXPLAIN', 'EXPORT', 'EXTENDED', 'EXTERNAL', 'EXTRACT', 'FALSE', 'FETCH', 'FIELDS', 'FILEFORMAT', 'FIRST', 'FIRST_VALUE', 'FOLLOWING', 'FOR', 'FOREIGN', 'FORMAT', 'FORMATTED', 'FROM', 'FULL', 'FUNCTION', 'FUNCTIONS', 'GLOBAL', 'GRANT', 'GROUP', 'GROUPING', 'HAVING', 'HOUR', 'HOURS', 'IF', 'IGNORE', 'IMPORT', 'IN', 'INDEX', 'INDEXES', 'INNER', 'INPATH', 'INPUTFORMAT', 'INSERT', 'INTERSECT', 'INTERVAL', 'INTO', 'IS', 'ITEMS', 'JOIN', 'KEYS', 'LAST', 'LAST_VALUE', 'LATERAL', 'LAZY', 'LEADING', 'LEFT', 'LIKE', 'LIMIT', 'LINES', 'LIST', 'LOAD', 'LOCAL', 'LOCATION', 'LOCK', 'LOCKS', 'LOGICAL', 'MACRO', 'MAP', 'MICROSECOND', 'MICROSECONDS', 'MILLISECOND', 'MILLISECONDS', 'MINUTE', 'MINUTES', 'MONTH', 'MONTHS', 'MSCK', 'NAMESPACE', 'NAMESPACES', 'NATURAL', 'NO', NOT, 'NULL', 'NULLS', 'OF', 'ON', 'ONLY', 'OPTION', 'OPTIONS', 'OR', 'ORDER', 'OUT', 'OUTER', 'OUTPUTFORMAT', 'OVER', 'OVERLAPS', 'OVERLAY', 'OVERWRITE', 'PARTITION', 'PARTITIONED', 'PARTITIONS', 'PERCENT', 'PIVOT', 'PLACING', 'POSITION', 'PRECEDING', 'PRIMARY', 'PRINCIPALS', 'PURGE', 'QUERY', 'RANGE', 'RECORDREADER', 'RECORDWRITER', 'RECOVER', 'REDUCE', 'REFERENCES', 'REFRESH', 'RENAME', 'REPAIR', 'REPLACE', 'RESET', 'RESPECT', 'RESTRICT', 'REVOKE', 'RIGHT', RLIKE, 'ROLE', 'ROLES', 'ROLLBACK', 'ROLLUP', 'ROW', 'ROWS', 'SCHEMA', 'SECOND', 'SECONDS', 'SELECT', 'SEMI', 'SEPARATED', 'SERDE', 'SERDEPROPERTIES', 'SESSION_USER', 'SET', 'MINUS', 'SETS', 'SHOW', 'SKEWED', 'SOME', 'SORT', 'SORTED', 'START', 'STATISTICS', 'STORED', 'STRATIFY', 'STRUCT', 'SUBSTR', 'SUBSTRING', 'TABLE', 'TABLES', 'TABLESAMPLE', 'TBLPROPERTIES', TEMPORARY, 'TERMINATED', 'THEN', 'TO', 'TOUCH', 'TRAILING', 'TRANSACTION', 'TRANSACTIONS', 'TRANSFORM', 'TRIM', 'TRUE', 'TRUNCATE', 'TYPE', 'UNARCHIVE', 'UNBOUNDED', 'UNCACHE', 'UNION', 'UNIQUE', 'UNKNOWN', 'UNLOCK', 'UNSET', 'UPDATE', 'USE', 'USER', 'USING', 'VALUES', 'VIEW', 'WEEK', 'WEEKS', 'WHEN', 'WHERE', 'WINDOW', 'WITH', 'YEAR', 'YEARS', EQ, '<=>', '<>', '!=', '<', LTE, '>', GTE, '+', '-', '*', '/', '%', 'DIV', '&', '|', '||', '^', STRING, IDENTIFIER, BACKQUOTED_IDENTIFIER}(line 1, pos 89) @@ -710,11 +646,11 @@ select '4 millenniums 5 centuries 4 decades 1 year 4 months 4 days 17 minutes 31 -----------------------------------------------------------------------------------------^^^ --- !query 56 +-- !query 54 select '100000000y 10mon -1000000000d -100000h -10min -10.000001s ago'::interval --- !query 56 schema +-- !query 54 schema struct<> --- !query 56 output +-- !query 54 output org.apache.spark.sql.catalyst.parser.ParseException mismatched input ':' expecting {, '(', ',', '.', '[', 'ADD', 'AFTER', 'ALL', 'ALTER', 'ANALYZE', 'AND', 'ANTI', 'ANY', 'ARCHIVE', 'ARRAY', 'AS', 'ASC', 'AT', 'AUTHORIZATION', 'BETWEEN', 'BOTH', 'BUCKET', 'BUCKETS', 'BY', 'CACHE', 'CASCADE', 'CASE', 'CAST', 'CHANGE', 'CHECK', 'CLEAR', 'CLUSTER', 'CLUSTERED', 'CODEGEN', 'COLLATE', 'COLLECTION', 'COLUMN', 'COLUMNS', 'COMMENT', 'COMMIT', 'COMPACT', 'COMPACTIONS', 'COMPUTE', 'CONCATENATE', 'CONSTRAINT', 'COST', 'CREATE', 'CROSS', 'CUBE', 'CURRENT', 'CURRENT_DATE', 'CURRENT_TIME', 'CURRENT_TIMESTAMP', 'CURRENT_USER', 'DATA', 'DATABASE', DATABASES, 'DAY', 'DAYS', 'DBPROPERTIES', 'DEFINED', 'DELETE', 'DELIMITED', 'DESC', 'DESCRIBE', 'DFS', 'DIRECTORIES', 'DIRECTORY', 'DISTINCT', 'DISTRIBUTE', 'DROP', 'ELSE', 'END', 'ESCAPED', 'EXCEPT', 'EXCHANGE', 'EXISTS', 'EXPLAIN', 'EXPORT', 'EXTENDED', 'EXTERNAL', 'EXTRACT', 'FALSE', 'FETCH', 'FIELDS', 'FILEFORMAT', 'FIRST', 'FIRST_VALUE', 'FOLLOWING', 'FOR', 'FOREIGN', 'FORMAT', 'FORMATTED', 'FROM', 'FULL', 'FUNCTION', 'FUNCTIONS', 'GLOBAL', 'GRANT', 'GROUP', 'GROUPING', 'HAVING', 'HOUR', 'HOURS', 'IF', 'IGNORE', 'IMPORT', 'IN', 'INDEX', 'INDEXES', 'INNER', 'INPATH', 'INPUTFORMAT', 'INSERT', 'INTERSECT', 'INTERVAL', 'INTO', 'IS', 'ITEMS', 'JOIN', 'KEYS', 'LAST', 'LAST_VALUE', 'LATERAL', 'LAZY', 'LEADING', 'LEFT', 'LIKE', 'LIMIT', 'LINES', 'LIST', 'LOAD', 'LOCAL', 'LOCATION', 'LOCK', 'LOCKS', 'LOGICAL', 'MACRO', 'MAP', 'MICROSECOND', 'MICROSECONDS', 'MILLISECOND', 'MILLISECONDS', 'MINUTE', 'MINUTES', 'MONTH', 'MONTHS', 'MSCK', 'NAMESPACE', 'NAMESPACES', 'NATURAL', 'NO', NOT, 'NULL', 'NULLS', 'OF', 'ON', 'ONLY', 'OPTION', 'OPTIONS', 'OR', 'ORDER', 'OUT', 'OUTER', 'OUTPUTFORMAT', 'OVER', 'OVERLAPS', 'OVERLAY', 'OVERWRITE', 'PARTITION', 'PARTITIONED', 'PARTITIONS', 'PERCENT', 'PIVOT', 'PLACING', 'POSITION', 'PRECEDING', 'PRIMARY', 'PRINCIPALS', 'PURGE', 'QUERY', 'RANGE', 'RECORDREADER', 'RECORDWRITER', 'RECOVER', 'REDUCE', 'REFERENCES', 'REFRESH', 'RENAME', 'REPAIR', 'REPLACE', 'RESET', 'RESPECT', 'RESTRICT', 'REVOKE', 'RIGHT', RLIKE, 'ROLE', 'ROLES', 'ROLLBACK', 'ROLLUP', 'ROW', 'ROWS', 'SCHEMA', 'SECOND', 'SECONDS', 'SELECT', 'SEMI', 'SEPARATED', 'SERDE', 'SERDEPROPERTIES', 'SESSION_USER', 'SET', 'MINUS', 'SETS', 'SHOW', 'SKEWED', 'SOME', 'SORT', 'SORTED', 'START', 'STATISTICS', 'STORED', 'STRATIFY', 'STRUCT', 'SUBSTR', 'SUBSTRING', 'TABLE', 'TABLES', 'TABLESAMPLE', 'TBLPROPERTIES', TEMPORARY, 'TERMINATED', 'THEN', 'TO', 'TOUCH', 'TRAILING', 'TRANSACTION', 'TRANSACTIONS', 'TRANSFORM', 'TRIM', 'TRUE', 'TRUNCATE', 'TYPE', 'UNARCHIVE', 'UNBOUNDED', 'UNCACHE', 'UNION', 'UNIQUE', 'UNKNOWN', 'UNLOCK', 'UNSET', 'UPDATE', 'USE', 'USER', 'USING', 'VALUES', 'VIEW', 'WEEK', 'WEEKS', 'WHEN', 'WHERE', 'WINDOW', 'WITH', 'YEAR', 'YEARS', EQ, '<=>', '<>', '!=', '<', LTE, '>', GTE, '+', '-', '*', '/', '%', 'DIV', '&', '|', '||', '^', STRING, IDENTIFIER, BACKQUOTED_IDENTIFIER}(line 1, pos 70) @@ -724,70 +660,55 @@ select '100000000y 10mon -1000000000d -100000h -10min -10.000001s ago'::interval ----------------------------------------------------------------------^^^ --- !query 57 -SELECT justify_hours(interval '6 months 3 days 52 hours 3 minutes 2 seconds') as "6 mons 5 days 4 hours 3 mins 2 seconds" --- !query 57 schema +-- !query 55 +SELECT justify_hours(interval '6 months 3 days 52 hours 3 minutes 2 seconds') as `6 mons 5 days 4 hours 3 mins 2 seconds` +-- !query 55 schema struct<> --- !query 57 output -org.apache.spark.sql.catalyst.parser.ParseException - -no viable alternative at input 'as'(line 1, pos 78) - -== SQL == -SELECT justify_hours(interval '6 months 3 days 52 hours 3 minutes 2 seconds') as "6 mons 5 days 4 hours 3 mins 2 seconds" -------------------------------------------------------------------------------^^^ +-- !query 55 output +org.apache.spark.sql.AnalysisException +Undefined function: 'justify_hours'. This function is neither a registered temporary function nor a permanent function registered in the database 'default'.; line 1 pos 7 --- !query 58 -SELECT justify_days(interval '6 months 36 days 5 hours 4 minutes 3 seconds') as "7 mons 6 days 5 hours 4 mins 3 seconds" --- !query 58 schema +-- !query 56 +SELECT justify_days(interval '6 months 36 days 5 hours 4 minutes 3 seconds') as `7 mons 6 days 5 hours 4 mins 3 seconds` +-- !query 56 schema struct<> --- !query 58 output -org.apache.spark.sql.catalyst.parser.ParseException - -no viable alternative at input 'as'(line 1, pos 77) - -== SQL == -SELECT justify_days(interval '6 months 36 days 5 hours 4 minutes 3 seconds') as "7 mons 6 days 5 hours 4 mins 3 seconds" ------------------------------------------------------------------------------^^^ +-- !query 56 output +org.apache.spark.sql.AnalysisException +Undefined function: 'justify_days'. This function is neither a registered temporary function nor a permanent function registered in the database 'default'.; line 1 pos 7 --- !query 59 -SELECT justify_interval(interval '1 month -1 hour') as "1 month -1 hour" --- !query 59 schema +-- !query 57 +SELECT justify_interval(interval '1 month -1 hour') as `1 month -1 hour` +-- !query 57 schema struct<> --- !query 59 output -org.apache.spark.sql.catalyst.parser.ParseException - -no viable alternative at input 'as'(line 1, pos 52) - -== SQL == -SELECT justify_interval(interval '1 month -1 hour') as "1 month -1 hour" -----------------------------------------------------^^^ +-- !query 57 output +org.apache.spark.sql.AnalysisException +Undefined function: 'justify_interval'. This function is neither a registered temporary function nor a permanent function registered in the database 'default'.; line 1 pos 7 --- !query 60 +-- !query 58 SET DATESTYLE = 'ISO' --- !query 60 schema +-- !query 58 schema struct --- !query 60 output +-- !query 58 output DATESTYLE 'ISO' --- !query 61 +-- !query 59 SET IntervalStyle TO postgres --- !query 61 schema +-- !query 59 schema struct --- !query 61 output +-- !query 59 output IntervalStyle TO postgres --- !query 62 +-- !query 60 SELECT '1 millisecond'::interval, '1 microsecond'::interval, '500 seconds 99 milliseconds 51 microseconds'::interval --- !query 62 schema +-- !query 60 schema struct<> --- !query 62 output +-- !query 60 output org.apache.spark.sql.catalyst.parser.ParseException mismatched input ':' expecting {, '(', ',', '.', '[', 'ADD', 'AFTER', 'ALL', 'ALTER', 'ANALYZE', 'AND', 'ANTI', 'ANY', 'ARCHIVE', 'ARRAY', 'AS', 'ASC', 'AT', 'AUTHORIZATION', 'BETWEEN', 'BOTH', 'BUCKET', 'BUCKETS', 'BY', 'CACHE', 'CASCADE', 'CASE', 'CAST', 'CHANGE', 'CHECK', 'CLEAR', 'CLUSTER', 'CLUSTERED', 'CODEGEN', 'COLLATE', 'COLLECTION', 'COLUMN', 'COLUMNS', 'COMMENT', 'COMMIT', 'COMPACT', 'COMPACTIONS', 'COMPUTE', 'CONCATENATE', 'CONSTRAINT', 'COST', 'CREATE', 'CROSS', 'CUBE', 'CURRENT', 'CURRENT_DATE', 'CURRENT_TIME', 'CURRENT_TIMESTAMP', 'CURRENT_USER', 'DATA', 'DATABASE', DATABASES, 'DAY', 'DAYS', 'DBPROPERTIES', 'DEFINED', 'DELETE', 'DELIMITED', 'DESC', 'DESCRIBE', 'DFS', 'DIRECTORIES', 'DIRECTORY', 'DISTINCT', 'DISTRIBUTE', 'DROP', 'ELSE', 'END', 'ESCAPED', 'EXCEPT', 'EXCHANGE', 'EXISTS', 'EXPLAIN', 'EXPORT', 'EXTENDED', 'EXTERNAL', 'EXTRACT', 'FALSE', 'FETCH', 'FIELDS', 'FILEFORMAT', 'FIRST', 'FIRST_VALUE', 'FOLLOWING', 'FOR', 'FOREIGN', 'FORMAT', 'FORMATTED', 'FROM', 'FULL', 'FUNCTION', 'FUNCTIONS', 'GLOBAL', 'GRANT', 'GROUP', 'GROUPING', 'HAVING', 'HOUR', 'HOURS', 'IF', 'IGNORE', 'IMPORT', 'IN', 'INDEX', 'INDEXES', 'INNER', 'INPATH', 'INPUTFORMAT', 'INSERT', 'INTERSECT', 'INTERVAL', 'INTO', 'IS', 'ITEMS', 'JOIN', 'KEYS', 'LAST', 'LAST_VALUE', 'LATERAL', 'LAZY', 'LEADING', 'LEFT', 'LIKE', 'LIMIT', 'LINES', 'LIST', 'LOAD', 'LOCAL', 'LOCATION', 'LOCK', 'LOCKS', 'LOGICAL', 'MACRO', 'MAP', 'MICROSECOND', 'MICROSECONDS', 'MILLISECOND', 'MILLISECONDS', 'MINUTE', 'MINUTES', 'MONTH', 'MONTHS', 'MSCK', 'NAMESPACE', 'NAMESPACES', 'NATURAL', 'NO', NOT, 'NULL', 'NULLS', 'OF', 'ON', 'ONLY', 'OPTION', 'OPTIONS', 'OR', 'ORDER', 'OUT', 'OUTER', 'OUTPUTFORMAT', 'OVER', 'OVERLAPS', 'OVERLAY', 'OVERWRITE', 'PARTITION', 'PARTITIONED', 'PARTITIONS', 'PERCENT', 'PIVOT', 'PLACING', 'POSITION', 'PRECEDING', 'PRIMARY', 'PRINCIPALS', 'PURGE', 'QUERY', 'RANGE', 'RECORDREADER', 'RECORDWRITER', 'RECOVER', 'REDUCE', 'REFERENCES', 'REFRESH', 'RENAME', 'REPAIR', 'REPLACE', 'RESET', 'RESPECT', 'RESTRICT', 'REVOKE', 'RIGHT', RLIKE, 'ROLE', 'ROLES', 'ROLLBACK', 'ROLLUP', 'ROW', 'ROWS', 'SCHEMA', 'SECOND', 'SECONDS', 'SELECT', 'SEMI', 'SEPARATED', 'SERDE', 'SERDEPROPERTIES', 'SESSION_USER', 'SET', 'MINUS', 'SETS', 'SHOW', 'SKEWED', 'SOME', 'SORT', 'SORTED', 'START', 'STATISTICS', 'STORED', 'STRATIFY', 'STRUCT', 'SUBSTR', 'SUBSTRING', 'TABLE', 'TABLES', 'TABLESAMPLE', 'TBLPROPERTIES', TEMPORARY, 'TERMINATED', 'THEN', 'TO', 'TOUCH', 'TRAILING', 'TRANSACTION', 'TRANSACTIONS', 'TRANSFORM', 'TRIM', 'TRUE', 'TRUNCATE', 'TYPE', 'UNARCHIVE', 'UNBOUNDED', 'UNCACHE', 'UNION', 'UNIQUE', 'UNKNOWN', 'UNLOCK', 'UNSET', 'UPDATE', 'USE', 'USER', 'USING', 'VALUES', 'VIEW', 'WEEK', 'WEEKS', 'WHEN', 'WHERE', 'WINDOW', 'WITH', 'YEAR', 'YEARS', EQ, '<=>', '<>', '!=', '<', LTE, '>', GTE, '+', '-', '*', '/', '%', 'DIV', '&', '|', '||', '^', STRING, IDENTIFIER, BACKQUOTED_IDENTIFIER}(line 1, pos 22) @@ -798,11 +719,11 @@ SELECT '1 millisecond'::interval, '1 microsecond'::interval, '500 seconds 99 milliseconds 51 microseconds'::interval --- !query 63 +-- !query 61 SELECT '3 days 5 milliseconds'::interval --- !query 63 schema +-- !query 61 schema struct<> --- !query 63 output +-- !query 61 output org.apache.spark.sql.catalyst.parser.ParseException mismatched input ':' expecting {, '(', ',', '.', '[', 'ADD', 'AFTER', 'ALL', 'ALTER', 'ANALYZE', 'AND', 'ANTI', 'ANY', 'ARCHIVE', 'ARRAY', 'AS', 'ASC', 'AT', 'AUTHORIZATION', 'BETWEEN', 'BOTH', 'BUCKET', 'BUCKETS', 'BY', 'CACHE', 'CASCADE', 'CASE', 'CAST', 'CHANGE', 'CHECK', 'CLEAR', 'CLUSTER', 'CLUSTERED', 'CODEGEN', 'COLLATE', 'COLLECTION', 'COLUMN', 'COLUMNS', 'COMMENT', 'COMMIT', 'COMPACT', 'COMPACTIONS', 'COMPUTE', 'CONCATENATE', 'CONSTRAINT', 'COST', 'CREATE', 'CROSS', 'CUBE', 'CURRENT', 'CURRENT_DATE', 'CURRENT_TIME', 'CURRENT_TIMESTAMP', 'CURRENT_USER', 'DATA', 'DATABASE', DATABASES, 'DAY', 'DAYS', 'DBPROPERTIES', 'DEFINED', 'DELETE', 'DELIMITED', 'DESC', 'DESCRIBE', 'DFS', 'DIRECTORIES', 'DIRECTORY', 'DISTINCT', 'DISTRIBUTE', 'DROP', 'ELSE', 'END', 'ESCAPED', 'EXCEPT', 'EXCHANGE', 'EXISTS', 'EXPLAIN', 'EXPORT', 'EXTENDED', 'EXTERNAL', 'EXTRACT', 'FALSE', 'FETCH', 'FIELDS', 'FILEFORMAT', 'FIRST', 'FIRST_VALUE', 'FOLLOWING', 'FOR', 'FOREIGN', 'FORMAT', 'FORMATTED', 'FROM', 'FULL', 'FUNCTION', 'FUNCTIONS', 'GLOBAL', 'GRANT', 'GROUP', 'GROUPING', 'HAVING', 'HOUR', 'HOURS', 'IF', 'IGNORE', 'IMPORT', 'IN', 'INDEX', 'INDEXES', 'INNER', 'INPATH', 'INPUTFORMAT', 'INSERT', 'INTERSECT', 'INTERVAL', 'INTO', 'IS', 'ITEMS', 'JOIN', 'KEYS', 'LAST', 'LAST_VALUE', 'LATERAL', 'LAZY', 'LEADING', 'LEFT', 'LIKE', 'LIMIT', 'LINES', 'LIST', 'LOAD', 'LOCAL', 'LOCATION', 'LOCK', 'LOCKS', 'LOGICAL', 'MACRO', 'MAP', 'MICROSECOND', 'MICROSECONDS', 'MILLISECOND', 'MILLISECONDS', 'MINUTE', 'MINUTES', 'MONTH', 'MONTHS', 'MSCK', 'NAMESPACE', 'NAMESPACES', 'NATURAL', 'NO', NOT, 'NULL', 'NULLS', 'OF', 'ON', 'ONLY', 'OPTION', 'OPTIONS', 'OR', 'ORDER', 'OUT', 'OUTER', 'OUTPUTFORMAT', 'OVER', 'OVERLAPS', 'OVERLAY', 'OVERWRITE', 'PARTITION', 'PARTITIONED', 'PARTITIONS', 'PERCENT', 'PIVOT', 'PLACING', 'POSITION', 'PRECEDING', 'PRIMARY', 'PRINCIPALS', 'PURGE', 'QUERY', 'RANGE', 'RECORDREADER', 'RECORDWRITER', 'RECOVER', 'REDUCE', 'REFERENCES', 'REFRESH', 'RENAME', 'REPAIR', 'REPLACE', 'RESET', 'RESPECT', 'RESTRICT', 'REVOKE', 'RIGHT', RLIKE, 'ROLE', 'ROLES', 'ROLLBACK', 'ROLLUP', 'ROW', 'ROWS', 'SCHEMA', 'SECOND', 'SECONDS', 'SELECT', 'SEMI', 'SEPARATED', 'SERDE', 'SERDEPROPERTIES', 'SESSION_USER', 'SET', 'MINUS', 'SETS', 'SHOW', 'SKEWED', 'SOME', 'SORT', 'SORTED', 'START', 'STATISTICS', 'STORED', 'STRATIFY', 'STRUCT', 'SUBSTR', 'SUBSTRING', 'TABLE', 'TABLES', 'TABLESAMPLE', 'TBLPROPERTIES', TEMPORARY, 'TERMINATED', 'THEN', 'TO', 'TOUCH', 'TRAILING', 'TRANSACTION', 'TRANSACTIONS', 'TRANSFORM', 'TRIM', 'TRUE', 'TRUNCATE', 'TYPE', 'UNARCHIVE', 'UNBOUNDED', 'UNCACHE', 'UNION', 'UNIQUE', 'UNKNOWN', 'UNLOCK', 'UNSET', 'UPDATE', 'USE', 'USER', 'USING', 'VALUES', 'VIEW', 'WEEK', 'WEEKS', 'WHEN', 'WHERE', 'WINDOW', 'WITH', 'YEAR', 'YEARS', EQ, '<=>', '<>', '!=', '<', LTE, '>', GTE, '+', '-', '*', '/', '%', 'DIV', '&', '|', '||', '^', STRING, IDENTIFIER, BACKQUOTED_IDENTIFIER}(line 1, pos 30) @@ -812,11 +733,11 @@ SELECT '3 days 5 milliseconds'::interval ------------------------------^^^ --- !query 64 +-- !query 62 SELECT '1 second 2 seconds'::interval --- !query 64 schema +-- !query 62 schema struct<> --- !query 64 output +-- !query 62 output org.apache.spark.sql.catalyst.parser.ParseException mismatched input ':' expecting {, '(', ',', '.', '[', 'ADD', 'AFTER', 'ALL', 'ALTER', 'ANALYZE', 'AND', 'ANTI', 'ANY', 'ARCHIVE', 'ARRAY', 'AS', 'ASC', 'AT', 'AUTHORIZATION', 'BETWEEN', 'BOTH', 'BUCKET', 'BUCKETS', 'BY', 'CACHE', 'CASCADE', 'CASE', 'CAST', 'CHANGE', 'CHECK', 'CLEAR', 'CLUSTER', 'CLUSTERED', 'CODEGEN', 'COLLATE', 'COLLECTION', 'COLUMN', 'COLUMNS', 'COMMENT', 'COMMIT', 'COMPACT', 'COMPACTIONS', 'COMPUTE', 'CONCATENATE', 'CONSTRAINT', 'COST', 'CREATE', 'CROSS', 'CUBE', 'CURRENT', 'CURRENT_DATE', 'CURRENT_TIME', 'CURRENT_TIMESTAMP', 'CURRENT_USER', 'DATA', 'DATABASE', DATABASES, 'DAY', 'DAYS', 'DBPROPERTIES', 'DEFINED', 'DELETE', 'DELIMITED', 'DESC', 'DESCRIBE', 'DFS', 'DIRECTORIES', 'DIRECTORY', 'DISTINCT', 'DISTRIBUTE', 'DROP', 'ELSE', 'END', 'ESCAPED', 'EXCEPT', 'EXCHANGE', 'EXISTS', 'EXPLAIN', 'EXPORT', 'EXTENDED', 'EXTERNAL', 'EXTRACT', 'FALSE', 'FETCH', 'FIELDS', 'FILEFORMAT', 'FIRST', 'FIRST_VALUE', 'FOLLOWING', 'FOR', 'FOREIGN', 'FORMAT', 'FORMATTED', 'FROM', 'FULL', 'FUNCTION', 'FUNCTIONS', 'GLOBAL', 'GRANT', 'GROUP', 'GROUPING', 'HAVING', 'HOUR', 'HOURS', 'IF', 'IGNORE', 'IMPORT', 'IN', 'INDEX', 'INDEXES', 'INNER', 'INPATH', 'INPUTFORMAT', 'INSERT', 'INTERSECT', 'INTERVAL', 'INTO', 'IS', 'ITEMS', 'JOIN', 'KEYS', 'LAST', 'LAST_VALUE', 'LATERAL', 'LAZY', 'LEADING', 'LEFT', 'LIKE', 'LIMIT', 'LINES', 'LIST', 'LOAD', 'LOCAL', 'LOCATION', 'LOCK', 'LOCKS', 'LOGICAL', 'MACRO', 'MAP', 'MICROSECOND', 'MICROSECONDS', 'MILLISECOND', 'MILLISECONDS', 'MINUTE', 'MINUTES', 'MONTH', 'MONTHS', 'MSCK', 'NAMESPACE', 'NAMESPACES', 'NATURAL', 'NO', NOT, 'NULL', 'NULLS', 'OF', 'ON', 'ONLY', 'OPTION', 'OPTIONS', 'OR', 'ORDER', 'OUT', 'OUTER', 'OUTPUTFORMAT', 'OVER', 'OVERLAPS', 'OVERLAY', 'OVERWRITE', 'PARTITION', 'PARTITIONED', 'PARTITIONS', 'PERCENT', 'PIVOT', 'PLACING', 'POSITION', 'PRECEDING', 'PRIMARY', 'PRINCIPALS', 'PURGE', 'QUERY', 'RANGE', 'RECORDREADER', 'RECORDWRITER', 'RECOVER', 'REDUCE', 'REFERENCES', 'REFRESH', 'RENAME', 'REPAIR', 'REPLACE', 'RESET', 'RESPECT', 'RESTRICT', 'REVOKE', 'RIGHT', RLIKE, 'ROLE', 'ROLES', 'ROLLBACK', 'ROLLUP', 'ROW', 'ROWS', 'SCHEMA', 'SECOND', 'SECONDS', 'SELECT', 'SEMI', 'SEPARATED', 'SERDE', 'SERDEPROPERTIES', 'SESSION_USER', 'SET', 'MINUS', 'SETS', 'SHOW', 'SKEWED', 'SOME', 'SORT', 'SORTED', 'START', 'STATISTICS', 'STORED', 'STRATIFY', 'STRUCT', 'SUBSTR', 'SUBSTRING', 'TABLE', 'TABLES', 'TABLESAMPLE', 'TBLPROPERTIES', TEMPORARY, 'TERMINATED', 'THEN', 'TO', 'TOUCH', 'TRAILING', 'TRANSACTION', 'TRANSACTIONS', 'TRANSFORM', 'TRIM', 'TRUE', 'TRUNCATE', 'TYPE', 'UNARCHIVE', 'UNBOUNDED', 'UNCACHE', 'UNION', 'UNIQUE', 'UNKNOWN', 'UNLOCK', 'UNSET', 'UPDATE', 'USE', 'USER', 'USING', 'VALUES', 'VIEW', 'WEEK', 'WEEKS', 'WHEN', 'WHERE', 'WINDOW', 'WITH', 'YEAR', 'YEARS', EQ, '<=>', '<>', '!=', '<', LTE, '>', GTE, '+', '-', '*', '/', '%', 'DIV', '&', '|', '||', '^', STRING, IDENTIFIER, BACKQUOTED_IDENTIFIER}(line 1, pos 27) @@ -826,11 +747,11 @@ SELECT '1 second 2 seconds'::interval ---------------------------^^^ --- !query 65 +-- !query 63 SELECT '10 milliseconds 20 milliseconds'::interval --- !query 65 schema +-- !query 63 schema struct<> --- !query 65 output +-- !query 63 output org.apache.spark.sql.catalyst.parser.ParseException mismatched input ':' expecting {, '(', ',', '.', '[', 'ADD', 'AFTER', 'ALL', 'ALTER', 'ANALYZE', 'AND', 'ANTI', 'ANY', 'ARCHIVE', 'ARRAY', 'AS', 'ASC', 'AT', 'AUTHORIZATION', 'BETWEEN', 'BOTH', 'BUCKET', 'BUCKETS', 'BY', 'CACHE', 'CASCADE', 'CASE', 'CAST', 'CHANGE', 'CHECK', 'CLEAR', 'CLUSTER', 'CLUSTERED', 'CODEGEN', 'COLLATE', 'COLLECTION', 'COLUMN', 'COLUMNS', 'COMMENT', 'COMMIT', 'COMPACT', 'COMPACTIONS', 'COMPUTE', 'CONCATENATE', 'CONSTRAINT', 'COST', 'CREATE', 'CROSS', 'CUBE', 'CURRENT', 'CURRENT_DATE', 'CURRENT_TIME', 'CURRENT_TIMESTAMP', 'CURRENT_USER', 'DATA', 'DATABASE', DATABASES, 'DAY', 'DAYS', 'DBPROPERTIES', 'DEFINED', 'DELETE', 'DELIMITED', 'DESC', 'DESCRIBE', 'DFS', 'DIRECTORIES', 'DIRECTORY', 'DISTINCT', 'DISTRIBUTE', 'DROP', 'ELSE', 'END', 'ESCAPED', 'EXCEPT', 'EXCHANGE', 'EXISTS', 'EXPLAIN', 'EXPORT', 'EXTENDED', 'EXTERNAL', 'EXTRACT', 'FALSE', 'FETCH', 'FIELDS', 'FILEFORMAT', 'FIRST', 'FIRST_VALUE', 'FOLLOWING', 'FOR', 'FOREIGN', 'FORMAT', 'FORMATTED', 'FROM', 'FULL', 'FUNCTION', 'FUNCTIONS', 'GLOBAL', 'GRANT', 'GROUP', 'GROUPING', 'HAVING', 'HOUR', 'HOURS', 'IF', 'IGNORE', 'IMPORT', 'IN', 'INDEX', 'INDEXES', 'INNER', 'INPATH', 'INPUTFORMAT', 'INSERT', 'INTERSECT', 'INTERVAL', 'INTO', 'IS', 'ITEMS', 'JOIN', 'KEYS', 'LAST', 'LAST_VALUE', 'LATERAL', 'LAZY', 'LEADING', 'LEFT', 'LIKE', 'LIMIT', 'LINES', 'LIST', 'LOAD', 'LOCAL', 'LOCATION', 'LOCK', 'LOCKS', 'LOGICAL', 'MACRO', 'MAP', 'MICROSECOND', 'MICROSECONDS', 'MILLISECOND', 'MILLISECONDS', 'MINUTE', 'MINUTES', 'MONTH', 'MONTHS', 'MSCK', 'NAMESPACE', 'NAMESPACES', 'NATURAL', 'NO', NOT, 'NULL', 'NULLS', 'OF', 'ON', 'ONLY', 'OPTION', 'OPTIONS', 'OR', 'ORDER', 'OUT', 'OUTER', 'OUTPUTFORMAT', 'OVER', 'OVERLAPS', 'OVERLAY', 'OVERWRITE', 'PARTITION', 'PARTITIONED', 'PARTITIONS', 'PERCENT', 'PIVOT', 'PLACING', 'POSITION', 'PRECEDING', 'PRIMARY', 'PRINCIPALS', 'PURGE', 'QUERY', 'RANGE', 'RECORDREADER', 'RECORDWRITER', 'RECOVER', 'REDUCE', 'REFERENCES', 'REFRESH', 'RENAME', 'REPAIR', 'REPLACE', 'RESET', 'RESPECT', 'RESTRICT', 'REVOKE', 'RIGHT', RLIKE, 'ROLE', 'ROLES', 'ROLLBACK', 'ROLLUP', 'ROW', 'ROWS', 'SCHEMA', 'SECOND', 'SECONDS', 'SELECT', 'SEMI', 'SEPARATED', 'SERDE', 'SERDEPROPERTIES', 'SESSION_USER', 'SET', 'MINUS', 'SETS', 'SHOW', 'SKEWED', 'SOME', 'SORT', 'SORTED', 'START', 'STATISTICS', 'STORED', 'STRATIFY', 'STRUCT', 'SUBSTR', 'SUBSTRING', 'TABLE', 'TABLES', 'TABLESAMPLE', 'TBLPROPERTIES', TEMPORARY, 'TERMINATED', 'THEN', 'TO', 'TOUCH', 'TRAILING', 'TRANSACTION', 'TRANSACTIONS', 'TRANSFORM', 'TRIM', 'TRUE', 'TRUNCATE', 'TYPE', 'UNARCHIVE', 'UNBOUNDED', 'UNCACHE', 'UNION', 'UNIQUE', 'UNKNOWN', 'UNLOCK', 'UNSET', 'UPDATE', 'USE', 'USER', 'USING', 'VALUES', 'VIEW', 'WEEK', 'WEEKS', 'WHEN', 'WHERE', 'WINDOW', 'WITH', 'YEAR', 'YEARS', EQ, '<=>', '<>', '!=', '<', LTE, '>', GTE, '+', '-', '*', '/', '%', 'DIV', '&', '|', '||', '^', STRING, IDENTIFIER, BACKQUOTED_IDENTIFIER}(line 1, pos 40) @@ -840,11 +761,11 @@ SELECT '10 milliseconds 20 milliseconds'::interval ----------------------------------------^^^ --- !query 66 +-- !query 64 SELECT '5.5 seconds 3 milliseconds'::interval --- !query 66 schema +-- !query 64 schema struct<> --- !query 66 output +-- !query 64 output org.apache.spark.sql.catalyst.parser.ParseException mismatched input ':' expecting {, '(', ',', '.', '[', 'ADD', 'AFTER', 'ALL', 'ALTER', 'ANALYZE', 'AND', 'ANTI', 'ANY', 'ARCHIVE', 'ARRAY', 'AS', 'ASC', 'AT', 'AUTHORIZATION', 'BETWEEN', 'BOTH', 'BUCKET', 'BUCKETS', 'BY', 'CACHE', 'CASCADE', 'CASE', 'CAST', 'CHANGE', 'CHECK', 'CLEAR', 'CLUSTER', 'CLUSTERED', 'CODEGEN', 'COLLATE', 'COLLECTION', 'COLUMN', 'COLUMNS', 'COMMENT', 'COMMIT', 'COMPACT', 'COMPACTIONS', 'COMPUTE', 'CONCATENATE', 'CONSTRAINT', 'COST', 'CREATE', 'CROSS', 'CUBE', 'CURRENT', 'CURRENT_DATE', 'CURRENT_TIME', 'CURRENT_TIMESTAMP', 'CURRENT_USER', 'DATA', 'DATABASE', DATABASES, 'DAY', 'DAYS', 'DBPROPERTIES', 'DEFINED', 'DELETE', 'DELIMITED', 'DESC', 'DESCRIBE', 'DFS', 'DIRECTORIES', 'DIRECTORY', 'DISTINCT', 'DISTRIBUTE', 'DROP', 'ELSE', 'END', 'ESCAPED', 'EXCEPT', 'EXCHANGE', 'EXISTS', 'EXPLAIN', 'EXPORT', 'EXTENDED', 'EXTERNAL', 'EXTRACT', 'FALSE', 'FETCH', 'FIELDS', 'FILEFORMAT', 'FIRST', 'FIRST_VALUE', 'FOLLOWING', 'FOR', 'FOREIGN', 'FORMAT', 'FORMATTED', 'FROM', 'FULL', 'FUNCTION', 'FUNCTIONS', 'GLOBAL', 'GRANT', 'GROUP', 'GROUPING', 'HAVING', 'HOUR', 'HOURS', 'IF', 'IGNORE', 'IMPORT', 'IN', 'INDEX', 'INDEXES', 'INNER', 'INPATH', 'INPUTFORMAT', 'INSERT', 'INTERSECT', 'INTERVAL', 'INTO', 'IS', 'ITEMS', 'JOIN', 'KEYS', 'LAST', 'LAST_VALUE', 'LATERAL', 'LAZY', 'LEADING', 'LEFT', 'LIKE', 'LIMIT', 'LINES', 'LIST', 'LOAD', 'LOCAL', 'LOCATION', 'LOCK', 'LOCKS', 'LOGICAL', 'MACRO', 'MAP', 'MICROSECOND', 'MICROSECONDS', 'MILLISECOND', 'MILLISECONDS', 'MINUTE', 'MINUTES', 'MONTH', 'MONTHS', 'MSCK', 'NAMESPACE', 'NAMESPACES', 'NATURAL', 'NO', NOT, 'NULL', 'NULLS', 'OF', 'ON', 'ONLY', 'OPTION', 'OPTIONS', 'OR', 'ORDER', 'OUT', 'OUTER', 'OUTPUTFORMAT', 'OVER', 'OVERLAPS', 'OVERLAY', 'OVERWRITE', 'PARTITION', 'PARTITIONED', 'PARTITIONS', 'PERCENT', 'PIVOT', 'PLACING', 'POSITION', 'PRECEDING', 'PRIMARY', 'PRINCIPALS', 'PURGE', 'QUERY', 'RANGE', 'RECORDREADER', 'RECORDWRITER', 'RECOVER', 'REDUCE', 'REFERENCES', 'REFRESH', 'RENAME', 'REPAIR', 'REPLACE', 'RESET', 'RESPECT', 'RESTRICT', 'REVOKE', 'RIGHT', RLIKE, 'ROLE', 'ROLES', 'ROLLBACK', 'ROLLUP', 'ROW', 'ROWS', 'SCHEMA', 'SECOND', 'SECONDS', 'SELECT', 'SEMI', 'SEPARATED', 'SERDE', 'SERDEPROPERTIES', 'SESSION_USER', 'SET', 'MINUS', 'SETS', 'SHOW', 'SKEWED', 'SOME', 'SORT', 'SORTED', 'START', 'STATISTICS', 'STORED', 'STRATIFY', 'STRUCT', 'SUBSTR', 'SUBSTRING', 'TABLE', 'TABLES', 'TABLESAMPLE', 'TBLPROPERTIES', TEMPORARY, 'TERMINATED', 'THEN', 'TO', 'TOUCH', 'TRAILING', 'TRANSACTION', 'TRANSACTIONS', 'TRANSFORM', 'TRIM', 'TRUE', 'TRUNCATE', 'TYPE', 'UNARCHIVE', 'UNBOUNDED', 'UNCACHE', 'UNION', 'UNIQUE', 'UNKNOWN', 'UNLOCK', 'UNSET', 'UPDATE', 'USE', 'USER', 'USING', 'VALUES', 'VIEW', 'WEEK', 'WEEKS', 'WHEN', 'WHERE', 'WINDOW', 'WITH', 'YEAR', 'YEARS', EQ, '<=>', '<>', '!=', '<', LTE, '>', GTE, '+', '-', '*', '/', '%', 'DIV', '&', '|', '||', '^', STRING, IDENTIFIER, BACKQUOTED_IDENTIFIER}(line 1, pos 35) @@ -854,11 +775,11 @@ SELECT '5.5 seconds 3 milliseconds'::interval -----------------------------------^^^ --- !query 67 +-- !query 65 SELECT '1:20:05 5 microseconds'::interval --- !query 67 schema +-- !query 65 schema struct<> --- !query 67 output +-- !query 65 output org.apache.spark.sql.catalyst.parser.ParseException mismatched input ':' expecting {, '(', ',', '.', '[', 'ADD', 'AFTER', 'ALL', 'ALTER', 'ANALYZE', 'AND', 'ANTI', 'ANY', 'ARCHIVE', 'ARRAY', 'AS', 'ASC', 'AT', 'AUTHORIZATION', 'BETWEEN', 'BOTH', 'BUCKET', 'BUCKETS', 'BY', 'CACHE', 'CASCADE', 'CASE', 'CAST', 'CHANGE', 'CHECK', 'CLEAR', 'CLUSTER', 'CLUSTERED', 'CODEGEN', 'COLLATE', 'COLLECTION', 'COLUMN', 'COLUMNS', 'COMMENT', 'COMMIT', 'COMPACT', 'COMPACTIONS', 'COMPUTE', 'CONCATENATE', 'CONSTRAINT', 'COST', 'CREATE', 'CROSS', 'CUBE', 'CURRENT', 'CURRENT_DATE', 'CURRENT_TIME', 'CURRENT_TIMESTAMP', 'CURRENT_USER', 'DATA', 'DATABASE', DATABASES, 'DAY', 'DAYS', 'DBPROPERTIES', 'DEFINED', 'DELETE', 'DELIMITED', 'DESC', 'DESCRIBE', 'DFS', 'DIRECTORIES', 'DIRECTORY', 'DISTINCT', 'DISTRIBUTE', 'DROP', 'ELSE', 'END', 'ESCAPED', 'EXCEPT', 'EXCHANGE', 'EXISTS', 'EXPLAIN', 'EXPORT', 'EXTENDED', 'EXTERNAL', 'EXTRACT', 'FALSE', 'FETCH', 'FIELDS', 'FILEFORMAT', 'FIRST', 'FIRST_VALUE', 'FOLLOWING', 'FOR', 'FOREIGN', 'FORMAT', 'FORMATTED', 'FROM', 'FULL', 'FUNCTION', 'FUNCTIONS', 'GLOBAL', 'GRANT', 'GROUP', 'GROUPING', 'HAVING', 'HOUR', 'HOURS', 'IF', 'IGNORE', 'IMPORT', 'IN', 'INDEX', 'INDEXES', 'INNER', 'INPATH', 'INPUTFORMAT', 'INSERT', 'INTERSECT', 'INTERVAL', 'INTO', 'IS', 'ITEMS', 'JOIN', 'KEYS', 'LAST', 'LAST_VALUE', 'LATERAL', 'LAZY', 'LEADING', 'LEFT', 'LIKE', 'LIMIT', 'LINES', 'LIST', 'LOAD', 'LOCAL', 'LOCATION', 'LOCK', 'LOCKS', 'LOGICAL', 'MACRO', 'MAP', 'MICROSECOND', 'MICROSECONDS', 'MILLISECOND', 'MILLISECONDS', 'MINUTE', 'MINUTES', 'MONTH', 'MONTHS', 'MSCK', 'NAMESPACE', 'NAMESPACES', 'NATURAL', 'NO', NOT, 'NULL', 'NULLS', 'OF', 'ON', 'ONLY', 'OPTION', 'OPTIONS', 'OR', 'ORDER', 'OUT', 'OUTER', 'OUTPUTFORMAT', 'OVER', 'OVERLAPS', 'OVERLAY', 'OVERWRITE', 'PARTITION', 'PARTITIONED', 'PARTITIONS', 'PERCENT', 'PIVOT', 'PLACING', 'POSITION', 'PRECEDING', 'PRIMARY', 'PRINCIPALS', 'PURGE', 'QUERY', 'RANGE', 'RECORDREADER', 'RECORDWRITER', 'RECOVER', 'REDUCE', 'REFERENCES', 'REFRESH', 'RENAME', 'REPAIR', 'REPLACE', 'RESET', 'RESPECT', 'RESTRICT', 'REVOKE', 'RIGHT', RLIKE, 'ROLE', 'ROLES', 'ROLLBACK', 'ROLLUP', 'ROW', 'ROWS', 'SCHEMA', 'SECOND', 'SECONDS', 'SELECT', 'SEMI', 'SEPARATED', 'SERDE', 'SERDEPROPERTIES', 'SESSION_USER', 'SET', 'MINUS', 'SETS', 'SHOW', 'SKEWED', 'SOME', 'SORT', 'SORTED', 'START', 'STATISTICS', 'STORED', 'STRATIFY', 'STRUCT', 'SUBSTR', 'SUBSTRING', 'TABLE', 'TABLES', 'TABLESAMPLE', 'TBLPROPERTIES', TEMPORARY, 'TERMINATED', 'THEN', 'TO', 'TOUCH', 'TRAILING', 'TRANSACTION', 'TRANSACTIONS', 'TRANSFORM', 'TRIM', 'TRUE', 'TRUNCATE', 'TYPE', 'UNARCHIVE', 'UNBOUNDED', 'UNCACHE', 'UNION', 'UNIQUE', 'UNKNOWN', 'UNLOCK', 'UNSET', 'UPDATE', 'USE', 'USER', 'USING', 'VALUES', 'VIEW', 'WEEK', 'WEEKS', 'WHEN', 'WHERE', 'WINDOW', 'WITH', 'YEAR', 'YEARS', EQ, '<=>', '<>', '!=', '<', LTE, '>', GTE, '+', '-', '*', '/', '%', 'DIV', '&', '|', '||', '^', STRING, IDENTIFIER, BACKQUOTED_IDENTIFIER}(line 1, pos 31) @@ -868,11 +789,11 @@ SELECT '1:20:05 5 microseconds'::interval -------------------------------^^^ --- !query 68 +-- !query 66 SELECT '1 day 1 day'::interval --- !query 68 schema +-- !query 66 schema struct<> --- !query 68 output +-- !query 66 output org.apache.spark.sql.catalyst.parser.ParseException mismatched input ':' expecting {, '(', ',', '.', '[', 'ADD', 'AFTER', 'ALL', 'ALTER', 'ANALYZE', 'AND', 'ANTI', 'ANY', 'ARCHIVE', 'ARRAY', 'AS', 'ASC', 'AT', 'AUTHORIZATION', 'BETWEEN', 'BOTH', 'BUCKET', 'BUCKETS', 'BY', 'CACHE', 'CASCADE', 'CASE', 'CAST', 'CHANGE', 'CHECK', 'CLEAR', 'CLUSTER', 'CLUSTERED', 'CODEGEN', 'COLLATE', 'COLLECTION', 'COLUMN', 'COLUMNS', 'COMMENT', 'COMMIT', 'COMPACT', 'COMPACTIONS', 'COMPUTE', 'CONCATENATE', 'CONSTRAINT', 'COST', 'CREATE', 'CROSS', 'CUBE', 'CURRENT', 'CURRENT_DATE', 'CURRENT_TIME', 'CURRENT_TIMESTAMP', 'CURRENT_USER', 'DATA', 'DATABASE', DATABASES, 'DAY', 'DAYS', 'DBPROPERTIES', 'DEFINED', 'DELETE', 'DELIMITED', 'DESC', 'DESCRIBE', 'DFS', 'DIRECTORIES', 'DIRECTORY', 'DISTINCT', 'DISTRIBUTE', 'DROP', 'ELSE', 'END', 'ESCAPED', 'EXCEPT', 'EXCHANGE', 'EXISTS', 'EXPLAIN', 'EXPORT', 'EXTENDED', 'EXTERNAL', 'EXTRACT', 'FALSE', 'FETCH', 'FIELDS', 'FILEFORMAT', 'FIRST', 'FIRST_VALUE', 'FOLLOWING', 'FOR', 'FOREIGN', 'FORMAT', 'FORMATTED', 'FROM', 'FULL', 'FUNCTION', 'FUNCTIONS', 'GLOBAL', 'GRANT', 'GROUP', 'GROUPING', 'HAVING', 'HOUR', 'HOURS', 'IF', 'IGNORE', 'IMPORT', 'IN', 'INDEX', 'INDEXES', 'INNER', 'INPATH', 'INPUTFORMAT', 'INSERT', 'INTERSECT', 'INTERVAL', 'INTO', 'IS', 'ITEMS', 'JOIN', 'KEYS', 'LAST', 'LAST_VALUE', 'LATERAL', 'LAZY', 'LEADING', 'LEFT', 'LIKE', 'LIMIT', 'LINES', 'LIST', 'LOAD', 'LOCAL', 'LOCATION', 'LOCK', 'LOCKS', 'LOGICAL', 'MACRO', 'MAP', 'MICROSECOND', 'MICROSECONDS', 'MILLISECOND', 'MILLISECONDS', 'MINUTE', 'MINUTES', 'MONTH', 'MONTHS', 'MSCK', 'NAMESPACE', 'NAMESPACES', 'NATURAL', 'NO', NOT, 'NULL', 'NULLS', 'OF', 'ON', 'ONLY', 'OPTION', 'OPTIONS', 'OR', 'ORDER', 'OUT', 'OUTER', 'OUTPUTFORMAT', 'OVER', 'OVERLAPS', 'OVERLAY', 'OVERWRITE', 'PARTITION', 'PARTITIONED', 'PARTITIONS', 'PERCENT', 'PIVOT', 'PLACING', 'POSITION', 'PRECEDING', 'PRIMARY', 'PRINCIPALS', 'PURGE', 'QUERY', 'RANGE', 'RECORDREADER', 'RECORDWRITER', 'RECOVER', 'REDUCE', 'REFERENCES', 'REFRESH', 'RENAME', 'REPAIR', 'REPLACE', 'RESET', 'RESPECT', 'RESTRICT', 'REVOKE', 'RIGHT', RLIKE, 'ROLE', 'ROLES', 'ROLLBACK', 'ROLLUP', 'ROW', 'ROWS', 'SCHEMA', 'SECOND', 'SECONDS', 'SELECT', 'SEMI', 'SEPARATED', 'SERDE', 'SERDEPROPERTIES', 'SESSION_USER', 'SET', 'MINUS', 'SETS', 'SHOW', 'SKEWED', 'SOME', 'SORT', 'SORTED', 'START', 'STATISTICS', 'STORED', 'STRATIFY', 'STRUCT', 'SUBSTR', 'SUBSTRING', 'TABLE', 'TABLES', 'TABLESAMPLE', 'TBLPROPERTIES', TEMPORARY, 'TERMINATED', 'THEN', 'TO', 'TOUCH', 'TRAILING', 'TRANSACTION', 'TRANSACTIONS', 'TRANSFORM', 'TRIM', 'TRUE', 'TRUNCATE', 'TYPE', 'UNARCHIVE', 'UNBOUNDED', 'UNCACHE', 'UNION', 'UNIQUE', 'UNKNOWN', 'UNLOCK', 'UNSET', 'UPDATE', 'USE', 'USER', 'USING', 'VALUES', 'VIEW', 'WEEK', 'WEEKS', 'WHEN', 'WHERE', 'WINDOW', 'WITH', 'YEAR', 'YEARS', EQ, '<=>', '<>', '!=', '<', LTE, '>', GTE, '+', '-', '*', '/', '%', 'DIV', '&', '|', '||', '^', STRING, IDENTIFIER, BACKQUOTED_IDENTIFIER}(line 1, pos 20) @@ -882,107 +803,107 @@ SELECT '1 day 1 day'::interval --------------------^^^ --- !query 69 +-- !query 67 SELECT interval '1-2' --- !query 69 schema +-- !query 67 schema struct --- !query 69 output +-- !query 67 output NULL --- !query 70 +-- !query 68 SELECT interval '999' second --- !query 70 schema +-- !query 68 schema struct --- !query 70 output +-- !query 68 output interval 16 minutes 39 seconds --- !query 71 +-- !query 69 SELECT interval '999' minute --- !query 71 schema +-- !query 69 schema struct --- !query 71 output +-- !query 69 output interval 16 hours 39 minutes --- !query 72 +-- !query 70 SELECT interval '999' hour --- !query 72 schema +-- !query 70 schema struct --- !query 72 output +-- !query 70 output interval 5 weeks 6 days 15 hours --- !query 73 +-- !query 71 SELECT interval '999' day --- !query 73 schema +-- !query 71 schema struct --- !query 73 output +-- !query 71 output interval 142 weeks 5 days --- !query 74 +-- !query 72 SELECT interval '999' month --- !query 74 schema +-- !query 72 schema struct --- !query 74 output +-- !query 72 output interval 83 years 3 months --- !query 75 +-- !query 73 SELECT interval '1' year --- !query 75 schema +-- !query 73 schema struct --- !query 75 output +-- !query 73 output interval 1 years --- !query 76 +-- !query 74 SELECT interval '2' month --- !query 76 schema +-- !query 74 schema struct --- !query 76 output +-- !query 74 output interval 2 months --- !query 77 +-- !query 75 SELECT interval '3' day --- !query 77 schema +-- !query 75 schema struct --- !query 77 output +-- !query 75 output interval 3 days --- !query 78 +-- !query 76 SELECT interval '4' hour --- !query 78 schema +-- !query 76 schema struct --- !query 78 output +-- !query 76 output interval 4 hours --- !query 79 +-- !query 77 SELECT interval '5' minute --- !query 79 schema +-- !query 77 schema struct --- !query 79 output +-- !query 77 output interval 5 minutes --- !query 80 +-- !query 78 SELECT interval '6' second --- !query 80 schema +-- !query 78 schema struct --- !query 80 output +-- !query 78 output interval 6 seconds --- !query 81 +-- !query 79 SELECT interval '1' year to month --- !query 81 schema +-- !query 79 schema struct<> --- !query 81 output +-- !query 79 output org.apache.spark.sql.catalyst.parser.ParseException Interval string does not match year-month format of 'y-m': '1'(line 1, pos 16) @@ -992,19 +913,19 @@ SELECT interval '1' year to month ----------------^^^ --- !query 82 +-- !query 80 SELECT interval '1-2' year to month --- !query 82 schema +-- !query 80 schema struct --- !query 82 output +-- !query 80 output interval 1 years 2 months --- !query 83 +-- !query 81 SELECT interval '1 2' day to hour --- !query 83 schema +-- !query 81 schema struct<> --- !query 83 output +-- !query 81 output org.apache.spark.sql.catalyst.parser.ParseException Interval string does not match day-time format of 'd h:m:s.n': '1 2'(line 1, pos 16) @@ -1014,27 +935,27 @@ SELECT interval '1 2' day to hour ----------------^^^ --- !query 84 +-- !query 82 SELECT interval '1 2:03' day to hour --- !query 84 schema +-- !query 82 schema struct --- !query 84 output +-- !query 82 output interval 1 days 2 hours --- !query 85 +-- !query 83 SELECT interval '1 2:03:04' day to hour --- !query 85 schema +-- !query 83 schema struct --- !query 85 output +-- !query 83 output interval 1 days 2 hours --- !query 86 +-- !query 84 SELECT interval '1 2' day to minute --- !query 86 schema +-- !query 84 schema struct<> --- !query 86 output +-- !query 84 output org.apache.spark.sql.catalyst.parser.ParseException Interval string does not match day-time format of 'd h:m:s.n': '1 2'(line 1, pos 16) @@ -1044,27 +965,27 @@ SELECT interval '1 2' day to minute ----------------^^^ --- !query 87 +-- !query 85 SELECT interval '1 2:03' day to minute --- !query 87 schema +-- !query 85 schema struct --- !query 87 output +-- !query 85 output interval 1 days 2 hours 3 minutes --- !query 88 +-- !query 86 SELECT interval '1 2:03:04' day to minute --- !query 88 schema +-- !query 86 schema struct --- !query 88 output +-- !query 86 output interval 1 days 2 hours 3 minutes --- !query 89 +-- !query 87 SELECT interval '1 2' day to second --- !query 89 schema +-- !query 87 schema struct<> --- !query 89 output +-- !query 87 output org.apache.spark.sql.catalyst.parser.ParseException Interval string does not match day-time format of 'd h:m:s.n': '1 2'(line 1, pos 16) @@ -1074,27 +995,27 @@ SELECT interval '1 2' day to second ----------------^^^ --- !query 90 +-- !query 88 SELECT interval '1 2:03' day to second --- !query 90 schema +-- !query 88 schema struct --- !query 90 output +-- !query 88 output interval 1 days 2 hours 3 minutes --- !query 91 +-- !query 89 SELECT interval '1 2:03:04' day to second --- !query 91 schema +-- !query 89 schema struct --- !query 91 output +-- !query 89 output interval 1 days 2 hours 3 minutes 4 seconds --- !query 92 +-- !query 90 SELECT interval '1 2' hour to minute --- !query 92 schema +-- !query 90 schema struct<> --- !query 92 output +-- !query 90 output org.apache.spark.sql.catalyst.parser.ParseException Interval string does not match day-time format of 'd h:m:s.n': '1 2'(line 1, pos 16) @@ -1104,27 +1025,27 @@ SELECT interval '1 2' hour to minute ----------------^^^ --- !query 93 +-- !query 91 SELECT interval '1 2:03' hour to minute --- !query 93 schema +-- !query 91 schema struct --- !query 93 output +-- !query 91 output interval 1 days 2 hours 3 minutes --- !query 94 +-- !query 92 SELECT interval '1 2:03:04' hour to minute --- !query 94 schema +-- !query 92 schema struct --- !query 94 output +-- !query 92 output interval 1 days 2 hours 3 minutes --- !query 95 +-- !query 93 SELECT interval '1 2' hour to second --- !query 95 schema +-- !query 93 schema struct<> --- !query 95 output +-- !query 93 output org.apache.spark.sql.catalyst.parser.ParseException Interval string does not match day-time format of 'd h:m:s.n': '1 2'(line 1, pos 16) @@ -1134,27 +1055,27 @@ SELECT interval '1 2' hour to second ----------------^^^ --- !query 96 +-- !query 94 SELECT interval '1 2:03' hour to second --- !query 96 schema +-- !query 94 schema struct --- !query 96 output +-- !query 94 output interval 1 days 2 hours 3 minutes --- !query 97 +-- !query 95 SELECT interval '1 2:03:04' hour to second --- !query 97 schema +-- !query 95 schema struct --- !query 97 output +-- !query 95 output interval 1 days 2 hours 3 minutes 4 seconds --- !query 98 +-- !query 96 SELECT interval '1 2' minute to second --- !query 98 schema +-- !query 96 schema struct<> --- !query 98 output +-- !query 96 output org.apache.spark.sql.catalyst.parser.ParseException Interval string does not match day-time format of 'd h:m:s.n': '1 2'(line 1, pos 16) @@ -1164,27 +1085,27 @@ SELECT interval '1 2' minute to second ----------------^^^ --- !query 99 +-- !query 97 SELECT interval '1 2:03' minute to second --- !query 99 schema +-- !query 97 schema struct --- !query 99 output +-- !query 97 output interval 1 days 2 minutes 3 seconds --- !query 100 +-- !query 98 SELECT interval '1 2:03:04' minute to second --- !query 100 schema +-- !query 98 schema struct --- !query 100 output +-- !query 98 output interval 1 days 2 hours 3 minutes 4 seconds --- !query 101 +-- !query 99 SELECT interval '1 +2:03' minute to second --- !query 101 schema +-- !query 99 schema struct<> --- !query 101 output +-- !query 99 output org.apache.spark.sql.catalyst.parser.ParseException Interval string does not match day-time format of 'd h:m:s.n': '1 +2:03'(line 1, pos 16) @@ -1194,11 +1115,11 @@ SELECT interval '1 +2:03' minute to second ----------------^^^ --- !query 102 +-- !query 100 SELECT interval '1 +2:03:04' minute to second --- !query 102 schema +-- !query 100 schema struct<> --- !query 102 output +-- !query 100 output org.apache.spark.sql.catalyst.parser.ParseException Interval string does not match day-time format of 'd h:m:s.n': '1 +2:03:04'(line 1, pos 16) @@ -1208,11 +1129,11 @@ SELECT interval '1 +2:03:04' minute to second ----------------^^^ --- !query 103 +-- !query 101 SELECT interval '1 -2:03' minute to second --- !query 103 schema +-- !query 101 schema struct<> --- !query 103 output +-- !query 101 output org.apache.spark.sql.catalyst.parser.ParseException Interval string does not match day-time format of 'd h:m:s.n': '1 -2:03'(line 1, pos 16) @@ -1222,11 +1143,11 @@ SELECT interval '1 -2:03' minute to second ----------------^^^ --- !query 104 +-- !query 102 SELECT interval '1 -2:03:04' minute to second --- !query 104 schema +-- !query 102 schema struct<> --- !query 104 output +-- !query 102 output org.apache.spark.sql.catalyst.parser.ParseException Interval string does not match day-time format of 'd h:m:s.n': '1 -2:03:04'(line 1, pos 16) @@ -1236,11 +1157,11 @@ SELECT interval '1 -2:03:04' minute to second ----------------^^^ --- !query 105 +-- !query 103 SELECT interval '123 11' day to hour --- !query 105 schema +-- !query 103 schema struct<> --- !query 105 output +-- !query 103 output org.apache.spark.sql.catalyst.parser.ParseException Interval string does not match day-time format of 'd h:m:s.n': '123 11'(line 1, pos 16) @@ -1250,11 +1171,11 @@ SELECT interval '123 11' day to hour ----------------^^^ --- !query 106 +-- !query 104 SELECT interval '123 11' day --- !query 106 schema +-- !query 104 schema struct<> --- !query 106 output +-- !query 104 output org.apache.spark.sql.catalyst.parser.ParseException Error parsing interval string: For input string: "123 11"(line 1, pos 16) @@ -1264,27 +1185,27 @@ SELECT interval '123 11' day ----------------^^^ --- !query 107 +-- !query 105 SELECT interval '123 11' --- !query 107 schema +-- !query 105 schema struct --- !query 107 output +-- !query 105 output NULL --- !query 108 +-- !query 106 SELECT interval '123 2:03 -2:04' --- !query 108 schema +-- !query 106 schema struct --- !query 108 output +-- !query 106 output NULL --- !query 109 +-- !query 107 SELECT interval(0) '1 day 01:23:45.6789' --- !query 109 schema +-- !query 107 schema struct<> --- !query 109 output +-- !query 107 output org.apache.spark.sql.catalyst.parser.ParseException extraneous input ''1 day 01:23:45.6789'' expecting (line 1, pos 19) @@ -1294,11 +1215,11 @@ SELECT interval(0) '1 day 01:23:45.6789' -------------------^^^ --- !query 110 +-- !query 108 SELECT interval(2) '1 day 01:23:45.6789' --- !query 110 schema +-- !query 108 schema struct<> --- !query 110 output +-- !query 108 output org.apache.spark.sql.catalyst.parser.ParseException extraneous input ''1 day 01:23:45.6789'' expecting (line 1, pos 19) @@ -1308,11 +1229,11 @@ SELECT interval(2) '1 day 01:23:45.6789' -------------------^^^ --- !query 111 +-- !query 109 SELECT interval '12:34.5678' minute to second(2) --- !query 111 schema +-- !query 109 schema struct<> --- !query 111 output +-- !query 109 output org.apache.spark.sql.catalyst.parser.ParseException mismatched input '2' expecting {'ADD', 'AFTER', 'ALL', 'ALTER', 'ANALYZE', 'AND', 'ANTI', 'ANY', 'ARCHIVE', 'ARRAY', 'AS', 'ASC', 'AT', 'AUTHORIZATION', 'BETWEEN', 'BOTH', 'BUCKET', 'BUCKETS', 'BY', 'CACHE', 'CASCADE', 'CASE', 'CAST', 'CHANGE', 'CHECK', 'CLEAR', 'CLUSTER', 'CLUSTERED', 'CODEGEN', 'COLLATE', 'COLLECTION', 'COLUMN', 'COLUMNS', 'COMMENT', 'COMMIT', 'COMPACT', 'COMPACTIONS', 'COMPUTE', 'CONCATENATE', 'CONSTRAINT', 'COST', 'CREATE', 'CROSS', 'CUBE', 'CURRENT', 'CURRENT_DATE', 'CURRENT_TIME', 'CURRENT_TIMESTAMP', 'CURRENT_USER', 'DATA', 'DATABASE', DATABASES, 'DAY', 'DAYS', 'DBPROPERTIES', 'DEFINED', 'DELETE', 'DELIMITED', 'DESC', 'DESCRIBE', 'DFS', 'DIRECTORIES', 'DIRECTORY', 'DISTINCT', 'DISTRIBUTE', 'DROP', 'ELSE', 'END', 'ESCAPED', 'EXCEPT', 'EXCHANGE', 'EXISTS', 'EXPLAIN', 'EXPORT', 'EXTENDED', 'EXTERNAL', 'EXTRACT', 'FALSE', 'FETCH', 'FIELDS', 'FILEFORMAT', 'FIRST', 'FIRST_VALUE', 'FOLLOWING', 'FOR', 'FOREIGN', 'FORMAT', 'FORMATTED', 'FROM', 'FULL', 'FUNCTION', 'FUNCTIONS', 'GLOBAL', 'GRANT', 'GROUP', 'GROUPING', 'HAVING', 'HOUR', 'HOURS', 'IF', 'IGNORE', 'IMPORT', 'IN', 'INDEX', 'INDEXES', 'INNER', 'INPATH', 'INPUTFORMAT', 'INSERT', 'INTERSECT', 'INTERVAL', 'INTO', 'IS', 'ITEMS', 'JOIN', 'KEYS', 'LAST', 'LAST_VALUE', 'LATERAL', 'LAZY', 'LEADING', 'LEFT', 'LIKE', 'LIMIT', 'LINES', 'LIST', 'LOAD', 'LOCAL', 'LOCATION', 'LOCK', 'LOCKS', 'LOGICAL', 'MACRO', 'MAP', 'MICROSECOND', 'MICROSECONDS', 'MILLISECOND', 'MILLISECONDS', 'MINUTE', 'MINUTES', 'MONTH', 'MONTHS', 'MSCK', 'NAMESPACE', 'NAMESPACES', 'NATURAL', 'NO', NOT, 'NULL', 'NULLS', 'OF', 'ON', 'ONLY', 'OPTION', 'OPTIONS', 'OR', 'ORDER', 'OUT', 'OUTER', 'OUTPUTFORMAT', 'OVER', 'OVERLAPS', 'OVERLAY', 'OVERWRITE', 'PARTITION', 'PARTITIONED', 'PARTITIONS', 'PERCENT', 'PIVOT', 'PLACING', 'POSITION', 'PRECEDING', 'PRIMARY', 'PRINCIPALS', 'PURGE', 'QUERY', 'RANGE', 'RECORDREADER', 'RECORDWRITER', 'RECOVER', 'REDUCE', 'REFERENCES', 'REFRESH', 'RENAME', 'REPAIR', 'REPLACE', 'RESET', 'RESPECT', 'RESTRICT', 'REVOKE', 'RIGHT', RLIKE, 'ROLE', 'ROLES', 'ROLLBACK', 'ROLLUP', 'ROW', 'ROWS', 'SCHEMA', 'SECOND', 'SECONDS', 'SELECT', 'SEMI', 'SEPARATED', 'SERDE', 'SERDEPROPERTIES', 'SESSION_USER', 'SET', 'MINUS', 'SETS', 'SHOW', 'SKEWED', 'SOME', 'SORT', 'SORTED', 'START', 'STATISTICS', 'STORED', 'STRATIFY', 'STRUCT', 'SUBSTR', 'SUBSTRING', 'TABLE', 'TABLES', 'TABLESAMPLE', 'TBLPROPERTIES', TEMPORARY, 'TERMINATED', 'THEN', 'TO', 'TOUCH', 'TRAILING', 'TRANSACTION', 'TRANSACTIONS', 'TRANSFORM', 'TRIM', 'TRUE', 'TRUNCATE', 'TYPE', 'UNARCHIVE', 'UNBOUNDED', 'UNCACHE', 'UNION', 'UNIQUE', 'UNKNOWN', 'UNLOCK', 'UNSET', 'UPDATE', 'USE', 'USER', 'USING', 'VALUES', 'VIEW', 'WEEK', 'WEEKS', 'WHEN', 'WHERE', 'WINDOW', 'WITH', 'YEAR', 'YEARS', 'DIV', IDENTIFIER, BACKQUOTED_IDENTIFIER}(line 1, pos 46) @@ -1322,19 +1243,19 @@ SELECT interval '12:34.5678' minute to second(2) ----------------------------------------------^^^ --- !query 112 +-- !query 110 SELECT interval '1.234' second --- !query 112 schema +-- !query 110 schema struct --- !query 112 output +-- !query 110 output interval 1 seconds --- !query 113 +-- !query 111 SELECT interval '1.234' second(2) --- !query 113 schema +-- !query 111 schema struct<> --- !query 113 output +-- !query 111 output org.apache.spark.sql.catalyst.parser.ParseException mismatched input '2' expecting {'ADD', 'AFTER', 'ALL', 'ALTER', 'ANALYZE', 'AND', 'ANTI', 'ANY', 'ARCHIVE', 'ARRAY', 'AS', 'ASC', 'AT', 'AUTHORIZATION', 'BETWEEN', 'BOTH', 'BUCKET', 'BUCKETS', 'BY', 'CACHE', 'CASCADE', 'CASE', 'CAST', 'CHANGE', 'CHECK', 'CLEAR', 'CLUSTER', 'CLUSTERED', 'CODEGEN', 'COLLATE', 'COLLECTION', 'COLUMN', 'COLUMNS', 'COMMENT', 'COMMIT', 'COMPACT', 'COMPACTIONS', 'COMPUTE', 'CONCATENATE', 'CONSTRAINT', 'COST', 'CREATE', 'CROSS', 'CUBE', 'CURRENT', 'CURRENT_DATE', 'CURRENT_TIME', 'CURRENT_TIMESTAMP', 'CURRENT_USER', 'DATA', 'DATABASE', DATABASES, 'DAY', 'DAYS', 'DBPROPERTIES', 'DEFINED', 'DELETE', 'DELIMITED', 'DESC', 'DESCRIBE', 'DFS', 'DIRECTORIES', 'DIRECTORY', 'DISTINCT', 'DISTRIBUTE', 'DROP', 'ELSE', 'END', 'ESCAPED', 'EXCEPT', 'EXCHANGE', 'EXISTS', 'EXPLAIN', 'EXPORT', 'EXTENDED', 'EXTERNAL', 'EXTRACT', 'FALSE', 'FETCH', 'FIELDS', 'FILEFORMAT', 'FIRST', 'FIRST_VALUE', 'FOLLOWING', 'FOR', 'FOREIGN', 'FORMAT', 'FORMATTED', 'FROM', 'FULL', 'FUNCTION', 'FUNCTIONS', 'GLOBAL', 'GRANT', 'GROUP', 'GROUPING', 'HAVING', 'HOUR', 'HOURS', 'IF', 'IGNORE', 'IMPORT', 'IN', 'INDEX', 'INDEXES', 'INNER', 'INPATH', 'INPUTFORMAT', 'INSERT', 'INTERSECT', 'INTERVAL', 'INTO', 'IS', 'ITEMS', 'JOIN', 'KEYS', 'LAST', 'LAST_VALUE', 'LATERAL', 'LAZY', 'LEADING', 'LEFT', 'LIKE', 'LIMIT', 'LINES', 'LIST', 'LOAD', 'LOCAL', 'LOCATION', 'LOCK', 'LOCKS', 'LOGICAL', 'MACRO', 'MAP', 'MICROSECOND', 'MICROSECONDS', 'MILLISECOND', 'MILLISECONDS', 'MINUTE', 'MINUTES', 'MONTH', 'MONTHS', 'MSCK', 'NAMESPACE', 'NAMESPACES', 'NATURAL', 'NO', NOT, 'NULL', 'NULLS', 'OF', 'ON', 'ONLY', 'OPTION', 'OPTIONS', 'OR', 'ORDER', 'OUT', 'OUTER', 'OUTPUTFORMAT', 'OVER', 'OVERLAPS', 'OVERLAY', 'OVERWRITE', 'PARTITION', 'PARTITIONED', 'PARTITIONS', 'PERCENT', 'PIVOT', 'PLACING', 'POSITION', 'PRECEDING', 'PRIMARY', 'PRINCIPALS', 'PURGE', 'QUERY', 'RANGE', 'RECORDREADER', 'RECORDWRITER', 'RECOVER', 'REDUCE', 'REFERENCES', 'REFRESH', 'RENAME', 'REPAIR', 'REPLACE', 'RESET', 'RESPECT', 'RESTRICT', 'REVOKE', 'RIGHT', RLIKE, 'ROLE', 'ROLES', 'ROLLBACK', 'ROLLUP', 'ROW', 'ROWS', 'SCHEMA', 'SECOND', 'SECONDS', 'SELECT', 'SEMI', 'SEPARATED', 'SERDE', 'SERDEPROPERTIES', 'SESSION_USER', 'SET', 'MINUS', 'SETS', 'SHOW', 'SKEWED', 'SOME', 'SORT', 'SORTED', 'START', 'STATISTICS', 'STORED', 'STRATIFY', 'STRUCT', 'SUBSTR', 'SUBSTRING', 'TABLE', 'TABLES', 'TABLESAMPLE', 'TBLPROPERTIES', TEMPORARY, 'TERMINATED', 'THEN', 'TO', 'TOUCH', 'TRAILING', 'TRANSACTION', 'TRANSACTIONS', 'TRANSFORM', 'TRIM', 'TRUE', 'TRUNCATE', 'TYPE', 'UNARCHIVE', 'UNBOUNDED', 'UNCACHE', 'UNION', 'UNIQUE', 'UNKNOWN', 'UNLOCK', 'UNSET', 'UPDATE', 'USE', 'USER', 'USING', 'VALUES', 'VIEW', 'WEEK', 'WEEKS', 'WHEN', 'WHERE', 'WINDOW', 'WITH', 'YEAR', 'YEARS', 'DIV', IDENTIFIER, BACKQUOTED_IDENTIFIER}(line 1, pos 31) @@ -1344,11 +1265,11 @@ SELECT interval '1.234' second(2) -------------------------------^^^ --- !query 114 +-- !query 112 SELECT interval '1 2.345' day to second(2) --- !query 114 schema +-- !query 112 schema struct<> --- !query 114 output +-- !query 112 output org.apache.spark.sql.catalyst.parser.ParseException mismatched input '2' expecting {'ADD', 'AFTER', 'ALL', 'ALTER', 'ANALYZE', 'AND', 'ANTI', 'ANY', 'ARCHIVE', 'ARRAY', 'AS', 'ASC', 'AT', 'AUTHORIZATION', 'BETWEEN', 'BOTH', 'BUCKET', 'BUCKETS', 'BY', 'CACHE', 'CASCADE', 'CASE', 'CAST', 'CHANGE', 'CHECK', 'CLEAR', 'CLUSTER', 'CLUSTERED', 'CODEGEN', 'COLLATE', 'COLLECTION', 'COLUMN', 'COLUMNS', 'COMMENT', 'COMMIT', 'COMPACT', 'COMPACTIONS', 'COMPUTE', 'CONCATENATE', 'CONSTRAINT', 'COST', 'CREATE', 'CROSS', 'CUBE', 'CURRENT', 'CURRENT_DATE', 'CURRENT_TIME', 'CURRENT_TIMESTAMP', 'CURRENT_USER', 'DATA', 'DATABASE', DATABASES, 'DAY', 'DAYS', 'DBPROPERTIES', 'DEFINED', 'DELETE', 'DELIMITED', 'DESC', 'DESCRIBE', 'DFS', 'DIRECTORIES', 'DIRECTORY', 'DISTINCT', 'DISTRIBUTE', 'DROP', 'ELSE', 'END', 'ESCAPED', 'EXCEPT', 'EXCHANGE', 'EXISTS', 'EXPLAIN', 'EXPORT', 'EXTENDED', 'EXTERNAL', 'EXTRACT', 'FALSE', 'FETCH', 'FIELDS', 'FILEFORMAT', 'FIRST', 'FIRST_VALUE', 'FOLLOWING', 'FOR', 'FOREIGN', 'FORMAT', 'FORMATTED', 'FROM', 'FULL', 'FUNCTION', 'FUNCTIONS', 'GLOBAL', 'GRANT', 'GROUP', 'GROUPING', 'HAVING', 'HOUR', 'HOURS', 'IF', 'IGNORE', 'IMPORT', 'IN', 'INDEX', 'INDEXES', 'INNER', 'INPATH', 'INPUTFORMAT', 'INSERT', 'INTERSECT', 'INTERVAL', 'INTO', 'IS', 'ITEMS', 'JOIN', 'KEYS', 'LAST', 'LAST_VALUE', 'LATERAL', 'LAZY', 'LEADING', 'LEFT', 'LIKE', 'LIMIT', 'LINES', 'LIST', 'LOAD', 'LOCAL', 'LOCATION', 'LOCK', 'LOCKS', 'LOGICAL', 'MACRO', 'MAP', 'MICROSECOND', 'MICROSECONDS', 'MILLISECOND', 'MILLISECONDS', 'MINUTE', 'MINUTES', 'MONTH', 'MONTHS', 'MSCK', 'NAMESPACE', 'NAMESPACES', 'NATURAL', 'NO', NOT, 'NULL', 'NULLS', 'OF', 'ON', 'ONLY', 'OPTION', 'OPTIONS', 'OR', 'ORDER', 'OUT', 'OUTER', 'OUTPUTFORMAT', 'OVER', 'OVERLAPS', 'OVERLAY', 'OVERWRITE', 'PARTITION', 'PARTITIONED', 'PARTITIONS', 'PERCENT', 'PIVOT', 'PLACING', 'POSITION', 'PRECEDING', 'PRIMARY', 'PRINCIPALS', 'PURGE', 'QUERY', 'RANGE', 'RECORDREADER', 'RECORDWRITER', 'RECOVER', 'REDUCE', 'REFERENCES', 'REFRESH', 'RENAME', 'REPAIR', 'REPLACE', 'RESET', 'RESPECT', 'RESTRICT', 'REVOKE', 'RIGHT', RLIKE, 'ROLE', 'ROLES', 'ROLLBACK', 'ROLLUP', 'ROW', 'ROWS', 'SCHEMA', 'SECOND', 'SECONDS', 'SELECT', 'SEMI', 'SEPARATED', 'SERDE', 'SERDEPROPERTIES', 'SESSION_USER', 'SET', 'MINUS', 'SETS', 'SHOW', 'SKEWED', 'SOME', 'SORT', 'SORTED', 'START', 'STATISTICS', 'STORED', 'STRATIFY', 'STRUCT', 'SUBSTR', 'SUBSTRING', 'TABLE', 'TABLES', 'TABLESAMPLE', 'TBLPROPERTIES', TEMPORARY, 'TERMINATED', 'THEN', 'TO', 'TOUCH', 'TRAILING', 'TRANSACTION', 'TRANSACTIONS', 'TRANSFORM', 'TRIM', 'TRUE', 'TRUNCATE', 'TYPE', 'UNARCHIVE', 'UNBOUNDED', 'UNCACHE', 'UNION', 'UNIQUE', 'UNKNOWN', 'UNLOCK', 'UNSET', 'UPDATE', 'USE', 'USER', 'USING', 'VALUES', 'VIEW', 'WEEK', 'WEEKS', 'WHEN', 'WHERE', 'WINDOW', 'WITH', 'YEAR', 'YEARS', 'DIV', IDENTIFIER, BACKQUOTED_IDENTIFIER}(line 1, pos 40) @@ -1358,11 +1279,11 @@ SELECT interval '1 2.345' day to second(2) ----------------------------------------^^^ --- !query 115 +-- !query 113 SELECT interval '1 2:03' day to second(2) --- !query 115 schema +-- !query 113 schema struct<> --- !query 115 output +-- !query 113 output org.apache.spark.sql.catalyst.parser.ParseException mismatched input '2' expecting {'ADD', 'AFTER', 'ALL', 'ALTER', 'ANALYZE', 'AND', 'ANTI', 'ANY', 'ARCHIVE', 'ARRAY', 'AS', 'ASC', 'AT', 'AUTHORIZATION', 'BETWEEN', 'BOTH', 'BUCKET', 'BUCKETS', 'BY', 'CACHE', 'CASCADE', 'CASE', 'CAST', 'CHANGE', 'CHECK', 'CLEAR', 'CLUSTER', 'CLUSTERED', 'CODEGEN', 'COLLATE', 'COLLECTION', 'COLUMN', 'COLUMNS', 'COMMENT', 'COMMIT', 'COMPACT', 'COMPACTIONS', 'COMPUTE', 'CONCATENATE', 'CONSTRAINT', 'COST', 'CREATE', 'CROSS', 'CUBE', 'CURRENT', 'CURRENT_DATE', 'CURRENT_TIME', 'CURRENT_TIMESTAMP', 'CURRENT_USER', 'DATA', 'DATABASE', DATABASES, 'DAY', 'DAYS', 'DBPROPERTIES', 'DEFINED', 'DELETE', 'DELIMITED', 'DESC', 'DESCRIBE', 'DFS', 'DIRECTORIES', 'DIRECTORY', 'DISTINCT', 'DISTRIBUTE', 'DROP', 'ELSE', 'END', 'ESCAPED', 'EXCEPT', 'EXCHANGE', 'EXISTS', 'EXPLAIN', 'EXPORT', 'EXTENDED', 'EXTERNAL', 'EXTRACT', 'FALSE', 'FETCH', 'FIELDS', 'FILEFORMAT', 'FIRST', 'FIRST_VALUE', 'FOLLOWING', 'FOR', 'FOREIGN', 'FORMAT', 'FORMATTED', 'FROM', 'FULL', 'FUNCTION', 'FUNCTIONS', 'GLOBAL', 'GRANT', 'GROUP', 'GROUPING', 'HAVING', 'HOUR', 'HOURS', 'IF', 'IGNORE', 'IMPORT', 'IN', 'INDEX', 'INDEXES', 'INNER', 'INPATH', 'INPUTFORMAT', 'INSERT', 'INTERSECT', 'INTERVAL', 'INTO', 'IS', 'ITEMS', 'JOIN', 'KEYS', 'LAST', 'LAST_VALUE', 'LATERAL', 'LAZY', 'LEADING', 'LEFT', 'LIKE', 'LIMIT', 'LINES', 'LIST', 'LOAD', 'LOCAL', 'LOCATION', 'LOCK', 'LOCKS', 'LOGICAL', 'MACRO', 'MAP', 'MICROSECOND', 'MICROSECONDS', 'MILLISECOND', 'MILLISECONDS', 'MINUTE', 'MINUTES', 'MONTH', 'MONTHS', 'MSCK', 'NAMESPACE', 'NAMESPACES', 'NATURAL', 'NO', NOT, 'NULL', 'NULLS', 'OF', 'ON', 'ONLY', 'OPTION', 'OPTIONS', 'OR', 'ORDER', 'OUT', 'OUTER', 'OUTPUTFORMAT', 'OVER', 'OVERLAPS', 'OVERLAY', 'OVERWRITE', 'PARTITION', 'PARTITIONED', 'PARTITIONS', 'PERCENT', 'PIVOT', 'PLACING', 'POSITION', 'PRECEDING', 'PRIMARY', 'PRINCIPALS', 'PURGE', 'QUERY', 'RANGE', 'RECORDREADER', 'RECORDWRITER', 'RECOVER', 'REDUCE', 'REFERENCES', 'REFRESH', 'RENAME', 'REPAIR', 'REPLACE', 'RESET', 'RESPECT', 'RESTRICT', 'REVOKE', 'RIGHT', RLIKE, 'ROLE', 'ROLES', 'ROLLBACK', 'ROLLUP', 'ROW', 'ROWS', 'SCHEMA', 'SECOND', 'SECONDS', 'SELECT', 'SEMI', 'SEPARATED', 'SERDE', 'SERDEPROPERTIES', 'SESSION_USER', 'SET', 'MINUS', 'SETS', 'SHOW', 'SKEWED', 'SOME', 'SORT', 'SORTED', 'START', 'STATISTICS', 'STORED', 'STRATIFY', 'STRUCT', 'SUBSTR', 'SUBSTRING', 'TABLE', 'TABLES', 'TABLESAMPLE', 'TBLPROPERTIES', TEMPORARY, 'TERMINATED', 'THEN', 'TO', 'TOUCH', 'TRAILING', 'TRANSACTION', 'TRANSACTIONS', 'TRANSFORM', 'TRIM', 'TRUE', 'TRUNCATE', 'TYPE', 'UNARCHIVE', 'UNBOUNDED', 'UNCACHE', 'UNION', 'UNIQUE', 'UNKNOWN', 'UNLOCK', 'UNSET', 'UPDATE', 'USE', 'USER', 'USING', 'VALUES', 'VIEW', 'WEEK', 'WEEKS', 'WHEN', 'WHERE', 'WINDOW', 'WITH', 'YEAR', 'YEARS', 'DIV', IDENTIFIER, BACKQUOTED_IDENTIFIER}(line 1, pos 39) @@ -1372,11 +1293,11 @@ SELECT interval '1 2:03' day to second(2) ---------------------------------------^^^ --- !query 116 +-- !query 114 SELECT interval '1 2:03.4567' day to second(2) --- !query 116 schema +-- !query 114 schema struct<> --- !query 116 output +-- !query 114 output org.apache.spark.sql.catalyst.parser.ParseException mismatched input '2' expecting {'ADD', 'AFTER', 'ALL', 'ALTER', 'ANALYZE', 'AND', 'ANTI', 'ANY', 'ARCHIVE', 'ARRAY', 'AS', 'ASC', 'AT', 'AUTHORIZATION', 'BETWEEN', 'BOTH', 'BUCKET', 'BUCKETS', 'BY', 'CACHE', 'CASCADE', 'CASE', 'CAST', 'CHANGE', 'CHECK', 'CLEAR', 'CLUSTER', 'CLUSTERED', 'CODEGEN', 'COLLATE', 'COLLECTION', 'COLUMN', 'COLUMNS', 'COMMENT', 'COMMIT', 'COMPACT', 'COMPACTIONS', 'COMPUTE', 'CONCATENATE', 'CONSTRAINT', 'COST', 'CREATE', 'CROSS', 'CUBE', 'CURRENT', 'CURRENT_DATE', 'CURRENT_TIME', 'CURRENT_TIMESTAMP', 'CURRENT_USER', 'DATA', 'DATABASE', DATABASES, 'DAY', 'DAYS', 'DBPROPERTIES', 'DEFINED', 'DELETE', 'DELIMITED', 'DESC', 'DESCRIBE', 'DFS', 'DIRECTORIES', 'DIRECTORY', 'DISTINCT', 'DISTRIBUTE', 'DROP', 'ELSE', 'END', 'ESCAPED', 'EXCEPT', 'EXCHANGE', 'EXISTS', 'EXPLAIN', 'EXPORT', 'EXTENDED', 'EXTERNAL', 'EXTRACT', 'FALSE', 'FETCH', 'FIELDS', 'FILEFORMAT', 'FIRST', 'FIRST_VALUE', 'FOLLOWING', 'FOR', 'FOREIGN', 'FORMAT', 'FORMATTED', 'FROM', 'FULL', 'FUNCTION', 'FUNCTIONS', 'GLOBAL', 'GRANT', 'GROUP', 'GROUPING', 'HAVING', 'HOUR', 'HOURS', 'IF', 'IGNORE', 'IMPORT', 'IN', 'INDEX', 'INDEXES', 'INNER', 'INPATH', 'INPUTFORMAT', 'INSERT', 'INTERSECT', 'INTERVAL', 'INTO', 'IS', 'ITEMS', 'JOIN', 'KEYS', 'LAST', 'LAST_VALUE', 'LATERAL', 'LAZY', 'LEADING', 'LEFT', 'LIKE', 'LIMIT', 'LINES', 'LIST', 'LOAD', 'LOCAL', 'LOCATION', 'LOCK', 'LOCKS', 'LOGICAL', 'MACRO', 'MAP', 'MICROSECOND', 'MICROSECONDS', 'MILLISECOND', 'MILLISECONDS', 'MINUTE', 'MINUTES', 'MONTH', 'MONTHS', 'MSCK', 'NAMESPACE', 'NAMESPACES', 'NATURAL', 'NO', NOT, 'NULL', 'NULLS', 'OF', 'ON', 'ONLY', 'OPTION', 'OPTIONS', 'OR', 'ORDER', 'OUT', 'OUTER', 'OUTPUTFORMAT', 'OVER', 'OVERLAPS', 'OVERLAY', 'OVERWRITE', 'PARTITION', 'PARTITIONED', 'PARTITIONS', 'PERCENT', 'PIVOT', 'PLACING', 'POSITION', 'PRECEDING', 'PRIMARY', 'PRINCIPALS', 'PURGE', 'QUERY', 'RANGE', 'RECORDREADER', 'RECORDWRITER', 'RECOVER', 'REDUCE', 'REFERENCES', 'REFRESH', 'RENAME', 'REPAIR', 'REPLACE', 'RESET', 'RESPECT', 'RESTRICT', 'REVOKE', 'RIGHT', RLIKE, 'ROLE', 'ROLES', 'ROLLBACK', 'ROLLUP', 'ROW', 'ROWS', 'SCHEMA', 'SECOND', 'SECONDS', 'SELECT', 'SEMI', 'SEPARATED', 'SERDE', 'SERDEPROPERTIES', 'SESSION_USER', 'SET', 'MINUS', 'SETS', 'SHOW', 'SKEWED', 'SOME', 'SORT', 'SORTED', 'START', 'STATISTICS', 'STORED', 'STRATIFY', 'STRUCT', 'SUBSTR', 'SUBSTRING', 'TABLE', 'TABLES', 'TABLESAMPLE', 'TBLPROPERTIES', TEMPORARY, 'TERMINATED', 'THEN', 'TO', 'TOUCH', 'TRAILING', 'TRANSACTION', 'TRANSACTIONS', 'TRANSFORM', 'TRIM', 'TRUE', 'TRUNCATE', 'TYPE', 'UNARCHIVE', 'UNBOUNDED', 'UNCACHE', 'UNION', 'UNIQUE', 'UNKNOWN', 'UNLOCK', 'UNSET', 'UPDATE', 'USE', 'USER', 'USING', 'VALUES', 'VIEW', 'WEEK', 'WEEKS', 'WHEN', 'WHERE', 'WINDOW', 'WITH', 'YEAR', 'YEARS', 'DIV', IDENTIFIER, BACKQUOTED_IDENTIFIER}(line 1, pos 44) @@ -1386,11 +1307,11 @@ SELECT interval '1 2:03.4567' day to second(2) --------------------------------------------^^^ --- !query 117 +-- !query 115 SELECT interval '1 2:03:04.5678' day to second(2) --- !query 117 schema +-- !query 115 schema struct<> --- !query 117 output +-- !query 115 output org.apache.spark.sql.catalyst.parser.ParseException mismatched input '2' expecting {'ADD', 'AFTER', 'ALL', 'ALTER', 'ANALYZE', 'AND', 'ANTI', 'ANY', 'ARCHIVE', 'ARRAY', 'AS', 'ASC', 'AT', 'AUTHORIZATION', 'BETWEEN', 'BOTH', 'BUCKET', 'BUCKETS', 'BY', 'CACHE', 'CASCADE', 'CASE', 'CAST', 'CHANGE', 'CHECK', 'CLEAR', 'CLUSTER', 'CLUSTERED', 'CODEGEN', 'COLLATE', 'COLLECTION', 'COLUMN', 'COLUMNS', 'COMMENT', 'COMMIT', 'COMPACT', 'COMPACTIONS', 'COMPUTE', 'CONCATENATE', 'CONSTRAINT', 'COST', 'CREATE', 'CROSS', 'CUBE', 'CURRENT', 'CURRENT_DATE', 'CURRENT_TIME', 'CURRENT_TIMESTAMP', 'CURRENT_USER', 'DATA', 'DATABASE', DATABASES, 'DAY', 'DAYS', 'DBPROPERTIES', 'DEFINED', 'DELETE', 'DELIMITED', 'DESC', 'DESCRIBE', 'DFS', 'DIRECTORIES', 'DIRECTORY', 'DISTINCT', 'DISTRIBUTE', 'DROP', 'ELSE', 'END', 'ESCAPED', 'EXCEPT', 'EXCHANGE', 'EXISTS', 'EXPLAIN', 'EXPORT', 'EXTENDED', 'EXTERNAL', 'EXTRACT', 'FALSE', 'FETCH', 'FIELDS', 'FILEFORMAT', 'FIRST', 'FIRST_VALUE', 'FOLLOWING', 'FOR', 'FOREIGN', 'FORMAT', 'FORMATTED', 'FROM', 'FULL', 'FUNCTION', 'FUNCTIONS', 'GLOBAL', 'GRANT', 'GROUP', 'GROUPING', 'HAVING', 'HOUR', 'HOURS', 'IF', 'IGNORE', 'IMPORT', 'IN', 'INDEX', 'INDEXES', 'INNER', 'INPATH', 'INPUTFORMAT', 'INSERT', 'INTERSECT', 'INTERVAL', 'INTO', 'IS', 'ITEMS', 'JOIN', 'KEYS', 'LAST', 'LAST_VALUE', 'LATERAL', 'LAZY', 'LEADING', 'LEFT', 'LIKE', 'LIMIT', 'LINES', 'LIST', 'LOAD', 'LOCAL', 'LOCATION', 'LOCK', 'LOCKS', 'LOGICAL', 'MACRO', 'MAP', 'MICROSECOND', 'MICROSECONDS', 'MILLISECOND', 'MILLISECONDS', 'MINUTE', 'MINUTES', 'MONTH', 'MONTHS', 'MSCK', 'NAMESPACE', 'NAMESPACES', 'NATURAL', 'NO', NOT, 'NULL', 'NULLS', 'OF', 'ON', 'ONLY', 'OPTION', 'OPTIONS', 'OR', 'ORDER', 'OUT', 'OUTER', 'OUTPUTFORMAT', 'OVER', 'OVERLAPS', 'OVERLAY', 'OVERWRITE', 'PARTITION', 'PARTITIONED', 'PARTITIONS', 'PERCENT', 'PIVOT', 'PLACING', 'POSITION', 'PRECEDING', 'PRIMARY', 'PRINCIPALS', 'PURGE', 'QUERY', 'RANGE', 'RECORDREADER', 'RECORDWRITER', 'RECOVER', 'REDUCE', 'REFERENCES', 'REFRESH', 'RENAME', 'REPAIR', 'REPLACE', 'RESET', 'RESPECT', 'RESTRICT', 'REVOKE', 'RIGHT', RLIKE, 'ROLE', 'ROLES', 'ROLLBACK', 'ROLLUP', 'ROW', 'ROWS', 'SCHEMA', 'SECOND', 'SECONDS', 'SELECT', 'SEMI', 'SEPARATED', 'SERDE', 'SERDEPROPERTIES', 'SESSION_USER', 'SET', 'MINUS', 'SETS', 'SHOW', 'SKEWED', 'SOME', 'SORT', 'SORTED', 'START', 'STATISTICS', 'STORED', 'STRATIFY', 'STRUCT', 'SUBSTR', 'SUBSTRING', 'TABLE', 'TABLES', 'TABLESAMPLE', 'TBLPROPERTIES', TEMPORARY, 'TERMINATED', 'THEN', 'TO', 'TOUCH', 'TRAILING', 'TRANSACTION', 'TRANSACTIONS', 'TRANSFORM', 'TRIM', 'TRUE', 'TRUNCATE', 'TYPE', 'UNARCHIVE', 'UNBOUNDED', 'UNCACHE', 'UNION', 'UNIQUE', 'UNKNOWN', 'UNLOCK', 'UNSET', 'UPDATE', 'USE', 'USER', 'USING', 'VALUES', 'VIEW', 'WEEK', 'WEEKS', 'WHEN', 'WHERE', 'WINDOW', 'WITH', 'YEAR', 'YEARS', 'DIV', IDENTIFIER, BACKQUOTED_IDENTIFIER}(line 1, pos 47) @@ -1400,11 +1321,11 @@ SELECT interval '1 2:03:04.5678' day to second(2) -----------------------------------------------^^^ --- !query 118 +-- !query 116 SELECT interval '1 2.345' hour to second(2) --- !query 118 schema +-- !query 116 schema struct<> --- !query 118 output +-- !query 116 output org.apache.spark.sql.catalyst.parser.ParseException mismatched input '2' expecting {'ADD', 'AFTER', 'ALL', 'ALTER', 'ANALYZE', 'AND', 'ANTI', 'ANY', 'ARCHIVE', 'ARRAY', 'AS', 'ASC', 'AT', 'AUTHORIZATION', 'BETWEEN', 'BOTH', 'BUCKET', 'BUCKETS', 'BY', 'CACHE', 'CASCADE', 'CASE', 'CAST', 'CHANGE', 'CHECK', 'CLEAR', 'CLUSTER', 'CLUSTERED', 'CODEGEN', 'COLLATE', 'COLLECTION', 'COLUMN', 'COLUMNS', 'COMMENT', 'COMMIT', 'COMPACT', 'COMPACTIONS', 'COMPUTE', 'CONCATENATE', 'CONSTRAINT', 'COST', 'CREATE', 'CROSS', 'CUBE', 'CURRENT', 'CURRENT_DATE', 'CURRENT_TIME', 'CURRENT_TIMESTAMP', 'CURRENT_USER', 'DATA', 'DATABASE', DATABASES, 'DAY', 'DAYS', 'DBPROPERTIES', 'DEFINED', 'DELETE', 'DELIMITED', 'DESC', 'DESCRIBE', 'DFS', 'DIRECTORIES', 'DIRECTORY', 'DISTINCT', 'DISTRIBUTE', 'DROP', 'ELSE', 'END', 'ESCAPED', 'EXCEPT', 'EXCHANGE', 'EXISTS', 'EXPLAIN', 'EXPORT', 'EXTENDED', 'EXTERNAL', 'EXTRACT', 'FALSE', 'FETCH', 'FIELDS', 'FILEFORMAT', 'FIRST', 'FIRST_VALUE', 'FOLLOWING', 'FOR', 'FOREIGN', 'FORMAT', 'FORMATTED', 'FROM', 'FULL', 'FUNCTION', 'FUNCTIONS', 'GLOBAL', 'GRANT', 'GROUP', 'GROUPING', 'HAVING', 'HOUR', 'HOURS', 'IF', 'IGNORE', 'IMPORT', 'IN', 'INDEX', 'INDEXES', 'INNER', 'INPATH', 'INPUTFORMAT', 'INSERT', 'INTERSECT', 'INTERVAL', 'INTO', 'IS', 'ITEMS', 'JOIN', 'KEYS', 'LAST', 'LAST_VALUE', 'LATERAL', 'LAZY', 'LEADING', 'LEFT', 'LIKE', 'LIMIT', 'LINES', 'LIST', 'LOAD', 'LOCAL', 'LOCATION', 'LOCK', 'LOCKS', 'LOGICAL', 'MACRO', 'MAP', 'MICROSECOND', 'MICROSECONDS', 'MILLISECOND', 'MILLISECONDS', 'MINUTE', 'MINUTES', 'MONTH', 'MONTHS', 'MSCK', 'NAMESPACE', 'NAMESPACES', 'NATURAL', 'NO', NOT, 'NULL', 'NULLS', 'OF', 'ON', 'ONLY', 'OPTION', 'OPTIONS', 'OR', 'ORDER', 'OUT', 'OUTER', 'OUTPUTFORMAT', 'OVER', 'OVERLAPS', 'OVERLAY', 'OVERWRITE', 'PARTITION', 'PARTITIONED', 'PARTITIONS', 'PERCENT', 'PIVOT', 'PLACING', 'POSITION', 'PRECEDING', 'PRIMARY', 'PRINCIPALS', 'PURGE', 'QUERY', 'RANGE', 'RECORDREADER', 'RECORDWRITER', 'RECOVER', 'REDUCE', 'REFERENCES', 'REFRESH', 'RENAME', 'REPAIR', 'REPLACE', 'RESET', 'RESPECT', 'RESTRICT', 'REVOKE', 'RIGHT', RLIKE, 'ROLE', 'ROLES', 'ROLLBACK', 'ROLLUP', 'ROW', 'ROWS', 'SCHEMA', 'SECOND', 'SECONDS', 'SELECT', 'SEMI', 'SEPARATED', 'SERDE', 'SERDEPROPERTIES', 'SESSION_USER', 'SET', 'MINUS', 'SETS', 'SHOW', 'SKEWED', 'SOME', 'SORT', 'SORTED', 'START', 'STATISTICS', 'STORED', 'STRATIFY', 'STRUCT', 'SUBSTR', 'SUBSTRING', 'TABLE', 'TABLES', 'TABLESAMPLE', 'TBLPROPERTIES', TEMPORARY, 'TERMINATED', 'THEN', 'TO', 'TOUCH', 'TRAILING', 'TRANSACTION', 'TRANSACTIONS', 'TRANSFORM', 'TRIM', 'TRUE', 'TRUNCATE', 'TYPE', 'UNARCHIVE', 'UNBOUNDED', 'UNCACHE', 'UNION', 'UNIQUE', 'UNKNOWN', 'UNLOCK', 'UNSET', 'UPDATE', 'USE', 'USER', 'USING', 'VALUES', 'VIEW', 'WEEK', 'WEEKS', 'WHEN', 'WHERE', 'WINDOW', 'WITH', 'YEAR', 'YEARS', 'DIV', IDENTIFIER, BACKQUOTED_IDENTIFIER}(line 1, pos 41) @@ -1414,11 +1335,11 @@ SELECT interval '1 2.345' hour to second(2) -----------------------------------------^^^ --- !query 119 +-- !query 117 SELECT interval '1 2:03.45678' hour to second(2) --- !query 119 schema +-- !query 117 schema struct<> --- !query 119 output +-- !query 117 output org.apache.spark.sql.catalyst.parser.ParseException mismatched input '2' expecting {'ADD', 'AFTER', 'ALL', 'ALTER', 'ANALYZE', 'AND', 'ANTI', 'ANY', 'ARCHIVE', 'ARRAY', 'AS', 'ASC', 'AT', 'AUTHORIZATION', 'BETWEEN', 'BOTH', 'BUCKET', 'BUCKETS', 'BY', 'CACHE', 'CASCADE', 'CASE', 'CAST', 'CHANGE', 'CHECK', 'CLEAR', 'CLUSTER', 'CLUSTERED', 'CODEGEN', 'COLLATE', 'COLLECTION', 'COLUMN', 'COLUMNS', 'COMMENT', 'COMMIT', 'COMPACT', 'COMPACTIONS', 'COMPUTE', 'CONCATENATE', 'CONSTRAINT', 'COST', 'CREATE', 'CROSS', 'CUBE', 'CURRENT', 'CURRENT_DATE', 'CURRENT_TIME', 'CURRENT_TIMESTAMP', 'CURRENT_USER', 'DATA', 'DATABASE', DATABASES, 'DAY', 'DAYS', 'DBPROPERTIES', 'DEFINED', 'DELETE', 'DELIMITED', 'DESC', 'DESCRIBE', 'DFS', 'DIRECTORIES', 'DIRECTORY', 'DISTINCT', 'DISTRIBUTE', 'DROP', 'ELSE', 'END', 'ESCAPED', 'EXCEPT', 'EXCHANGE', 'EXISTS', 'EXPLAIN', 'EXPORT', 'EXTENDED', 'EXTERNAL', 'EXTRACT', 'FALSE', 'FETCH', 'FIELDS', 'FILEFORMAT', 'FIRST', 'FIRST_VALUE', 'FOLLOWING', 'FOR', 'FOREIGN', 'FORMAT', 'FORMATTED', 'FROM', 'FULL', 'FUNCTION', 'FUNCTIONS', 'GLOBAL', 'GRANT', 'GROUP', 'GROUPING', 'HAVING', 'HOUR', 'HOURS', 'IF', 'IGNORE', 'IMPORT', 'IN', 'INDEX', 'INDEXES', 'INNER', 'INPATH', 'INPUTFORMAT', 'INSERT', 'INTERSECT', 'INTERVAL', 'INTO', 'IS', 'ITEMS', 'JOIN', 'KEYS', 'LAST', 'LAST_VALUE', 'LATERAL', 'LAZY', 'LEADING', 'LEFT', 'LIKE', 'LIMIT', 'LINES', 'LIST', 'LOAD', 'LOCAL', 'LOCATION', 'LOCK', 'LOCKS', 'LOGICAL', 'MACRO', 'MAP', 'MICROSECOND', 'MICROSECONDS', 'MILLISECOND', 'MILLISECONDS', 'MINUTE', 'MINUTES', 'MONTH', 'MONTHS', 'MSCK', 'NAMESPACE', 'NAMESPACES', 'NATURAL', 'NO', NOT, 'NULL', 'NULLS', 'OF', 'ON', 'ONLY', 'OPTION', 'OPTIONS', 'OR', 'ORDER', 'OUT', 'OUTER', 'OUTPUTFORMAT', 'OVER', 'OVERLAPS', 'OVERLAY', 'OVERWRITE', 'PARTITION', 'PARTITIONED', 'PARTITIONS', 'PERCENT', 'PIVOT', 'PLACING', 'POSITION', 'PRECEDING', 'PRIMARY', 'PRINCIPALS', 'PURGE', 'QUERY', 'RANGE', 'RECORDREADER', 'RECORDWRITER', 'RECOVER', 'REDUCE', 'REFERENCES', 'REFRESH', 'RENAME', 'REPAIR', 'REPLACE', 'RESET', 'RESPECT', 'RESTRICT', 'REVOKE', 'RIGHT', RLIKE, 'ROLE', 'ROLES', 'ROLLBACK', 'ROLLUP', 'ROW', 'ROWS', 'SCHEMA', 'SECOND', 'SECONDS', 'SELECT', 'SEMI', 'SEPARATED', 'SERDE', 'SERDEPROPERTIES', 'SESSION_USER', 'SET', 'MINUS', 'SETS', 'SHOW', 'SKEWED', 'SOME', 'SORT', 'SORTED', 'START', 'STATISTICS', 'STORED', 'STRATIFY', 'STRUCT', 'SUBSTR', 'SUBSTRING', 'TABLE', 'TABLES', 'TABLESAMPLE', 'TBLPROPERTIES', TEMPORARY, 'TERMINATED', 'THEN', 'TO', 'TOUCH', 'TRAILING', 'TRANSACTION', 'TRANSACTIONS', 'TRANSFORM', 'TRIM', 'TRUE', 'TRUNCATE', 'TYPE', 'UNARCHIVE', 'UNBOUNDED', 'UNCACHE', 'UNION', 'UNIQUE', 'UNKNOWN', 'UNLOCK', 'UNSET', 'UPDATE', 'USE', 'USER', 'USING', 'VALUES', 'VIEW', 'WEEK', 'WEEKS', 'WHEN', 'WHERE', 'WINDOW', 'WITH', 'YEAR', 'YEARS', 'DIV', IDENTIFIER, BACKQUOTED_IDENTIFIER}(line 1, pos 46) @@ -1428,11 +1349,11 @@ SELECT interval '1 2:03.45678' hour to second(2) ----------------------------------------------^^^ --- !query 120 +-- !query 118 SELECT interval '1 2:03:04.5678' hour to second(2) --- !query 120 schema +-- !query 118 schema struct<> --- !query 120 output +-- !query 118 output org.apache.spark.sql.catalyst.parser.ParseException mismatched input '2' expecting {'ADD', 'AFTER', 'ALL', 'ALTER', 'ANALYZE', 'AND', 'ANTI', 'ANY', 'ARCHIVE', 'ARRAY', 'AS', 'ASC', 'AT', 'AUTHORIZATION', 'BETWEEN', 'BOTH', 'BUCKET', 'BUCKETS', 'BY', 'CACHE', 'CASCADE', 'CASE', 'CAST', 'CHANGE', 'CHECK', 'CLEAR', 'CLUSTER', 'CLUSTERED', 'CODEGEN', 'COLLATE', 'COLLECTION', 'COLUMN', 'COLUMNS', 'COMMENT', 'COMMIT', 'COMPACT', 'COMPACTIONS', 'COMPUTE', 'CONCATENATE', 'CONSTRAINT', 'COST', 'CREATE', 'CROSS', 'CUBE', 'CURRENT', 'CURRENT_DATE', 'CURRENT_TIME', 'CURRENT_TIMESTAMP', 'CURRENT_USER', 'DATA', 'DATABASE', DATABASES, 'DAY', 'DAYS', 'DBPROPERTIES', 'DEFINED', 'DELETE', 'DELIMITED', 'DESC', 'DESCRIBE', 'DFS', 'DIRECTORIES', 'DIRECTORY', 'DISTINCT', 'DISTRIBUTE', 'DROP', 'ELSE', 'END', 'ESCAPED', 'EXCEPT', 'EXCHANGE', 'EXISTS', 'EXPLAIN', 'EXPORT', 'EXTENDED', 'EXTERNAL', 'EXTRACT', 'FALSE', 'FETCH', 'FIELDS', 'FILEFORMAT', 'FIRST', 'FIRST_VALUE', 'FOLLOWING', 'FOR', 'FOREIGN', 'FORMAT', 'FORMATTED', 'FROM', 'FULL', 'FUNCTION', 'FUNCTIONS', 'GLOBAL', 'GRANT', 'GROUP', 'GROUPING', 'HAVING', 'HOUR', 'HOURS', 'IF', 'IGNORE', 'IMPORT', 'IN', 'INDEX', 'INDEXES', 'INNER', 'INPATH', 'INPUTFORMAT', 'INSERT', 'INTERSECT', 'INTERVAL', 'INTO', 'IS', 'ITEMS', 'JOIN', 'KEYS', 'LAST', 'LAST_VALUE', 'LATERAL', 'LAZY', 'LEADING', 'LEFT', 'LIKE', 'LIMIT', 'LINES', 'LIST', 'LOAD', 'LOCAL', 'LOCATION', 'LOCK', 'LOCKS', 'LOGICAL', 'MACRO', 'MAP', 'MICROSECOND', 'MICROSECONDS', 'MILLISECOND', 'MILLISECONDS', 'MINUTE', 'MINUTES', 'MONTH', 'MONTHS', 'MSCK', 'NAMESPACE', 'NAMESPACES', 'NATURAL', 'NO', NOT, 'NULL', 'NULLS', 'OF', 'ON', 'ONLY', 'OPTION', 'OPTIONS', 'OR', 'ORDER', 'OUT', 'OUTER', 'OUTPUTFORMAT', 'OVER', 'OVERLAPS', 'OVERLAY', 'OVERWRITE', 'PARTITION', 'PARTITIONED', 'PARTITIONS', 'PERCENT', 'PIVOT', 'PLACING', 'POSITION', 'PRECEDING', 'PRIMARY', 'PRINCIPALS', 'PURGE', 'QUERY', 'RANGE', 'RECORDREADER', 'RECORDWRITER', 'RECOVER', 'REDUCE', 'REFERENCES', 'REFRESH', 'RENAME', 'REPAIR', 'REPLACE', 'RESET', 'RESPECT', 'RESTRICT', 'REVOKE', 'RIGHT', RLIKE, 'ROLE', 'ROLES', 'ROLLBACK', 'ROLLUP', 'ROW', 'ROWS', 'SCHEMA', 'SECOND', 'SECONDS', 'SELECT', 'SEMI', 'SEPARATED', 'SERDE', 'SERDEPROPERTIES', 'SESSION_USER', 'SET', 'MINUS', 'SETS', 'SHOW', 'SKEWED', 'SOME', 'SORT', 'SORTED', 'START', 'STATISTICS', 'STORED', 'STRATIFY', 'STRUCT', 'SUBSTR', 'SUBSTRING', 'TABLE', 'TABLES', 'TABLESAMPLE', 'TBLPROPERTIES', TEMPORARY, 'TERMINATED', 'THEN', 'TO', 'TOUCH', 'TRAILING', 'TRANSACTION', 'TRANSACTIONS', 'TRANSFORM', 'TRIM', 'TRUE', 'TRUNCATE', 'TYPE', 'UNARCHIVE', 'UNBOUNDED', 'UNCACHE', 'UNION', 'UNIQUE', 'UNKNOWN', 'UNLOCK', 'UNSET', 'UPDATE', 'USE', 'USER', 'USING', 'VALUES', 'VIEW', 'WEEK', 'WEEKS', 'WHEN', 'WHERE', 'WINDOW', 'WITH', 'YEAR', 'YEARS', 'DIV', IDENTIFIER, BACKQUOTED_IDENTIFIER}(line 1, pos 48) @@ -1442,11 +1363,11 @@ SELECT interval '1 2:03:04.5678' hour to second(2) ------------------------------------------------^^^ --- !query 121 +-- !query 119 SELECT interval '1 2.3456' minute to second(2) --- !query 121 schema +-- !query 119 schema struct<> --- !query 121 output +-- !query 119 output org.apache.spark.sql.catalyst.parser.ParseException mismatched input '2' expecting {'ADD', 'AFTER', 'ALL', 'ALTER', 'ANALYZE', 'AND', 'ANTI', 'ANY', 'ARCHIVE', 'ARRAY', 'AS', 'ASC', 'AT', 'AUTHORIZATION', 'BETWEEN', 'BOTH', 'BUCKET', 'BUCKETS', 'BY', 'CACHE', 'CASCADE', 'CASE', 'CAST', 'CHANGE', 'CHECK', 'CLEAR', 'CLUSTER', 'CLUSTERED', 'CODEGEN', 'COLLATE', 'COLLECTION', 'COLUMN', 'COLUMNS', 'COMMENT', 'COMMIT', 'COMPACT', 'COMPACTIONS', 'COMPUTE', 'CONCATENATE', 'CONSTRAINT', 'COST', 'CREATE', 'CROSS', 'CUBE', 'CURRENT', 'CURRENT_DATE', 'CURRENT_TIME', 'CURRENT_TIMESTAMP', 'CURRENT_USER', 'DATA', 'DATABASE', DATABASES, 'DAY', 'DAYS', 'DBPROPERTIES', 'DEFINED', 'DELETE', 'DELIMITED', 'DESC', 'DESCRIBE', 'DFS', 'DIRECTORIES', 'DIRECTORY', 'DISTINCT', 'DISTRIBUTE', 'DROP', 'ELSE', 'END', 'ESCAPED', 'EXCEPT', 'EXCHANGE', 'EXISTS', 'EXPLAIN', 'EXPORT', 'EXTENDED', 'EXTERNAL', 'EXTRACT', 'FALSE', 'FETCH', 'FIELDS', 'FILEFORMAT', 'FIRST', 'FIRST_VALUE', 'FOLLOWING', 'FOR', 'FOREIGN', 'FORMAT', 'FORMATTED', 'FROM', 'FULL', 'FUNCTION', 'FUNCTIONS', 'GLOBAL', 'GRANT', 'GROUP', 'GROUPING', 'HAVING', 'HOUR', 'HOURS', 'IF', 'IGNORE', 'IMPORT', 'IN', 'INDEX', 'INDEXES', 'INNER', 'INPATH', 'INPUTFORMAT', 'INSERT', 'INTERSECT', 'INTERVAL', 'INTO', 'IS', 'ITEMS', 'JOIN', 'KEYS', 'LAST', 'LAST_VALUE', 'LATERAL', 'LAZY', 'LEADING', 'LEFT', 'LIKE', 'LIMIT', 'LINES', 'LIST', 'LOAD', 'LOCAL', 'LOCATION', 'LOCK', 'LOCKS', 'LOGICAL', 'MACRO', 'MAP', 'MICROSECOND', 'MICROSECONDS', 'MILLISECOND', 'MILLISECONDS', 'MINUTE', 'MINUTES', 'MONTH', 'MONTHS', 'MSCK', 'NAMESPACE', 'NAMESPACES', 'NATURAL', 'NO', NOT, 'NULL', 'NULLS', 'OF', 'ON', 'ONLY', 'OPTION', 'OPTIONS', 'OR', 'ORDER', 'OUT', 'OUTER', 'OUTPUTFORMAT', 'OVER', 'OVERLAPS', 'OVERLAY', 'OVERWRITE', 'PARTITION', 'PARTITIONED', 'PARTITIONS', 'PERCENT', 'PIVOT', 'PLACING', 'POSITION', 'PRECEDING', 'PRIMARY', 'PRINCIPALS', 'PURGE', 'QUERY', 'RANGE', 'RECORDREADER', 'RECORDWRITER', 'RECOVER', 'REDUCE', 'REFERENCES', 'REFRESH', 'RENAME', 'REPAIR', 'REPLACE', 'RESET', 'RESPECT', 'RESTRICT', 'REVOKE', 'RIGHT', RLIKE, 'ROLE', 'ROLES', 'ROLLBACK', 'ROLLUP', 'ROW', 'ROWS', 'SCHEMA', 'SECOND', 'SECONDS', 'SELECT', 'SEMI', 'SEPARATED', 'SERDE', 'SERDEPROPERTIES', 'SESSION_USER', 'SET', 'MINUS', 'SETS', 'SHOW', 'SKEWED', 'SOME', 'SORT', 'SORTED', 'START', 'STATISTICS', 'STORED', 'STRATIFY', 'STRUCT', 'SUBSTR', 'SUBSTRING', 'TABLE', 'TABLES', 'TABLESAMPLE', 'TBLPROPERTIES', TEMPORARY, 'TERMINATED', 'THEN', 'TO', 'TOUCH', 'TRAILING', 'TRANSACTION', 'TRANSACTIONS', 'TRANSFORM', 'TRIM', 'TRUE', 'TRUNCATE', 'TYPE', 'UNARCHIVE', 'UNBOUNDED', 'UNCACHE', 'UNION', 'UNIQUE', 'UNKNOWN', 'UNLOCK', 'UNSET', 'UPDATE', 'USE', 'USER', 'USING', 'VALUES', 'VIEW', 'WEEK', 'WEEKS', 'WHEN', 'WHERE', 'WINDOW', 'WITH', 'YEAR', 'YEARS', 'DIV', IDENTIFIER, BACKQUOTED_IDENTIFIER}(line 1, pos 44) @@ -1456,11 +1377,11 @@ SELECT interval '1 2.3456' minute to second(2) --------------------------------------------^^^ --- !query 122 +-- !query 120 SELECT interval '1 2:03.5678' minute to second(2) --- !query 122 schema +-- !query 120 schema struct<> --- !query 122 output +-- !query 120 output org.apache.spark.sql.catalyst.parser.ParseException mismatched input '2' expecting {'ADD', 'AFTER', 'ALL', 'ALTER', 'ANALYZE', 'AND', 'ANTI', 'ANY', 'ARCHIVE', 'ARRAY', 'AS', 'ASC', 'AT', 'AUTHORIZATION', 'BETWEEN', 'BOTH', 'BUCKET', 'BUCKETS', 'BY', 'CACHE', 'CASCADE', 'CASE', 'CAST', 'CHANGE', 'CHECK', 'CLEAR', 'CLUSTER', 'CLUSTERED', 'CODEGEN', 'COLLATE', 'COLLECTION', 'COLUMN', 'COLUMNS', 'COMMENT', 'COMMIT', 'COMPACT', 'COMPACTIONS', 'COMPUTE', 'CONCATENATE', 'CONSTRAINT', 'COST', 'CREATE', 'CROSS', 'CUBE', 'CURRENT', 'CURRENT_DATE', 'CURRENT_TIME', 'CURRENT_TIMESTAMP', 'CURRENT_USER', 'DATA', 'DATABASE', DATABASES, 'DAY', 'DAYS', 'DBPROPERTIES', 'DEFINED', 'DELETE', 'DELIMITED', 'DESC', 'DESCRIBE', 'DFS', 'DIRECTORIES', 'DIRECTORY', 'DISTINCT', 'DISTRIBUTE', 'DROP', 'ELSE', 'END', 'ESCAPED', 'EXCEPT', 'EXCHANGE', 'EXISTS', 'EXPLAIN', 'EXPORT', 'EXTENDED', 'EXTERNAL', 'EXTRACT', 'FALSE', 'FETCH', 'FIELDS', 'FILEFORMAT', 'FIRST', 'FIRST_VALUE', 'FOLLOWING', 'FOR', 'FOREIGN', 'FORMAT', 'FORMATTED', 'FROM', 'FULL', 'FUNCTION', 'FUNCTIONS', 'GLOBAL', 'GRANT', 'GROUP', 'GROUPING', 'HAVING', 'HOUR', 'HOURS', 'IF', 'IGNORE', 'IMPORT', 'IN', 'INDEX', 'INDEXES', 'INNER', 'INPATH', 'INPUTFORMAT', 'INSERT', 'INTERSECT', 'INTERVAL', 'INTO', 'IS', 'ITEMS', 'JOIN', 'KEYS', 'LAST', 'LAST_VALUE', 'LATERAL', 'LAZY', 'LEADING', 'LEFT', 'LIKE', 'LIMIT', 'LINES', 'LIST', 'LOAD', 'LOCAL', 'LOCATION', 'LOCK', 'LOCKS', 'LOGICAL', 'MACRO', 'MAP', 'MICROSECOND', 'MICROSECONDS', 'MILLISECOND', 'MILLISECONDS', 'MINUTE', 'MINUTES', 'MONTH', 'MONTHS', 'MSCK', 'NAMESPACE', 'NAMESPACES', 'NATURAL', 'NO', NOT, 'NULL', 'NULLS', 'OF', 'ON', 'ONLY', 'OPTION', 'OPTIONS', 'OR', 'ORDER', 'OUT', 'OUTER', 'OUTPUTFORMAT', 'OVER', 'OVERLAPS', 'OVERLAY', 'OVERWRITE', 'PARTITION', 'PARTITIONED', 'PARTITIONS', 'PERCENT', 'PIVOT', 'PLACING', 'POSITION', 'PRECEDING', 'PRIMARY', 'PRINCIPALS', 'PURGE', 'QUERY', 'RANGE', 'RECORDREADER', 'RECORDWRITER', 'RECOVER', 'REDUCE', 'REFERENCES', 'REFRESH', 'RENAME', 'REPAIR', 'REPLACE', 'RESET', 'RESPECT', 'RESTRICT', 'REVOKE', 'RIGHT', RLIKE, 'ROLE', 'ROLES', 'ROLLBACK', 'ROLLUP', 'ROW', 'ROWS', 'SCHEMA', 'SECOND', 'SECONDS', 'SELECT', 'SEMI', 'SEPARATED', 'SERDE', 'SERDEPROPERTIES', 'SESSION_USER', 'SET', 'MINUS', 'SETS', 'SHOW', 'SKEWED', 'SOME', 'SORT', 'SORTED', 'START', 'STATISTICS', 'STORED', 'STRATIFY', 'STRUCT', 'SUBSTR', 'SUBSTRING', 'TABLE', 'TABLES', 'TABLESAMPLE', 'TBLPROPERTIES', TEMPORARY, 'TERMINATED', 'THEN', 'TO', 'TOUCH', 'TRAILING', 'TRANSACTION', 'TRANSACTIONS', 'TRANSFORM', 'TRIM', 'TRUE', 'TRUNCATE', 'TYPE', 'UNARCHIVE', 'UNBOUNDED', 'UNCACHE', 'UNION', 'UNIQUE', 'UNKNOWN', 'UNLOCK', 'UNSET', 'UPDATE', 'USE', 'USER', 'USING', 'VALUES', 'VIEW', 'WEEK', 'WEEKS', 'WHEN', 'WHERE', 'WINDOW', 'WITH', 'YEAR', 'YEARS', 'DIV', IDENTIFIER, BACKQUOTED_IDENTIFIER}(line 1, pos 47) @@ -1470,11 +1391,11 @@ SELECT interval '1 2:03.5678' minute to second(2) -----------------------------------------------^^^ --- !query 123 +-- !query 121 SELECT interval '1 2:03:04.5678' minute to second(2) --- !query 123 schema +-- !query 121 schema struct<> --- !query 123 output +-- !query 121 output org.apache.spark.sql.catalyst.parser.ParseException mismatched input '2' expecting {'ADD', 'AFTER', 'ALL', 'ALTER', 'ANALYZE', 'AND', 'ANTI', 'ANY', 'ARCHIVE', 'ARRAY', 'AS', 'ASC', 'AT', 'AUTHORIZATION', 'BETWEEN', 'BOTH', 'BUCKET', 'BUCKETS', 'BY', 'CACHE', 'CASCADE', 'CASE', 'CAST', 'CHANGE', 'CHECK', 'CLEAR', 'CLUSTER', 'CLUSTERED', 'CODEGEN', 'COLLATE', 'COLLECTION', 'COLUMN', 'COLUMNS', 'COMMENT', 'COMMIT', 'COMPACT', 'COMPACTIONS', 'COMPUTE', 'CONCATENATE', 'CONSTRAINT', 'COST', 'CREATE', 'CROSS', 'CUBE', 'CURRENT', 'CURRENT_DATE', 'CURRENT_TIME', 'CURRENT_TIMESTAMP', 'CURRENT_USER', 'DATA', 'DATABASE', DATABASES, 'DAY', 'DAYS', 'DBPROPERTIES', 'DEFINED', 'DELETE', 'DELIMITED', 'DESC', 'DESCRIBE', 'DFS', 'DIRECTORIES', 'DIRECTORY', 'DISTINCT', 'DISTRIBUTE', 'DROP', 'ELSE', 'END', 'ESCAPED', 'EXCEPT', 'EXCHANGE', 'EXISTS', 'EXPLAIN', 'EXPORT', 'EXTENDED', 'EXTERNAL', 'EXTRACT', 'FALSE', 'FETCH', 'FIELDS', 'FILEFORMAT', 'FIRST', 'FIRST_VALUE', 'FOLLOWING', 'FOR', 'FOREIGN', 'FORMAT', 'FORMATTED', 'FROM', 'FULL', 'FUNCTION', 'FUNCTIONS', 'GLOBAL', 'GRANT', 'GROUP', 'GROUPING', 'HAVING', 'HOUR', 'HOURS', 'IF', 'IGNORE', 'IMPORT', 'IN', 'INDEX', 'INDEXES', 'INNER', 'INPATH', 'INPUTFORMAT', 'INSERT', 'INTERSECT', 'INTERVAL', 'INTO', 'IS', 'ITEMS', 'JOIN', 'KEYS', 'LAST', 'LAST_VALUE', 'LATERAL', 'LAZY', 'LEADING', 'LEFT', 'LIKE', 'LIMIT', 'LINES', 'LIST', 'LOAD', 'LOCAL', 'LOCATION', 'LOCK', 'LOCKS', 'LOGICAL', 'MACRO', 'MAP', 'MICROSECOND', 'MICROSECONDS', 'MILLISECOND', 'MILLISECONDS', 'MINUTE', 'MINUTES', 'MONTH', 'MONTHS', 'MSCK', 'NAMESPACE', 'NAMESPACES', 'NATURAL', 'NO', NOT, 'NULL', 'NULLS', 'OF', 'ON', 'ONLY', 'OPTION', 'OPTIONS', 'OR', 'ORDER', 'OUT', 'OUTER', 'OUTPUTFORMAT', 'OVER', 'OVERLAPS', 'OVERLAY', 'OVERWRITE', 'PARTITION', 'PARTITIONED', 'PARTITIONS', 'PERCENT', 'PIVOT', 'PLACING', 'POSITION', 'PRECEDING', 'PRIMARY', 'PRINCIPALS', 'PURGE', 'QUERY', 'RANGE', 'RECORDREADER', 'RECORDWRITER', 'RECOVER', 'REDUCE', 'REFERENCES', 'REFRESH', 'RENAME', 'REPAIR', 'REPLACE', 'RESET', 'RESPECT', 'RESTRICT', 'REVOKE', 'RIGHT', RLIKE, 'ROLE', 'ROLES', 'ROLLBACK', 'ROLLUP', 'ROW', 'ROWS', 'SCHEMA', 'SECOND', 'SECONDS', 'SELECT', 'SEMI', 'SEPARATED', 'SERDE', 'SERDEPROPERTIES', 'SESSION_USER', 'SET', 'MINUS', 'SETS', 'SHOW', 'SKEWED', 'SOME', 'SORT', 'SORTED', 'START', 'STATISTICS', 'STORED', 'STRATIFY', 'STRUCT', 'SUBSTR', 'SUBSTRING', 'TABLE', 'TABLES', 'TABLESAMPLE', 'TBLPROPERTIES', TEMPORARY, 'TERMINATED', 'THEN', 'TO', 'TOUCH', 'TRAILING', 'TRANSACTION', 'TRANSACTIONS', 'TRANSFORM', 'TRIM', 'TRUE', 'TRUNCATE', 'TYPE', 'UNARCHIVE', 'UNBOUNDED', 'UNCACHE', 'UNION', 'UNIQUE', 'UNKNOWN', 'UNLOCK', 'UNSET', 'UPDATE', 'USE', 'USER', 'USING', 'VALUES', 'VIEW', 'WEEK', 'WEEKS', 'WHEN', 'WHERE', 'WINDOW', 'WITH', 'YEAR', 'YEARS', 'DIV', IDENTIFIER, BACKQUOTED_IDENTIFIER}(line 1, pos 50) @@ -1484,249 +1405,195 @@ SELECT interval '1 2:03:04.5678' minute to second(2) --------------------------------------------------^^^ --- !query 124 -SELECT f1, f1::INTERVAL DAY TO MINUTE AS "minutes", - (f1 + INTERVAL '1 month')::INTERVAL MONTH::INTERVAL YEAR AS "years" +-- !query 122 +SELECT f1, f1::INTERVAL DAY TO MINUTE AS `minutes`, + (f1 + INTERVAL '1 month')::INTERVAL MONTH::INTERVAL YEAR AS `years` FROM interval_tbl --- !query 124 schema +-- !query 122 schema struct<> --- !query 124 output +-- !query 122 output org.apache.spark.sql.catalyst.parser.ParseException mismatched input ':' expecting {, '(', ',', '.', '[', 'ADD', 'AFTER', 'ALL', 'ALTER', 'ANALYZE', 'AND', 'ANTI', 'ANY', 'ARCHIVE', 'ARRAY', 'AS', 'ASC', 'AT', 'AUTHORIZATION', 'BETWEEN', 'BOTH', 'BUCKET', 'BUCKETS', 'BY', 'CACHE', 'CASCADE', 'CASE', 'CAST', 'CHANGE', 'CHECK', 'CLEAR', 'CLUSTER', 'CLUSTERED', 'CODEGEN', 'COLLATE', 'COLLECTION', 'COLUMN', 'COLUMNS', 'COMMENT', 'COMMIT', 'COMPACT', 'COMPACTIONS', 'COMPUTE', 'CONCATENATE', 'CONSTRAINT', 'COST', 'CREATE', 'CROSS', 'CUBE', 'CURRENT', 'CURRENT_DATE', 'CURRENT_TIME', 'CURRENT_TIMESTAMP', 'CURRENT_USER', 'DATA', 'DATABASE', DATABASES, 'DAY', 'DAYS', 'DBPROPERTIES', 'DEFINED', 'DELETE', 'DELIMITED', 'DESC', 'DESCRIBE', 'DFS', 'DIRECTORIES', 'DIRECTORY', 'DISTINCT', 'DISTRIBUTE', 'DROP', 'ELSE', 'END', 'ESCAPED', 'EXCEPT', 'EXCHANGE', 'EXISTS', 'EXPLAIN', 'EXPORT', 'EXTENDED', 'EXTERNAL', 'EXTRACT', 'FALSE', 'FETCH', 'FIELDS', 'FILEFORMAT', 'FIRST', 'FIRST_VALUE', 'FOLLOWING', 'FOR', 'FOREIGN', 'FORMAT', 'FORMATTED', 'FROM', 'FULL', 'FUNCTION', 'FUNCTIONS', 'GLOBAL', 'GRANT', 'GROUP', 'GROUPING', 'HAVING', 'HOUR', 'HOURS', 'IF', 'IGNORE', 'IMPORT', 'IN', 'INDEX', 'INDEXES', 'INNER', 'INPATH', 'INPUTFORMAT', 'INSERT', 'INTERSECT', 'INTERVAL', 'INTO', 'IS', 'ITEMS', 'JOIN', 'KEYS', 'LAST', 'LAST_VALUE', 'LATERAL', 'LAZY', 'LEADING', 'LEFT', 'LIKE', 'LIMIT', 'LINES', 'LIST', 'LOAD', 'LOCAL', 'LOCATION', 'LOCK', 'LOCKS', 'LOGICAL', 'MACRO', 'MAP', 'MICROSECOND', 'MICROSECONDS', 'MILLISECOND', 'MILLISECONDS', 'MINUTE', 'MINUTES', 'MONTH', 'MONTHS', 'MSCK', 'NAMESPACE', 'NAMESPACES', 'NATURAL', 'NO', NOT, 'NULL', 'NULLS', 'OF', 'ON', 'ONLY', 'OPTION', 'OPTIONS', 'OR', 'ORDER', 'OUT', 'OUTER', 'OUTPUTFORMAT', 'OVER', 'OVERLAPS', 'OVERLAY', 'OVERWRITE', 'PARTITION', 'PARTITIONED', 'PARTITIONS', 'PERCENT', 'PIVOT', 'PLACING', 'POSITION', 'PRECEDING', 'PRIMARY', 'PRINCIPALS', 'PURGE', 'QUERY', 'RANGE', 'RECORDREADER', 'RECORDWRITER', 'RECOVER', 'REDUCE', 'REFERENCES', 'REFRESH', 'RENAME', 'REPAIR', 'REPLACE', 'RESET', 'RESPECT', 'RESTRICT', 'REVOKE', 'RIGHT', RLIKE, 'ROLE', 'ROLES', 'ROLLBACK', 'ROLLUP', 'ROW', 'ROWS', 'SCHEMA', 'SECOND', 'SECONDS', 'SELECT', 'SEMI', 'SEPARATED', 'SERDE', 'SERDEPROPERTIES', 'SESSION_USER', 'SET', 'MINUS', 'SETS', 'SHOW', 'SKEWED', 'SOME', 'SORT', 'SORTED', 'START', 'STATISTICS', 'STORED', 'STRATIFY', 'STRUCT', 'SUBSTR', 'SUBSTRING', 'TABLE', 'TABLES', 'TABLESAMPLE', 'TBLPROPERTIES', TEMPORARY, 'TERMINATED', 'THEN', 'TO', 'TOUCH', 'TRAILING', 'TRANSACTION', 'TRANSACTIONS', 'TRANSFORM', 'TRIM', 'TRUE', 'TRUNCATE', 'TYPE', 'UNARCHIVE', 'UNBOUNDED', 'UNCACHE', 'UNION', 'UNIQUE', 'UNKNOWN', 'UNLOCK', 'UNSET', 'UPDATE', 'USE', 'USER', 'USING', 'VALUES', 'VIEW', 'WEEK', 'WEEKS', 'WHEN', 'WHERE', 'WINDOW', 'WITH', 'YEAR', 'YEARS', EQ, '<=>', '<>', '!=', '<', LTE, '>', GTE, '+', '-', '*', '/', '%', 'DIV', '&', '|', '||', '^', IDENTIFIER, BACKQUOTED_IDENTIFIER}(line 1, pos 13) == SQL == -SELECT f1, f1::INTERVAL DAY TO MINUTE AS "minutes", +SELECT f1, f1::INTERVAL DAY TO MINUTE AS `minutes`, -------------^^^ - (f1 + INTERVAL '1 month')::INTERVAL MONTH::INTERVAL YEAR AS "years" + (f1 + INTERVAL '1 month')::INTERVAL MONTH::INTERVAL YEAR AS `years` FROM interval_tbl --- !query 125 +-- !query 123 SET IntervalStyle TO sql_standard +-- !query 123 schema +struct +-- !query 123 output +IntervalStyle TO sql_standard + + +-- !query 124 +SELECT interval '0' AS zero, + interval '1-2' year to month AS `year-month`, + interval '1 2:03:04' day to second AS `day-time`, + - interval '1-2' AS `negative year-month`, + - interval '1 2:03:04' AS `negative day-time` +-- !query 124 schema +struct +-- !query 124 output +NULL interval 1 years 2 months interval 1 days 2 hours 3 minutes 4 seconds NULL NULL + + +-- !query 125 +SET IntervalStyle TO postgres -- !query 125 schema struct -- !query 125 output -IntervalStyle TO sql_standard +IntervalStyle TO postgres -- !query 126 -SELECT interval '0' AS "zero", - interval '1-2' year to month AS "year-month", - interval '1 2:03:04' day to second AS "day-time", - - interval '1-2' AS "negative year-month", - - interval '1 2:03:04' AS "negative day-time" +SELECT interval '+1 -1:00:00', + interval '-1 +1:00:00', + interval '+1-2 -3 +4:05:06.789', + interval '-1-2 +3 -4:05:06.789' -- !query 126 schema -struct<> +struct -- !query 126 output -org.apache.spark.sql.catalyst.parser.ParseException - -no viable alternative at input 'AS'(line 1, pos 43) - -== SQL == -SELECT interval '0' AS "zero", --------------------------------------------^^^ - interval '1-2' year to month AS "year-month", - interval '1 2:03:04' day to second AS "day-time", - - interval '1-2' AS "negative year-month", - - interval '1 2:03:04' AS "negative day-time" +NULL NULL NULL NULL -- !query 127 -SET IntervalStyle TO postgres +SET IntervalStyle TO sql_standard -- !query 127 schema struct -- !query 127 output -IntervalStyle TO postgres +IntervalStyle TO sql_standard -- !query 128 -SELECT interval '+1 -1:00:00', - interval '-1 +1:00:00', - interval '+1-2 -3 +4:05:06.789', - interval '-1-2 +3 -4:05:06.789' +SELECT interval '1 day -1 hours', + interval '-1 days +1 hours', + interval '1 years 2 months -3 days 4 hours 5 minutes 6.789 seconds', + - interval '1 years 2 months -3 days 4 hours 5 minutes 6.789 seconds' -- !query 128 schema -struct +struct -- !query 128 output NULL NULL NULL NULL -- !query 129 -SET IntervalStyle TO sql_standard +SET IntervalStyle to iso_8601 -- !query 129 schema struct -- !query 129 output -IntervalStyle TO sql_standard +IntervalStyle to iso_8601 -- !query 130 -SELECT interval '1 day -1 hours', - interval '-1 days +1 hours', - interval '1 years 2 months -3 days 4 hours 5 minutes 6.789 seconds', - - interval '1 years 2 months -3 days 4 hours 5 minutes 6.789 seconds' +select interval '0' AS zero, + interval '1-2' AS `a year 2 months`, + interval '1 2:03:04' AS `a bit over a day`, + interval '2:03:04.45679' AS `a bit over 2 hours`, + (interval '1-2' + interval '3 4:05:06.7') AS `all fields`, + (interval '1-2' - interval '3 4:05:06.7') AS `mixed sign`, + (- interval '1-2' + interval '3 4:05:06.7') AS negative -- !query 130 schema -struct +struct -- !query 130 output -NULL NULL NULL NULL +NULL NULL NULL NULL NULL NULL NULL -- !query 131 -SET IntervalStyle to iso_8601 +SET IntervalStyle to sql_standard -- !query 131 schema struct -- !query 131 output -IntervalStyle to iso_8601 +IntervalStyle to sql_standard -- !query 132 -select interval '0' AS "zero", - interval '1-2' AS "a year 2 months", - interval '1 2:03:04' AS "a bit over a day", - interval '2:03:04.45679' AS "a bit over 2 hours", - (interval '1-2' + interval '3 4:05:06.7') AS "all fields", - (interval '1-2' - interval '3 4:05:06.7') AS "mixed sign", - (- interval '1-2' + interval '3 4:05:06.7') AS "negative" +select interval 'P0Y' AS zero, + interval 'P1Y2M' AS `a year 2 months`, + interval 'P1W' AS `a week`, + interval 'P1DT2H3M4S' AS `a bit over a day`, + interval 'P1Y2M3DT4H5M6.7S' AS `all fields`, + interval 'P-1Y-2M-3DT-4H-5M-6.7S' AS negative, + interval 'PT-0.1S' AS `fractional second` -- !query 132 schema -struct<> +struct -- !query 132 output -org.apache.spark.sql.catalyst.parser.ParseException - -no viable alternative at input 'AS'(line 1, pos 52) - -== SQL == -select interval '0' AS "zero", -----------------------------------------------------^^^ - interval '1-2' AS "a year 2 months", - interval '1 2:03:04' AS "a bit over a day", - interval '2:03:04.45679' AS "a bit over 2 hours", - (interval '1-2' + interval '3 4:05:06.7') AS "all fields", - (interval '1-2' - interval '3 4:05:06.7') AS "mixed sign", - (- interval '1-2' + interval '3 4:05:06.7') AS "negative" +NULL NULL NULL NULL NULL NULL NULL -- !query 133 -SET IntervalStyle to sql_standard +SET IntervalStyle to postgres -- !query 133 schema struct -- !query 133 output -IntervalStyle to sql_standard +IntervalStyle to postgres -- !query 134 -select interval 'P0Y' AS "zero", - interval 'P1Y2M' AS "a year 2 months", - interval 'P1W' AS "a week", - interval 'P1DT2H3M4S' AS "a bit over a day", - interval 'P1Y2M3DT4H5M6.7S' AS "all fields", - interval 'P-1Y-2M-3DT-4H-5M-6.7S' AS "negative", - interval 'PT-0.1S' AS "fractional second" +select interval 'P00021015T103020' AS `ISO8601 Basic Format`, + interval 'P0002-10-15T10:30:20' AS `ISO8601 Extended Format` -- !query 134 schema -struct<> +struct -- !query 134 output -org.apache.spark.sql.catalyst.parser.ParseException - -no viable alternative at input 'AS'(line 1, pos 42) - -== SQL == -select interval 'P0Y' AS "zero", -------------------------------------------^^^ - interval 'P1Y2M' AS "a year 2 months", - interval 'P1W' AS "a week", - interval 'P1DT2H3M4S' AS "a bit over a day", - interval 'P1Y2M3DT4H5M6.7S' AS "all fields", - interval 'P-1Y-2M-3DT-4H-5M-6.7S' AS "negative", - interval 'PT-0.1S' AS "fractional second" +NULL NULL -- !query 135 -SET IntervalStyle to postgres +select interval 'P0002' AS `year only`, + interval 'P0002-10' AS `year month`, + interval 'P0002-10-15' AS `year month day`, + interval 'P0002T1S' AS `year only plus time`, + interval 'P0002-10T1S' AS `year month plus time`, + interval 'P0002-10-15T1S' AS `year month day plus time`, + interval 'PT10' AS `hour only`, + interval 'PT10:30' AS `hour minute` -- !query 135 schema -struct +struct -- !query 135 output -IntervalStyle to postgres +NULL NULL NULL NULL NULL NULL NULL NULL -- !query 136 -select interval 'P00021015T103020' AS "ISO8601 Basic Format", - interval 'P0002-10-15T10:30:20' AS "ISO8601 Extended Format" --- !query 136 schema -struct<> --- !query 136 output -org.apache.spark.sql.catalyst.parser.ParseException - -no viable alternative at input 'AS'(line 1, pos 42) - -== SQL == -select interval 'P00021015T103020' AS "ISO8601 Basic Format", -------------------------------------------^^^ - interval 'P0002-10-15T10:30:20' AS "ISO8601 Extended Format" - - --- !query 137 -select interval 'P0002' AS "year only", - interval 'P0002-10' AS "year month", - interval 'P0002-10-15' AS "year month day", - interval 'P0002T1S' AS "year only plus time", - interval 'P0002-10T1S' AS "year month plus time", - interval 'P0002-10-15T1S' AS "year month day plus time", - interval 'PT10' AS "hour only", - interval 'PT10:30' AS "hour minute" --- !query 137 schema -struct<> --- !query 137 output -org.apache.spark.sql.catalyst.parser.ParseException - -no viable alternative at input 'AS'(line 1, pos 42) - -== SQL == -select interval 'P0002' AS "year only", -------------------------------------------^^^ - interval 'P0002-10' AS "year month", - interval 'P0002-10-15' AS "year month day", - interval 'P0002T1S' AS "year only plus time", - interval 'P0002-10T1S' AS "year month plus time", - interval 'P0002-10-15T1S' AS "year month day plus time", - interval 'PT10' AS "hour only", - interval 'PT10:30' AS "hour minute" - - --- !query 138 SET IntervalStyle to postgres_verbose --- !query 138 schema +-- !query 136 schema struct --- !query 138 output +-- !query 136 output IntervalStyle to postgres_verbose --- !query 139 +-- !query 137 select interval '-10 mons -3 days +03:55:06.70' --- !query 139 schema +-- !query 137 schema struct --- !query 139 output +-- !query 137 output NULL --- !query 140 +-- !query 138 select interval '1 year 2 mons 3 days 04:05:06.699999' --- !query 140 schema +-- !query 138 schema struct --- !query 140 output +-- !query 138 output NULL --- !query 141 +-- !query 139 select interval '0:0:0.7', interval '@ 0.70 secs', interval '0.7 seconds' --- !query 141 schema +-- !query 139 schema struct --- !query 141 output +-- !query 139 output NULL NULL NULL --- !query 142 +-- !query 140 select '30 days'::interval = '1 month'::interval as t --- !query 142 schema +-- !query 140 schema struct<> --- !query 142 output +-- !query 140 output org.apache.spark.sql.catalyst.parser.ParseException mismatched input ':' expecting {, '(', ',', '.', '[', 'ADD', 'AFTER', 'ALL', 'ALTER', 'ANALYZE', 'AND', 'ANTI', 'ANY', 'ARCHIVE', 'ARRAY', 'AS', 'ASC', 'AT', 'AUTHORIZATION', 'BETWEEN', 'BOTH', 'BUCKET', 'BUCKETS', 'BY', 'CACHE', 'CASCADE', 'CASE', 'CAST', 'CHANGE', 'CHECK', 'CLEAR', 'CLUSTER', 'CLUSTERED', 'CODEGEN', 'COLLATE', 'COLLECTION', 'COLUMN', 'COLUMNS', 'COMMENT', 'COMMIT', 'COMPACT', 'COMPACTIONS', 'COMPUTE', 'CONCATENATE', 'CONSTRAINT', 'COST', 'CREATE', 'CROSS', 'CUBE', 'CURRENT', 'CURRENT_DATE', 'CURRENT_TIME', 'CURRENT_TIMESTAMP', 'CURRENT_USER', 'DATA', 'DATABASE', DATABASES, 'DAY', 'DAYS', 'DBPROPERTIES', 'DEFINED', 'DELETE', 'DELIMITED', 'DESC', 'DESCRIBE', 'DFS', 'DIRECTORIES', 'DIRECTORY', 'DISTINCT', 'DISTRIBUTE', 'DROP', 'ELSE', 'END', 'ESCAPED', 'EXCEPT', 'EXCHANGE', 'EXISTS', 'EXPLAIN', 'EXPORT', 'EXTENDED', 'EXTERNAL', 'EXTRACT', 'FALSE', 'FETCH', 'FIELDS', 'FILEFORMAT', 'FIRST', 'FIRST_VALUE', 'FOLLOWING', 'FOR', 'FOREIGN', 'FORMAT', 'FORMATTED', 'FROM', 'FULL', 'FUNCTION', 'FUNCTIONS', 'GLOBAL', 'GRANT', 'GROUP', 'GROUPING', 'HAVING', 'HOUR', 'HOURS', 'IF', 'IGNORE', 'IMPORT', 'IN', 'INDEX', 'INDEXES', 'INNER', 'INPATH', 'INPUTFORMAT', 'INSERT', 'INTERSECT', 'INTERVAL', 'INTO', 'IS', 'ITEMS', 'JOIN', 'KEYS', 'LAST', 'LAST_VALUE', 'LATERAL', 'LAZY', 'LEADING', 'LEFT', 'LIKE', 'LIMIT', 'LINES', 'LIST', 'LOAD', 'LOCAL', 'LOCATION', 'LOCK', 'LOCKS', 'LOGICAL', 'MACRO', 'MAP', 'MICROSECOND', 'MICROSECONDS', 'MILLISECOND', 'MILLISECONDS', 'MINUTE', 'MINUTES', 'MONTH', 'MONTHS', 'MSCK', 'NAMESPACE', 'NAMESPACES', 'NATURAL', 'NO', NOT, 'NULL', 'NULLS', 'OF', 'ON', 'ONLY', 'OPTION', 'OPTIONS', 'OR', 'ORDER', 'OUT', 'OUTER', 'OUTPUTFORMAT', 'OVER', 'OVERLAPS', 'OVERLAY', 'OVERWRITE', 'PARTITION', 'PARTITIONED', 'PARTITIONS', 'PERCENT', 'PIVOT', 'PLACING', 'POSITION', 'PRECEDING', 'PRIMARY', 'PRINCIPALS', 'PURGE', 'QUERY', 'RANGE', 'RECORDREADER', 'RECORDWRITER', 'RECOVER', 'REDUCE', 'REFERENCES', 'REFRESH', 'RENAME', 'REPAIR', 'REPLACE', 'RESET', 'RESPECT', 'RESTRICT', 'REVOKE', 'RIGHT', RLIKE, 'ROLE', 'ROLES', 'ROLLBACK', 'ROLLUP', 'ROW', 'ROWS', 'SCHEMA', 'SECOND', 'SECONDS', 'SELECT', 'SEMI', 'SEPARATED', 'SERDE', 'SERDEPROPERTIES', 'SESSION_USER', 'SET', 'MINUS', 'SETS', 'SHOW', 'SKEWED', 'SOME', 'SORT', 'SORTED', 'START', 'STATISTICS', 'STORED', 'STRATIFY', 'STRUCT', 'SUBSTR', 'SUBSTRING', 'TABLE', 'TABLES', 'TABLESAMPLE', 'TBLPROPERTIES', TEMPORARY, 'TERMINATED', 'THEN', 'TO', 'TOUCH', 'TRAILING', 'TRANSACTION', 'TRANSACTIONS', 'TRANSFORM', 'TRIM', 'TRUE', 'TRUNCATE', 'TYPE', 'UNARCHIVE', 'UNBOUNDED', 'UNCACHE', 'UNION', 'UNIQUE', 'UNKNOWN', 'UNLOCK', 'UNSET', 'UPDATE', 'USE', 'USER', 'USING', 'VALUES', 'VIEW', 'WEEK', 'WEEKS', 'WHEN', 'WHERE', 'WINDOW', 'WITH', 'YEAR', 'YEARS', EQ, '<=>', '<>', '!=', '<', LTE, '>', GTE, '+', '-', '*', '/', '%', 'DIV', '&', '|', '||', '^', STRING, IDENTIFIER, BACKQUOTED_IDENTIFIER}(line 1, pos 16) @@ -1736,11 +1603,11 @@ select '30 days'::interval = '1 month'::interval as t ----------------^^^ --- !query 143 +-- !query 141 select interval_hash('30 days'::interval) = interval_hash('1 month'::interval) as t --- !query 143 schema +-- !query 141 schema struct<> --- !query 143 output +-- !query 141 output org.apache.spark.sql.catalyst.parser.ParseException mismatched input ':' expecting {')', ','}(line 1, pos 30) @@ -1750,11 +1617,11 @@ select interval_hash('30 days'::interval) = interval_hash('1 month'::interval) a ------------------------------^^^ --- !query 144 +-- !query 142 select make_interval(years := 2) --- !query 144 schema +-- !query 142 schema struct<> --- !query 144 output +-- !query 142 output org.apache.spark.sql.catalyst.parser.ParseException mismatched input ':' expecting {')', ',', '-'}(line 1, pos 27) @@ -1764,11 +1631,11 @@ select make_interval(years := 2) ---------------------------^^^ --- !query 145 +-- !query 143 select make_interval(years := 1, months := 6) --- !query 145 schema +-- !query 143 schema struct<> --- !query 145 output +-- !query 143 output org.apache.spark.sql.catalyst.parser.ParseException mismatched input ':' expecting {')', ',', '-'}(line 1, pos 27) @@ -1778,11 +1645,11 @@ select make_interval(years := 1, months := 6) ---------------------------^^^ --- !query 146 +-- !query 144 select make_interval(years := 1, months := -1, weeks := 5, days := -7, hours := 25, mins := -180) --- !query 146 schema +-- !query 144 schema struct<> --- !query 146 output +-- !query 144 output org.apache.spark.sql.catalyst.parser.ParseException mismatched input ':' expecting {')', ',', '-'}(line 1, pos 27) @@ -1792,11 +1659,11 @@ select make_interval(years := 1, months := -1, weeks := 5, days := -7, hours := ---------------------------^^^ --- !query 147 +-- !query 145 select make_interval() = make_interval(years := 0, months := 0, weeks := 0, days := 0, mins := 0, secs := 0.0) --- !query 147 schema +-- !query 145 schema struct<> --- !query 147 output +-- !query 145 output org.apache.spark.sql.catalyst.parser.ParseException mismatched input ':' expecting {')', ',', '-'}(line 1, pos 45) @@ -1806,11 +1673,11 @@ select make_interval() = make_interval(years := 0, months := 0, weeks := 0, days ---------------------------------------------^^^ --- !query 148 +-- !query 146 select make_interval(hours := -2, mins := -10, secs := -25.3) --- !query 148 schema +-- !query 146 schema struct<> --- !query 148 output +-- !query 146 output org.apache.spark.sql.catalyst.parser.ParseException mismatched input ':' expecting {')', ',', '-'}(line 1, pos 27) @@ -1820,11 +1687,11 @@ select make_interval(hours := -2, mins := -10, secs := -25.3) ---------------------------^^^ --- !query 149 +-- !query 147 select make_interval(years := 'inf'::float::int) --- !query 149 schema +-- !query 147 schema struct<> --- !query 149 output +-- !query 147 output org.apache.spark.sql.catalyst.parser.ParseException mismatched input ':' expecting {')', ',', '-'}(line 1, pos 27) @@ -1834,11 +1701,11 @@ select make_interval(years := 'inf'::float::int) ---------------------------^^^ --- !query 150 +-- !query 148 select make_interval(months := 'NaN'::float::int) --- !query 150 schema +-- !query 148 schema struct<> --- !query 150 output +-- !query 148 output org.apache.spark.sql.catalyst.parser.ParseException mismatched input ':' expecting {')', ',', '-'}(line 1, pos 28) @@ -1848,11 +1715,11 @@ select make_interval(months := 'NaN'::float::int) ----------------------------^^^ --- !query 151 +-- !query 149 select make_interval(secs := 'inf') --- !query 151 schema +-- !query 149 schema struct<> --- !query 151 output +-- !query 149 output org.apache.spark.sql.catalyst.parser.ParseException mismatched input ':' expecting {')', ',', '-'}(line 1, pos 26) @@ -1862,11 +1729,11 @@ select make_interval(secs := 'inf') --------------------------^^^ --- !query 152 +-- !query 150 select make_interval(secs := 'NaN') --- !query 152 schema +-- !query 150 schema struct<> --- !query 152 output +-- !query 150 output org.apache.spark.sql.catalyst.parser.ParseException mismatched input ':' expecting {')', ',', '-'}(line 1, pos 26) @@ -1876,11 +1743,11 @@ select make_interval(secs := 'NaN') --------------------------^^^ --- !query 153 +-- !query 151 select make_interval(secs := 7e12) --- !query 153 schema +-- !query 151 schema struct<> --- !query 153 output +-- !query 151 output org.apache.spark.sql.catalyst.parser.ParseException mismatched input ':' expecting {')', ',', '-'}(line 1, pos 26) From d0bac6edf6ef2819e63df1fc3fd1fa1ac8b382e9 Mon Sep 17 00:00:00 2001 From: Maxim Gekk Date: Tue, 8 Oct 2019 13:54:13 +0300 Subject: [PATCH 05/11] Phase 1 --- .../sql-tests/inputs/postgreSQL/interval.sql | 240 +++++++++--------- 1 file changed, 126 insertions(+), 114 deletions(-) diff --git a/sql/core/src/test/resources/sql-tests/inputs/postgreSQL/interval.sql b/sql/core/src/test/resources/sql-tests/inputs/postgreSQL/interval.sql index 2774910534bf6..784f8d1ed587d 100644 --- a/sql/core/src/test/resources/sql-tests/inputs/postgreSQL/interval.sql +++ b/sql/core/src/test/resources/sql-tests/inputs/postgreSQL/interval.sql @@ -1,91 +1,101 @@ -- --- INTERVAL +-- Portions Copyright (c) 1996-2019, PostgreSQL Global Development Group +-- -- +-- INTERVAL +-- https://github.com/postgres/postgres/blob/REL_12_STABLE/src/test/regress/sql/interval.sql -- SET DATESTYLE = 'ISO'; -- SET IntervalStyle to postgres; -- check acceptance of "time zone style" -SELECT INTERVAL '01:00' AS `One hour`; -SELECT INTERVAL '+02:00' AS `Two hours`; -SELECT INTERVAL '-08:00' AS `Eight hours`; -SELECT INTERVAL '-1 +02:03' AS `22 hours ago...`; -SELECT INTERVAL '-1 days +02:03' AS `22 hours ago...`; -SELECT INTERVAL '1.5 weeks' AS `Ten days twelve hours`; -SELECT INTERVAL '1.5 months' AS `One month 15 days`; -SELECT INTERVAL '10 years -11 month -12 days +13:14' AS `9 years...`; - -CREATE TABLE INTERVAL_TBL (f1 interval); - -INSERT INTO INTERVAL_TBL (f1) VALUES ('@ 1 minute'); -INSERT INTO INTERVAL_TBL (f1) VALUES ('@ 5 hour'); -INSERT INTO INTERVAL_TBL (f1) VALUES ('@ 10 day'); -INSERT INTO INTERVAL_TBL (f1) VALUES ('@ 34 year'); -INSERT INTO INTERVAL_TBL (f1) VALUES ('@ 3 months'); -INSERT INTO INTERVAL_TBL (f1) VALUES ('@ 14 seconds ago'); -INSERT INTO INTERVAL_TBL (f1) VALUES ('1 day 2 hours 3 minutes 4 seconds'); -INSERT INTO INTERVAL_TBL (f1) VALUES ('6 years'); -INSERT INTO INTERVAL_TBL (f1) VALUES ('5 months'); -INSERT INTO INTERVAL_TBL (f1) VALUES ('5 months 12 hours'); +-- [SPARK-29369] Accept strings without `interval` prefix in casting to intervals +-- [SPARK-29370] Interval strings without explicit unit markings +-- SELECT INTERVAL '01:00' AS `One hour`; +-- SELECT INTERVAL '+02:00' AS `Two hours`; +-- SELECT INTERVAL '-08:00' AS `Eight hours`; +-- SELECT INTERVAL '-1 +02:03' AS `22 hours ago...`; +-- SELECT INTERVAL '-1 days +02:03' AS `22 hours ago...`; +-- [SPARK-29371] Support interval field values with fractional parts +-- SELECT INTERVAL '1.5 weeks' AS `Ten days twelve hours`; +-- SELECT INTERVAL '1.5 months' AS `One month 15 days`; +-- SELECT INTERVAL '10 years -11 month -12 days +13:14' AS `9 years...`; + +-- [SPARK-29382] Support the `INTERVAL` type by Parquet datasource +-- CREATE TABLE INTERVAL_TBL (f1 interval) USING parquet; + +-- [SPARK-29383] Support the optional prefix `@` in interval strings +-- INSERT INTO INTERVAL_TBL (f1) VALUES ('@ 1 minute'); +-- INSERT INTO INTERVAL_TBL (f1) VALUES ('@ 5 hour'); +-- INSERT INTO INTERVAL_TBL (f1) VALUES ('@ 10 day'); +-- INSERT INTO INTERVAL_TBL (f1) VALUES ('@ 34 year'); +-- INSERT INTO INTERVAL_TBL (f1) VALUES ('@ 3 months'); +-- [SPARK-29384] Support `ago` in interval strings +-- INSERT INTO INTERVAL_TBL (f1) VALUES ('@ 14 seconds ago'); +-- INSERT INTO INTERVAL_TBL (f1) VALUES ('1 day 2 hours 3 minutes 4 seconds'); +-- INSERT INTO INTERVAL_TBL (f1) VALUES ('6 years'); +-- INSERT INTO INTERVAL_TBL (f1) VALUES ('5 months'); +-- INSERT INTO INTERVAL_TBL (f1) VALUES ('5 months 12 hours'); -- badly formatted interval -INSERT INTO INTERVAL_TBL (f1) VALUES ('badly formatted interval'); -INSERT INTO INTERVAL_TBL (f1) VALUES ('@ 30 eons ago'); +-- INSERT INTO INTERVAL_TBL (f1) VALUES ('badly formatted interval'); +-- INSERT INTO INTERVAL_TBL (f1) VALUES ('@ 30 eons ago'); -- test interval operators -SELECT '' AS ten, * FROM INTERVAL_TBL; +-- SELECT '' AS ten, * FROM INTERVAL_TBL; +-- [SPARK-29385] Make `INTERVAL` values comparable +-- SELECT '' AS nine, * FROM INTERVAL_TBL +-- WHERE INTERVAL_TBL.f1 <> interval '@ 10 days'; -SELECT '' AS nine, * FROM INTERVAL_TBL - WHERE INTERVAL_TBL.f1 <> interval '@ 10 days'; +-- SELECT '' AS three, * FROM INTERVAL_TBL +-- WHERE INTERVAL_TBL.f1 <= interval '@ 5 hours'; -SELECT '' AS three, * FROM INTERVAL_TBL - WHERE INTERVAL_TBL.f1 <= interval '@ 5 hours'; +-- SELECT '' AS three, * FROM INTERVAL_TBL +-- WHERE INTERVAL_TBL.f1 < interval '@ 1 day'; -SELECT '' AS three, * FROM INTERVAL_TBL - WHERE INTERVAL_TBL.f1 < interval '@ 1 day'; +-- SELECT '' AS one, * FROM INTERVAL_TBL +-- WHERE INTERVAL_TBL.f1 = interval '@ 34 years'; -SELECT '' AS one, * FROM INTERVAL_TBL - WHERE INTERVAL_TBL.f1 = interval '@ 34 years'; +-- SELECT '' AS five, * FROM INTERVAL_TBL +-- WHERE INTERVAL_TBL.f1 >= interval '@ 1 month'; -SELECT '' AS five, * FROM INTERVAL_TBL - WHERE INTERVAL_TBL.f1 >= interval '@ 1 month'; +-- SELECT '' AS nine, * FROM INTERVAL_TBL +-- WHERE INTERVAL_TBL.f1 > interval '@ 3 seconds ago'; -SELECT '' AS nine, * FROM INTERVAL_TBL - WHERE INTERVAL_TBL.f1 > interval '@ 3 seconds ago'; - -SELECT '' AS fortyfive, r1.*, r2.* - FROM INTERVAL_TBL r1, INTERVAL_TBL r2 - WHERE r1.f1 > r2.f1 - ORDER BY r1.f1, r2.f1; +-- SELECT '' AS fortyfive, r1.*, r2.* +-- FROM INTERVAL_TBL r1, INTERVAL_TBL r2 +-- WHERE r1.f1 > r2.f1 +-- ORDER BY r1.f1, r2.f1; -- Test intervals that are large enough to overflow 64 bits in comparisons -CREATE TEMP TABLE INTERVAL_TBL_OF (f1 interval); -INSERT INTO INTERVAL_TBL_OF (f1) VALUES - ('2147483647 days 2147483647 months'), - ('2147483647 days -2147483648 months'), - ('1 year'), - ('-2147483648 days 2147483647 months'), - ('-2147483648 days -2147483648 months'); +-- [SPARK-29369] Accept strings without `interval` prefix in casting to intervals +-- CREATE TEMP TABLE INTERVAL_TBL_OF (f1 interval); +-- INSERT INTO INTERVAL_TBL_OF (f1) VALUES +-- ('2147483647 days 2147483647 months'), +-- ('2147483647 days -2147483648 months'), +-- ('1 year'), +-- ('-2147483648 days 2147483647 months'), +-- ('-2147483648 days -2147483648 months'); -- these should fail as out-of-range -INSERT INTO INTERVAL_TBL_OF (f1) VALUES ('2147483648 days'); -INSERT INTO INTERVAL_TBL_OF (f1) VALUES ('-2147483649 days'); -INSERT INTO INTERVAL_TBL_OF (f1) VALUES ('2147483647 years'); -INSERT INTO INTERVAL_TBL_OF (f1) VALUES ('-2147483648 years'); +-- INSERT INTO INTERVAL_TBL_OF (f1) VALUES ('2147483648 days'); +-- INSERT INTO INTERVAL_TBL_OF (f1) VALUES ('-2147483649 days'); +-- INSERT INTO INTERVAL_TBL_OF (f1) VALUES ('2147483647 years'); +-- INSERT INTO INTERVAL_TBL_OF (f1) VALUES ('-2147483648 years'); -SELECT r1.*, r2.* - FROM INTERVAL_TBL_OF r1, INTERVAL_TBL_OF r2 - WHERE r1.f1 > r2.f1 - ORDER BY r1.f1, r2.f1; +-- SELECT r1.*, r2.* +-- FROM INTERVAL_TBL_OF r1, INTERVAL_TBL_OF r2 +-- WHERE r1.f1 > r2.f1 +-- ORDER BY r1.f1, r2.f1; -CREATE INDEX ON INTERVAL_TBL_OF USING btree (f1); -SET enable_seqscan TO false; -EXPLAIN (COSTS OFF) -SELECT f1 FROM INTERVAL_TBL_OF r1 ORDER BY f1; -SELECT f1 FROM INTERVAL_TBL_OF r1 ORDER BY f1; -RESET enable_seqscan; +-- CREATE INDEX ON INTERVAL_TBL_OF USING btree (f1); +-- SET enable_seqscan TO false; +-- EXPLAIN (COSTS OFF) +-- SELECT f1 FROM INTERVAL_TBL_OF r1 ORDER BY f1; +-- SELECT f1 FROM INTERVAL_TBL_OF r1 ORDER BY f1; +-- RESET enable_seqscan; -DROP TABLE INTERVAL_TBL_OF; +-- DROP TABLE INTERVAL_TBL_OF; -- Test multiplication and division with intervals. -- Floating point arithmetic rounding errors can lead to unexpected results, @@ -94,75 +104,77 @@ DROP TABLE INTERVAL_TBL_OF; -- Note that it is expected for some day components to be greater than 29 and -- some time components be greater than 23:59:59 due to how intervals are -- stored internally. - -CREATE TABLE INTERVAL_MULDIV_TBL (span interval); -COPY INTERVAL_MULDIV_TBL FROM STDIN; -41 mon 12 days 360:00 --41 mon -12 days +360:00 --12 days -9 mon -27 days 12:34:56 --3 years 482 days 76:54:32.189 -4 mon -14 mon -999 mon 999 days -\. - -SELECT span * 0.3 AS product -FROM INTERVAL_MULDIV_TBL; - -SELECT span * 8.2 AS product -FROM INTERVAL_MULDIV_TBL; - -SELECT span / 10 AS quotient -FROM INTERVAL_MULDIV_TBL; - -SELECT span / 100 AS quotient -FROM INTERVAL_MULDIV_TBL; - -DROP TABLE INTERVAL_MULDIV_TBL; - -SET DATESTYLE = 'postgres'; -SET IntervalStyle to postgres_verbose; - -SELECT '' AS ten, * FROM INTERVAL_TBL; +-- [SPARK-29386] Copy data between a file and a table +-- CREATE TABLE INTERVAL_MULDIV_TBL (span interval); +-- COPY INTERVAL_MULDIV_TBL FROM STDIN; +-- 41 mon 12 days 360:00 +-- -41 mon -12 days +360:00 +-- -12 days +-- 9 mon -27 days 12:34:56 +-- -3 years 482 days 76:54:32.189 +-- 4 mon +-- 14 mon +-- 999 mon 999 days +-- \. +-- [SPARK-29387] Support `*` and `\` operators for intervals +-- SELECT span * 0.3 AS product +-- FROM INTERVAL_MULDIV_TBL; + +-- SELECT span * 8.2 AS product +-- FROM INTERVAL_MULDIV_TBL; + +-- SELECT span / 10 AS quotient +-- FROM INTERVAL_MULDIV_TBL; + +-- SELECT span / 100 AS quotient +-- FROM INTERVAL_MULDIV_TBL; + +-- DROP TABLE INTERVAL_MULDIV_TBL; + +-- SET DATESTYLE = 'postgres'; +-- SET IntervalStyle to postgres_verbose; + +-- SELECT '' AS ten, * FROM INTERVAL_TBL; -- test avg(interval), which is somewhat fragile since people have been -- known to change the allowed input syntax for type interval without -- updating pg_aggregate.agginitval -select avg(f1) from interval_tbl; +-- select avg(f1) from interval_tbl; -- test long interval input -select '4 millenniums 5 centuries 4 decades 1 year 4 months 4 days 17 minutes 31 seconds'::interval; +-- [SPARK-29388] Construct intervals from the `millenniums`, `centuries` or `decades` units +-- select '4 millenniums 5 centuries 4 decades 1 year 4 months 4 days 17 minutes 31 seconds'::interval; -- test long interval output -- Note: the actual maximum length of the interval output is longer, -- but we need the test to work for both integer and floating-point -- timestamps. -select '100000000y 10mon -1000000000d -100000h -10min -10.000001s ago'::interval; +-- [SPARK-29389] Support synonyms for interval units +-- select '100000000y 10mon -1000000000d -100000h -10min -10.000001s ago'::interval; -- test justify_hours() and justify_days() - -SELECT justify_hours(interval '6 months 3 days 52 hours 3 minutes 2 seconds') as `6 mons 5 days 4 hours 3 mins 2 seconds`; -SELECT justify_days(interval '6 months 36 days 5 hours 4 minutes 3 seconds') as `7 mons 6 days 5 hours 4 mins 3 seconds`; +-- [SPARK-29390] Add the justify_days(), justify_hours() and justify_interval() functions +-- SELECT justify_hours(interval '6 months 3 days 52 hours 3 minutes 2 seconds') as `6 mons 5 days 4 hours 3 mins 2 seconds`; +-- SELECT justify_days(interval '6 months 36 days 5 hours 4 minutes 3 seconds') as `7 mons 6 days 5 hours 4 mins 3 seconds`; -- test justify_interval() -SELECT justify_interval(interval '1 month -1 hour') as `1 month -1 hour`; +-- SELECT justify_interval(interval '1 month -1 hour') as `1 month -1 hour`; -- test fractional second input, and detection of duplicate units -SET DATESTYLE = 'ISO'; -SET IntervalStyle TO postgres; - -SELECT '1 millisecond'::interval, '1 microsecond'::interval, - '500 seconds 99 milliseconds 51 microseconds'::interval; -SELECT '3 days 5 milliseconds'::interval; - -SELECT '1 second 2 seconds'::interval; -- error -SELECT '10 milliseconds 20 milliseconds'::interval; -- error -SELECT '5.5 seconds 3 milliseconds'::interval; -- error -SELECT '1:20:05 5 microseconds'::interval; -- error -SELECT '1 day 1 day'::interval; -- error +-- SET DATESTYLE = 'ISO'; +-- SET IntervalStyle TO postgres; +-- [SPARK-29369] Accept strings without `interval` prefix in casting to intervals +-- SELECT '1 millisecond'::interval, '1 microsecond'::interval, +-- '500 seconds 99 milliseconds 51 microseconds'::interval; +-- SELECT '3 days 5 milliseconds'::interval; + +-- SELECT '1 second 2 seconds'::interval; -- error +-- SELECT '10 milliseconds 20 milliseconds'::interval; -- error +-- SELECT '5.5 seconds 3 milliseconds'::interval; -- error +-- SELECT '1:20:05 5 microseconds'::interval; -- error +-- SELECT '1 day 1 day'::interval; -- error SELECT interval '1-2'; -- SQL year-month literal SELECT interval '999' second; -- oversize leading field is ok SELECT interval '999' minute; From 6456d74abac4b830384615e13adfb92c00b874b3 Mon Sep 17 00:00:00 2001 From: Maxim Gekk Date: Tue, 8 Oct 2019 14:28:06 +0300 Subject: [PATCH 06/11] Phase 2 --- .../sql-tests/inputs/postgreSQL/interval.sql | 188 +- .../results/postgreSQL/interval.sql.out | 1709 +---------------- 2 files changed, 177 insertions(+), 1720 deletions(-) diff --git a/sql/core/src/test/resources/sql-tests/inputs/postgreSQL/interval.sql b/sql/core/src/test/resources/sql-tests/inputs/postgreSQL/interval.sql index 784f8d1ed587d..d3c2483c9920b 100644 --- a/sql/core/src/test/resources/sql-tests/inputs/postgreSQL/interval.sql +++ b/sql/core/src/test/resources/sql-tests/inputs/postgreSQL/interval.sql @@ -175,7 +175,8 @@ -- SELECT '5.5 seconds 3 milliseconds'::interval; -- error -- SELECT '1:20:05 5 microseconds'::interval; -- error -- SELECT '1 day 1 day'::interval; -- error -SELECT interval '1-2'; -- SQL year-month literal +-- [SPARK-29391] Default year-month units +-- SELECT interval '1-2'; -- SQL year-month literal SELECT interval '999' second; -- oversize leading field is ok SELECT interval '999' minute; SELECT interval '999' hour; @@ -189,59 +190,63 @@ SELECT interval '3' day; SELECT interval '4' hour; SELECT interval '5' minute; SELECT interval '6' second; -SELECT interval '1' year to month; +-- TODO: create JIRA ticket +-- SELECT interval '1' year to month; SELECT interval '1-2' year to month; -SELECT interval '1 2' day to hour; +-- TODO: create JIRA ticket +-- SELECT interval '1 2' day to hour; SELECT interval '1 2:03' day to hour; SELECT interval '1 2:03:04' day to hour; -SELECT interval '1 2' day to minute; +-- SELECT interval '1 2' day to minute; SELECT interval '1 2:03' day to minute; SELECT interval '1 2:03:04' day to minute; -SELECT interval '1 2' day to second; +-- SELECT interval '1 2' day to second; SELECT interval '1 2:03' day to second; SELECT interval '1 2:03:04' day to second; -SELECT interval '1 2' hour to minute; +-- SELECT interval '1 2' hour to minute; SELECT interval '1 2:03' hour to minute; SELECT interval '1 2:03:04' hour to minute; -SELECT interval '1 2' hour to second; +-- SELECT interval '1 2' hour to second; SELECT interval '1 2:03' hour to second; SELECT interval '1 2:03:04' hour to second; -SELECT interval '1 2' minute to second; +-- SELECT interval '1 2' minute to second; SELECT interval '1 2:03' minute to second; SELECT interval '1 2:03:04' minute to second; -SELECT interval '1 +2:03' minute to second; -SELECT interval '1 +2:03:04' minute to second; -SELECT interval '1 -2:03' minute to second; -SELECT interval '1 -2:03:04' minute to second; -SELECT interval '123 11' day to hour; -- ok -SELECT interval '123 11' day; -- not ok -SELECT interval '123 11'; -- not ok, too ambiguous -SELECT interval '123 2:03 -2:04'; -- not ok, redundant hh:mm fields +-- TODO: create JIRA ticket +-- SELECT interval '1 +2:03' minute to second; +-- SELECT interval '1 +2:03:04' minute to second; +-- SELECT interval '1 -2:03' minute to second; +-- SELECT interval '1 -2:03:04' minute to second; +-- SELECT interval '123 11' day to hour; -- ok +-- SELECT interval '123 11' day; -- not ok +-- SELECT interval '123 11'; -- not ok, too ambiguous +-- SELECT interval '123 2:03 -2:04'; -- not ok, redundant hh:mm fields -- test syntaxes for restricted precision -SELECT interval(0) '1 day 01:23:45.6789'; -SELECT interval(2) '1 day 01:23:45.6789'; -SELECT interval '12:34.5678' minute to second(2); -- per SQL spec -SELECT interval '1.234' second; -SELECT interval '1.234' second(2); -SELECT interval '1 2.345' day to second(2); -SELECT interval '1 2:03' day to second(2); -SELECT interval '1 2:03.4567' day to second(2); -SELECT interval '1 2:03:04.5678' day to second(2); -SELECT interval '1 2.345' hour to second(2); -SELECT interval '1 2:03.45678' hour to second(2); -SELECT interval '1 2:03:04.5678' hour to second(2); -SELECT interval '1 2.3456' minute to second(2); -SELECT interval '1 2:03.5678' minute to second(2); -SELECT interval '1 2:03:04.5678' minute to second(2); +-- TODO: create JIRA ticket +-- SELECT interval(0) '1 day 01:23:45.6789'; +-- SELECT interval(2) '1 day 01:23:45.6789'; +-- SELECT interval '12:34.5678' minute to second(2); -- per SQL spec +-- SELECT interval '1.234' second; +-- SELECT interval '1.234' second(2); +-- SELECT interval '1 2.345' day to second(2); +-- SELECT interval '1 2:03' day to second(2); +-- SELECT interval '1 2:03.4567' day to second(2); +-- SELECT interval '1 2:03:04.5678' day to second(2); +-- SELECT interval '1 2.345' hour to second(2); +-- SELECT interval '1 2:03.45678' hour to second(2); +-- SELECT interval '1 2:03:04.5678' hour to second(2); +-- SELECT interval '1 2.3456' minute to second(2); +-- SELECT interval '1 2:03.5678' minute to second(2); +-- SELECT interval '1 2:03:04.5678' minute to second(2); -- test casting to restricted precision (bug #14479) -SELECT f1, f1::INTERVAL DAY TO MINUTE AS `minutes`, - (f1 + INTERVAL '1 month')::INTERVAL MONTH::INTERVAL YEAR AS `years` - FROM interval_tbl; +-- SELECT f1, f1::INTERVAL DAY TO MINUTE AS `minutes`, +-- (f1 + INTERVAL '1 month')::INTERVAL MONTH::INTERVAL YEAR AS `years` +-- FROM interval_tbl; -- test inputting and outputting SQL standard interval literals -SET IntervalStyle TO sql_standard; +-- SET IntervalStyle TO sql_standard; SELECT interval '0' AS zero, interval '1-2' year to month AS `year-month`, interval '1 2:03:04' day to second AS `day-time`, @@ -249,74 +254,77 @@ SELECT interval '0' AS zero, - interval '1 2:03:04' AS `negative day-time`; -- test input of some not-quite-standard interval values in the sql style -SET IntervalStyle TO postgres; -SELECT interval '+1 -1:00:00', - interval '-1 +1:00:00', - interval '+1-2 -3 +4:05:06.789', - interval '-1-2 +3 -4:05:06.789'; +-- SET IntervalStyle TO postgres; +-- SELECT interval '+1 -1:00:00', +-- interval '-1 +1:00:00', +-- interval '+1-2 -3 +4:05:06.789', +-- interval '-1-2 +3 -4:05:06.789'; -- test output of couple non-standard interval values in the sql style -SET IntervalStyle TO sql_standard; -SELECT interval '1 day -1 hours', - interval '-1 days +1 hours', - interval '1 years 2 months -3 days 4 hours 5 minutes 6.789 seconds', - - interval '1 years 2 months -3 days 4 hours 5 minutes 6.789 seconds'; +-- SET IntervalStyle TO sql_standard; +-- SELECT interval '1 day -1 hours', +-- interval '-1 days +1 hours', +-- interval '1 years 2 months -3 days 4 hours 5 minutes 6.789 seconds', +-- - interval '1 years 2 months -3 days 4 hours 5 minutes 6.789 seconds'; -- test outputting iso8601 intervals -SET IntervalStyle to iso_8601; -select interval '0' AS zero, - interval '1-2' AS `a year 2 months`, - interval '1 2:03:04' AS `a bit over a day`, - interval '2:03:04.45679' AS `a bit over 2 hours`, - (interval '1-2' + interval '3 4:05:06.7') AS `all fields`, - (interval '1-2' - interval '3 4:05:06.7') AS `mixed sign`, - (- interval '1-2' + interval '3 4:05:06.7') AS negative; +-- SET IntervalStyle to iso_8601; +-- select interval '0' AS zero, +-- interval '1-2' AS `a year 2 months`, +-- interval '1 2:03:04' AS `a bit over a day`, +-- interval '2:03:04.45679' AS `a bit over 2 hours`, +-- (interval '1-2' + interval '3 4:05:06.7') AS `all fields`, +-- (interval '1-2' - interval '3 4:05:06.7') AS `mixed sign`, +-- (- interval '1-2' + interval '3 4:05:06.7') AS negative; -- test inputting ISO 8601 4.4.2.1 "Format With Time Unit Designators" -SET IntervalStyle to sql_standard; -select interval 'P0Y' AS zero, - interval 'P1Y2M' AS `a year 2 months`, - interval 'P1W' AS `a week`, - interval 'P1DT2H3M4S' AS `a bit over a day`, - interval 'P1Y2M3DT4H5M6.7S' AS `all fields`, - interval 'P-1Y-2M-3DT-4H-5M-6.7S' AS negative, - interval 'PT-0.1S' AS `fractional second`; +-- SET IntervalStyle to sql_standard; +-- TODO: create JIRA ticket +-- select interval 'P0Y' AS zero, +-- interval 'P1Y2M' AS `a year 2 months`, +-- interval 'P1W' AS `a week`, +-- interval 'P1DT2H3M4S' AS `a bit over a day`, +-- interval 'P1Y2M3DT4H5M6.7S' AS `all fields`, +-- interval 'P-1Y-2M-3DT-4H-5M-6.7S' AS negative, +-- interval 'PT-0.1S' AS `fractional second`; -- test inputting ISO 8601 4.4.2.2 "Alternative Format" -SET IntervalStyle to postgres; -select interval 'P00021015T103020' AS `ISO8601 Basic Format`, - interval 'P0002-10-15T10:30:20' AS `ISO8601 Extended Format`; +-- SET IntervalStyle to postgres; +-- select interval 'P00021015T103020' AS `ISO8601 Basic Format`, +-- interval 'P0002-10-15T10:30:20' AS `ISO8601 Extended Format`; -- Make sure optional ISO8601 alternative format fields are optional. -select interval 'P0002' AS `year only`, - interval 'P0002-10' AS `year month`, - interval 'P0002-10-15' AS `year month day`, - interval 'P0002T1S' AS `year only plus time`, - interval 'P0002-10T1S' AS `year month plus time`, - interval 'P0002-10-15T1S' AS `year month day plus time`, - interval 'PT10' AS `hour only`, - interval 'PT10:30' AS `hour minute`; +-- select interval 'P0002' AS `year only`, +-- interval 'P0002-10' AS `year month`, +-- interval 'P0002-10-15' AS `year month day`, +-- interval 'P0002T1S' AS `year only plus time`, +-- interval 'P0002-10T1S' AS `year month plus time`, +-- interval 'P0002-10-15T1S' AS `year month day plus time`, +-- interval 'PT10' AS `hour only`, +-- interval 'PT10:30' AS `hour minute`; -- test a couple rounding cases that changed since 8.3 w/ HAVE_INT64_TIMESTAMP. -SET IntervalStyle to postgres_verbose; -select interval '-10 mons -3 days +03:55:06.70'; -select interval '1 year 2 mons 3 days 04:05:06.699999'; -select interval '0:0:0.7', interval '@ 0.70 secs', interval '0.7 seconds'; +-- SET IntervalStyle to postgres_verbose; +-- select interval '-10 mons -3 days +03:55:06.70'; +-- select interval '1 year 2 mons 3 days 04:05:06.699999'; +-- select interval '0:0:0.7', interval '@ 0.70 secs', interval '0.7 seconds'; -- check that '30 days' equals '1 month' according to the hash function -select '30 days'::interval = '1 month'::interval as t; -select interval_hash('30 days'::interval) = interval_hash('1 month'::interval) as t; +-- TODO: create JIRA ticket +-- select '30 days'::interval = '1 month'::interval as t; +-- select interval_hash('30 days'::interval) = interval_hash('1 month'::interval) as t; -- numeric constructor -select make_interval(years := 2); -select make_interval(years := 1, months := 6); -select make_interval(years := 1, months := -1, weeks := 5, days := -7, hours := 25, mins := -180); - -select make_interval() = make_interval(years := 0, months := 0, weeks := 0, days := 0, mins := 0, secs := 0.0); -select make_interval(hours := -2, mins := -10, secs := -25.3); - -select make_interval(years := 'inf'::float::int); -select make_interval(months := 'NaN'::float::int); -select make_interval(secs := 'inf'); -select make_interval(secs := 'NaN'); -select make_interval(secs := 7e12); +-- TODO: create JIRA ticket +-- select make_interval(years := 2); +-- select make_interval(years := 1, months := 6); +-- select make_interval(years := 1, months := -1, weeks := 5, days := -7, hours := 25, mins := -180); + +-- select make_interval() = make_interval(years := 0, months := 0, weeks := 0, days := 0, mins := 0, secs := 0.0); +-- select make_interval(hours := -2, mins := -10, secs := -25.3); + +-- select make_interval(years := 'inf'::float::int); +-- select make_interval(months := 'NaN'::float::int); +-- select make_interval(secs := 'inf'); +-- select make_interval(secs := 'NaN'); +-- select make_interval(secs := 7e12); diff --git a/sql/core/src/test/resources/sql-tests/results/postgreSQL/interval.sql.out b/sql/core/src/test/resources/sql-tests/results/postgreSQL/interval.sql.out index 1af7b3b4688fd..987225574555b 100644 --- a/sql/core/src/test/resources/sql-tests/results/postgreSQL/interval.sql.out +++ b/sql/core/src/test/resources/sql-tests/results/postgreSQL/interval.sql.out @@ -1,1757 +1,206 @@ -- Automatically generated by SQLQueryTestSuite --- Number of queries: 152 +-- Number of queries: 25 -- !query 0 -SELECT INTERVAL '01:00' AS `One hour` +SELECT interval '999' second -- !query 0 schema -struct +struct -- !query 0 output -NULL +interval 16 minutes 39 seconds -- !query 1 -SELECT INTERVAL '+02:00' AS `Two hours` +SELECT interval '999' minute -- !query 1 schema -struct +struct -- !query 1 output -NULL +interval 16 hours 39 minutes -- !query 2 -SELECT INTERVAL '-08:00' AS `Eight hours` +SELECT interval '999' hour -- !query 2 schema -struct +struct -- !query 2 output -NULL +interval 5 weeks 6 days 15 hours -- !query 3 -SELECT INTERVAL '-1 +02:03' AS `22 hours ago...` +SELECT interval '999' day -- !query 3 schema -struct<22 hours ago...:interval> +struct -- !query 3 output -NULL +interval 142 weeks 5 days -- !query 4 -SELECT INTERVAL '-1 days +02:03' AS `22 hours ago...` +SELECT interval '999' month -- !query 4 schema -struct<22 hours ago...:interval> +struct -- !query 4 output -NULL +interval 83 years 3 months -- !query 5 -SELECT INTERVAL '1.5 weeks' AS `Ten days twelve hours` +SELECT interval '1' year -- !query 5 schema -struct +struct -- !query 5 output -NULL +interval 1 years -- !query 6 -SELECT INTERVAL '1.5 months' AS `One month 15 days` +SELECT interval '2' month -- !query 6 schema -struct +struct -- !query 6 output -NULL +interval 2 months -- !query 7 -SELECT INTERVAL '10 years -11 month -12 days +13:14' AS `9 years...` +SELECT interval '3' day -- !query 7 schema -struct<9 years...:interval> +struct -- !query 7 output -NULL +interval 3 days -- !query 8 -CREATE TABLE INTERVAL_TBL (f1 interval) +SELECT interval '4' hour -- !query 8 schema -struct<> +struct -- !query 8 output -org.apache.spark.sql.AnalysisException -Hive support is required to CREATE Hive TABLE (AS SELECT); +interval 4 hours -- !query 9 -INSERT INTO INTERVAL_TBL (f1) VALUES ('@ 1 minute') +SELECT interval '5' minute -- !query 9 schema -struct<> +struct -- !query 9 output -org.apache.spark.sql.catalyst.parser.ParseException - -mismatched input 'f1' expecting {'(', 'FROM', 'MAP', 'REDUCE', 'SELECT', 'TABLE', 'VALUES', 'WITH'}(line 1, pos 26) - -== SQL == -INSERT INTO INTERVAL_TBL (f1) VALUES ('@ 1 minute') ---------------------------^^^ +interval 5 minutes -- !query 10 -INSERT INTO INTERVAL_TBL (f1) VALUES ('@ 5 hour') +SELECT interval '6' second -- !query 10 schema -struct<> +struct -- !query 10 output -org.apache.spark.sql.catalyst.parser.ParseException - -mismatched input 'f1' expecting {'(', 'FROM', 'MAP', 'REDUCE', 'SELECT', 'TABLE', 'VALUES', 'WITH'}(line 1, pos 26) - -== SQL == -INSERT INTO INTERVAL_TBL (f1) VALUES ('@ 5 hour') ---------------------------^^^ +interval 6 seconds -- !query 11 -INSERT INTO INTERVAL_TBL (f1) VALUES ('@ 10 day') +SELECT interval '1-2' year to month -- !query 11 schema -struct<> +struct -- !query 11 output -org.apache.spark.sql.catalyst.parser.ParseException - -mismatched input 'f1' expecting {'(', 'FROM', 'MAP', 'REDUCE', 'SELECT', 'TABLE', 'VALUES', 'WITH'}(line 1, pos 26) - -== SQL == -INSERT INTO INTERVAL_TBL (f1) VALUES ('@ 10 day') ---------------------------^^^ +interval 1 years 2 months -- !query 12 -INSERT INTO INTERVAL_TBL (f1) VALUES ('@ 34 year') +SELECT interval '1 2:03' day to hour -- !query 12 schema -struct<> +struct -- !query 12 output -org.apache.spark.sql.catalyst.parser.ParseException - -mismatched input 'f1' expecting {'(', 'FROM', 'MAP', 'REDUCE', 'SELECT', 'TABLE', 'VALUES', 'WITH'}(line 1, pos 26) - -== SQL == -INSERT INTO INTERVAL_TBL (f1) VALUES ('@ 34 year') ---------------------------^^^ +interval 1 days 2 hours -- !query 13 -INSERT INTO INTERVAL_TBL (f1) VALUES ('@ 3 months') +SELECT interval '1 2:03:04' day to hour -- !query 13 schema -struct<> +struct -- !query 13 output -org.apache.spark.sql.catalyst.parser.ParseException - -mismatched input 'f1' expecting {'(', 'FROM', 'MAP', 'REDUCE', 'SELECT', 'TABLE', 'VALUES', 'WITH'}(line 1, pos 26) - -== SQL == -INSERT INTO INTERVAL_TBL (f1) VALUES ('@ 3 months') ---------------------------^^^ +interval 1 days 2 hours -- !query 14 -INSERT INTO INTERVAL_TBL (f1) VALUES ('@ 14 seconds ago') +SELECT interval '1 2:03' day to minute -- !query 14 schema -struct<> +struct -- !query 14 output -org.apache.spark.sql.catalyst.parser.ParseException - -mismatched input 'f1' expecting {'(', 'FROM', 'MAP', 'REDUCE', 'SELECT', 'TABLE', 'VALUES', 'WITH'}(line 1, pos 26) - -== SQL == -INSERT INTO INTERVAL_TBL (f1) VALUES ('@ 14 seconds ago') ---------------------------^^^ +interval 1 days 2 hours 3 minutes -- !query 15 -INSERT INTO INTERVAL_TBL (f1) VALUES ('1 day 2 hours 3 minutes 4 seconds') +SELECT interval '1 2:03:04' day to minute -- !query 15 schema -struct<> +struct -- !query 15 output -org.apache.spark.sql.catalyst.parser.ParseException - -mismatched input 'f1' expecting {'(', 'FROM', 'MAP', 'REDUCE', 'SELECT', 'TABLE', 'VALUES', 'WITH'}(line 1, pos 26) - -== SQL == -INSERT INTO INTERVAL_TBL (f1) VALUES ('1 day 2 hours 3 minutes 4 seconds') ---------------------------^^^ +interval 1 days 2 hours 3 minutes -- !query 16 -INSERT INTO INTERVAL_TBL (f1) VALUES ('6 years') +SELECT interval '1 2:03' day to second -- !query 16 schema -struct<> +struct -- !query 16 output -org.apache.spark.sql.catalyst.parser.ParseException - -mismatched input 'f1' expecting {'(', 'FROM', 'MAP', 'REDUCE', 'SELECT', 'TABLE', 'VALUES', 'WITH'}(line 1, pos 26) - -== SQL == -INSERT INTO INTERVAL_TBL (f1) VALUES ('6 years') ---------------------------^^^ +interval 1 days 2 hours 3 minutes -- !query 17 -INSERT INTO INTERVAL_TBL (f1) VALUES ('5 months') +SELECT interval '1 2:03:04' day to second -- !query 17 schema -struct<> +struct -- !query 17 output -org.apache.spark.sql.catalyst.parser.ParseException - -mismatched input 'f1' expecting {'(', 'FROM', 'MAP', 'REDUCE', 'SELECT', 'TABLE', 'VALUES', 'WITH'}(line 1, pos 26) - -== SQL == -INSERT INTO INTERVAL_TBL (f1) VALUES ('5 months') ---------------------------^^^ +interval 1 days 2 hours 3 minutes 4 seconds -- !query 18 -INSERT INTO INTERVAL_TBL (f1) VALUES ('5 months 12 hours') +SELECT interval '1 2:03' hour to minute -- !query 18 schema -struct<> +struct -- !query 18 output -org.apache.spark.sql.catalyst.parser.ParseException - -mismatched input 'f1' expecting {'(', 'FROM', 'MAP', 'REDUCE', 'SELECT', 'TABLE', 'VALUES', 'WITH'}(line 1, pos 26) - -== SQL == -INSERT INTO INTERVAL_TBL (f1) VALUES ('5 months 12 hours') ---------------------------^^^ +interval 1 days 2 hours 3 minutes -- !query 19 -INSERT INTO INTERVAL_TBL (f1) VALUES ('badly formatted interval') +SELECT interval '1 2:03:04' hour to minute -- !query 19 schema -struct<> +struct -- !query 19 output -org.apache.spark.sql.catalyst.parser.ParseException - -mismatched input 'f1' expecting {'(', 'FROM', 'MAP', 'REDUCE', 'SELECT', 'TABLE', 'VALUES', 'WITH'}(line 1, pos 26) - -== SQL == -INSERT INTO INTERVAL_TBL (f1) VALUES ('badly formatted interval') ---------------------------^^^ +interval 1 days 2 hours 3 minutes -- !query 20 -INSERT INTO INTERVAL_TBL (f1) VALUES ('@ 30 eons ago') +SELECT interval '1 2:03' hour to second -- !query 20 schema -struct<> +struct -- !query 20 output -org.apache.spark.sql.catalyst.parser.ParseException - -mismatched input 'f1' expecting {'(', 'FROM', 'MAP', 'REDUCE', 'SELECT', 'TABLE', 'VALUES', 'WITH'}(line 1, pos 26) - -== SQL == -INSERT INTO INTERVAL_TBL (f1) VALUES ('@ 30 eons ago') ---------------------------^^^ +interval 1 days 2 hours 3 minutes -- !query 21 -SELECT '' AS ten, * FROM INTERVAL_TBL +SELECT interval '1 2:03:04' hour to second -- !query 21 schema -struct<> +struct -- !query 21 output -org.apache.spark.sql.AnalysisException -Table or view not found: INTERVAL_TBL; line 1 pos 25 +interval 1 days 2 hours 3 minutes 4 seconds -- !query 22 -SELECT '' AS nine, * FROM INTERVAL_TBL - WHERE INTERVAL_TBL.f1 <> interval '@ 10 days' +SELECT interval '1 2:03' minute to second -- !query 22 schema -struct<> +struct -- !query 22 output -org.apache.spark.sql.AnalysisException -Table or view not found: INTERVAL_TBL; line 1 pos 26 +interval 1 days 2 minutes 3 seconds -- !query 23 -SELECT '' AS three, * FROM INTERVAL_TBL - WHERE INTERVAL_TBL.f1 <= interval '@ 5 hours' +SELECT interval '1 2:03:04' minute to second -- !query 23 schema -struct<> +struct -- !query 23 output -org.apache.spark.sql.AnalysisException -Table or view not found: INTERVAL_TBL; line 1 pos 27 +interval 1 days 2 hours 3 minutes 4 seconds -- !query 24 -SELECT '' AS three, * FROM INTERVAL_TBL - WHERE INTERVAL_TBL.f1 < interval '@ 1 day' +SELECT interval '0' AS zero, + interval '1-2' year to month AS `year-month`, + interval '1 2:03:04' day to second AS `day-time`, + - interval '1-2' AS `negative year-month`, + - interval '1 2:03:04' AS `negative day-time` -- !query 24 schema -struct<> +struct -- !query 24 output -org.apache.spark.sql.AnalysisException -Table or view not found: INTERVAL_TBL; line 1 pos 27 - - --- !query 25 -SELECT '' AS one, * FROM INTERVAL_TBL - WHERE INTERVAL_TBL.f1 = interval '@ 34 years' --- !query 25 schema -struct<> --- !query 25 output -org.apache.spark.sql.AnalysisException -Table or view not found: INTERVAL_TBL; line 1 pos 25 - - --- !query 26 -SELECT '' AS five, * FROM INTERVAL_TBL - WHERE INTERVAL_TBL.f1 >= interval '@ 1 month' --- !query 26 schema -struct<> --- !query 26 output -org.apache.spark.sql.AnalysisException -Table or view not found: INTERVAL_TBL; line 1 pos 26 - - --- !query 27 -SELECT '' AS nine, * FROM INTERVAL_TBL - WHERE INTERVAL_TBL.f1 > interval '@ 3 seconds ago' --- !query 27 schema -struct<> --- !query 27 output -org.apache.spark.sql.AnalysisException -Table or view not found: INTERVAL_TBL; line 1 pos 26 - - --- !query 28 -SELECT '' AS fortyfive, r1.*, r2.* - FROM INTERVAL_TBL r1, INTERVAL_TBL r2 - WHERE r1.f1 > r2.f1 - ORDER BY r1.f1, r2.f1 --- !query 28 schema -struct<> --- !query 28 output -org.apache.spark.sql.AnalysisException -Table or view not found: INTERVAL_TBL; line 2 pos 8 - - --- !query 29 -CREATE TEMP TABLE INTERVAL_TBL_OF (f1 interval) --- !query 29 schema -struct<> --- !query 29 output -org.apache.spark.sql.catalyst.parser.ParseException - -CREATE TEMPORARY TABLE is not supported yet. Please use CREATE TEMPORARY VIEW as an alternative.(line 1, pos 0) - -== SQL == -CREATE TEMP TABLE INTERVAL_TBL_OF (f1 interval) -^^^ - - --- !query 30 -INSERT INTO INTERVAL_TBL_OF (f1) VALUES - ('2147483647 days 2147483647 months'), - ('2147483647 days -2147483648 months'), - ('1 year'), - ('-2147483648 days 2147483647 months'), - ('-2147483648 days -2147483648 months') --- !query 30 schema -struct<> --- !query 30 output -org.apache.spark.sql.catalyst.parser.ParseException - -mismatched input 'f1' expecting {'(', 'FROM', 'MAP', 'REDUCE', 'SELECT', 'TABLE', 'VALUES', 'WITH'}(line 1, pos 29) - -== SQL == -INSERT INTO INTERVAL_TBL_OF (f1) VALUES ------------------------------^^^ - ('2147483647 days 2147483647 months'), - ('2147483647 days -2147483648 months'), - ('1 year'), - ('-2147483648 days 2147483647 months'), - ('-2147483648 days -2147483648 months') - - --- !query 31 -INSERT INTO INTERVAL_TBL_OF (f1) VALUES ('2147483648 days') --- !query 31 schema -struct<> --- !query 31 output -org.apache.spark.sql.catalyst.parser.ParseException - -mismatched input 'f1' expecting {'(', 'FROM', 'MAP', 'REDUCE', 'SELECT', 'TABLE', 'VALUES', 'WITH'}(line 1, pos 29) - -== SQL == -INSERT INTO INTERVAL_TBL_OF (f1) VALUES ('2147483648 days') ------------------------------^^^ - - --- !query 32 -INSERT INTO INTERVAL_TBL_OF (f1) VALUES ('-2147483649 days') --- !query 32 schema -struct<> --- !query 32 output -org.apache.spark.sql.catalyst.parser.ParseException - -mismatched input 'f1' expecting {'(', 'FROM', 'MAP', 'REDUCE', 'SELECT', 'TABLE', 'VALUES', 'WITH'}(line 1, pos 29) - -== SQL == -INSERT INTO INTERVAL_TBL_OF (f1) VALUES ('-2147483649 days') ------------------------------^^^ - - --- !query 33 -INSERT INTO INTERVAL_TBL_OF (f1) VALUES ('2147483647 years') --- !query 33 schema -struct<> --- !query 33 output -org.apache.spark.sql.catalyst.parser.ParseException - -mismatched input 'f1' expecting {'(', 'FROM', 'MAP', 'REDUCE', 'SELECT', 'TABLE', 'VALUES', 'WITH'}(line 1, pos 29) - -== SQL == -INSERT INTO INTERVAL_TBL_OF (f1) VALUES ('2147483647 years') ------------------------------^^^ - - --- !query 34 -INSERT INTO INTERVAL_TBL_OF (f1) VALUES ('-2147483648 years') --- !query 34 schema -struct<> --- !query 34 output -org.apache.spark.sql.catalyst.parser.ParseException - -mismatched input 'f1' expecting {'(', 'FROM', 'MAP', 'REDUCE', 'SELECT', 'TABLE', 'VALUES', 'WITH'}(line 1, pos 29) - -== SQL == -INSERT INTO INTERVAL_TBL_OF (f1) VALUES ('-2147483648 years') ------------------------------^^^ - - --- !query 35 -SELECT r1.*, r2.* - FROM INTERVAL_TBL_OF r1, INTERVAL_TBL_OF r2 - WHERE r1.f1 > r2.f1 - ORDER BY r1.f1, r2.f1 --- !query 35 schema -struct<> --- !query 35 output -org.apache.spark.sql.AnalysisException -Table or view not found: INTERVAL_TBL_OF; line 2 pos 8 - - --- !query 36 -CREATE INDEX ON INTERVAL_TBL_OF USING btree (f1) --- !query 36 schema -struct<> --- !query 36 output -org.apache.spark.sql.catalyst.parser.ParseException - -Operation not allowed: CREATE INDEX(line 1, pos 0) - -== SQL == -CREATE INDEX ON INTERVAL_TBL_OF USING btree (f1) -^^^ - - --- !query 37 -SET enable_seqscan TO false --- !query 37 schema -struct --- !query 37 output -enable_seqscan TO false - - --- !query 38 -EXPLAIN (COSTS OFF) -SELECT f1 FROM INTERVAL_TBL_OF r1 ORDER BY f1 --- !query 38 schema -struct<> --- !query 38 output -org.apache.spark.sql.catalyst.parser.ParseException - -mismatched input 'COSTS' expecting {'(', 'FROM', 'MAP', 'REDUCE', 'SELECT', 'TABLE', 'VALUES', 'WITH'}(line 1, pos 9) - -== SQL == -EXPLAIN (COSTS OFF) ----------^^^ -SELECT f1 FROM INTERVAL_TBL_OF r1 ORDER BY f1 - - --- !query 39 -SELECT f1 FROM INTERVAL_TBL_OF r1 ORDER BY f1 --- !query 39 schema -struct<> --- !query 39 output -org.apache.spark.sql.AnalysisException -Table or view not found: INTERVAL_TBL_OF; line 1 pos 15 - - --- !query 40 -RESET enable_seqscan --- !query 40 schema -struct<> --- !query 40 output -org.apache.spark.sql.catalyst.parser.ParseException - -extraneous input 'enable_seqscan' expecting (line 1, pos 6) - -== SQL == -RESET enable_seqscan -------^^^ - - --- !query 41 -DROP TABLE INTERVAL_TBL_OF --- !query 41 schema -struct<> --- !query 41 output -org.apache.spark.sql.AnalysisException -Table or view not found: INTERVAL_TBL_OF; - - --- !query 42 -CREATE TABLE INTERVAL_MULDIV_TBL (span interval) --- !query 42 schema -struct<> --- !query 42 output -org.apache.spark.sql.AnalysisException -Hive support is required to CREATE Hive TABLE (AS SELECT); - - --- !query 43 -COPY INTERVAL_MULDIV_TBL FROM STDIN --- !query 43 schema -struct<> --- !query 43 output -org.apache.spark.sql.catalyst.parser.ParseException - -mismatched input 'COPY' expecting {'(', 'ADD', 'ALTER', 'ANALYZE', 'CACHE', 'CLEAR', 'COMMIT', 'CREATE', 'DELETE', 'DESC', 'DESCRIBE', 'DFS', 'DROP', 'EXPLAIN', 'EXPORT', 'FROM', 'GRANT', 'IMPORT', 'INSERT', 'LIST', 'LOAD', 'LOCK', 'MAP', 'MSCK', 'REDUCE', 'REFRESH', 'REPLACE', 'RESET', 'REVOKE', 'ROLLBACK', 'SELECT', 'SET', 'SHOW', 'START', 'TABLE', 'TRUNCATE', 'UNCACHE', 'UNLOCK', 'UPDATE', 'USE', 'VALUES', 'WITH'}(line 1, pos 0) - -== SQL == -COPY INTERVAL_MULDIV_TBL FROM STDIN -^^^ - - --- !query 44 -41 mon 12 days 360:00 --41 mon -12 days +360:00 --12 days -9 mon -27 days 12:34:56 --3 years 482 days 76:54:32.189 -4 mon -14 mon -999 mon 999 days -\. - -SELECT span * 0.3 AS product -FROM INTERVAL_MULDIV_TBL --- !query 44 schema -struct<> --- !query 44 output -org.apache.spark.sql.catalyst.parser.ParseException - -mismatched input '41' expecting {'(', 'ADD', 'ALTER', 'ANALYZE', 'CACHE', 'CLEAR', 'COMMIT', 'CREATE', 'DELETE', 'DESC', 'DESCRIBE', 'DFS', 'DROP', 'EXPLAIN', 'EXPORT', 'FROM', 'GRANT', 'IMPORT', 'INSERT', 'LIST', 'LOAD', 'LOCK', 'MAP', 'MSCK', 'REDUCE', 'REFRESH', 'REPLACE', 'RESET', 'REVOKE', 'ROLLBACK', 'SELECT', 'SET', 'SHOW', 'START', 'TABLE', 'TRUNCATE', 'UNCACHE', 'UNLOCK', 'UPDATE', 'USE', 'VALUES', 'WITH'}(line 1, pos 0) - -== SQL == -41 mon 12 days 360:00 -^^^ --41 mon -12 days +360:00 --12 days -9 mon -27 days 12:34:56 --3 years 482 days 76:54:32.189 -4 mon -14 mon -999 mon 999 days -\. - -SELECT span * 0.3 AS product -FROM INTERVAL_MULDIV_TBL - - --- !query 45 -SELECT span * 8.2 AS product -FROM INTERVAL_MULDIV_TBL --- !query 45 schema -struct<> --- !query 45 output -org.apache.spark.sql.AnalysisException -Table or view not found: INTERVAL_MULDIV_TBL; line 2 pos 5 - - --- !query 46 -SELECT span / 10 AS quotient -FROM INTERVAL_MULDIV_TBL --- !query 46 schema -struct<> --- !query 46 output -org.apache.spark.sql.AnalysisException -Table or view not found: INTERVAL_MULDIV_TBL; line 2 pos 5 - - --- !query 47 -SELECT span / 100 AS quotient -FROM INTERVAL_MULDIV_TBL --- !query 47 schema -struct<> --- !query 47 output -org.apache.spark.sql.AnalysisException -Table or view not found: INTERVAL_MULDIV_TBL; line 2 pos 5 - - --- !query 48 -DROP TABLE INTERVAL_MULDIV_TBL --- !query 48 schema -struct<> --- !query 48 output -org.apache.spark.sql.AnalysisException -Table or view not found: INTERVAL_MULDIV_TBL; - - --- !query 49 -SET DATESTYLE = 'postgres' --- !query 49 schema -struct --- !query 49 output -DATESTYLE 'postgres' - - --- !query 50 -SET IntervalStyle to postgres_verbose --- !query 50 schema -struct --- !query 50 output -IntervalStyle to postgres_verbose - - --- !query 51 -SELECT '' AS ten, * FROM INTERVAL_TBL --- !query 51 schema -struct<> --- !query 51 output -org.apache.spark.sql.AnalysisException -Table or view not found: INTERVAL_TBL; line 1 pos 25 - - --- !query 52 -select avg(f1) from interval_tbl --- !query 52 schema -struct<> --- !query 52 output -org.apache.spark.sql.AnalysisException -Table or view not found: interval_tbl; line 1 pos 20 - - --- !query 53 -select '4 millenniums 5 centuries 4 decades 1 year 4 months 4 days 17 minutes 31 seconds'::interval --- !query 53 schema -struct<> --- !query 53 output -org.apache.spark.sql.catalyst.parser.ParseException - -mismatched input ':' expecting {, '(', ',', '.', '[', 'ADD', 'AFTER', 'ALL', 'ALTER', 'ANALYZE', 'AND', 'ANTI', 'ANY', 'ARCHIVE', 'ARRAY', 'AS', 'ASC', 'AT', 'AUTHORIZATION', 'BETWEEN', 'BOTH', 'BUCKET', 'BUCKETS', 'BY', 'CACHE', 'CASCADE', 'CASE', 'CAST', 'CHANGE', 'CHECK', 'CLEAR', 'CLUSTER', 'CLUSTERED', 'CODEGEN', 'COLLATE', 'COLLECTION', 'COLUMN', 'COLUMNS', 'COMMENT', 'COMMIT', 'COMPACT', 'COMPACTIONS', 'COMPUTE', 'CONCATENATE', 'CONSTRAINT', 'COST', 'CREATE', 'CROSS', 'CUBE', 'CURRENT', 'CURRENT_DATE', 'CURRENT_TIME', 'CURRENT_TIMESTAMP', 'CURRENT_USER', 'DATA', 'DATABASE', DATABASES, 'DAY', 'DAYS', 'DBPROPERTIES', 'DEFINED', 'DELETE', 'DELIMITED', 'DESC', 'DESCRIBE', 'DFS', 'DIRECTORIES', 'DIRECTORY', 'DISTINCT', 'DISTRIBUTE', 'DROP', 'ELSE', 'END', 'ESCAPED', 'EXCEPT', 'EXCHANGE', 'EXISTS', 'EXPLAIN', 'EXPORT', 'EXTENDED', 'EXTERNAL', 'EXTRACT', 'FALSE', 'FETCH', 'FIELDS', 'FILEFORMAT', 'FIRST', 'FIRST_VALUE', 'FOLLOWING', 'FOR', 'FOREIGN', 'FORMAT', 'FORMATTED', 'FROM', 'FULL', 'FUNCTION', 'FUNCTIONS', 'GLOBAL', 'GRANT', 'GROUP', 'GROUPING', 'HAVING', 'HOUR', 'HOURS', 'IF', 'IGNORE', 'IMPORT', 'IN', 'INDEX', 'INDEXES', 'INNER', 'INPATH', 'INPUTFORMAT', 'INSERT', 'INTERSECT', 'INTERVAL', 'INTO', 'IS', 'ITEMS', 'JOIN', 'KEYS', 'LAST', 'LAST_VALUE', 'LATERAL', 'LAZY', 'LEADING', 'LEFT', 'LIKE', 'LIMIT', 'LINES', 'LIST', 'LOAD', 'LOCAL', 'LOCATION', 'LOCK', 'LOCKS', 'LOGICAL', 'MACRO', 'MAP', 'MICROSECOND', 'MICROSECONDS', 'MILLISECOND', 'MILLISECONDS', 'MINUTE', 'MINUTES', 'MONTH', 'MONTHS', 'MSCK', 'NAMESPACE', 'NAMESPACES', 'NATURAL', 'NO', NOT, 'NULL', 'NULLS', 'OF', 'ON', 'ONLY', 'OPTION', 'OPTIONS', 'OR', 'ORDER', 'OUT', 'OUTER', 'OUTPUTFORMAT', 'OVER', 'OVERLAPS', 'OVERLAY', 'OVERWRITE', 'PARTITION', 'PARTITIONED', 'PARTITIONS', 'PERCENT', 'PIVOT', 'PLACING', 'POSITION', 'PRECEDING', 'PRIMARY', 'PRINCIPALS', 'PURGE', 'QUERY', 'RANGE', 'RECORDREADER', 'RECORDWRITER', 'RECOVER', 'REDUCE', 'REFERENCES', 'REFRESH', 'RENAME', 'REPAIR', 'REPLACE', 'RESET', 'RESPECT', 'RESTRICT', 'REVOKE', 'RIGHT', RLIKE, 'ROLE', 'ROLES', 'ROLLBACK', 'ROLLUP', 'ROW', 'ROWS', 'SCHEMA', 'SECOND', 'SECONDS', 'SELECT', 'SEMI', 'SEPARATED', 'SERDE', 'SERDEPROPERTIES', 'SESSION_USER', 'SET', 'MINUS', 'SETS', 'SHOW', 'SKEWED', 'SOME', 'SORT', 'SORTED', 'START', 'STATISTICS', 'STORED', 'STRATIFY', 'STRUCT', 'SUBSTR', 'SUBSTRING', 'TABLE', 'TABLES', 'TABLESAMPLE', 'TBLPROPERTIES', TEMPORARY, 'TERMINATED', 'THEN', 'TO', 'TOUCH', 'TRAILING', 'TRANSACTION', 'TRANSACTIONS', 'TRANSFORM', 'TRIM', 'TRUE', 'TRUNCATE', 'TYPE', 'UNARCHIVE', 'UNBOUNDED', 'UNCACHE', 'UNION', 'UNIQUE', 'UNKNOWN', 'UNLOCK', 'UNSET', 'UPDATE', 'USE', 'USER', 'USING', 'VALUES', 'VIEW', 'WEEK', 'WEEKS', 'WHEN', 'WHERE', 'WINDOW', 'WITH', 'YEAR', 'YEARS', EQ, '<=>', '<>', '!=', '<', LTE, '>', GTE, '+', '-', '*', '/', '%', 'DIV', '&', '|', '||', '^', STRING, IDENTIFIER, BACKQUOTED_IDENTIFIER}(line 1, pos 89) - -== SQL == -select '4 millenniums 5 centuries 4 decades 1 year 4 months 4 days 17 minutes 31 seconds'::interval ------------------------------------------------------------------------------------------^^^ - - --- !query 54 -select '100000000y 10mon -1000000000d -100000h -10min -10.000001s ago'::interval --- !query 54 schema -struct<> --- !query 54 output -org.apache.spark.sql.catalyst.parser.ParseException - -mismatched input ':' expecting {, '(', ',', '.', '[', 'ADD', 'AFTER', 'ALL', 'ALTER', 'ANALYZE', 'AND', 'ANTI', 'ANY', 'ARCHIVE', 'ARRAY', 'AS', 'ASC', 'AT', 'AUTHORIZATION', 'BETWEEN', 'BOTH', 'BUCKET', 'BUCKETS', 'BY', 'CACHE', 'CASCADE', 'CASE', 'CAST', 'CHANGE', 'CHECK', 'CLEAR', 'CLUSTER', 'CLUSTERED', 'CODEGEN', 'COLLATE', 'COLLECTION', 'COLUMN', 'COLUMNS', 'COMMENT', 'COMMIT', 'COMPACT', 'COMPACTIONS', 'COMPUTE', 'CONCATENATE', 'CONSTRAINT', 'COST', 'CREATE', 'CROSS', 'CUBE', 'CURRENT', 'CURRENT_DATE', 'CURRENT_TIME', 'CURRENT_TIMESTAMP', 'CURRENT_USER', 'DATA', 'DATABASE', DATABASES, 'DAY', 'DAYS', 'DBPROPERTIES', 'DEFINED', 'DELETE', 'DELIMITED', 'DESC', 'DESCRIBE', 'DFS', 'DIRECTORIES', 'DIRECTORY', 'DISTINCT', 'DISTRIBUTE', 'DROP', 'ELSE', 'END', 'ESCAPED', 'EXCEPT', 'EXCHANGE', 'EXISTS', 'EXPLAIN', 'EXPORT', 'EXTENDED', 'EXTERNAL', 'EXTRACT', 'FALSE', 'FETCH', 'FIELDS', 'FILEFORMAT', 'FIRST', 'FIRST_VALUE', 'FOLLOWING', 'FOR', 'FOREIGN', 'FORMAT', 'FORMATTED', 'FROM', 'FULL', 'FUNCTION', 'FUNCTIONS', 'GLOBAL', 'GRANT', 'GROUP', 'GROUPING', 'HAVING', 'HOUR', 'HOURS', 'IF', 'IGNORE', 'IMPORT', 'IN', 'INDEX', 'INDEXES', 'INNER', 'INPATH', 'INPUTFORMAT', 'INSERT', 'INTERSECT', 'INTERVAL', 'INTO', 'IS', 'ITEMS', 'JOIN', 'KEYS', 'LAST', 'LAST_VALUE', 'LATERAL', 'LAZY', 'LEADING', 'LEFT', 'LIKE', 'LIMIT', 'LINES', 'LIST', 'LOAD', 'LOCAL', 'LOCATION', 'LOCK', 'LOCKS', 'LOGICAL', 'MACRO', 'MAP', 'MICROSECOND', 'MICROSECONDS', 'MILLISECOND', 'MILLISECONDS', 'MINUTE', 'MINUTES', 'MONTH', 'MONTHS', 'MSCK', 'NAMESPACE', 'NAMESPACES', 'NATURAL', 'NO', NOT, 'NULL', 'NULLS', 'OF', 'ON', 'ONLY', 'OPTION', 'OPTIONS', 'OR', 'ORDER', 'OUT', 'OUTER', 'OUTPUTFORMAT', 'OVER', 'OVERLAPS', 'OVERLAY', 'OVERWRITE', 'PARTITION', 'PARTITIONED', 'PARTITIONS', 'PERCENT', 'PIVOT', 'PLACING', 'POSITION', 'PRECEDING', 'PRIMARY', 'PRINCIPALS', 'PURGE', 'QUERY', 'RANGE', 'RECORDREADER', 'RECORDWRITER', 'RECOVER', 'REDUCE', 'REFERENCES', 'REFRESH', 'RENAME', 'REPAIR', 'REPLACE', 'RESET', 'RESPECT', 'RESTRICT', 'REVOKE', 'RIGHT', RLIKE, 'ROLE', 'ROLES', 'ROLLBACK', 'ROLLUP', 'ROW', 'ROWS', 'SCHEMA', 'SECOND', 'SECONDS', 'SELECT', 'SEMI', 'SEPARATED', 'SERDE', 'SERDEPROPERTIES', 'SESSION_USER', 'SET', 'MINUS', 'SETS', 'SHOW', 'SKEWED', 'SOME', 'SORT', 'SORTED', 'START', 'STATISTICS', 'STORED', 'STRATIFY', 'STRUCT', 'SUBSTR', 'SUBSTRING', 'TABLE', 'TABLES', 'TABLESAMPLE', 'TBLPROPERTIES', TEMPORARY, 'TERMINATED', 'THEN', 'TO', 'TOUCH', 'TRAILING', 'TRANSACTION', 'TRANSACTIONS', 'TRANSFORM', 'TRIM', 'TRUE', 'TRUNCATE', 'TYPE', 'UNARCHIVE', 'UNBOUNDED', 'UNCACHE', 'UNION', 'UNIQUE', 'UNKNOWN', 'UNLOCK', 'UNSET', 'UPDATE', 'USE', 'USER', 'USING', 'VALUES', 'VIEW', 'WEEK', 'WEEKS', 'WHEN', 'WHERE', 'WINDOW', 'WITH', 'YEAR', 'YEARS', EQ, '<=>', '<>', '!=', '<', LTE, '>', GTE, '+', '-', '*', '/', '%', 'DIV', '&', '|', '||', '^', STRING, IDENTIFIER, BACKQUOTED_IDENTIFIER}(line 1, pos 70) - -== SQL == -select '100000000y 10mon -1000000000d -100000h -10min -10.000001s ago'::interval -----------------------------------------------------------------------^^^ - - --- !query 55 -SELECT justify_hours(interval '6 months 3 days 52 hours 3 minutes 2 seconds') as `6 mons 5 days 4 hours 3 mins 2 seconds` --- !query 55 schema -struct<> --- !query 55 output -org.apache.spark.sql.AnalysisException -Undefined function: 'justify_hours'. This function is neither a registered temporary function nor a permanent function registered in the database 'default'.; line 1 pos 7 - - --- !query 56 -SELECT justify_days(interval '6 months 36 days 5 hours 4 minutes 3 seconds') as `7 mons 6 days 5 hours 4 mins 3 seconds` --- !query 56 schema -struct<> --- !query 56 output -org.apache.spark.sql.AnalysisException -Undefined function: 'justify_days'. This function is neither a registered temporary function nor a permanent function registered in the database 'default'.; line 1 pos 7 - - --- !query 57 -SELECT justify_interval(interval '1 month -1 hour') as `1 month -1 hour` --- !query 57 schema -struct<> --- !query 57 output -org.apache.spark.sql.AnalysisException -Undefined function: 'justify_interval'. This function is neither a registered temporary function nor a permanent function registered in the database 'default'.; line 1 pos 7 - - --- !query 58 -SET DATESTYLE = 'ISO' --- !query 58 schema -struct --- !query 58 output -DATESTYLE 'ISO' - - --- !query 59 -SET IntervalStyle TO postgres --- !query 59 schema -struct --- !query 59 output -IntervalStyle TO postgres - - --- !query 60 -SELECT '1 millisecond'::interval, '1 microsecond'::interval, - '500 seconds 99 milliseconds 51 microseconds'::interval --- !query 60 schema -struct<> --- !query 60 output -org.apache.spark.sql.catalyst.parser.ParseException - -mismatched input ':' expecting {, '(', ',', '.', '[', 'ADD', 'AFTER', 'ALL', 'ALTER', 'ANALYZE', 'AND', 'ANTI', 'ANY', 'ARCHIVE', 'ARRAY', 'AS', 'ASC', 'AT', 'AUTHORIZATION', 'BETWEEN', 'BOTH', 'BUCKET', 'BUCKETS', 'BY', 'CACHE', 'CASCADE', 'CASE', 'CAST', 'CHANGE', 'CHECK', 'CLEAR', 'CLUSTER', 'CLUSTERED', 'CODEGEN', 'COLLATE', 'COLLECTION', 'COLUMN', 'COLUMNS', 'COMMENT', 'COMMIT', 'COMPACT', 'COMPACTIONS', 'COMPUTE', 'CONCATENATE', 'CONSTRAINT', 'COST', 'CREATE', 'CROSS', 'CUBE', 'CURRENT', 'CURRENT_DATE', 'CURRENT_TIME', 'CURRENT_TIMESTAMP', 'CURRENT_USER', 'DATA', 'DATABASE', DATABASES, 'DAY', 'DAYS', 'DBPROPERTIES', 'DEFINED', 'DELETE', 'DELIMITED', 'DESC', 'DESCRIBE', 'DFS', 'DIRECTORIES', 'DIRECTORY', 'DISTINCT', 'DISTRIBUTE', 'DROP', 'ELSE', 'END', 'ESCAPED', 'EXCEPT', 'EXCHANGE', 'EXISTS', 'EXPLAIN', 'EXPORT', 'EXTENDED', 'EXTERNAL', 'EXTRACT', 'FALSE', 'FETCH', 'FIELDS', 'FILEFORMAT', 'FIRST', 'FIRST_VALUE', 'FOLLOWING', 'FOR', 'FOREIGN', 'FORMAT', 'FORMATTED', 'FROM', 'FULL', 'FUNCTION', 'FUNCTIONS', 'GLOBAL', 'GRANT', 'GROUP', 'GROUPING', 'HAVING', 'HOUR', 'HOURS', 'IF', 'IGNORE', 'IMPORT', 'IN', 'INDEX', 'INDEXES', 'INNER', 'INPATH', 'INPUTFORMAT', 'INSERT', 'INTERSECT', 'INTERVAL', 'INTO', 'IS', 'ITEMS', 'JOIN', 'KEYS', 'LAST', 'LAST_VALUE', 'LATERAL', 'LAZY', 'LEADING', 'LEFT', 'LIKE', 'LIMIT', 'LINES', 'LIST', 'LOAD', 'LOCAL', 'LOCATION', 'LOCK', 'LOCKS', 'LOGICAL', 'MACRO', 'MAP', 'MICROSECOND', 'MICROSECONDS', 'MILLISECOND', 'MILLISECONDS', 'MINUTE', 'MINUTES', 'MONTH', 'MONTHS', 'MSCK', 'NAMESPACE', 'NAMESPACES', 'NATURAL', 'NO', NOT, 'NULL', 'NULLS', 'OF', 'ON', 'ONLY', 'OPTION', 'OPTIONS', 'OR', 'ORDER', 'OUT', 'OUTER', 'OUTPUTFORMAT', 'OVER', 'OVERLAPS', 'OVERLAY', 'OVERWRITE', 'PARTITION', 'PARTITIONED', 'PARTITIONS', 'PERCENT', 'PIVOT', 'PLACING', 'POSITION', 'PRECEDING', 'PRIMARY', 'PRINCIPALS', 'PURGE', 'QUERY', 'RANGE', 'RECORDREADER', 'RECORDWRITER', 'RECOVER', 'REDUCE', 'REFERENCES', 'REFRESH', 'RENAME', 'REPAIR', 'REPLACE', 'RESET', 'RESPECT', 'RESTRICT', 'REVOKE', 'RIGHT', RLIKE, 'ROLE', 'ROLES', 'ROLLBACK', 'ROLLUP', 'ROW', 'ROWS', 'SCHEMA', 'SECOND', 'SECONDS', 'SELECT', 'SEMI', 'SEPARATED', 'SERDE', 'SERDEPROPERTIES', 'SESSION_USER', 'SET', 'MINUS', 'SETS', 'SHOW', 'SKEWED', 'SOME', 'SORT', 'SORTED', 'START', 'STATISTICS', 'STORED', 'STRATIFY', 'STRUCT', 'SUBSTR', 'SUBSTRING', 'TABLE', 'TABLES', 'TABLESAMPLE', 'TBLPROPERTIES', TEMPORARY, 'TERMINATED', 'THEN', 'TO', 'TOUCH', 'TRAILING', 'TRANSACTION', 'TRANSACTIONS', 'TRANSFORM', 'TRIM', 'TRUE', 'TRUNCATE', 'TYPE', 'UNARCHIVE', 'UNBOUNDED', 'UNCACHE', 'UNION', 'UNIQUE', 'UNKNOWN', 'UNLOCK', 'UNSET', 'UPDATE', 'USE', 'USER', 'USING', 'VALUES', 'VIEW', 'WEEK', 'WEEKS', 'WHEN', 'WHERE', 'WINDOW', 'WITH', 'YEAR', 'YEARS', EQ, '<=>', '<>', '!=', '<', LTE, '>', GTE, '+', '-', '*', '/', '%', 'DIV', '&', '|', '||', '^', STRING, IDENTIFIER, BACKQUOTED_IDENTIFIER}(line 1, pos 22) - -== SQL == -SELECT '1 millisecond'::interval, '1 microsecond'::interval, -----------------------^^^ - '500 seconds 99 milliseconds 51 microseconds'::interval - - --- !query 61 -SELECT '3 days 5 milliseconds'::interval --- !query 61 schema -struct<> --- !query 61 output -org.apache.spark.sql.catalyst.parser.ParseException - -mismatched input ':' expecting {, '(', ',', '.', '[', 'ADD', 'AFTER', 'ALL', 'ALTER', 'ANALYZE', 'AND', 'ANTI', 'ANY', 'ARCHIVE', 'ARRAY', 'AS', 'ASC', 'AT', 'AUTHORIZATION', 'BETWEEN', 'BOTH', 'BUCKET', 'BUCKETS', 'BY', 'CACHE', 'CASCADE', 'CASE', 'CAST', 'CHANGE', 'CHECK', 'CLEAR', 'CLUSTER', 'CLUSTERED', 'CODEGEN', 'COLLATE', 'COLLECTION', 'COLUMN', 'COLUMNS', 'COMMENT', 'COMMIT', 'COMPACT', 'COMPACTIONS', 'COMPUTE', 'CONCATENATE', 'CONSTRAINT', 'COST', 'CREATE', 'CROSS', 'CUBE', 'CURRENT', 'CURRENT_DATE', 'CURRENT_TIME', 'CURRENT_TIMESTAMP', 'CURRENT_USER', 'DATA', 'DATABASE', DATABASES, 'DAY', 'DAYS', 'DBPROPERTIES', 'DEFINED', 'DELETE', 'DELIMITED', 'DESC', 'DESCRIBE', 'DFS', 'DIRECTORIES', 'DIRECTORY', 'DISTINCT', 'DISTRIBUTE', 'DROP', 'ELSE', 'END', 'ESCAPED', 'EXCEPT', 'EXCHANGE', 'EXISTS', 'EXPLAIN', 'EXPORT', 'EXTENDED', 'EXTERNAL', 'EXTRACT', 'FALSE', 'FETCH', 'FIELDS', 'FILEFORMAT', 'FIRST', 'FIRST_VALUE', 'FOLLOWING', 'FOR', 'FOREIGN', 'FORMAT', 'FORMATTED', 'FROM', 'FULL', 'FUNCTION', 'FUNCTIONS', 'GLOBAL', 'GRANT', 'GROUP', 'GROUPING', 'HAVING', 'HOUR', 'HOURS', 'IF', 'IGNORE', 'IMPORT', 'IN', 'INDEX', 'INDEXES', 'INNER', 'INPATH', 'INPUTFORMAT', 'INSERT', 'INTERSECT', 'INTERVAL', 'INTO', 'IS', 'ITEMS', 'JOIN', 'KEYS', 'LAST', 'LAST_VALUE', 'LATERAL', 'LAZY', 'LEADING', 'LEFT', 'LIKE', 'LIMIT', 'LINES', 'LIST', 'LOAD', 'LOCAL', 'LOCATION', 'LOCK', 'LOCKS', 'LOGICAL', 'MACRO', 'MAP', 'MICROSECOND', 'MICROSECONDS', 'MILLISECOND', 'MILLISECONDS', 'MINUTE', 'MINUTES', 'MONTH', 'MONTHS', 'MSCK', 'NAMESPACE', 'NAMESPACES', 'NATURAL', 'NO', NOT, 'NULL', 'NULLS', 'OF', 'ON', 'ONLY', 'OPTION', 'OPTIONS', 'OR', 'ORDER', 'OUT', 'OUTER', 'OUTPUTFORMAT', 'OVER', 'OVERLAPS', 'OVERLAY', 'OVERWRITE', 'PARTITION', 'PARTITIONED', 'PARTITIONS', 'PERCENT', 'PIVOT', 'PLACING', 'POSITION', 'PRECEDING', 'PRIMARY', 'PRINCIPALS', 'PURGE', 'QUERY', 'RANGE', 'RECORDREADER', 'RECORDWRITER', 'RECOVER', 'REDUCE', 'REFERENCES', 'REFRESH', 'RENAME', 'REPAIR', 'REPLACE', 'RESET', 'RESPECT', 'RESTRICT', 'REVOKE', 'RIGHT', RLIKE, 'ROLE', 'ROLES', 'ROLLBACK', 'ROLLUP', 'ROW', 'ROWS', 'SCHEMA', 'SECOND', 'SECONDS', 'SELECT', 'SEMI', 'SEPARATED', 'SERDE', 'SERDEPROPERTIES', 'SESSION_USER', 'SET', 'MINUS', 'SETS', 'SHOW', 'SKEWED', 'SOME', 'SORT', 'SORTED', 'START', 'STATISTICS', 'STORED', 'STRATIFY', 'STRUCT', 'SUBSTR', 'SUBSTRING', 'TABLE', 'TABLES', 'TABLESAMPLE', 'TBLPROPERTIES', TEMPORARY, 'TERMINATED', 'THEN', 'TO', 'TOUCH', 'TRAILING', 'TRANSACTION', 'TRANSACTIONS', 'TRANSFORM', 'TRIM', 'TRUE', 'TRUNCATE', 'TYPE', 'UNARCHIVE', 'UNBOUNDED', 'UNCACHE', 'UNION', 'UNIQUE', 'UNKNOWN', 'UNLOCK', 'UNSET', 'UPDATE', 'USE', 'USER', 'USING', 'VALUES', 'VIEW', 'WEEK', 'WEEKS', 'WHEN', 'WHERE', 'WINDOW', 'WITH', 'YEAR', 'YEARS', EQ, '<=>', '<>', '!=', '<', LTE, '>', GTE, '+', '-', '*', '/', '%', 'DIV', '&', '|', '||', '^', STRING, IDENTIFIER, BACKQUOTED_IDENTIFIER}(line 1, pos 30) - -== SQL == -SELECT '3 days 5 milliseconds'::interval -------------------------------^^^ - - --- !query 62 -SELECT '1 second 2 seconds'::interval --- !query 62 schema -struct<> --- !query 62 output -org.apache.spark.sql.catalyst.parser.ParseException - -mismatched input ':' expecting {, '(', ',', '.', '[', 'ADD', 'AFTER', 'ALL', 'ALTER', 'ANALYZE', 'AND', 'ANTI', 'ANY', 'ARCHIVE', 'ARRAY', 'AS', 'ASC', 'AT', 'AUTHORIZATION', 'BETWEEN', 'BOTH', 'BUCKET', 'BUCKETS', 'BY', 'CACHE', 'CASCADE', 'CASE', 'CAST', 'CHANGE', 'CHECK', 'CLEAR', 'CLUSTER', 'CLUSTERED', 'CODEGEN', 'COLLATE', 'COLLECTION', 'COLUMN', 'COLUMNS', 'COMMENT', 'COMMIT', 'COMPACT', 'COMPACTIONS', 'COMPUTE', 'CONCATENATE', 'CONSTRAINT', 'COST', 'CREATE', 'CROSS', 'CUBE', 'CURRENT', 'CURRENT_DATE', 'CURRENT_TIME', 'CURRENT_TIMESTAMP', 'CURRENT_USER', 'DATA', 'DATABASE', DATABASES, 'DAY', 'DAYS', 'DBPROPERTIES', 'DEFINED', 'DELETE', 'DELIMITED', 'DESC', 'DESCRIBE', 'DFS', 'DIRECTORIES', 'DIRECTORY', 'DISTINCT', 'DISTRIBUTE', 'DROP', 'ELSE', 'END', 'ESCAPED', 'EXCEPT', 'EXCHANGE', 'EXISTS', 'EXPLAIN', 'EXPORT', 'EXTENDED', 'EXTERNAL', 'EXTRACT', 'FALSE', 'FETCH', 'FIELDS', 'FILEFORMAT', 'FIRST', 'FIRST_VALUE', 'FOLLOWING', 'FOR', 'FOREIGN', 'FORMAT', 'FORMATTED', 'FROM', 'FULL', 'FUNCTION', 'FUNCTIONS', 'GLOBAL', 'GRANT', 'GROUP', 'GROUPING', 'HAVING', 'HOUR', 'HOURS', 'IF', 'IGNORE', 'IMPORT', 'IN', 'INDEX', 'INDEXES', 'INNER', 'INPATH', 'INPUTFORMAT', 'INSERT', 'INTERSECT', 'INTERVAL', 'INTO', 'IS', 'ITEMS', 'JOIN', 'KEYS', 'LAST', 'LAST_VALUE', 'LATERAL', 'LAZY', 'LEADING', 'LEFT', 'LIKE', 'LIMIT', 'LINES', 'LIST', 'LOAD', 'LOCAL', 'LOCATION', 'LOCK', 'LOCKS', 'LOGICAL', 'MACRO', 'MAP', 'MICROSECOND', 'MICROSECONDS', 'MILLISECOND', 'MILLISECONDS', 'MINUTE', 'MINUTES', 'MONTH', 'MONTHS', 'MSCK', 'NAMESPACE', 'NAMESPACES', 'NATURAL', 'NO', NOT, 'NULL', 'NULLS', 'OF', 'ON', 'ONLY', 'OPTION', 'OPTIONS', 'OR', 'ORDER', 'OUT', 'OUTER', 'OUTPUTFORMAT', 'OVER', 'OVERLAPS', 'OVERLAY', 'OVERWRITE', 'PARTITION', 'PARTITIONED', 'PARTITIONS', 'PERCENT', 'PIVOT', 'PLACING', 'POSITION', 'PRECEDING', 'PRIMARY', 'PRINCIPALS', 'PURGE', 'QUERY', 'RANGE', 'RECORDREADER', 'RECORDWRITER', 'RECOVER', 'REDUCE', 'REFERENCES', 'REFRESH', 'RENAME', 'REPAIR', 'REPLACE', 'RESET', 'RESPECT', 'RESTRICT', 'REVOKE', 'RIGHT', RLIKE, 'ROLE', 'ROLES', 'ROLLBACK', 'ROLLUP', 'ROW', 'ROWS', 'SCHEMA', 'SECOND', 'SECONDS', 'SELECT', 'SEMI', 'SEPARATED', 'SERDE', 'SERDEPROPERTIES', 'SESSION_USER', 'SET', 'MINUS', 'SETS', 'SHOW', 'SKEWED', 'SOME', 'SORT', 'SORTED', 'START', 'STATISTICS', 'STORED', 'STRATIFY', 'STRUCT', 'SUBSTR', 'SUBSTRING', 'TABLE', 'TABLES', 'TABLESAMPLE', 'TBLPROPERTIES', TEMPORARY, 'TERMINATED', 'THEN', 'TO', 'TOUCH', 'TRAILING', 'TRANSACTION', 'TRANSACTIONS', 'TRANSFORM', 'TRIM', 'TRUE', 'TRUNCATE', 'TYPE', 'UNARCHIVE', 'UNBOUNDED', 'UNCACHE', 'UNION', 'UNIQUE', 'UNKNOWN', 'UNLOCK', 'UNSET', 'UPDATE', 'USE', 'USER', 'USING', 'VALUES', 'VIEW', 'WEEK', 'WEEKS', 'WHEN', 'WHERE', 'WINDOW', 'WITH', 'YEAR', 'YEARS', EQ, '<=>', '<>', '!=', '<', LTE, '>', GTE, '+', '-', '*', '/', '%', 'DIV', '&', '|', '||', '^', STRING, IDENTIFIER, BACKQUOTED_IDENTIFIER}(line 1, pos 27) - -== SQL == -SELECT '1 second 2 seconds'::interval ----------------------------^^^ - - --- !query 63 -SELECT '10 milliseconds 20 milliseconds'::interval --- !query 63 schema -struct<> --- !query 63 output -org.apache.spark.sql.catalyst.parser.ParseException - -mismatched input ':' expecting {, '(', ',', '.', '[', 'ADD', 'AFTER', 'ALL', 'ALTER', 'ANALYZE', 'AND', 'ANTI', 'ANY', 'ARCHIVE', 'ARRAY', 'AS', 'ASC', 'AT', 'AUTHORIZATION', 'BETWEEN', 'BOTH', 'BUCKET', 'BUCKETS', 'BY', 'CACHE', 'CASCADE', 'CASE', 'CAST', 'CHANGE', 'CHECK', 'CLEAR', 'CLUSTER', 'CLUSTERED', 'CODEGEN', 'COLLATE', 'COLLECTION', 'COLUMN', 'COLUMNS', 'COMMENT', 'COMMIT', 'COMPACT', 'COMPACTIONS', 'COMPUTE', 'CONCATENATE', 'CONSTRAINT', 'COST', 'CREATE', 'CROSS', 'CUBE', 'CURRENT', 'CURRENT_DATE', 'CURRENT_TIME', 'CURRENT_TIMESTAMP', 'CURRENT_USER', 'DATA', 'DATABASE', DATABASES, 'DAY', 'DAYS', 'DBPROPERTIES', 'DEFINED', 'DELETE', 'DELIMITED', 'DESC', 'DESCRIBE', 'DFS', 'DIRECTORIES', 'DIRECTORY', 'DISTINCT', 'DISTRIBUTE', 'DROP', 'ELSE', 'END', 'ESCAPED', 'EXCEPT', 'EXCHANGE', 'EXISTS', 'EXPLAIN', 'EXPORT', 'EXTENDED', 'EXTERNAL', 'EXTRACT', 'FALSE', 'FETCH', 'FIELDS', 'FILEFORMAT', 'FIRST', 'FIRST_VALUE', 'FOLLOWING', 'FOR', 'FOREIGN', 'FORMAT', 'FORMATTED', 'FROM', 'FULL', 'FUNCTION', 'FUNCTIONS', 'GLOBAL', 'GRANT', 'GROUP', 'GROUPING', 'HAVING', 'HOUR', 'HOURS', 'IF', 'IGNORE', 'IMPORT', 'IN', 'INDEX', 'INDEXES', 'INNER', 'INPATH', 'INPUTFORMAT', 'INSERT', 'INTERSECT', 'INTERVAL', 'INTO', 'IS', 'ITEMS', 'JOIN', 'KEYS', 'LAST', 'LAST_VALUE', 'LATERAL', 'LAZY', 'LEADING', 'LEFT', 'LIKE', 'LIMIT', 'LINES', 'LIST', 'LOAD', 'LOCAL', 'LOCATION', 'LOCK', 'LOCKS', 'LOGICAL', 'MACRO', 'MAP', 'MICROSECOND', 'MICROSECONDS', 'MILLISECOND', 'MILLISECONDS', 'MINUTE', 'MINUTES', 'MONTH', 'MONTHS', 'MSCK', 'NAMESPACE', 'NAMESPACES', 'NATURAL', 'NO', NOT, 'NULL', 'NULLS', 'OF', 'ON', 'ONLY', 'OPTION', 'OPTIONS', 'OR', 'ORDER', 'OUT', 'OUTER', 'OUTPUTFORMAT', 'OVER', 'OVERLAPS', 'OVERLAY', 'OVERWRITE', 'PARTITION', 'PARTITIONED', 'PARTITIONS', 'PERCENT', 'PIVOT', 'PLACING', 'POSITION', 'PRECEDING', 'PRIMARY', 'PRINCIPALS', 'PURGE', 'QUERY', 'RANGE', 'RECORDREADER', 'RECORDWRITER', 'RECOVER', 'REDUCE', 'REFERENCES', 'REFRESH', 'RENAME', 'REPAIR', 'REPLACE', 'RESET', 'RESPECT', 'RESTRICT', 'REVOKE', 'RIGHT', RLIKE, 'ROLE', 'ROLES', 'ROLLBACK', 'ROLLUP', 'ROW', 'ROWS', 'SCHEMA', 'SECOND', 'SECONDS', 'SELECT', 'SEMI', 'SEPARATED', 'SERDE', 'SERDEPROPERTIES', 'SESSION_USER', 'SET', 'MINUS', 'SETS', 'SHOW', 'SKEWED', 'SOME', 'SORT', 'SORTED', 'START', 'STATISTICS', 'STORED', 'STRATIFY', 'STRUCT', 'SUBSTR', 'SUBSTRING', 'TABLE', 'TABLES', 'TABLESAMPLE', 'TBLPROPERTIES', TEMPORARY, 'TERMINATED', 'THEN', 'TO', 'TOUCH', 'TRAILING', 'TRANSACTION', 'TRANSACTIONS', 'TRANSFORM', 'TRIM', 'TRUE', 'TRUNCATE', 'TYPE', 'UNARCHIVE', 'UNBOUNDED', 'UNCACHE', 'UNION', 'UNIQUE', 'UNKNOWN', 'UNLOCK', 'UNSET', 'UPDATE', 'USE', 'USER', 'USING', 'VALUES', 'VIEW', 'WEEK', 'WEEKS', 'WHEN', 'WHERE', 'WINDOW', 'WITH', 'YEAR', 'YEARS', EQ, '<=>', '<>', '!=', '<', LTE, '>', GTE, '+', '-', '*', '/', '%', 'DIV', '&', '|', '||', '^', STRING, IDENTIFIER, BACKQUOTED_IDENTIFIER}(line 1, pos 40) - -== SQL == -SELECT '10 milliseconds 20 milliseconds'::interval -----------------------------------------^^^ - - --- !query 64 -SELECT '5.5 seconds 3 milliseconds'::interval --- !query 64 schema -struct<> --- !query 64 output -org.apache.spark.sql.catalyst.parser.ParseException - -mismatched input ':' expecting {, '(', ',', '.', '[', 'ADD', 'AFTER', 'ALL', 'ALTER', 'ANALYZE', 'AND', 'ANTI', 'ANY', 'ARCHIVE', 'ARRAY', 'AS', 'ASC', 'AT', 'AUTHORIZATION', 'BETWEEN', 'BOTH', 'BUCKET', 'BUCKETS', 'BY', 'CACHE', 'CASCADE', 'CASE', 'CAST', 'CHANGE', 'CHECK', 'CLEAR', 'CLUSTER', 'CLUSTERED', 'CODEGEN', 'COLLATE', 'COLLECTION', 'COLUMN', 'COLUMNS', 'COMMENT', 'COMMIT', 'COMPACT', 'COMPACTIONS', 'COMPUTE', 'CONCATENATE', 'CONSTRAINT', 'COST', 'CREATE', 'CROSS', 'CUBE', 'CURRENT', 'CURRENT_DATE', 'CURRENT_TIME', 'CURRENT_TIMESTAMP', 'CURRENT_USER', 'DATA', 'DATABASE', DATABASES, 'DAY', 'DAYS', 'DBPROPERTIES', 'DEFINED', 'DELETE', 'DELIMITED', 'DESC', 'DESCRIBE', 'DFS', 'DIRECTORIES', 'DIRECTORY', 'DISTINCT', 'DISTRIBUTE', 'DROP', 'ELSE', 'END', 'ESCAPED', 'EXCEPT', 'EXCHANGE', 'EXISTS', 'EXPLAIN', 'EXPORT', 'EXTENDED', 'EXTERNAL', 'EXTRACT', 'FALSE', 'FETCH', 'FIELDS', 'FILEFORMAT', 'FIRST', 'FIRST_VALUE', 'FOLLOWING', 'FOR', 'FOREIGN', 'FORMAT', 'FORMATTED', 'FROM', 'FULL', 'FUNCTION', 'FUNCTIONS', 'GLOBAL', 'GRANT', 'GROUP', 'GROUPING', 'HAVING', 'HOUR', 'HOURS', 'IF', 'IGNORE', 'IMPORT', 'IN', 'INDEX', 'INDEXES', 'INNER', 'INPATH', 'INPUTFORMAT', 'INSERT', 'INTERSECT', 'INTERVAL', 'INTO', 'IS', 'ITEMS', 'JOIN', 'KEYS', 'LAST', 'LAST_VALUE', 'LATERAL', 'LAZY', 'LEADING', 'LEFT', 'LIKE', 'LIMIT', 'LINES', 'LIST', 'LOAD', 'LOCAL', 'LOCATION', 'LOCK', 'LOCKS', 'LOGICAL', 'MACRO', 'MAP', 'MICROSECOND', 'MICROSECONDS', 'MILLISECOND', 'MILLISECONDS', 'MINUTE', 'MINUTES', 'MONTH', 'MONTHS', 'MSCK', 'NAMESPACE', 'NAMESPACES', 'NATURAL', 'NO', NOT, 'NULL', 'NULLS', 'OF', 'ON', 'ONLY', 'OPTION', 'OPTIONS', 'OR', 'ORDER', 'OUT', 'OUTER', 'OUTPUTFORMAT', 'OVER', 'OVERLAPS', 'OVERLAY', 'OVERWRITE', 'PARTITION', 'PARTITIONED', 'PARTITIONS', 'PERCENT', 'PIVOT', 'PLACING', 'POSITION', 'PRECEDING', 'PRIMARY', 'PRINCIPALS', 'PURGE', 'QUERY', 'RANGE', 'RECORDREADER', 'RECORDWRITER', 'RECOVER', 'REDUCE', 'REFERENCES', 'REFRESH', 'RENAME', 'REPAIR', 'REPLACE', 'RESET', 'RESPECT', 'RESTRICT', 'REVOKE', 'RIGHT', RLIKE, 'ROLE', 'ROLES', 'ROLLBACK', 'ROLLUP', 'ROW', 'ROWS', 'SCHEMA', 'SECOND', 'SECONDS', 'SELECT', 'SEMI', 'SEPARATED', 'SERDE', 'SERDEPROPERTIES', 'SESSION_USER', 'SET', 'MINUS', 'SETS', 'SHOW', 'SKEWED', 'SOME', 'SORT', 'SORTED', 'START', 'STATISTICS', 'STORED', 'STRATIFY', 'STRUCT', 'SUBSTR', 'SUBSTRING', 'TABLE', 'TABLES', 'TABLESAMPLE', 'TBLPROPERTIES', TEMPORARY, 'TERMINATED', 'THEN', 'TO', 'TOUCH', 'TRAILING', 'TRANSACTION', 'TRANSACTIONS', 'TRANSFORM', 'TRIM', 'TRUE', 'TRUNCATE', 'TYPE', 'UNARCHIVE', 'UNBOUNDED', 'UNCACHE', 'UNION', 'UNIQUE', 'UNKNOWN', 'UNLOCK', 'UNSET', 'UPDATE', 'USE', 'USER', 'USING', 'VALUES', 'VIEW', 'WEEK', 'WEEKS', 'WHEN', 'WHERE', 'WINDOW', 'WITH', 'YEAR', 'YEARS', EQ, '<=>', '<>', '!=', '<', LTE, '>', GTE, '+', '-', '*', '/', '%', 'DIV', '&', '|', '||', '^', STRING, IDENTIFIER, BACKQUOTED_IDENTIFIER}(line 1, pos 35) - -== SQL == -SELECT '5.5 seconds 3 milliseconds'::interval ------------------------------------^^^ - - --- !query 65 -SELECT '1:20:05 5 microseconds'::interval --- !query 65 schema -struct<> --- !query 65 output -org.apache.spark.sql.catalyst.parser.ParseException - -mismatched input ':' expecting {, '(', ',', '.', '[', 'ADD', 'AFTER', 'ALL', 'ALTER', 'ANALYZE', 'AND', 'ANTI', 'ANY', 'ARCHIVE', 'ARRAY', 'AS', 'ASC', 'AT', 'AUTHORIZATION', 'BETWEEN', 'BOTH', 'BUCKET', 'BUCKETS', 'BY', 'CACHE', 'CASCADE', 'CASE', 'CAST', 'CHANGE', 'CHECK', 'CLEAR', 'CLUSTER', 'CLUSTERED', 'CODEGEN', 'COLLATE', 'COLLECTION', 'COLUMN', 'COLUMNS', 'COMMENT', 'COMMIT', 'COMPACT', 'COMPACTIONS', 'COMPUTE', 'CONCATENATE', 'CONSTRAINT', 'COST', 'CREATE', 'CROSS', 'CUBE', 'CURRENT', 'CURRENT_DATE', 'CURRENT_TIME', 'CURRENT_TIMESTAMP', 'CURRENT_USER', 'DATA', 'DATABASE', DATABASES, 'DAY', 'DAYS', 'DBPROPERTIES', 'DEFINED', 'DELETE', 'DELIMITED', 'DESC', 'DESCRIBE', 'DFS', 'DIRECTORIES', 'DIRECTORY', 'DISTINCT', 'DISTRIBUTE', 'DROP', 'ELSE', 'END', 'ESCAPED', 'EXCEPT', 'EXCHANGE', 'EXISTS', 'EXPLAIN', 'EXPORT', 'EXTENDED', 'EXTERNAL', 'EXTRACT', 'FALSE', 'FETCH', 'FIELDS', 'FILEFORMAT', 'FIRST', 'FIRST_VALUE', 'FOLLOWING', 'FOR', 'FOREIGN', 'FORMAT', 'FORMATTED', 'FROM', 'FULL', 'FUNCTION', 'FUNCTIONS', 'GLOBAL', 'GRANT', 'GROUP', 'GROUPING', 'HAVING', 'HOUR', 'HOURS', 'IF', 'IGNORE', 'IMPORT', 'IN', 'INDEX', 'INDEXES', 'INNER', 'INPATH', 'INPUTFORMAT', 'INSERT', 'INTERSECT', 'INTERVAL', 'INTO', 'IS', 'ITEMS', 'JOIN', 'KEYS', 'LAST', 'LAST_VALUE', 'LATERAL', 'LAZY', 'LEADING', 'LEFT', 'LIKE', 'LIMIT', 'LINES', 'LIST', 'LOAD', 'LOCAL', 'LOCATION', 'LOCK', 'LOCKS', 'LOGICAL', 'MACRO', 'MAP', 'MICROSECOND', 'MICROSECONDS', 'MILLISECOND', 'MILLISECONDS', 'MINUTE', 'MINUTES', 'MONTH', 'MONTHS', 'MSCK', 'NAMESPACE', 'NAMESPACES', 'NATURAL', 'NO', NOT, 'NULL', 'NULLS', 'OF', 'ON', 'ONLY', 'OPTION', 'OPTIONS', 'OR', 'ORDER', 'OUT', 'OUTER', 'OUTPUTFORMAT', 'OVER', 'OVERLAPS', 'OVERLAY', 'OVERWRITE', 'PARTITION', 'PARTITIONED', 'PARTITIONS', 'PERCENT', 'PIVOT', 'PLACING', 'POSITION', 'PRECEDING', 'PRIMARY', 'PRINCIPALS', 'PURGE', 'QUERY', 'RANGE', 'RECORDREADER', 'RECORDWRITER', 'RECOVER', 'REDUCE', 'REFERENCES', 'REFRESH', 'RENAME', 'REPAIR', 'REPLACE', 'RESET', 'RESPECT', 'RESTRICT', 'REVOKE', 'RIGHT', RLIKE, 'ROLE', 'ROLES', 'ROLLBACK', 'ROLLUP', 'ROW', 'ROWS', 'SCHEMA', 'SECOND', 'SECONDS', 'SELECT', 'SEMI', 'SEPARATED', 'SERDE', 'SERDEPROPERTIES', 'SESSION_USER', 'SET', 'MINUS', 'SETS', 'SHOW', 'SKEWED', 'SOME', 'SORT', 'SORTED', 'START', 'STATISTICS', 'STORED', 'STRATIFY', 'STRUCT', 'SUBSTR', 'SUBSTRING', 'TABLE', 'TABLES', 'TABLESAMPLE', 'TBLPROPERTIES', TEMPORARY, 'TERMINATED', 'THEN', 'TO', 'TOUCH', 'TRAILING', 'TRANSACTION', 'TRANSACTIONS', 'TRANSFORM', 'TRIM', 'TRUE', 'TRUNCATE', 'TYPE', 'UNARCHIVE', 'UNBOUNDED', 'UNCACHE', 'UNION', 'UNIQUE', 'UNKNOWN', 'UNLOCK', 'UNSET', 'UPDATE', 'USE', 'USER', 'USING', 'VALUES', 'VIEW', 'WEEK', 'WEEKS', 'WHEN', 'WHERE', 'WINDOW', 'WITH', 'YEAR', 'YEARS', EQ, '<=>', '<>', '!=', '<', LTE, '>', GTE, '+', '-', '*', '/', '%', 'DIV', '&', '|', '||', '^', STRING, IDENTIFIER, BACKQUOTED_IDENTIFIER}(line 1, pos 31) - -== SQL == -SELECT '1:20:05 5 microseconds'::interval --------------------------------^^^ - - --- !query 66 -SELECT '1 day 1 day'::interval --- !query 66 schema -struct<> --- !query 66 output -org.apache.spark.sql.catalyst.parser.ParseException - -mismatched input ':' expecting {, '(', ',', '.', '[', 'ADD', 'AFTER', 'ALL', 'ALTER', 'ANALYZE', 'AND', 'ANTI', 'ANY', 'ARCHIVE', 'ARRAY', 'AS', 'ASC', 'AT', 'AUTHORIZATION', 'BETWEEN', 'BOTH', 'BUCKET', 'BUCKETS', 'BY', 'CACHE', 'CASCADE', 'CASE', 'CAST', 'CHANGE', 'CHECK', 'CLEAR', 'CLUSTER', 'CLUSTERED', 'CODEGEN', 'COLLATE', 'COLLECTION', 'COLUMN', 'COLUMNS', 'COMMENT', 'COMMIT', 'COMPACT', 'COMPACTIONS', 'COMPUTE', 'CONCATENATE', 'CONSTRAINT', 'COST', 'CREATE', 'CROSS', 'CUBE', 'CURRENT', 'CURRENT_DATE', 'CURRENT_TIME', 'CURRENT_TIMESTAMP', 'CURRENT_USER', 'DATA', 'DATABASE', DATABASES, 'DAY', 'DAYS', 'DBPROPERTIES', 'DEFINED', 'DELETE', 'DELIMITED', 'DESC', 'DESCRIBE', 'DFS', 'DIRECTORIES', 'DIRECTORY', 'DISTINCT', 'DISTRIBUTE', 'DROP', 'ELSE', 'END', 'ESCAPED', 'EXCEPT', 'EXCHANGE', 'EXISTS', 'EXPLAIN', 'EXPORT', 'EXTENDED', 'EXTERNAL', 'EXTRACT', 'FALSE', 'FETCH', 'FIELDS', 'FILEFORMAT', 'FIRST', 'FIRST_VALUE', 'FOLLOWING', 'FOR', 'FOREIGN', 'FORMAT', 'FORMATTED', 'FROM', 'FULL', 'FUNCTION', 'FUNCTIONS', 'GLOBAL', 'GRANT', 'GROUP', 'GROUPING', 'HAVING', 'HOUR', 'HOURS', 'IF', 'IGNORE', 'IMPORT', 'IN', 'INDEX', 'INDEXES', 'INNER', 'INPATH', 'INPUTFORMAT', 'INSERT', 'INTERSECT', 'INTERVAL', 'INTO', 'IS', 'ITEMS', 'JOIN', 'KEYS', 'LAST', 'LAST_VALUE', 'LATERAL', 'LAZY', 'LEADING', 'LEFT', 'LIKE', 'LIMIT', 'LINES', 'LIST', 'LOAD', 'LOCAL', 'LOCATION', 'LOCK', 'LOCKS', 'LOGICAL', 'MACRO', 'MAP', 'MICROSECOND', 'MICROSECONDS', 'MILLISECOND', 'MILLISECONDS', 'MINUTE', 'MINUTES', 'MONTH', 'MONTHS', 'MSCK', 'NAMESPACE', 'NAMESPACES', 'NATURAL', 'NO', NOT, 'NULL', 'NULLS', 'OF', 'ON', 'ONLY', 'OPTION', 'OPTIONS', 'OR', 'ORDER', 'OUT', 'OUTER', 'OUTPUTFORMAT', 'OVER', 'OVERLAPS', 'OVERLAY', 'OVERWRITE', 'PARTITION', 'PARTITIONED', 'PARTITIONS', 'PERCENT', 'PIVOT', 'PLACING', 'POSITION', 'PRECEDING', 'PRIMARY', 'PRINCIPALS', 'PURGE', 'QUERY', 'RANGE', 'RECORDREADER', 'RECORDWRITER', 'RECOVER', 'REDUCE', 'REFERENCES', 'REFRESH', 'RENAME', 'REPAIR', 'REPLACE', 'RESET', 'RESPECT', 'RESTRICT', 'REVOKE', 'RIGHT', RLIKE, 'ROLE', 'ROLES', 'ROLLBACK', 'ROLLUP', 'ROW', 'ROWS', 'SCHEMA', 'SECOND', 'SECONDS', 'SELECT', 'SEMI', 'SEPARATED', 'SERDE', 'SERDEPROPERTIES', 'SESSION_USER', 'SET', 'MINUS', 'SETS', 'SHOW', 'SKEWED', 'SOME', 'SORT', 'SORTED', 'START', 'STATISTICS', 'STORED', 'STRATIFY', 'STRUCT', 'SUBSTR', 'SUBSTRING', 'TABLE', 'TABLES', 'TABLESAMPLE', 'TBLPROPERTIES', TEMPORARY, 'TERMINATED', 'THEN', 'TO', 'TOUCH', 'TRAILING', 'TRANSACTION', 'TRANSACTIONS', 'TRANSFORM', 'TRIM', 'TRUE', 'TRUNCATE', 'TYPE', 'UNARCHIVE', 'UNBOUNDED', 'UNCACHE', 'UNION', 'UNIQUE', 'UNKNOWN', 'UNLOCK', 'UNSET', 'UPDATE', 'USE', 'USER', 'USING', 'VALUES', 'VIEW', 'WEEK', 'WEEKS', 'WHEN', 'WHERE', 'WINDOW', 'WITH', 'YEAR', 'YEARS', EQ, '<=>', '<>', '!=', '<', LTE, '>', GTE, '+', '-', '*', '/', '%', 'DIV', '&', '|', '||', '^', STRING, IDENTIFIER, BACKQUOTED_IDENTIFIER}(line 1, pos 20) - -== SQL == -SELECT '1 day 1 day'::interval ---------------------^^^ - - --- !query 67 -SELECT interval '1-2' --- !query 67 schema -struct --- !query 67 output -NULL - - --- !query 68 -SELECT interval '999' second --- !query 68 schema -struct --- !query 68 output -interval 16 minutes 39 seconds - - --- !query 69 -SELECT interval '999' minute --- !query 69 schema -struct --- !query 69 output -interval 16 hours 39 minutes - - --- !query 70 -SELECT interval '999' hour --- !query 70 schema -struct --- !query 70 output -interval 5 weeks 6 days 15 hours - - --- !query 71 -SELECT interval '999' day --- !query 71 schema -struct --- !query 71 output -interval 142 weeks 5 days - - --- !query 72 -SELECT interval '999' month --- !query 72 schema -struct --- !query 72 output -interval 83 years 3 months - - --- !query 73 -SELECT interval '1' year --- !query 73 schema -struct --- !query 73 output -interval 1 years - - --- !query 74 -SELECT interval '2' month --- !query 74 schema -struct --- !query 74 output -interval 2 months - - --- !query 75 -SELECT interval '3' day --- !query 75 schema -struct --- !query 75 output -interval 3 days - - --- !query 76 -SELECT interval '4' hour --- !query 76 schema -struct --- !query 76 output -interval 4 hours - - --- !query 77 -SELECT interval '5' minute --- !query 77 schema -struct --- !query 77 output -interval 5 minutes - - --- !query 78 -SELECT interval '6' second --- !query 78 schema -struct --- !query 78 output -interval 6 seconds - - --- !query 79 -SELECT interval '1' year to month --- !query 79 schema -struct<> --- !query 79 output -org.apache.spark.sql.catalyst.parser.ParseException - -Interval string does not match year-month format of 'y-m': '1'(line 1, pos 16) - -== SQL == -SELECT interval '1' year to month -----------------^^^ - - --- !query 80 -SELECT interval '1-2' year to month --- !query 80 schema -struct --- !query 80 output -interval 1 years 2 months - - --- !query 81 -SELECT interval '1 2' day to hour --- !query 81 schema -struct<> --- !query 81 output -org.apache.spark.sql.catalyst.parser.ParseException - -Interval string does not match day-time format of 'd h:m:s.n': '1 2'(line 1, pos 16) - -== SQL == -SELECT interval '1 2' day to hour -----------------^^^ - - --- !query 82 -SELECT interval '1 2:03' day to hour --- !query 82 schema -struct --- !query 82 output -interval 1 days 2 hours - - --- !query 83 -SELECT interval '1 2:03:04' day to hour --- !query 83 schema -struct --- !query 83 output -interval 1 days 2 hours - - --- !query 84 -SELECT interval '1 2' day to minute --- !query 84 schema -struct<> --- !query 84 output -org.apache.spark.sql.catalyst.parser.ParseException - -Interval string does not match day-time format of 'd h:m:s.n': '1 2'(line 1, pos 16) - -== SQL == -SELECT interval '1 2' day to minute -----------------^^^ - - --- !query 85 -SELECT interval '1 2:03' day to minute --- !query 85 schema -struct --- !query 85 output -interval 1 days 2 hours 3 minutes - - --- !query 86 -SELECT interval '1 2:03:04' day to minute --- !query 86 schema -struct --- !query 86 output -interval 1 days 2 hours 3 minutes - - --- !query 87 -SELECT interval '1 2' day to second --- !query 87 schema -struct<> --- !query 87 output -org.apache.spark.sql.catalyst.parser.ParseException - -Interval string does not match day-time format of 'd h:m:s.n': '1 2'(line 1, pos 16) - -== SQL == -SELECT interval '1 2' day to second -----------------^^^ - - --- !query 88 -SELECT interval '1 2:03' day to second --- !query 88 schema -struct --- !query 88 output -interval 1 days 2 hours 3 minutes - - --- !query 89 -SELECT interval '1 2:03:04' day to second --- !query 89 schema -struct --- !query 89 output -interval 1 days 2 hours 3 minutes 4 seconds - - --- !query 90 -SELECT interval '1 2' hour to minute --- !query 90 schema -struct<> --- !query 90 output -org.apache.spark.sql.catalyst.parser.ParseException - -Interval string does not match day-time format of 'd h:m:s.n': '1 2'(line 1, pos 16) - -== SQL == -SELECT interval '1 2' hour to minute -----------------^^^ - - --- !query 91 -SELECT interval '1 2:03' hour to minute --- !query 91 schema -struct --- !query 91 output -interval 1 days 2 hours 3 minutes - - --- !query 92 -SELECT interval '1 2:03:04' hour to minute --- !query 92 schema -struct --- !query 92 output -interval 1 days 2 hours 3 minutes - - --- !query 93 -SELECT interval '1 2' hour to second --- !query 93 schema -struct<> --- !query 93 output -org.apache.spark.sql.catalyst.parser.ParseException - -Interval string does not match day-time format of 'd h:m:s.n': '1 2'(line 1, pos 16) - -== SQL == -SELECT interval '1 2' hour to second -----------------^^^ - - --- !query 94 -SELECT interval '1 2:03' hour to second --- !query 94 schema -struct --- !query 94 output -interval 1 days 2 hours 3 minutes - - --- !query 95 -SELECT interval '1 2:03:04' hour to second --- !query 95 schema -struct --- !query 95 output -interval 1 days 2 hours 3 minutes 4 seconds - - --- !query 96 -SELECT interval '1 2' minute to second --- !query 96 schema -struct<> --- !query 96 output -org.apache.spark.sql.catalyst.parser.ParseException - -Interval string does not match day-time format of 'd h:m:s.n': '1 2'(line 1, pos 16) - -== SQL == -SELECT interval '1 2' minute to second -----------------^^^ - - --- !query 97 -SELECT interval '1 2:03' minute to second --- !query 97 schema -struct --- !query 97 output -interval 1 days 2 minutes 3 seconds - - --- !query 98 -SELECT interval '1 2:03:04' minute to second --- !query 98 schema -struct --- !query 98 output -interval 1 days 2 hours 3 minutes 4 seconds - - --- !query 99 -SELECT interval '1 +2:03' minute to second --- !query 99 schema -struct<> --- !query 99 output -org.apache.spark.sql.catalyst.parser.ParseException - -Interval string does not match day-time format of 'd h:m:s.n': '1 +2:03'(line 1, pos 16) - -== SQL == -SELECT interval '1 +2:03' minute to second -----------------^^^ - - --- !query 100 -SELECT interval '1 +2:03:04' minute to second --- !query 100 schema -struct<> --- !query 100 output -org.apache.spark.sql.catalyst.parser.ParseException - -Interval string does not match day-time format of 'd h:m:s.n': '1 +2:03:04'(line 1, pos 16) - -== SQL == -SELECT interval '1 +2:03:04' minute to second -----------------^^^ - - --- !query 101 -SELECT interval '1 -2:03' minute to second --- !query 101 schema -struct<> --- !query 101 output -org.apache.spark.sql.catalyst.parser.ParseException - -Interval string does not match day-time format of 'd h:m:s.n': '1 -2:03'(line 1, pos 16) - -== SQL == -SELECT interval '1 -2:03' minute to second -----------------^^^ - - --- !query 102 -SELECT interval '1 -2:03:04' minute to second --- !query 102 schema -struct<> --- !query 102 output -org.apache.spark.sql.catalyst.parser.ParseException - -Interval string does not match day-time format of 'd h:m:s.n': '1 -2:03:04'(line 1, pos 16) - -== SQL == -SELECT interval '1 -2:03:04' minute to second -----------------^^^ - - --- !query 103 -SELECT interval '123 11' day to hour --- !query 103 schema -struct<> --- !query 103 output -org.apache.spark.sql.catalyst.parser.ParseException - -Interval string does not match day-time format of 'd h:m:s.n': '123 11'(line 1, pos 16) - -== SQL == -SELECT interval '123 11' day to hour -----------------^^^ - - --- !query 104 -SELECT interval '123 11' day --- !query 104 schema -struct<> --- !query 104 output -org.apache.spark.sql.catalyst.parser.ParseException - -Error parsing interval string: For input string: "123 11"(line 1, pos 16) - -== SQL == -SELECT interval '123 11' day -----------------^^^ - - --- !query 105 -SELECT interval '123 11' --- !query 105 schema -struct --- !query 105 output -NULL - - --- !query 106 -SELECT interval '123 2:03 -2:04' --- !query 106 schema -struct --- !query 106 output -NULL - - --- !query 107 -SELECT interval(0) '1 day 01:23:45.6789' --- !query 107 schema -struct<> --- !query 107 output -org.apache.spark.sql.catalyst.parser.ParseException - -extraneous input ''1 day 01:23:45.6789'' expecting (line 1, pos 19) - -== SQL == -SELECT interval(0) '1 day 01:23:45.6789' --------------------^^^ - - --- !query 108 -SELECT interval(2) '1 day 01:23:45.6789' --- !query 108 schema -struct<> --- !query 108 output -org.apache.spark.sql.catalyst.parser.ParseException - -extraneous input ''1 day 01:23:45.6789'' expecting (line 1, pos 19) - -== SQL == -SELECT interval(2) '1 day 01:23:45.6789' --------------------^^^ - - --- !query 109 -SELECT interval '12:34.5678' minute to second(2) --- !query 109 schema -struct<> --- !query 109 output -org.apache.spark.sql.catalyst.parser.ParseException - -mismatched input '2' expecting {'ADD', 'AFTER', 'ALL', 'ALTER', 'ANALYZE', 'AND', 'ANTI', 'ANY', 'ARCHIVE', 'ARRAY', 'AS', 'ASC', 'AT', 'AUTHORIZATION', 'BETWEEN', 'BOTH', 'BUCKET', 'BUCKETS', 'BY', 'CACHE', 'CASCADE', 'CASE', 'CAST', 'CHANGE', 'CHECK', 'CLEAR', 'CLUSTER', 'CLUSTERED', 'CODEGEN', 'COLLATE', 'COLLECTION', 'COLUMN', 'COLUMNS', 'COMMENT', 'COMMIT', 'COMPACT', 'COMPACTIONS', 'COMPUTE', 'CONCATENATE', 'CONSTRAINT', 'COST', 'CREATE', 'CROSS', 'CUBE', 'CURRENT', 'CURRENT_DATE', 'CURRENT_TIME', 'CURRENT_TIMESTAMP', 'CURRENT_USER', 'DATA', 'DATABASE', DATABASES, 'DAY', 'DAYS', 'DBPROPERTIES', 'DEFINED', 'DELETE', 'DELIMITED', 'DESC', 'DESCRIBE', 'DFS', 'DIRECTORIES', 'DIRECTORY', 'DISTINCT', 'DISTRIBUTE', 'DROP', 'ELSE', 'END', 'ESCAPED', 'EXCEPT', 'EXCHANGE', 'EXISTS', 'EXPLAIN', 'EXPORT', 'EXTENDED', 'EXTERNAL', 'EXTRACT', 'FALSE', 'FETCH', 'FIELDS', 'FILEFORMAT', 'FIRST', 'FIRST_VALUE', 'FOLLOWING', 'FOR', 'FOREIGN', 'FORMAT', 'FORMATTED', 'FROM', 'FULL', 'FUNCTION', 'FUNCTIONS', 'GLOBAL', 'GRANT', 'GROUP', 'GROUPING', 'HAVING', 'HOUR', 'HOURS', 'IF', 'IGNORE', 'IMPORT', 'IN', 'INDEX', 'INDEXES', 'INNER', 'INPATH', 'INPUTFORMAT', 'INSERT', 'INTERSECT', 'INTERVAL', 'INTO', 'IS', 'ITEMS', 'JOIN', 'KEYS', 'LAST', 'LAST_VALUE', 'LATERAL', 'LAZY', 'LEADING', 'LEFT', 'LIKE', 'LIMIT', 'LINES', 'LIST', 'LOAD', 'LOCAL', 'LOCATION', 'LOCK', 'LOCKS', 'LOGICAL', 'MACRO', 'MAP', 'MICROSECOND', 'MICROSECONDS', 'MILLISECOND', 'MILLISECONDS', 'MINUTE', 'MINUTES', 'MONTH', 'MONTHS', 'MSCK', 'NAMESPACE', 'NAMESPACES', 'NATURAL', 'NO', NOT, 'NULL', 'NULLS', 'OF', 'ON', 'ONLY', 'OPTION', 'OPTIONS', 'OR', 'ORDER', 'OUT', 'OUTER', 'OUTPUTFORMAT', 'OVER', 'OVERLAPS', 'OVERLAY', 'OVERWRITE', 'PARTITION', 'PARTITIONED', 'PARTITIONS', 'PERCENT', 'PIVOT', 'PLACING', 'POSITION', 'PRECEDING', 'PRIMARY', 'PRINCIPALS', 'PURGE', 'QUERY', 'RANGE', 'RECORDREADER', 'RECORDWRITER', 'RECOVER', 'REDUCE', 'REFERENCES', 'REFRESH', 'RENAME', 'REPAIR', 'REPLACE', 'RESET', 'RESPECT', 'RESTRICT', 'REVOKE', 'RIGHT', RLIKE, 'ROLE', 'ROLES', 'ROLLBACK', 'ROLLUP', 'ROW', 'ROWS', 'SCHEMA', 'SECOND', 'SECONDS', 'SELECT', 'SEMI', 'SEPARATED', 'SERDE', 'SERDEPROPERTIES', 'SESSION_USER', 'SET', 'MINUS', 'SETS', 'SHOW', 'SKEWED', 'SOME', 'SORT', 'SORTED', 'START', 'STATISTICS', 'STORED', 'STRATIFY', 'STRUCT', 'SUBSTR', 'SUBSTRING', 'TABLE', 'TABLES', 'TABLESAMPLE', 'TBLPROPERTIES', TEMPORARY, 'TERMINATED', 'THEN', 'TO', 'TOUCH', 'TRAILING', 'TRANSACTION', 'TRANSACTIONS', 'TRANSFORM', 'TRIM', 'TRUE', 'TRUNCATE', 'TYPE', 'UNARCHIVE', 'UNBOUNDED', 'UNCACHE', 'UNION', 'UNIQUE', 'UNKNOWN', 'UNLOCK', 'UNSET', 'UPDATE', 'USE', 'USER', 'USING', 'VALUES', 'VIEW', 'WEEK', 'WEEKS', 'WHEN', 'WHERE', 'WINDOW', 'WITH', 'YEAR', 'YEARS', 'DIV', IDENTIFIER, BACKQUOTED_IDENTIFIER}(line 1, pos 46) - -== SQL == -SELECT interval '12:34.5678' minute to second(2) -----------------------------------------------^^^ - - --- !query 110 -SELECT interval '1.234' second --- !query 110 schema -struct --- !query 110 output -interval 1 seconds - - --- !query 111 -SELECT interval '1.234' second(2) --- !query 111 schema -struct<> --- !query 111 output -org.apache.spark.sql.catalyst.parser.ParseException - -mismatched input '2' expecting {'ADD', 'AFTER', 'ALL', 'ALTER', 'ANALYZE', 'AND', 'ANTI', 'ANY', 'ARCHIVE', 'ARRAY', 'AS', 'ASC', 'AT', 'AUTHORIZATION', 'BETWEEN', 'BOTH', 'BUCKET', 'BUCKETS', 'BY', 'CACHE', 'CASCADE', 'CASE', 'CAST', 'CHANGE', 'CHECK', 'CLEAR', 'CLUSTER', 'CLUSTERED', 'CODEGEN', 'COLLATE', 'COLLECTION', 'COLUMN', 'COLUMNS', 'COMMENT', 'COMMIT', 'COMPACT', 'COMPACTIONS', 'COMPUTE', 'CONCATENATE', 'CONSTRAINT', 'COST', 'CREATE', 'CROSS', 'CUBE', 'CURRENT', 'CURRENT_DATE', 'CURRENT_TIME', 'CURRENT_TIMESTAMP', 'CURRENT_USER', 'DATA', 'DATABASE', DATABASES, 'DAY', 'DAYS', 'DBPROPERTIES', 'DEFINED', 'DELETE', 'DELIMITED', 'DESC', 'DESCRIBE', 'DFS', 'DIRECTORIES', 'DIRECTORY', 'DISTINCT', 'DISTRIBUTE', 'DROP', 'ELSE', 'END', 'ESCAPED', 'EXCEPT', 'EXCHANGE', 'EXISTS', 'EXPLAIN', 'EXPORT', 'EXTENDED', 'EXTERNAL', 'EXTRACT', 'FALSE', 'FETCH', 'FIELDS', 'FILEFORMAT', 'FIRST', 'FIRST_VALUE', 'FOLLOWING', 'FOR', 'FOREIGN', 'FORMAT', 'FORMATTED', 'FROM', 'FULL', 'FUNCTION', 'FUNCTIONS', 'GLOBAL', 'GRANT', 'GROUP', 'GROUPING', 'HAVING', 'HOUR', 'HOURS', 'IF', 'IGNORE', 'IMPORT', 'IN', 'INDEX', 'INDEXES', 'INNER', 'INPATH', 'INPUTFORMAT', 'INSERT', 'INTERSECT', 'INTERVAL', 'INTO', 'IS', 'ITEMS', 'JOIN', 'KEYS', 'LAST', 'LAST_VALUE', 'LATERAL', 'LAZY', 'LEADING', 'LEFT', 'LIKE', 'LIMIT', 'LINES', 'LIST', 'LOAD', 'LOCAL', 'LOCATION', 'LOCK', 'LOCKS', 'LOGICAL', 'MACRO', 'MAP', 'MICROSECOND', 'MICROSECONDS', 'MILLISECOND', 'MILLISECONDS', 'MINUTE', 'MINUTES', 'MONTH', 'MONTHS', 'MSCK', 'NAMESPACE', 'NAMESPACES', 'NATURAL', 'NO', NOT, 'NULL', 'NULLS', 'OF', 'ON', 'ONLY', 'OPTION', 'OPTIONS', 'OR', 'ORDER', 'OUT', 'OUTER', 'OUTPUTFORMAT', 'OVER', 'OVERLAPS', 'OVERLAY', 'OVERWRITE', 'PARTITION', 'PARTITIONED', 'PARTITIONS', 'PERCENT', 'PIVOT', 'PLACING', 'POSITION', 'PRECEDING', 'PRIMARY', 'PRINCIPALS', 'PURGE', 'QUERY', 'RANGE', 'RECORDREADER', 'RECORDWRITER', 'RECOVER', 'REDUCE', 'REFERENCES', 'REFRESH', 'RENAME', 'REPAIR', 'REPLACE', 'RESET', 'RESPECT', 'RESTRICT', 'REVOKE', 'RIGHT', RLIKE, 'ROLE', 'ROLES', 'ROLLBACK', 'ROLLUP', 'ROW', 'ROWS', 'SCHEMA', 'SECOND', 'SECONDS', 'SELECT', 'SEMI', 'SEPARATED', 'SERDE', 'SERDEPROPERTIES', 'SESSION_USER', 'SET', 'MINUS', 'SETS', 'SHOW', 'SKEWED', 'SOME', 'SORT', 'SORTED', 'START', 'STATISTICS', 'STORED', 'STRATIFY', 'STRUCT', 'SUBSTR', 'SUBSTRING', 'TABLE', 'TABLES', 'TABLESAMPLE', 'TBLPROPERTIES', TEMPORARY, 'TERMINATED', 'THEN', 'TO', 'TOUCH', 'TRAILING', 'TRANSACTION', 'TRANSACTIONS', 'TRANSFORM', 'TRIM', 'TRUE', 'TRUNCATE', 'TYPE', 'UNARCHIVE', 'UNBOUNDED', 'UNCACHE', 'UNION', 'UNIQUE', 'UNKNOWN', 'UNLOCK', 'UNSET', 'UPDATE', 'USE', 'USER', 'USING', 'VALUES', 'VIEW', 'WEEK', 'WEEKS', 'WHEN', 'WHERE', 'WINDOW', 'WITH', 'YEAR', 'YEARS', 'DIV', IDENTIFIER, BACKQUOTED_IDENTIFIER}(line 1, pos 31) - -== SQL == -SELECT interval '1.234' second(2) --------------------------------^^^ - - --- !query 112 -SELECT interval '1 2.345' day to second(2) --- !query 112 schema -struct<> --- !query 112 output -org.apache.spark.sql.catalyst.parser.ParseException - -mismatched input '2' expecting {'ADD', 'AFTER', 'ALL', 'ALTER', 'ANALYZE', 'AND', 'ANTI', 'ANY', 'ARCHIVE', 'ARRAY', 'AS', 'ASC', 'AT', 'AUTHORIZATION', 'BETWEEN', 'BOTH', 'BUCKET', 'BUCKETS', 'BY', 'CACHE', 'CASCADE', 'CASE', 'CAST', 'CHANGE', 'CHECK', 'CLEAR', 'CLUSTER', 'CLUSTERED', 'CODEGEN', 'COLLATE', 'COLLECTION', 'COLUMN', 'COLUMNS', 'COMMENT', 'COMMIT', 'COMPACT', 'COMPACTIONS', 'COMPUTE', 'CONCATENATE', 'CONSTRAINT', 'COST', 'CREATE', 'CROSS', 'CUBE', 'CURRENT', 'CURRENT_DATE', 'CURRENT_TIME', 'CURRENT_TIMESTAMP', 'CURRENT_USER', 'DATA', 'DATABASE', DATABASES, 'DAY', 'DAYS', 'DBPROPERTIES', 'DEFINED', 'DELETE', 'DELIMITED', 'DESC', 'DESCRIBE', 'DFS', 'DIRECTORIES', 'DIRECTORY', 'DISTINCT', 'DISTRIBUTE', 'DROP', 'ELSE', 'END', 'ESCAPED', 'EXCEPT', 'EXCHANGE', 'EXISTS', 'EXPLAIN', 'EXPORT', 'EXTENDED', 'EXTERNAL', 'EXTRACT', 'FALSE', 'FETCH', 'FIELDS', 'FILEFORMAT', 'FIRST', 'FIRST_VALUE', 'FOLLOWING', 'FOR', 'FOREIGN', 'FORMAT', 'FORMATTED', 'FROM', 'FULL', 'FUNCTION', 'FUNCTIONS', 'GLOBAL', 'GRANT', 'GROUP', 'GROUPING', 'HAVING', 'HOUR', 'HOURS', 'IF', 'IGNORE', 'IMPORT', 'IN', 'INDEX', 'INDEXES', 'INNER', 'INPATH', 'INPUTFORMAT', 'INSERT', 'INTERSECT', 'INTERVAL', 'INTO', 'IS', 'ITEMS', 'JOIN', 'KEYS', 'LAST', 'LAST_VALUE', 'LATERAL', 'LAZY', 'LEADING', 'LEFT', 'LIKE', 'LIMIT', 'LINES', 'LIST', 'LOAD', 'LOCAL', 'LOCATION', 'LOCK', 'LOCKS', 'LOGICAL', 'MACRO', 'MAP', 'MICROSECOND', 'MICROSECONDS', 'MILLISECOND', 'MILLISECONDS', 'MINUTE', 'MINUTES', 'MONTH', 'MONTHS', 'MSCK', 'NAMESPACE', 'NAMESPACES', 'NATURAL', 'NO', NOT, 'NULL', 'NULLS', 'OF', 'ON', 'ONLY', 'OPTION', 'OPTIONS', 'OR', 'ORDER', 'OUT', 'OUTER', 'OUTPUTFORMAT', 'OVER', 'OVERLAPS', 'OVERLAY', 'OVERWRITE', 'PARTITION', 'PARTITIONED', 'PARTITIONS', 'PERCENT', 'PIVOT', 'PLACING', 'POSITION', 'PRECEDING', 'PRIMARY', 'PRINCIPALS', 'PURGE', 'QUERY', 'RANGE', 'RECORDREADER', 'RECORDWRITER', 'RECOVER', 'REDUCE', 'REFERENCES', 'REFRESH', 'RENAME', 'REPAIR', 'REPLACE', 'RESET', 'RESPECT', 'RESTRICT', 'REVOKE', 'RIGHT', RLIKE, 'ROLE', 'ROLES', 'ROLLBACK', 'ROLLUP', 'ROW', 'ROWS', 'SCHEMA', 'SECOND', 'SECONDS', 'SELECT', 'SEMI', 'SEPARATED', 'SERDE', 'SERDEPROPERTIES', 'SESSION_USER', 'SET', 'MINUS', 'SETS', 'SHOW', 'SKEWED', 'SOME', 'SORT', 'SORTED', 'START', 'STATISTICS', 'STORED', 'STRATIFY', 'STRUCT', 'SUBSTR', 'SUBSTRING', 'TABLE', 'TABLES', 'TABLESAMPLE', 'TBLPROPERTIES', TEMPORARY, 'TERMINATED', 'THEN', 'TO', 'TOUCH', 'TRAILING', 'TRANSACTION', 'TRANSACTIONS', 'TRANSFORM', 'TRIM', 'TRUE', 'TRUNCATE', 'TYPE', 'UNARCHIVE', 'UNBOUNDED', 'UNCACHE', 'UNION', 'UNIQUE', 'UNKNOWN', 'UNLOCK', 'UNSET', 'UPDATE', 'USE', 'USER', 'USING', 'VALUES', 'VIEW', 'WEEK', 'WEEKS', 'WHEN', 'WHERE', 'WINDOW', 'WITH', 'YEAR', 'YEARS', 'DIV', IDENTIFIER, BACKQUOTED_IDENTIFIER}(line 1, pos 40) - -== SQL == -SELECT interval '1 2.345' day to second(2) -----------------------------------------^^^ - - --- !query 113 -SELECT interval '1 2:03' day to second(2) --- !query 113 schema -struct<> --- !query 113 output -org.apache.spark.sql.catalyst.parser.ParseException - -mismatched input '2' expecting {'ADD', 'AFTER', 'ALL', 'ALTER', 'ANALYZE', 'AND', 'ANTI', 'ANY', 'ARCHIVE', 'ARRAY', 'AS', 'ASC', 'AT', 'AUTHORIZATION', 'BETWEEN', 'BOTH', 'BUCKET', 'BUCKETS', 'BY', 'CACHE', 'CASCADE', 'CASE', 'CAST', 'CHANGE', 'CHECK', 'CLEAR', 'CLUSTER', 'CLUSTERED', 'CODEGEN', 'COLLATE', 'COLLECTION', 'COLUMN', 'COLUMNS', 'COMMENT', 'COMMIT', 'COMPACT', 'COMPACTIONS', 'COMPUTE', 'CONCATENATE', 'CONSTRAINT', 'COST', 'CREATE', 'CROSS', 'CUBE', 'CURRENT', 'CURRENT_DATE', 'CURRENT_TIME', 'CURRENT_TIMESTAMP', 'CURRENT_USER', 'DATA', 'DATABASE', DATABASES, 'DAY', 'DAYS', 'DBPROPERTIES', 'DEFINED', 'DELETE', 'DELIMITED', 'DESC', 'DESCRIBE', 'DFS', 'DIRECTORIES', 'DIRECTORY', 'DISTINCT', 'DISTRIBUTE', 'DROP', 'ELSE', 'END', 'ESCAPED', 'EXCEPT', 'EXCHANGE', 'EXISTS', 'EXPLAIN', 'EXPORT', 'EXTENDED', 'EXTERNAL', 'EXTRACT', 'FALSE', 'FETCH', 'FIELDS', 'FILEFORMAT', 'FIRST', 'FIRST_VALUE', 'FOLLOWING', 'FOR', 'FOREIGN', 'FORMAT', 'FORMATTED', 'FROM', 'FULL', 'FUNCTION', 'FUNCTIONS', 'GLOBAL', 'GRANT', 'GROUP', 'GROUPING', 'HAVING', 'HOUR', 'HOURS', 'IF', 'IGNORE', 'IMPORT', 'IN', 'INDEX', 'INDEXES', 'INNER', 'INPATH', 'INPUTFORMAT', 'INSERT', 'INTERSECT', 'INTERVAL', 'INTO', 'IS', 'ITEMS', 'JOIN', 'KEYS', 'LAST', 'LAST_VALUE', 'LATERAL', 'LAZY', 'LEADING', 'LEFT', 'LIKE', 'LIMIT', 'LINES', 'LIST', 'LOAD', 'LOCAL', 'LOCATION', 'LOCK', 'LOCKS', 'LOGICAL', 'MACRO', 'MAP', 'MICROSECOND', 'MICROSECONDS', 'MILLISECOND', 'MILLISECONDS', 'MINUTE', 'MINUTES', 'MONTH', 'MONTHS', 'MSCK', 'NAMESPACE', 'NAMESPACES', 'NATURAL', 'NO', NOT, 'NULL', 'NULLS', 'OF', 'ON', 'ONLY', 'OPTION', 'OPTIONS', 'OR', 'ORDER', 'OUT', 'OUTER', 'OUTPUTFORMAT', 'OVER', 'OVERLAPS', 'OVERLAY', 'OVERWRITE', 'PARTITION', 'PARTITIONED', 'PARTITIONS', 'PERCENT', 'PIVOT', 'PLACING', 'POSITION', 'PRECEDING', 'PRIMARY', 'PRINCIPALS', 'PURGE', 'QUERY', 'RANGE', 'RECORDREADER', 'RECORDWRITER', 'RECOVER', 'REDUCE', 'REFERENCES', 'REFRESH', 'RENAME', 'REPAIR', 'REPLACE', 'RESET', 'RESPECT', 'RESTRICT', 'REVOKE', 'RIGHT', RLIKE, 'ROLE', 'ROLES', 'ROLLBACK', 'ROLLUP', 'ROW', 'ROWS', 'SCHEMA', 'SECOND', 'SECONDS', 'SELECT', 'SEMI', 'SEPARATED', 'SERDE', 'SERDEPROPERTIES', 'SESSION_USER', 'SET', 'MINUS', 'SETS', 'SHOW', 'SKEWED', 'SOME', 'SORT', 'SORTED', 'START', 'STATISTICS', 'STORED', 'STRATIFY', 'STRUCT', 'SUBSTR', 'SUBSTRING', 'TABLE', 'TABLES', 'TABLESAMPLE', 'TBLPROPERTIES', TEMPORARY, 'TERMINATED', 'THEN', 'TO', 'TOUCH', 'TRAILING', 'TRANSACTION', 'TRANSACTIONS', 'TRANSFORM', 'TRIM', 'TRUE', 'TRUNCATE', 'TYPE', 'UNARCHIVE', 'UNBOUNDED', 'UNCACHE', 'UNION', 'UNIQUE', 'UNKNOWN', 'UNLOCK', 'UNSET', 'UPDATE', 'USE', 'USER', 'USING', 'VALUES', 'VIEW', 'WEEK', 'WEEKS', 'WHEN', 'WHERE', 'WINDOW', 'WITH', 'YEAR', 'YEARS', 'DIV', IDENTIFIER, BACKQUOTED_IDENTIFIER}(line 1, pos 39) - -== SQL == -SELECT interval '1 2:03' day to second(2) ----------------------------------------^^^ - - --- !query 114 -SELECT interval '1 2:03.4567' day to second(2) --- !query 114 schema -struct<> --- !query 114 output -org.apache.spark.sql.catalyst.parser.ParseException - -mismatched input '2' expecting {'ADD', 'AFTER', 'ALL', 'ALTER', 'ANALYZE', 'AND', 'ANTI', 'ANY', 'ARCHIVE', 'ARRAY', 'AS', 'ASC', 'AT', 'AUTHORIZATION', 'BETWEEN', 'BOTH', 'BUCKET', 'BUCKETS', 'BY', 'CACHE', 'CASCADE', 'CASE', 'CAST', 'CHANGE', 'CHECK', 'CLEAR', 'CLUSTER', 'CLUSTERED', 'CODEGEN', 'COLLATE', 'COLLECTION', 'COLUMN', 'COLUMNS', 'COMMENT', 'COMMIT', 'COMPACT', 'COMPACTIONS', 'COMPUTE', 'CONCATENATE', 'CONSTRAINT', 'COST', 'CREATE', 'CROSS', 'CUBE', 'CURRENT', 'CURRENT_DATE', 'CURRENT_TIME', 'CURRENT_TIMESTAMP', 'CURRENT_USER', 'DATA', 'DATABASE', DATABASES, 'DAY', 'DAYS', 'DBPROPERTIES', 'DEFINED', 'DELETE', 'DELIMITED', 'DESC', 'DESCRIBE', 'DFS', 'DIRECTORIES', 'DIRECTORY', 'DISTINCT', 'DISTRIBUTE', 'DROP', 'ELSE', 'END', 'ESCAPED', 'EXCEPT', 'EXCHANGE', 'EXISTS', 'EXPLAIN', 'EXPORT', 'EXTENDED', 'EXTERNAL', 'EXTRACT', 'FALSE', 'FETCH', 'FIELDS', 'FILEFORMAT', 'FIRST', 'FIRST_VALUE', 'FOLLOWING', 'FOR', 'FOREIGN', 'FORMAT', 'FORMATTED', 'FROM', 'FULL', 'FUNCTION', 'FUNCTIONS', 'GLOBAL', 'GRANT', 'GROUP', 'GROUPING', 'HAVING', 'HOUR', 'HOURS', 'IF', 'IGNORE', 'IMPORT', 'IN', 'INDEX', 'INDEXES', 'INNER', 'INPATH', 'INPUTFORMAT', 'INSERT', 'INTERSECT', 'INTERVAL', 'INTO', 'IS', 'ITEMS', 'JOIN', 'KEYS', 'LAST', 'LAST_VALUE', 'LATERAL', 'LAZY', 'LEADING', 'LEFT', 'LIKE', 'LIMIT', 'LINES', 'LIST', 'LOAD', 'LOCAL', 'LOCATION', 'LOCK', 'LOCKS', 'LOGICAL', 'MACRO', 'MAP', 'MICROSECOND', 'MICROSECONDS', 'MILLISECOND', 'MILLISECONDS', 'MINUTE', 'MINUTES', 'MONTH', 'MONTHS', 'MSCK', 'NAMESPACE', 'NAMESPACES', 'NATURAL', 'NO', NOT, 'NULL', 'NULLS', 'OF', 'ON', 'ONLY', 'OPTION', 'OPTIONS', 'OR', 'ORDER', 'OUT', 'OUTER', 'OUTPUTFORMAT', 'OVER', 'OVERLAPS', 'OVERLAY', 'OVERWRITE', 'PARTITION', 'PARTITIONED', 'PARTITIONS', 'PERCENT', 'PIVOT', 'PLACING', 'POSITION', 'PRECEDING', 'PRIMARY', 'PRINCIPALS', 'PURGE', 'QUERY', 'RANGE', 'RECORDREADER', 'RECORDWRITER', 'RECOVER', 'REDUCE', 'REFERENCES', 'REFRESH', 'RENAME', 'REPAIR', 'REPLACE', 'RESET', 'RESPECT', 'RESTRICT', 'REVOKE', 'RIGHT', RLIKE, 'ROLE', 'ROLES', 'ROLLBACK', 'ROLLUP', 'ROW', 'ROWS', 'SCHEMA', 'SECOND', 'SECONDS', 'SELECT', 'SEMI', 'SEPARATED', 'SERDE', 'SERDEPROPERTIES', 'SESSION_USER', 'SET', 'MINUS', 'SETS', 'SHOW', 'SKEWED', 'SOME', 'SORT', 'SORTED', 'START', 'STATISTICS', 'STORED', 'STRATIFY', 'STRUCT', 'SUBSTR', 'SUBSTRING', 'TABLE', 'TABLES', 'TABLESAMPLE', 'TBLPROPERTIES', TEMPORARY, 'TERMINATED', 'THEN', 'TO', 'TOUCH', 'TRAILING', 'TRANSACTION', 'TRANSACTIONS', 'TRANSFORM', 'TRIM', 'TRUE', 'TRUNCATE', 'TYPE', 'UNARCHIVE', 'UNBOUNDED', 'UNCACHE', 'UNION', 'UNIQUE', 'UNKNOWN', 'UNLOCK', 'UNSET', 'UPDATE', 'USE', 'USER', 'USING', 'VALUES', 'VIEW', 'WEEK', 'WEEKS', 'WHEN', 'WHERE', 'WINDOW', 'WITH', 'YEAR', 'YEARS', 'DIV', IDENTIFIER, BACKQUOTED_IDENTIFIER}(line 1, pos 44) - -== SQL == -SELECT interval '1 2:03.4567' day to second(2) ---------------------------------------------^^^ - - --- !query 115 -SELECT interval '1 2:03:04.5678' day to second(2) --- !query 115 schema -struct<> --- !query 115 output -org.apache.spark.sql.catalyst.parser.ParseException - -mismatched input '2' expecting {'ADD', 'AFTER', 'ALL', 'ALTER', 'ANALYZE', 'AND', 'ANTI', 'ANY', 'ARCHIVE', 'ARRAY', 'AS', 'ASC', 'AT', 'AUTHORIZATION', 'BETWEEN', 'BOTH', 'BUCKET', 'BUCKETS', 'BY', 'CACHE', 'CASCADE', 'CASE', 'CAST', 'CHANGE', 'CHECK', 'CLEAR', 'CLUSTER', 'CLUSTERED', 'CODEGEN', 'COLLATE', 'COLLECTION', 'COLUMN', 'COLUMNS', 'COMMENT', 'COMMIT', 'COMPACT', 'COMPACTIONS', 'COMPUTE', 'CONCATENATE', 'CONSTRAINT', 'COST', 'CREATE', 'CROSS', 'CUBE', 'CURRENT', 'CURRENT_DATE', 'CURRENT_TIME', 'CURRENT_TIMESTAMP', 'CURRENT_USER', 'DATA', 'DATABASE', DATABASES, 'DAY', 'DAYS', 'DBPROPERTIES', 'DEFINED', 'DELETE', 'DELIMITED', 'DESC', 'DESCRIBE', 'DFS', 'DIRECTORIES', 'DIRECTORY', 'DISTINCT', 'DISTRIBUTE', 'DROP', 'ELSE', 'END', 'ESCAPED', 'EXCEPT', 'EXCHANGE', 'EXISTS', 'EXPLAIN', 'EXPORT', 'EXTENDED', 'EXTERNAL', 'EXTRACT', 'FALSE', 'FETCH', 'FIELDS', 'FILEFORMAT', 'FIRST', 'FIRST_VALUE', 'FOLLOWING', 'FOR', 'FOREIGN', 'FORMAT', 'FORMATTED', 'FROM', 'FULL', 'FUNCTION', 'FUNCTIONS', 'GLOBAL', 'GRANT', 'GROUP', 'GROUPING', 'HAVING', 'HOUR', 'HOURS', 'IF', 'IGNORE', 'IMPORT', 'IN', 'INDEX', 'INDEXES', 'INNER', 'INPATH', 'INPUTFORMAT', 'INSERT', 'INTERSECT', 'INTERVAL', 'INTO', 'IS', 'ITEMS', 'JOIN', 'KEYS', 'LAST', 'LAST_VALUE', 'LATERAL', 'LAZY', 'LEADING', 'LEFT', 'LIKE', 'LIMIT', 'LINES', 'LIST', 'LOAD', 'LOCAL', 'LOCATION', 'LOCK', 'LOCKS', 'LOGICAL', 'MACRO', 'MAP', 'MICROSECOND', 'MICROSECONDS', 'MILLISECOND', 'MILLISECONDS', 'MINUTE', 'MINUTES', 'MONTH', 'MONTHS', 'MSCK', 'NAMESPACE', 'NAMESPACES', 'NATURAL', 'NO', NOT, 'NULL', 'NULLS', 'OF', 'ON', 'ONLY', 'OPTION', 'OPTIONS', 'OR', 'ORDER', 'OUT', 'OUTER', 'OUTPUTFORMAT', 'OVER', 'OVERLAPS', 'OVERLAY', 'OVERWRITE', 'PARTITION', 'PARTITIONED', 'PARTITIONS', 'PERCENT', 'PIVOT', 'PLACING', 'POSITION', 'PRECEDING', 'PRIMARY', 'PRINCIPALS', 'PURGE', 'QUERY', 'RANGE', 'RECORDREADER', 'RECORDWRITER', 'RECOVER', 'REDUCE', 'REFERENCES', 'REFRESH', 'RENAME', 'REPAIR', 'REPLACE', 'RESET', 'RESPECT', 'RESTRICT', 'REVOKE', 'RIGHT', RLIKE, 'ROLE', 'ROLES', 'ROLLBACK', 'ROLLUP', 'ROW', 'ROWS', 'SCHEMA', 'SECOND', 'SECONDS', 'SELECT', 'SEMI', 'SEPARATED', 'SERDE', 'SERDEPROPERTIES', 'SESSION_USER', 'SET', 'MINUS', 'SETS', 'SHOW', 'SKEWED', 'SOME', 'SORT', 'SORTED', 'START', 'STATISTICS', 'STORED', 'STRATIFY', 'STRUCT', 'SUBSTR', 'SUBSTRING', 'TABLE', 'TABLES', 'TABLESAMPLE', 'TBLPROPERTIES', TEMPORARY, 'TERMINATED', 'THEN', 'TO', 'TOUCH', 'TRAILING', 'TRANSACTION', 'TRANSACTIONS', 'TRANSFORM', 'TRIM', 'TRUE', 'TRUNCATE', 'TYPE', 'UNARCHIVE', 'UNBOUNDED', 'UNCACHE', 'UNION', 'UNIQUE', 'UNKNOWN', 'UNLOCK', 'UNSET', 'UPDATE', 'USE', 'USER', 'USING', 'VALUES', 'VIEW', 'WEEK', 'WEEKS', 'WHEN', 'WHERE', 'WINDOW', 'WITH', 'YEAR', 'YEARS', 'DIV', IDENTIFIER, BACKQUOTED_IDENTIFIER}(line 1, pos 47) - -== SQL == -SELECT interval '1 2:03:04.5678' day to second(2) ------------------------------------------------^^^ - - --- !query 116 -SELECT interval '1 2.345' hour to second(2) --- !query 116 schema -struct<> --- !query 116 output -org.apache.spark.sql.catalyst.parser.ParseException - -mismatched input '2' expecting {'ADD', 'AFTER', 'ALL', 'ALTER', 'ANALYZE', 'AND', 'ANTI', 'ANY', 'ARCHIVE', 'ARRAY', 'AS', 'ASC', 'AT', 'AUTHORIZATION', 'BETWEEN', 'BOTH', 'BUCKET', 'BUCKETS', 'BY', 'CACHE', 'CASCADE', 'CASE', 'CAST', 'CHANGE', 'CHECK', 'CLEAR', 'CLUSTER', 'CLUSTERED', 'CODEGEN', 'COLLATE', 'COLLECTION', 'COLUMN', 'COLUMNS', 'COMMENT', 'COMMIT', 'COMPACT', 'COMPACTIONS', 'COMPUTE', 'CONCATENATE', 'CONSTRAINT', 'COST', 'CREATE', 'CROSS', 'CUBE', 'CURRENT', 'CURRENT_DATE', 'CURRENT_TIME', 'CURRENT_TIMESTAMP', 'CURRENT_USER', 'DATA', 'DATABASE', DATABASES, 'DAY', 'DAYS', 'DBPROPERTIES', 'DEFINED', 'DELETE', 'DELIMITED', 'DESC', 'DESCRIBE', 'DFS', 'DIRECTORIES', 'DIRECTORY', 'DISTINCT', 'DISTRIBUTE', 'DROP', 'ELSE', 'END', 'ESCAPED', 'EXCEPT', 'EXCHANGE', 'EXISTS', 'EXPLAIN', 'EXPORT', 'EXTENDED', 'EXTERNAL', 'EXTRACT', 'FALSE', 'FETCH', 'FIELDS', 'FILEFORMAT', 'FIRST', 'FIRST_VALUE', 'FOLLOWING', 'FOR', 'FOREIGN', 'FORMAT', 'FORMATTED', 'FROM', 'FULL', 'FUNCTION', 'FUNCTIONS', 'GLOBAL', 'GRANT', 'GROUP', 'GROUPING', 'HAVING', 'HOUR', 'HOURS', 'IF', 'IGNORE', 'IMPORT', 'IN', 'INDEX', 'INDEXES', 'INNER', 'INPATH', 'INPUTFORMAT', 'INSERT', 'INTERSECT', 'INTERVAL', 'INTO', 'IS', 'ITEMS', 'JOIN', 'KEYS', 'LAST', 'LAST_VALUE', 'LATERAL', 'LAZY', 'LEADING', 'LEFT', 'LIKE', 'LIMIT', 'LINES', 'LIST', 'LOAD', 'LOCAL', 'LOCATION', 'LOCK', 'LOCKS', 'LOGICAL', 'MACRO', 'MAP', 'MICROSECOND', 'MICROSECONDS', 'MILLISECOND', 'MILLISECONDS', 'MINUTE', 'MINUTES', 'MONTH', 'MONTHS', 'MSCK', 'NAMESPACE', 'NAMESPACES', 'NATURAL', 'NO', NOT, 'NULL', 'NULLS', 'OF', 'ON', 'ONLY', 'OPTION', 'OPTIONS', 'OR', 'ORDER', 'OUT', 'OUTER', 'OUTPUTFORMAT', 'OVER', 'OVERLAPS', 'OVERLAY', 'OVERWRITE', 'PARTITION', 'PARTITIONED', 'PARTITIONS', 'PERCENT', 'PIVOT', 'PLACING', 'POSITION', 'PRECEDING', 'PRIMARY', 'PRINCIPALS', 'PURGE', 'QUERY', 'RANGE', 'RECORDREADER', 'RECORDWRITER', 'RECOVER', 'REDUCE', 'REFERENCES', 'REFRESH', 'RENAME', 'REPAIR', 'REPLACE', 'RESET', 'RESPECT', 'RESTRICT', 'REVOKE', 'RIGHT', RLIKE, 'ROLE', 'ROLES', 'ROLLBACK', 'ROLLUP', 'ROW', 'ROWS', 'SCHEMA', 'SECOND', 'SECONDS', 'SELECT', 'SEMI', 'SEPARATED', 'SERDE', 'SERDEPROPERTIES', 'SESSION_USER', 'SET', 'MINUS', 'SETS', 'SHOW', 'SKEWED', 'SOME', 'SORT', 'SORTED', 'START', 'STATISTICS', 'STORED', 'STRATIFY', 'STRUCT', 'SUBSTR', 'SUBSTRING', 'TABLE', 'TABLES', 'TABLESAMPLE', 'TBLPROPERTIES', TEMPORARY, 'TERMINATED', 'THEN', 'TO', 'TOUCH', 'TRAILING', 'TRANSACTION', 'TRANSACTIONS', 'TRANSFORM', 'TRIM', 'TRUE', 'TRUNCATE', 'TYPE', 'UNARCHIVE', 'UNBOUNDED', 'UNCACHE', 'UNION', 'UNIQUE', 'UNKNOWN', 'UNLOCK', 'UNSET', 'UPDATE', 'USE', 'USER', 'USING', 'VALUES', 'VIEW', 'WEEK', 'WEEKS', 'WHEN', 'WHERE', 'WINDOW', 'WITH', 'YEAR', 'YEARS', 'DIV', IDENTIFIER, BACKQUOTED_IDENTIFIER}(line 1, pos 41) - -== SQL == -SELECT interval '1 2.345' hour to second(2) ------------------------------------------^^^ - - --- !query 117 -SELECT interval '1 2:03.45678' hour to second(2) --- !query 117 schema -struct<> --- !query 117 output -org.apache.spark.sql.catalyst.parser.ParseException - -mismatched input '2' expecting {'ADD', 'AFTER', 'ALL', 'ALTER', 'ANALYZE', 'AND', 'ANTI', 'ANY', 'ARCHIVE', 'ARRAY', 'AS', 'ASC', 'AT', 'AUTHORIZATION', 'BETWEEN', 'BOTH', 'BUCKET', 'BUCKETS', 'BY', 'CACHE', 'CASCADE', 'CASE', 'CAST', 'CHANGE', 'CHECK', 'CLEAR', 'CLUSTER', 'CLUSTERED', 'CODEGEN', 'COLLATE', 'COLLECTION', 'COLUMN', 'COLUMNS', 'COMMENT', 'COMMIT', 'COMPACT', 'COMPACTIONS', 'COMPUTE', 'CONCATENATE', 'CONSTRAINT', 'COST', 'CREATE', 'CROSS', 'CUBE', 'CURRENT', 'CURRENT_DATE', 'CURRENT_TIME', 'CURRENT_TIMESTAMP', 'CURRENT_USER', 'DATA', 'DATABASE', DATABASES, 'DAY', 'DAYS', 'DBPROPERTIES', 'DEFINED', 'DELETE', 'DELIMITED', 'DESC', 'DESCRIBE', 'DFS', 'DIRECTORIES', 'DIRECTORY', 'DISTINCT', 'DISTRIBUTE', 'DROP', 'ELSE', 'END', 'ESCAPED', 'EXCEPT', 'EXCHANGE', 'EXISTS', 'EXPLAIN', 'EXPORT', 'EXTENDED', 'EXTERNAL', 'EXTRACT', 'FALSE', 'FETCH', 'FIELDS', 'FILEFORMAT', 'FIRST', 'FIRST_VALUE', 'FOLLOWING', 'FOR', 'FOREIGN', 'FORMAT', 'FORMATTED', 'FROM', 'FULL', 'FUNCTION', 'FUNCTIONS', 'GLOBAL', 'GRANT', 'GROUP', 'GROUPING', 'HAVING', 'HOUR', 'HOURS', 'IF', 'IGNORE', 'IMPORT', 'IN', 'INDEX', 'INDEXES', 'INNER', 'INPATH', 'INPUTFORMAT', 'INSERT', 'INTERSECT', 'INTERVAL', 'INTO', 'IS', 'ITEMS', 'JOIN', 'KEYS', 'LAST', 'LAST_VALUE', 'LATERAL', 'LAZY', 'LEADING', 'LEFT', 'LIKE', 'LIMIT', 'LINES', 'LIST', 'LOAD', 'LOCAL', 'LOCATION', 'LOCK', 'LOCKS', 'LOGICAL', 'MACRO', 'MAP', 'MICROSECOND', 'MICROSECONDS', 'MILLISECOND', 'MILLISECONDS', 'MINUTE', 'MINUTES', 'MONTH', 'MONTHS', 'MSCK', 'NAMESPACE', 'NAMESPACES', 'NATURAL', 'NO', NOT, 'NULL', 'NULLS', 'OF', 'ON', 'ONLY', 'OPTION', 'OPTIONS', 'OR', 'ORDER', 'OUT', 'OUTER', 'OUTPUTFORMAT', 'OVER', 'OVERLAPS', 'OVERLAY', 'OVERWRITE', 'PARTITION', 'PARTITIONED', 'PARTITIONS', 'PERCENT', 'PIVOT', 'PLACING', 'POSITION', 'PRECEDING', 'PRIMARY', 'PRINCIPALS', 'PURGE', 'QUERY', 'RANGE', 'RECORDREADER', 'RECORDWRITER', 'RECOVER', 'REDUCE', 'REFERENCES', 'REFRESH', 'RENAME', 'REPAIR', 'REPLACE', 'RESET', 'RESPECT', 'RESTRICT', 'REVOKE', 'RIGHT', RLIKE, 'ROLE', 'ROLES', 'ROLLBACK', 'ROLLUP', 'ROW', 'ROWS', 'SCHEMA', 'SECOND', 'SECONDS', 'SELECT', 'SEMI', 'SEPARATED', 'SERDE', 'SERDEPROPERTIES', 'SESSION_USER', 'SET', 'MINUS', 'SETS', 'SHOW', 'SKEWED', 'SOME', 'SORT', 'SORTED', 'START', 'STATISTICS', 'STORED', 'STRATIFY', 'STRUCT', 'SUBSTR', 'SUBSTRING', 'TABLE', 'TABLES', 'TABLESAMPLE', 'TBLPROPERTIES', TEMPORARY, 'TERMINATED', 'THEN', 'TO', 'TOUCH', 'TRAILING', 'TRANSACTION', 'TRANSACTIONS', 'TRANSFORM', 'TRIM', 'TRUE', 'TRUNCATE', 'TYPE', 'UNARCHIVE', 'UNBOUNDED', 'UNCACHE', 'UNION', 'UNIQUE', 'UNKNOWN', 'UNLOCK', 'UNSET', 'UPDATE', 'USE', 'USER', 'USING', 'VALUES', 'VIEW', 'WEEK', 'WEEKS', 'WHEN', 'WHERE', 'WINDOW', 'WITH', 'YEAR', 'YEARS', 'DIV', IDENTIFIER, BACKQUOTED_IDENTIFIER}(line 1, pos 46) - -== SQL == -SELECT interval '1 2:03.45678' hour to second(2) -----------------------------------------------^^^ - - --- !query 118 -SELECT interval '1 2:03:04.5678' hour to second(2) --- !query 118 schema -struct<> --- !query 118 output -org.apache.spark.sql.catalyst.parser.ParseException - -mismatched input '2' expecting {'ADD', 'AFTER', 'ALL', 'ALTER', 'ANALYZE', 'AND', 'ANTI', 'ANY', 'ARCHIVE', 'ARRAY', 'AS', 'ASC', 'AT', 'AUTHORIZATION', 'BETWEEN', 'BOTH', 'BUCKET', 'BUCKETS', 'BY', 'CACHE', 'CASCADE', 'CASE', 'CAST', 'CHANGE', 'CHECK', 'CLEAR', 'CLUSTER', 'CLUSTERED', 'CODEGEN', 'COLLATE', 'COLLECTION', 'COLUMN', 'COLUMNS', 'COMMENT', 'COMMIT', 'COMPACT', 'COMPACTIONS', 'COMPUTE', 'CONCATENATE', 'CONSTRAINT', 'COST', 'CREATE', 'CROSS', 'CUBE', 'CURRENT', 'CURRENT_DATE', 'CURRENT_TIME', 'CURRENT_TIMESTAMP', 'CURRENT_USER', 'DATA', 'DATABASE', DATABASES, 'DAY', 'DAYS', 'DBPROPERTIES', 'DEFINED', 'DELETE', 'DELIMITED', 'DESC', 'DESCRIBE', 'DFS', 'DIRECTORIES', 'DIRECTORY', 'DISTINCT', 'DISTRIBUTE', 'DROP', 'ELSE', 'END', 'ESCAPED', 'EXCEPT', 'EXCHANGE', 'EXISTS', 'EXPLAIN', 'EXPORT', 'EXTENDED', 'EXTERNAL', 'EXTRACT', 'FALSE', 'FETCH', 'FIELDS', 'FILEFORMAT', 'FIRST', 'FIRST_VALUE', 'FOLLOWING', 'FOR', 'FOREIGN', 'FORMAT', 'FORMATTED', 'FROM', 'FULL', 'FUNCTION', 'FUNCTIONS', 'GLOBAL', 'GRANT', 'GROUP', 'GROUPING', 'HAVING', 'HOUR', 'HOURS', 'IF', 'IGNORE', 'IMPORT', 'IN', 'INDEX', 'INDEXES', 'INNER', 'INPATH', 'INPUTFORMAT', 'INSERT', 'INTERSECT', 'INTERVAL', 'INTO', 'IS', 'ITEMS', 'JOIN', 'KEYS', 'LAST', 'LAST_VALUE', 'LATERAL', 'LAZY', 'LEADING', 'LEFT', 'LIKE', 'LIMIT', 'LINES', 'LIST', 'LOAD', 'LOCAL', 'LOCATION', 'LOCK', 'LOCKS', 'LOGICAL', 'MACRO', 'MAP', 'MICROSECOND', 'MICROSECONDS', 'MILLISECOND', 'MILLISECONDS', 'MINUTE', 'MINUTES', 'MONTH', 'MONTHS', 'MSCK', 'NAMESPACE', 'NAMESPACES', 'NATURAL', 'NO', NOT, 'NULL', 'NULLS', 'OF', 'ON', 'ONLY', 'OPTION', 'OPTIONS', 'OR', 'ORDER', 'OUT', 'OUTER', 'OUTPUTFORMAT', 'OVER', 'OVERLAPS', 'OVERLAY', 'OVERWRITE', 'PARTITION', 'PARTITIONED', 'PARTITIONS', 'PERCENT', 'PIVOT', 'PLACING', 'POSITION', 'PRECEDING', 'PRIMARY', 'PRINCIPALS', 'PURGE', 'QUERY', 'RANGE', 'RECORDREADER', 'RECORDWRITER', 'RECOVER', 'REDUCE', 'REFERENCES', 'REFRESH', 'RENAME', 'REPAIR', 'REPLACE', 'RESET', 'RESPECT', 'RESTRICT', 'REVOKE', 'RIGHT', RLIKE, 'ROLE', 'ROLES', 'ROLLBACK', 'ROLLUP', 'ROW', 'ROWS', 'SCHEMA', 'SECOND', 'SECONDS', 'SELECT', 'SEMI', 'SEPARATED', 'SERDE', 'SERDEPROPERTIES', 'SESSION_USER', 'SET', 'MINUS', 'SETS', 'SHOW', 'SKEWED', 'SOME', 'SORT', 'SORTED', 'START', 'STATISTICS', 'STORED', 'STRATIFY', 'STRUCT', 'SUBSTR', 'SUBSTRING', 'TABLE', 'TABLES', 'TABLESAMPLE', 'TBLPROPERTIES', TEMPORARY, 'TERMINATED', 'THEN', 'TO', 'TOUCH', 'TRAILING', 'TRANSACTION', 'TRANSACTIONS', 'TRANSFORM', 'TRIM', 'TRUE', 'TRUNCATE', 'TYPE', 'UNARCHIVE', 'UNBOUNDED', 'UNCACHE', 'UNION', 'UNIQUE', 'UNKNOWN', 'UNLOCK', 'UNSET', 'UPDATE', 'USE', 'USER', 'USING', 'VALUES', 'VIEW', 'WEEK', 'WEEKS', 'WHEN', 'WHERE', 'WINDOW', 'WITH', 'YEAR', 'YEARS', 'DIV', IDENTIFIER, BACKQUOTED_IDENTIFIER}(line 1, pos 48) - -== SQL == -SELECT interval '1 2:03:04.5678' hour to second(2) -------------------------------------------------^^^ - - --- !query 119 -SELECT interval '1 2.3456' minute to second(2) --- !query 119 schema -struct<> --- !query 119 output -org.apache.spark.sql.catalyst.parser.ParseException - -mismatched input '2' expecting {'ADD', 'AFTER', 'ALL', 'ALTER', 'ANALYZE', 'AND', 'ANTI', 'ANY', 'ARCHIVE', 'ARRAY', 'AS', 'ASC', 'AT', 'AUTHORIZATION', 'BETWEEN', 'BOTH', 'BUCKET', 'BUCKETS', 'BY', 'CACHE', 'CASCADE', 'CASE', 'CAST', 'CHANGE', 'CHECK', 'CLEAR', 'CLUSTER', 'CLUSTERED', 'CODEGEN', 'COLLATE', 'COLLECTION', 'COLUMN', 'COLUMNS', 'COMMENT', 'COMMIT', 'COMPACT', 'COMPACTIONS', 'COMPUTE', 'CONCATENATE', 'CONSTRAINT', 'COST', 'CREATE', 'CROSS', 'CUBE', 'CURRENT', 'CURRENT_DATE', 'CURRENT_TIME', 'CURRENT_TIMESTAMP', 'CURRENT_USER', 'DATA', 'DATABASE', DATABASES, 'DAY', 'DAYS', 'DBPROPERTIES', 'DEFINED', 'DELETE', 'DELIMITED', 'DESC', 'DESCRIBE', 'DFS', 'DIRECTORIES', 'DIRECTORY', 'DISTINCT', 'DISTRIBUTE', 'DROP', 'ELSE', 'END', 'ESCAPED', 'EXCEPT', 'EXCHANGE', 'EXISTS', 'EXPLAIN', 'EXPORT', 'EXTENDED', 'EXTERNAL', 'EXTRACT', 'FALSE', 'FETCH', 'FIELDS', 'FILEFORMAT', 'FIRST', 'FIRST_VALUE', 'FOLLOWING', 'FOR', 'FOREIGN', 'FORMAT', 'FORMATTED', 'FROM', 'FULL', 'FUNCTION', 'FUNCTIONS', 'GLOBAL', 'GRANT', 'GROUP', 'GROUPING', 'HAVING', 'HOUR', 'HOURS', 'IF', 'IGNORE', 'IMPORT', 'IN', 'INDEX', 'INDEXES', 'INNER', 'INPATH', 'INPUTFORMAT', 'INSERT', 'INTERSECT', 'INTERVAL', 'INTO', 'IS', 'ITEMS', 'JOIN', 'KEYS', 'LAST', 'LAST_VALUE', 'LATERAL', 'LAZY', 'LEADING', 'LEFT', 'LIKE', 'LIMIT', 'LINES', 'LIST', 'LOAD', 'LOCAL', 'LOCATION', 'LOCK', 'LOCKS', 'LOGICAL', 'MACRO', 'MAP', 'MICROSECOND', 'MICROSECONDS', 'MILLISECOND', 'MILLISECONDS', 'MINUTE', 'MINUTES', 'MONTH', 'MONTHS', 'MSCK', 'NAMESPACE', 'NAMESPACES', 'NATURAL', 'NO', NOT, 'NULL', 'NULLS', 'OF', 'ON', 'ONLY', 'OPTION', 'OPTIONS', 'OR', 'ORDER', 'OUT', 'OUTER', 'OUTPUTFORMAT', 'OVER', 'OVERLAPS', 'OVERLAY', 'OVERWRITE', 'PARTITION', 'PARTITIONED', 'PARTITIONS', 'PERCENT', 'PIVOT', 'PLACING', 'POSITION', 'PRECEDING', 'PRIMARY', 'PRINCIPALS', 'PURGE', 'QUERY', 'RANGE', 'RECORDREADER', 'RECORDWRITER', 'RECOVER', 'REDUCE', 'REFERENCES', 'REFRESH', 'RENAME', 'REPAIR', 'REPLACE', 'RESET', 'RESPECT', 'RESTRICT', 'REVOKE', 'RIGHT', RLIKE, 'ROLE', 'ROLES', 'ROLLBACK', 'ROLLUP', 'ROW', 'ROWS', 'SCHEMA', 'SECOND', 'SECONDS', 'SELECT', 'SEMI', 'SEPARATED', 'SERDE', 'SERDEPROPERTIES', 'SESSION_USER', 'SET', 'MINUS', 'SETS', 'SHOW', 'SKEWED', 'SOME', 'SORT', 'SORTED', 'START', 'STATISTICS', 'STORED', 'STRATIFY', 'STRUCT', 'SUBSTR', 'SUBSTRING', 'TABLE', 'TABLES', 'TABLESAMPLE', 'TBLPROPERTIES', TEMPORARY, 'TERMINATED', 'THEN', 'TO', 'TOUCH', 'TRAILING', 'TRANSACTION', 'TRANSACTIONS', 'TRANSFORM', 'TRIM', 'TRUE', 'TRUNCATE', 'TYPE', 'UNARCHIVE', 'UNBOUNDED', 'UNCACHE', 'UNION', 'UNIQUE', 'UNKNOWN', 'UNLOCK', 'UNSET', 'UPDATE', 'USE', 'USER', 'USING', 'VALUES', 'VIEW', 'WEEK', 'WEEKS', 'WHEN', 'WHERE', 'WINDOW', 'WITH', 'YEAR', 'YEARS', 'DIV', IDENTIFIER, BACKQUOTED_IDENTIFIER}(line 1, pos 44) - -== SQL == -SELECT interval '1 2.3456' minute to second(2) ---------------------------------------------^^^ - - --- !query 120 -SELECT interval '1 2:03.5678' minute to second(2) --- !query 120 schema -struct<> --- !query 120 output -org.apache.spark.sql.catalyst.parser.ParseException - -mismatched input '2' expecting {'ADD', 'AFTER', 'ALL', 'ALTER', 'ANALYZE', 'AND', 'ANTI', 'ANY', 'ARCHIVE', 'ARRAY', 'AS', 'ASC', 'AT', 'AUTHORIZATION', 'BETWEEN', 'BOTH', 'BUCKET', 'BUCKETS', 'BY', 'CACHE', 'CASCADE', 'CASE', 'CAST', 'CHANGE', 'CHECK', 'CLEAR', 'CLUSTER', 'CLUSTERED', 'CODEGEN', 'COLLATE', 'COLLECTION', 'COLUMN', 'COLUMNS', 'COMMENT', 'COMMIT', 'COMPACT', 'COMPACTIONS', 'COMPUTE', 'CONCATENATE', 'CONSTRAINT', 'COST', 'CREATE', 'CROSS', 'CUBE', 'CURRENT', 'CURRENT_DATE', 'CURRENT_TIME', 'CURRENT_TIMESTAMP', 'CURRENT_USER', 'DATA', 'DATABASE', DATABASES, 'DAY', 'DAYS', 'DBPROPERTIES', 'DEFINED', 'DELETE', 'DELIMITED', 'DESC', 'DESCRIBE', 'DFS', 'DIRECTORIES', 'DIRECTORY', 'DISTINCT', 'DISTRIBUTE', 'DROP', 'ELSE', 'END', 'ESCAPED', 'EXCEPT', 'EXCHANGE', 'EXISTS', 'EXPLAIN', 'EXPORT', 'EXTENDED', 'EXTERNAL', 'EXTRACT', 'FALSE', 'FETCH', 'FIELDS', 'FILEFORMAT', 'FIRST', 'FIRST_VALUE', 'FOLLOWING', 'FOR', 'FOREIGN', 'FORMAT', 'FORMATTED', 'FROM', 'FULL', 'FUNCTION', 'FUNCTIONS', 'GLOBAL', 'GRANT', 'GROUP', 'GROUPING', 'HAVING', 'HOUR', 'HOURS', 'IF', 'IGNORE', 'IMPORT', 'IN', 'INDEX', 'INDEXES', 'INNER', 'INPATH', 'INPUTFORMAT', 'INSERT', 'INTERSECT', 'INTERVAL', 'INTO', 'IS', 'ITEMS', 'JOIN', 'KEYS', 'LAST', 'LAST_VALUE', 'LATERAL', 'LAZY', 'LEADING', 'LEFT', 'LIKE', 'LIMIT', 'LINES', 'LIST', 'LOAD', 'LOCAL', 'LOCATION', 'LOCK', 'LOCKS', 'LOGICAL', 'MACRO', 'MAP', 'MICROSECOND', 'MICROSECONDS', 'MILLISECOND', 'MILLISECONDS', 'MINUTE', 'MINUTES', 'MONTH', 'MONTHS', 'MSCK', 'NAMESPACE', 'NAMESPACES', 'NATURAL', 'NO', NOT, 'NULL', 'NULLS', 'OF', 'ON', 'ONLY', 'OPTION', 'OPTIONS', 'OR', 'ORDER', 'OUT', 'OUTER', 'OUTPUTFORMAT', 'OVER', 'OVERLAPS', 'OVERLAY', 'OVERWRITE', 'PARTITION', 'PARTITIONED', 'PARTITIONS', 'PERCENT', 'PIVOT', 'PLACING', 'POSITION', 'PRECEDING', 'PRIMARY', 'PRINCIPALS', 'PURGE', 'QUERY', 'RANGE', 'RECORDREADER', 'RECORDWRITER', 'RECOVER', 'REDUCE', 'REFERENCES', 'REFRESH', 'RENAME', 'REPAIR', 'REPLACE', 'RESET', 'RESPECT', 'RESTRICT', 'REVOKE', 'RIGHT', RLIKE, 'ROLE', 'ROLES', 'ROLLBACK', 'ROLLUP', 'ROW', 'ROWS', 'SCHEMA', 'SECOND', 'SECONDS', 'SELECT', 'SEMI', 'SEPARATED', 'SERDE', 'SERDEPROPERTIES', 'SESSION_USER', 'SET', 'MINUS', 'SETS', 'SHOW', 'SKEWED', 'SOME', 'SORT', 'SORTED', 'START', 'STATISTICS', 'STORED', 'STRATIFY', 'STRUCT', 'SUBSTR', 'SUBSTRING', 'TABLE', 'TABLES', 'TABLESAMPLE', 'TBLPROPERTIES', TEMPORARY, 'TERMINATED', 'THEN', 'TO', 'TOUCH', 'TRAILING', 'TRANSACTION', 'TRANSACTIONS', 'TRANSFORM', 'TRIM', 'TRUE', 'TRUNCATE', 'TYPE', 'UNARCHIVE', 'UNBOUNDED', 'UNCACHE', 'UNION', 'UNIQUE', 'UNKNOWN', 'UNLOCK', 'UNSET', 'UPDATE', 'USE', 'USER', 'USING', 'VALUES', 'VIEW', 'WEEK', 'WEEKS', 'WHEN', 'WHERE', 'WINDOW', 'WITH', 'YEAR', 'YEARS', 'DIV', IDENTIFIER, BACKQUOTED_IDENTIFIER}(line 1, pos 47) - -== SQL == -SELECT interval '1 2:03.5678' minute to second(2) ------------------------------------------------^^^ - - --- !query 121 -SELECT interval '1 2:03:04.5678' minute to second(2) --- !query 121 schema -struct<> --- !query 121 output -org.apache.spark.sql.catalyst.parser.ParseException - -mismatched input '2' expecting {'ADD', 'AFTER', 'ALL', 'ALTER', 'ANALYZE', 'AND', 'ANTI', 'ANY', 'ARCHIVE', 'ARRAY', 'AS', 'ASC', 'AT', 'AUTHORIZATION', 'BETWEEN', 'BOTH', 'BUCKET', 'BUCKETS', 'BY', 'CACHE', 'CASCADE', 'CASE', 'CAST', 'CHANGE', 'CHECK', 'CLEAR', 'CLUSTER', 'CLUSTERED', 'CODEGEN', 'COLLATE', 'COLLECTION', 'COLUMN', 'COLUMNS', 'COMMENT', 'COMMIT', 'COMPACT', 'COMPACTIONS', 'COMPUTE', 'CONCATENATE', 'CONSTRAINT', 'COST', 'CREATE', 'CROSS', 'CUBE', 'CURRENT', 'CURRENT_DATE', 'CURRENT_TIME', 'CURRENT_TIMESTAMP', 'CURRENT_USER', 'DATA', 'DATABASE', DATABASES, 'DAY', 'DAYS', 'DBPROPERTIES', 'DEFINED', 'DELETE', 'DELIMITED', 'DESC', 'DESCRIBE', 'DFS', 'DIRECTORIES', 'DIRECTORY', 'DISTINCT', 'DISTRIBUTE', 'DROP', 'ELSE', 'END', 'ESCAPED', 'EXCEPT', 'EXCHANGE', 'EXISTS', 'EXPLAIN', 'EXPORT', 'EXTENDED', 'EXTERNAL', 'EXTRACT', 'FALSE', 'FETCH', 'FIELDS', 'FILEFORMAT', 'FIRST', 'FIRST_VALUE', 'FOLLOWING', 'FOR', 'FOREIGN', 'FORMAT', 'FORMATTED', 'FROM', 'FULL', 'FUNCTION', 'FUNCTIONS', 'GLOBAL', 'GRANT', 'GROUP', 'GROUPING', 'HAVING', 'HOUR', 'HOURS', 'IF', 'IGNORE', 'IMPORT', 'IN', 'INDEX', 'INDEXES', 'INNER', 'INPATH', 'INPUTFORMAT', 'INSERT', 'INTERSECT', 'INTERVAL', 'INTO', 'IS', 'ITEMS', 'JOIN', 'KEYS', 'LAST', 'LAST_VALUE', 'LATERAL', 'LAZY', 'LEADING', 'LEFT', 'LIKE', 'LIMIT', 'LINES', 'LIST', 'LOAD', 'LOCAL', 'LOCATION', 'LOCK', 'LOCKS', 'LOGICAL', 'MACRO', 'MAP', 'MICROSECOND', 'MICROSECONDS', 'MILLISECOND', 'MILLISECONDS', 'MINUTE', 'MINUTES', 'MONTH', 'MONTHS', 'MSCK', 'NAMESPACE', 'NAMESPACES', 'NATURAL', 'NO', NOT, 'NULL', 'NULLS', 'OF', 'ON', 'ONLY', 'OPTION', 'OPTIONS', 'OR', 'ORDER', 'OUT', 'OUTER', 'OUTPUTFORMAT', 'OVER', 'OVERLAPS', 'OVERLAY', 'OVERWRITE', 'PARTITION', 'PARTITIONED', 'PARTITIONS', 'PERCENT', 'PIVOT', 'PLACING', 'POSITION', 'PRECEDING', 'PRIMARY', 'PRINCIPALS', 'PURGE', 'QUERY', 'RANGE', 'RECORDREADER', 'RECORDWRITER', 'RECOVER', 'REDUCE', 'REFERENCES', 'REFRESH', 'RENAME', 'REPAIR', 'REPLACE', 'RESET', 'RESPECT', 'RESTRICT', 'REVOKE', 'RIGHT', RLIKE, 'ROLE', 'ROLES', 'ROLLBACK', 'ROLLUP', 'ROW', 'ROWS', 'SCHEMA', 'SECOND', 'SECONDS', 'SELECT', 'SEMI', 'SEPARATED', 'SERDE', 'SERDEPROPERTIES', 'SESSION_USER', 'SET', 'MINUS', 'SETS', 'SHOW', 'SKEWED', 'SOME', 'SORT', 'SORTED', 'START', 'STATISTICS', 'STORED', 'STRATIFY', 'STRUCT', 'SUBSTR', 'SUBSTRING', 'TABLE', 'TABLES', 'TABLESAMPLE', 'TBLPROPERTIES', TEMPORARY, 'TERMINATED', 'THEN', 'TO', 'TOUCH', 'TRAILING', 'TRANSACTION', 'TRANSACTIONS', 'TRANSFORM', 'TRIM', 'TRUE', 'TRUNCATE', 'TYPE', 'UNARCHIVE', 'UNBOUNDED', 'UNCACHE', 'UNION', 'UNIQUE', 'UNKNOWN', 'UNLOCK', 'UNSET', 'UPDATE', 'USE', 'USER', 'USING', 'VALUES', 'VIEW', 'WEEK', 'WEEKS', 'WHEN', 'WHERE', 'WINDOW', 'WITH', 'YEAR', 'YEARS', 'DIV', IDENTIFIER, BACKQUOTED_IDENTIFIER}(line 1, pos 50) - -== SQL == -SELECT interval '1 2:03:04.5678' minute to second(2) ---------------------------------------------------^^^ - - --- !query 122 -SELECT f1, f1::INTERVAL DAY TO MINUTE AS `minutes`, - (f1 + INTERVAL '1 month')::INTERVAL MONTH::INTERVAL YEAR AS `years` - FROM interval_tbl --- !query 122 schema -struct<> --- !query 122 output -org.apache.spark.sql.catalyst.parser.ParseException - -mismatched input ':' expecting {, '(', ',', '.', '[', 'ADD', 'AFTER', 'ALL', 'ALTER', 'ANALYZE', 'AND', 'ANTI', 'ANY', 'ARCHIVE', 'ARRAY', 'AS', 'ASC', 'AT', 'AUTHORIZATION', 'BETWEEN', 'BOTH', 'BUCKET', 'BUCKETS', 'BY', 'CACHE', 'CASCADE', 'CASE', 'CAST', 'CHANGE', 'CHECK', 'CLEAR', 'CLUSTER', 'CLUSTERED', 'CODEGEN', 'COLLATE', 'COLLECTION', 'COLUMN', 'COLUMNS', 'COMMENT', 'COMMIT', 'COMPACT', 'COMPACTIONS', 'COMPUTE', 'CONCATENATE', 'CONSTRAINT', 'COST', 'CREATE', 'CROSS', 'CUBE', 'CURRENT', 'CURRENT_DATE', 'CURRENT_TIME', 'CURRENT_TIMESTAMP', 'CURRENT_USER', 'DATA', 'DATABASE', DATABASES, 'DAY', 'DAYS', 'DBPROPERTIES', 'DEFINED', 'DELETE', 'DELIMITED', 'DESC', 'DESCRIBE', 'DFS', 'DIRECTORIES', 'DIRECTORY', 'DISTINCT', 'DISTRIBUTE', 'DROP', 'ELSE', 'END', 'ESCAPED', 'EXCEPT', 'EXCHANGE', 'EXISTS', 'EXPLAIN', 'EXPORT', 'EXTENDED', 'EXTERNAL', 'EXTRACT', 'FALSE', 'FETCH', 'FIELDS', 'FILEFORMAT', 'FIRST', 'FIRST_VALUE', 'FOLLOWING', 'FOR', 'FOREIGN', 'FORMAT', 'FORMATTED', 'FROM', 'FULL', 'FUNCTION', 'FUNCTIONS', 'GLOBAL', 'GRANT', 'GROUP', 'GROUPING', 'HAVING', 'HOUR', 'HOURS', 'IF', 'IGNORE', 'IMPORT', 'IN', 'INDEX', 'INDEXES', 'INNER', 'INPATH', 'INPUTFORMAT', 'INSERT', 'INTERSECT', 'INTERVAL', 'INTO', 'IS', 'ITEMS', 'JOIN', 'KEYS', 'LAST', 'LAST_VALUE', 'LATERAL', 'LAZY', 'LEADING', 'LEFT', 'LIKE', 'LIMIT', 'LINES', 'LIST', 'LOAD', 'LOCAL', 'LOCATION', 'LOCK', 'LOCKS', 'LOGICAL', 'MACRO', 'MAP', 'MICROSECOND', 'MICROSECONDS', 'MILLISECOND', 'MILLISECONDS', 'MINUTE', 'MINUTES', 'MONTH', 'MONTHS', 'MSCK', 'NAMESPACE', 'NAMESPACES', 'NATURAL', 'NO', NOT, 'NULL', 'NULLS', 'OF', 'ON', 'ONLY', 'OPTION', 'OPTIONS', 'OR', 'ORDER', 'OUT', 'OUTER', 'OUTPUTFORMAT', 'OVER', 'OVERLAPS', 'OVERLAY', 'OVERWRITE', 'PARTITION', 'PARTITIONED', 'PARTITIONS', 'PERCENT', 'PIVOT', 'PLACING', 'POSITION', 'PRECEDING', 'PRIMARY', 'PRINCIPALS', 'PURGE', 'QUERY', 'RANGE', 'RECORDREADER', 'RECORDWRITER', 'RECOVER', 'REDUCE', 'REFERENCES', 'REFRESH', 'RENAME', 'REPAIR', 'REPLACE', 'RESET', 'RESPECT', 'RESTRICT', 'REVOKE', 'RIGHT', RLIKE, 'ROLE', 'ROLES', 'ROLLBACK', 'ROLLUP', 'ROW', 'ROWS', 'SCHEMA', 'SECOND', 'SECONDS', 'SELECT', 'SEMI', 'SEPARATED', 'SERDE', 'SERDEPROPERTIES', 'SESSION_USER', 'SET', 'MINUS', 'SETS', 'SHOW', 'SKEWED', 'SOME', 'SORT', 'SORTED', 'START', 'STATISTICS', 'STORED', 'STRATIFY', 'STRUCT', 'SUBSTR', 'SUBSTRING', 'TABLE', 'TABLES', 'TABLESAMPLE', 'TBLPROPERTIES', TEMPORARY, 'TERMINATED', 'THEN', 'TO', 'TOUCH', 'TRAILING', 'TRANSACTION', 'TRANSACTIONS', 'TRANSFORM', 'TRIM', 'TRUE', 'TRUNCATE', 'TYPE', 'UNARCHIVE', 'UNBOUNDED', 'UNCACHE', 'UNION', 'UNIQUE', 'UNKNOWN', 'UNLOCK', 'UNSET', 'UPDATE', 'USE', 'USER', 'USING', 'VALUES', 'VIEW', 'WEEK', 'WEEKS', 'WHEN', 'WHERE', 'WINDOW', 'WITH', 'YEAR', 'YEARS', EQ, '<=>', '<>', '!=', '<', LTE, '>', GTE, '+', '-', '*', '/', '%', 'DIV', '&', '|', '||', '^', IDENTIFIER, BACKQUOTED_IDENTIFIER}(line 1, pos 13) - -== SQL == -SELECT f1, f1::INTERVAL DAY TO MINUTE AS `minutes`, --------------^^^ - (f1 + INTERVAL '1 month')::INTERVAL MONTH::INTERVAL YEAR AS `years` - FROM interval_tbl - - --- !query 123 -SET IntervalStyle TO sql_standard --- !query 123 schema -struct --- !query 123 output -IntervalStyle TO sql_standard - - --- !query 124 -SELECT interval '0' AS zero, - interval '1-2' year to month AS `year-month`, - interval '1 2:03:04' day to second AS `day-time`, - - interval '1-2' AS `negative year-month`, - - interval '1 2:03:04' AS `negative day-time` --- !query 124 schema -struct --- !query 124 output NULL interval 1 years 2 months interval 1 days 2 hours 3 minutes 4 seconds NULL NULL - - --- !query 125 -SET IntervalStyle TO postgres --- !query 125 schema -struct --- !query 125 output -IntervalStyle TO postgres - - --- !query 126 -SELECT interval '+1 -1:00:00', - interval '-1 +1:00:00', - interval '+1-2 -3 +4:05:06.789', - interval '-1-2 +3 -4:05:06.789' --- !query 126 schema -struct --- !query 126 output -NULL NULL NULL NULL - - --- !query 127 -SET IntervalStyle TO sql_standard --- !query 127 schema -struct --- !query 127 output -IntervalStyle TO sql_standard - - --- !query 128 -SELECT interval '1 day -1 hours', - interval '-1 days +1 hours', - interval '1 years 2 months -3 days 4 hours 5 minutes 6.789 seconds', - - interval '1 years 2 months -3 days 4 hours 5 minutes 6.789 seconds' --- !query 128 schema -struct --- !query 128 output -NULL NULL NULL NULL - - --- !query 129 -SET IntervalStyle to iso_8601 --- !query 129 schema -struct --- !query 129 output -IntervalStyle to iso_8601 - - --- !query 130 -select interval '0' AS zero, - interval '1-2' AS `a year 2 months`, - interval '1 2:03:04' AS `a bit over a day`, - interval '2:03:04.45679' AS `a bit over 2 hours`, - (interval '1-2' + interval '3 4:05:06.7') AS `all fields`, - (interval '1-2' - interval '3 4:05:06.7') AS `mixed sign`, - (- interval '1-2' + interval '3 4:05:06.7') AS negative --- !query 130 schema -struct --- !query 130 output -NULL NULL NULL NULL NULL NULL NULL - - --- !query 131 -SET IntervalStyle to sql_standard --- !query 131 schema -struct --- !query 131 output -IntervalStyle to sql_standard - - --- !query 132 -select interval 'P0Y' AS zero, - interval 'P1Y2M' AS `a year 2 months`, - interval 'P1W' AS `a week`, - interval 'P1DT2H3M4S' AS `a bit over a day`, - interval 'P1Y2M3DT4H5M6.7S' AS `all fields`, - interval 'P-1Y-2M-3DT-4H-5M-6.7S' AS negative, - interval 'PT-0.1S' AS `fractional second` --- !query 132 schema -struct --- !query 132 output -NULL NULL NULL NULL NULL NULL NULL - - --- !query 133 -SET IntervalStyle to postgres --- !query 133 schema -struct --- !query 133 output -IntervalStyle to postgres - - --- !query 134 -select interval 'P00021015T103020' AS `ISO8601 Basic Format`, - interval 'P0002-10-15T10:30:20' AS `ISO8601 Extended Format` --- !query 134 schema -struct --- !query 134 output -NULL NULL - - --- !query 135 -select interval 'P0002' AS `year only`, - interval 'P0002-10' AS `year month`, - interval 'P0002-10-15' AS `year month day`, - interval 'P0002T1S' AS `year only plus time`, - interval 'P0002-10T1S' AS `year month plus time`, - interval 'P0002-10-15T1S' AS `year month day plus time`, - interval 'PT10' AS `hour only`, - interval 'PT10:30' AS `hour minute` --- !query 135 schema -struct --- !query 135 output -NULL NULL NULL NULL NULL NULL NULL NULL - - --- !query 136 -SET IntervalStyle to postgres_verbose --- !query 136 schema -struct --- !query 136 output -IntervalStyle to postgres_verbose - - --- !query 137 -select interval '-10 mons -3 days +03:55:06.70' --- !query 137 schema -struct --- !query 137 output -NULL - - --- !query 138 -select interval '1 year 2 mons 3 days 04:05:06.699999' --- !query 138 schema -struct --- !query 138 output -NULL - - --- !query 139 -select interval '0:0:0.7', interval '@ 0.70 secs', interval '0.7 seconds' --- !query 139 schema -struct --- !query 139 output -NULL NULL NULL - - --- !query 140 -select '30 days'::interval = '1 month'::interval as t --- !query 140 schema -struct<> --- !query 140 output -org.apache.spark.sql.catalyst.parser.ParseException - -mismatched input ':' expecting {, '(', ',', '.', '[', 'ADD', 'AFTER', 'ALL', 'ALTER', 'ANALYZE', 'AND', 'ANTI', 'ANY', 'ARCHIVE', 'ARRAY', 'AS', 'ASC', 'AT', 'AUTHORIZATION', 'BETWEEN', 'BOTH', 'BUCKET', 'BUCKETS', 'BY', 'CACHE', 'CASCADE', 'CASE', 'CAST', 'CHANGE', 'CHECK', 'CLEAR', 'CLUSTER', 'CLUSTERED', 'CODEGEN', 'COLLATE', 'COLLECTION', 'COLUMN', 'COLUMNS', 'COMMENT', 'COMMIT', 'COMPACT', 'COMPACTIONS', 'COMPUTE', 'CONCATENATE', 'CONSTRAINT', 'COST', 'CREATE', 'CROSS', 'CUBE', 'CURRENT', 'CURRENT_DATE', 'CURRENT_TIME', 'CURRENT_TIMESTAMP', 'CURRENT_USER', 'DATA', 'DATABASE', DATABASES, 'DAY', 'DAYS', 'DBPROPERTIES', 'DEFINED', 'DELETE', 'DELIMITED', 'DESC', 'DESCRIBE', 'DFS', 'DIRECTORIES', 'DIRECTORY', 'DISTINCT', 'DISTRIBUTE', 'DROP', 'ELSE', 'END', 'ESCAPED', 'EXCEPT', 'EXCHANGE', 'EXISTS', 'EXPLAIN', 'EXPORT', 'EXTENDED', 'EXTERNAL', 'EXTRACT', 'FALSE', 'FETCH', 'FIELDS', 'FILEFORMAT', 'FIRST', 'FIRST_VALUE', 'FOLLOWING', 'FOR', 'FOREIGN', 'FORMAT', 'FORMATTED', 'FROM', 'FULL', 'FUNCTION', 'FUNCTIONS', 'GLOBAL', 'GRANT', 'GROUP', 'GROUPING', 'HAVING', 'HOUR', 'HOURS', 'IF', 'IGNORE', 'IMPORT', 'IN', 'INDEX', 'INDEXES', 'INNER', 'INPATH', 'INPUTFORMAT', 'INSERT', 'INTERSECT', 'INTERVAL', 'INTO', 'IS', 'ITEMS', 'JOIN', 'KEYS', 'LAST', 'LAST_VALUE', 'LATERAL', 'LAZY', 'LEADING', 'LEFT', 'LIKE', 'LIMIT', 'LINES', 'LIST', 'LOAD', 'LOCAL', 'LOCATION', 'LOCK', 'LOCKS', 'LOGICAL', 'MACRO', 'MAP', 'MICROSECOND', 'MICROSECONDS', 'MILLISECOND', 'MILLISECONDS', 'MINUTE', 'MINUTES', 'MONTH', 'MONTHS', 'MSCK', 'NAMESPACE', 'NAMESPACES', 'NATURAL', 'NO', NOT, 'NULL', 'NULLS', 'OF', 'ON', 'ONLY', 'OPTION', 'OPTIONS', 'OR', 'ORDER', 'OUT', 'OUTER', 'OUTPUTFORMAT', 'OVER', 'OVERLAPS', 'OVERLAY', 'OVERWRITE', 'PARTITION', 'PARTITIONED', 'PARTITIONS', 'PERCENT', 'PIVOT', 'PLACING', 'POSITION', 'PRECEDING', 'PRIMARY', 'PRINCIPALS', 'PURGE', 'QUERY', 'RANGE', 'RECORDREADER', 'RECORDWRITER', 'RECOVER', 'REDUCE', 'REFERENCES', 'REFRESH', 'RENAME', 'REPAIR', 'REPLACE', 'RESET', 'RESPECT', 'RESTRICT', 'REVOKE', 'RIGHT', RLIKE, 'ROLE', 'ROLES', 'ROLLBACK', 'ROLLUP', 'ROW', 'ROWS', 'SCHEMA', 'SECOND', 'SECONDS', 'SELECT', 'SEMI', 'SEPARATED', 'SERDE', 'SERDEPROPERTIES', 'SESSION_USER', 'SET', 'MINUS', 'SETS', 'SHOW', 'SKEWED', 'SOME', 'SORT', 'SORTED', 'START', 'STATISTICS', 'STORED', 'STRATIFY', 'STRUCT', 'SUBSTR', 'SUBSTRING', 'TABLE', 'TABLES', 'TABLESAMPLE', 'TBLPROPERTIES', TEMPORARY, 'TERMINATED', 'THEN', 'TO', 'TOUCH', 'TRAILING', 'TRANSACTION', 'TRANSACTIONS', 'TRANSFORM', 'TRIM', 'TRUE', 'TRUNCATE', 'TYPE', 'UNARCHIVE', 'UNBOUNDED', 'UNCACHE', 'UNION', 'UNIQUE', 'UNKNOWN', 'UNLOCK', 'UNSET', 'UPDATE', 'USE', 'USER', 'USING', 'VALUES', 'VIEW', 'WEEK', 'WEEKS', 'WHEN', 'WHERE', 'WINDOW', 'WITH', 'YEAR', 'YEARS', EQ, '<=>', '<>', '!=', '<', LTE, '>', GTE, '+', '-', '*', '/', '%', 'DIV', '&', '|', '||', '^', STRING, IDENTIFIER, BACKQUOTED_IDENTIFIER}(line 1, pos 16) - -== SQL == -select '30 days'::interval = '1 month'::interval as t -----------------^^^ - - --- !query 141 -select interval_hash('30 days'::interval) = interval_hash('1 month'::interval) as t --- !query 141 schema -struct<> --- !query 141 output -org.apache.spark.sql.catalyst.parser.ParseException - -mismatched input ':' expecting {')', ','}(line 1, pos 30) - -== SQL == -select interval_hash('30 days'::interval) = interval_hash('1 month'::interval) as t -------------------------------^^^ - - --- !query 142 -select make_interval(years := 2) --- !query 142 schema -struct<> --- !query 142 output -org.apache.spark.sql.catalyst.parser.ParseException - -mismatched input ':' expecting {')', ',', '-'}(line 1, pos 27) - -== SQL == -select make_interval(years := 2) ----------------------------^^^ - - --- !query 143 -select make_interval(years := 1, months := 6) --- !query 143 schema -struct<> --- !query 143 output -org.apache.spark.sql.catalyst.parser.ParseException - -mismatched input ':' expecting {')', ',', '-'}(line 1, pos 27) - -== SQL == -select make_interval(years := 1, months := 6) ----------------------------^^^ - - --- !query 144 -select make_interval(years := 1, months := -1, weeks := 5, days := -7, hours := 25, mins := -180) --- !query 144 schema -struct<> --- !query 144 output -org.apache.spark.sql.catalyst.parser.ParseException - -mismatched input ':' expecting {')', ',', '-'}(line 1, pos 27) - -== SQL == -select make_interval(years := 1, months := -1, weeks := 5, days := -7, hours := 25, mins := -180) ----------------------------^^^ - - --- !query 145 -select make_interval() = make_interval(years := 0, months := 0, weeks := 0, days := 0, mins := 0, secs := 0.0) --- !query 145 schema -struct<> --- !query 145 output -org.apache.spark.sql.catalyst.parser.ParseException - -mismatched input ':' expecting {')', ',', '-'}(line 1, pos 45) - -== SQL == -select make_interval() = make_interval(years := 0, months := 0, weeks := 0, days := 0, mins := 0, secs := 0.0) ----------------------------------------------^^^ - - --- !query 146 -select make_interval(hours := -2, mins := -10, secs := -25.3) --- !query 146 schema -struct<> --- !query 146 output -org.apache.spark.sql.catalyst.parser.ParseException - -mismatched input ':' expecting {')', ',', '-'}(line 1, pos 27) - -== SQL == -select make_interval(hours := -2, mins := -10, secs := -25.3) ----------------------------^^^ - - --- !query 147 -select make_interval(years := 'inf'::float::int) --- !query 147 schema -struct<> --- !query 147 output -org.apache.spark.sql.catalyst.parser.ParseException - -mismatched input ':' expecting {')', ',', '-'}(line 1, pos 27) - -== SQL == -select make_interval(years := 'inf'::float::int) ----------------------------^^^ - - --- !query 148 -select make_interval(months := 'NaN'::float::int) --- !query 148 schema -struct<> --- !query 148 output -org.apache.spark.sql.catalyst.parser.ParseException - -mismatched input ':' expecting {')', ',', '-'}(line 1, pos 28) - -== SQL == -select make_interval(months := 'NaN'::float::int) -----------------------------^^^ - - --- !query 149 -select make_interval(secs := 'inf') --- !query 149 schema -struct<> --- !query 149 output -org.apache.spark.sql.catalyst.parser.ParseException - -mismatched input ':' expecting {')', ',', '-'}(line 1, pos 26) - -== SQL == -select make_interval(secs := 'inf') ---------------------------^^^ - - --- !query 150 -select make_interval(secs := 'NaN') --- !query 150 schema -struct<> --- !query 150 output -org.apache.spark.sql.catalyst.parser.ParseException - -mismatched input ':' expecting {')', ',', '-'}(line 1, pos 26) - -== SQL == -select make_interval(secs := 'NaN') ---------------------------^^^ - - --- !query 151 -select make_interval(secs := 7e12) --- !query 151 schema -struct<> --- !query 151 output -org.apache.spark.sql.catalyst.parser.ParseException - -mismatched input ':' expecting {')', ',', '-'}(line 1, pos 26) - -== SQL == -select make_interval(secs := 7e12) ---------------------------^^^ From 4be325a3dde3ad8ca9dc611aea71a6590f202215 Mon Sep 17 00:00:00 2001 From: Maxim Gekk Date: Tue, 8 Oct 2019 21:18:23 +0300 Subject: [PATCH 07/11] Phase 3 --- .../sql-tests/inputs/postgreSQL/interval.sql | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/sql/core/src/test/resources/sql-tests/inputs/postgreSQL/interval.sql b/sql/core/src/test/resources/sql-tests/inputs/postgreSQL/interval.sql index d3c2483c9920b..163cc87cbd54d 100644 --- a/sql/core/src/test/resources/sql-tests/inputs/postgreSQL/interval.sql +++ b/sql/core/src/test/resources/sql-tests/inputs/postgreSQL/interval.sql @@ -190,10 +190,10 @@ SELECT interval '3' day; SELECT interval '4' hour; SELECT interval '5' minute; SELECT interval '6' second; --- TODO: create JIRA ticket +-- [SPARK-29391] Default year-month units -- SELECT interval '1' year to month; SELECT interval '1-2' year to month; --- TODO: create JIRA ticket +-- [SPARK-29391] Default year-month units -- SELECT interval '1 2' day to hour; SELECT interval '1 2:03' day to hour; SELECT interval '1 2:03:04' day to hour; @@ -212,7 +212,7 @@ SELECT interval '1 2:03:04' hour to second; -- SELECT interval '1 2' minute to second; SELECT interval '1 2:03' minute to second; SELECT interval '1 2:03:04' minute to second; --- TODO: create JIRA ticket +-- [SPARK-29370] Interval strings without explicit unit markings -- SELECT interval '1 +2:03' minute to second; -- SELECT interval '1 +2:03:04' minute to second; -- SELECT interval '1 -2:03' minute to second; @@ -223,7 +223,7 @@ SELECT interval '1 2:03:04' minute to second; -- SELECT interval '123 2:03 -2:04'; -- not ok, redundant hh:mm fields -- test syntaxes for restricted precision --- TODO: create JIRA ticket +-- [SPARK-29395] Precision of the interval type -- SELECT interval(0) '1 day 01:23:45.6789'; -- SELECT interval(2) '1 day 01:23:45.6789'; -- SELECT interval '12:34.5678' minute to second(2); -- per SQL spec @@ -279,7 +279,7 @@ SELECT interval '0' AS zero, -- test inputting ISO 8601 4.4.2.1 "Format With Time Unit Designators" -- SET IntervalStyle to sql_standard; --- TODO: create JIRA ticket +-- [SPARK-29394] Support ISO 8601 format for intervals -- select interval 'P0Y' AS zero, -- interval 'P1Y2M' AS `a year 2 months`, -- interval 'P1W' AS `a week`, @@ -310,12 +310,12 @@ SELECT interval '0' AS zero, -- select interval '0:0:0.7', interval '@ 0.70 secs', interval '0.7 seconds'; -- check that '30 days' equals '1 month' according to the hash function --- TODO: create JIRA ticket +-- [SPARK-29385] Make `INTERVAL` values comparable -- select '30 days'::interval = '1 month'::interval as t; -- select interval_hash('30 days'::interval) = interval_hash('1 month'::interval) as t; -- numeric constructor --- TODO: create JIRA ticket +-- [SPARK-29393] Add the make_interval() function -- select make_interval(years := 2); -- select make_interval(years := 1, months := 6); -- select make_interval(years := 1, months := -1, weeks := 5, days := -7, hours := 25, mins := -180); From 01b4d8f3cd461faab66e1494d95904c7c9d43af5 Mon Sep 17 00:00:00 2001 From: Maxim Gekk Date: Wed, 9 Oct 2019 11:43:54 +0300 Subject: [PATCH 08/11] Style issues --- .../sql-tests/inputs/postgreSQL/interval.sql | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/sql/core/src/test/resources/sql-tests/inputs/postgreSQL/interval.sql b/sql/core/src/test/resources/sql-tests/inputs/postgreSQL/interval.sql index 163cc87cbd54d..282b87f92dd0a 100644 --- a/sql/core/src/test/resources/sql-tests/inputs/postgreSQL/interval.sql +++ b/sql/core/src/test/resources/sql-tests/inputs/postgreSQL/interval.sql @@ -5,7 +5,9 @@ -- INTERVAL -- https://github.com/postgres/postgres/blob/REL_12_STABLE/src/test/regress/sql/interval.sql +-- [SPARK-28259] Date/Time Output Styles and Date Order Conventions -- SET DATESTYLE = 'ISO'; +-- [SPARK-29406] Interval output styles -- SET IntervalStyle to postgres; -- check acceptance of "time zone style" @@ -130,8 +132,9 @@ -- FROM INTERVAL_MULDIV_TBL; -- DROP TABLE INTERVAL_MULDIV_TBL; - +-- [SPARK-28259] Date/Time Output Styles and Date Order Conventions -- SET DATESTYLE = 'postgres'; +-- [SPARK-29406] Interval output styles -- SET IntervalStyle to postgres_verbose; -- SELECT '' AS ten, * FROM INTERVAL_TBL; @@ -163,7 +166,9 @@ -- SELECT justify_interval(interval '1 month -1 hour') as `1 month -1 hour`; -- test fractional second input, and detection of duplicate units +-- [SPARK-28259] Date/Time Output Styles and Date Order Conventions -- SET DATESTYLE = 'ISO'; +-- [SPARK-29406] Interval output styles -- SET IntervalStyle TO postgres; -- [SPARK-29369] Accept strings without `interval` prefix in casting to intervals -- SELECT '1 millisecond'::interval, '1 microsecond'::interval, @@ -246,6 +251,7 @@ SELECT interval '1 2:03:04' minute to second; -- FROM interval_tbl; -- test inputting and outputting SQL standard interval literals +-- [SPARK-29406] Interval output styles -- SET IntervalStyle TO sql_standard; SELECT interval '0' AS zero, interval '1-2' year to month AS `year-month`, @@ -254,6 +260,7 @@ SELECT interval '0' AS zero, - interval '1 2:03:04' AS `negative day-time`; -- test input of some not-quite-standard interval values in the sql style +-- [SPARK-29406] Interval output styles -- SET IntervalStyle TO postgres; -- SELECT interval '+1 -1:00:00', -- interval '-1 +1:00:00', @@ -261,6 +268,7 @@ SELECT interval '0' AS zero, -- interval '-1-2 +3 -4:05:06.789'; -- test output of couple non-standard interval values in the sql style +-- [SPARK-29406] Interval output styles -- SET IntervalStyle TO sql_standard; -- SELECT interval '1 day -1 hours', -- interval '-1 days +1 hours', @@ -268,6 +276,7 @@ SELECT interval '0' AS zero, -- - interval '1 years 2 months -3 days 4 hours 5 minutes 6.789 seconds'; -- test outputting iso8601 intervals +-- [SPARK-29406] Interval output styles -- SET IntervalStyle to iso_8601; -- select interval '0' AS zero, -- interval '1-2' AS `a year 2 months`, @@ -278,6 +287,7 @@ SELECT interval '0' AS zero, -- (- interval '1-2' + interval '3 4:05:06.7') AS negative; -- test inputting ISO 8601 4.4.2.1 "Format With Time Unit Designators" +-- [SPARK-29406] Interval output styles -- SET IntervalStyle to sql_standard; -- [SPARK-29394] Support ISO 8601 format for intervals -- select interval 'P0Y' AS zero, @@ -289,6 +299,7 @@ SELECT interval '0' AS zero, -- interval 'PT-0.1S' AS `fractional second`; -- test inputting ISO 8601 4.4.2.2 "Alternative Format" +-- [SPARK-29406] Interval output styles -- SET IntervalStyle to postgres; -- select interval 'P00021015T103020' AS `ISO8601 Basic Format`, -- interval 'P0002-10-15T10:30:20' AS `ISO8601 Extended Format`; @@ -304,6 +315,7 @@ SELECT interval '0' AS zero, -- interval 'PT10:30' AS `hour minute`; -- test a couple rounding cases that changed since 8.3 w/ HAVE_INT64_TIMESTAMP. +-- [SPARK-29406] Interval output styles -- SET IntervalStyle to postgres_verbose; -- select interval '-10 mons -3 days +03:55:06.70'; -- select interval '1 year 2 mons 3 days 04:05:06.699999'; From 1ee95c53b2165d650cdfe88f95c2bee215f7aa94 Mon Sep 17 00:00:00 2001 From: Maxim Gekk Date: Wed, 9 Oct 2019 11:58:13 +0300 Subject: [PATCH 09/11] Comment a query --- .../sql-tests/inputs/postgreSQL/interval.sql | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/sql/core/src/test/resources/sql-tests/inputs/postgreSQL/interval.sql b/sql/core/src/test/resources/sql-tests/inputs/postgreSQL/interval.sql index 282b87f92dd0a..ff57d093d9d82 100644 --- a/sql/core/src/test/resources/sql-tests/inputs/postgreSQL/interval.sql +++ b/sql/core/src/test/resources/sql-tests/inputs/postgreSQL/interval.sql @@ -253,11 +253,13 @@ SELECT interval '1 2:03:04' minute to second; -- test inputting and outputting SQL standard interval literals -- [SPARK-29406] Interval output styles -- SET IntervalStyle TO sql_standard; -SELECT interval '0' AS zero, - interval '1-2' year to month AS `year-month`, - interval '1 2:03:04' day to second AS `day-time`, - - interval '1-2' AS `negative year-month`, - - interval '1 2:03:04' AS `negative day-time`; +-- [SPARK-29407] Support syntax for zero interval +-- SELECT interval '0' AS zero, +-- interval '1-2' year to month AS `year-month`, +-- interval '1 2:03:04' day to second AS `day-time`, +-- [SPARK-29408] Support interval literal with negative sign `-` +-- - interval '1-2' AS `negative year-month`, +-- - interval '1 2:03:04' AS `negative day-time`; -- test input of some not-quite-standard interval values in the sql style -- [SPARK-29406] Interval output styles From cf263d912ab0f1a19b93f2d7872e02d5af32aaf4 Mon Sep 17 00:00:00 2001 From: Maxim Gekk Date: Wed, 9 Oct 2019 12:01:36 +0300 Subject: [PATCH 10/11] Regenerate interval.sql.out --- .../sql-tests/results/postgreSQL/interval.sql.out | 14 +------------- 1 file changed, 1 insertion(+), 13 deletions(-) diff --git a/sql/core/src/test/resources/sql-tests/results/postgreSQL/interval.sql.out b/sql/core/src/test/resources/sql-tests/results/postgreSQL/interval.sql.out index 987225574555b..bed5d7a56c1f8 100644 --- a/sql/core/src/test/resources/sql-tests/results/postgreSQL/interval.sql.out +++ b/sql/core/src/test/resources/sql-tests/results/postgreSQL/interval.sql.out @@ -1,5 +1,5 @@ -- Automatically generated by SQLQueryTestSuite --- Number of queries: 25 +-- Number of queries: 24 -- !query 0 @@ -192,15 +192,3 @@ SELECT interval '1 2:03:04' minute to second struct -- !query 23 output interval 1 days 2 hours 3 minutes 4 seconds - - --- !query 24 -SELECT interval '0' AS zero, - interval '1-2' year to month AS `year-month`, - interval '1 2:03:04' day to second AS `day-time`, - - interval '1-2' AS `negative year-month`, - - interval '1 2:03:04' AS `negative day-time` --- !query 24 schema -struct --- !query 24 output -NULL interval 1 years 2 months interval 1 days 2 hours 3 minutes 4 seconds NULL NULL From 749fb560abe2087db750818aaff4bd0ecae54cdd Mon Sep 17 00:00:00 2001 From: Maxim Gekk Date: Fri, 11 Oct 2019 10:32:02 +0300 Subject: [PATCH 11/11] Change the ticket title regarding to table creation --- .../test/resources/sql-tests/inputs/postgreSQL/interval.sql | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sql/core/src/test/resources/sql-tests/inputs/postgreSQL/interval.sql b/sql/core/src/test/resources/sql-tests/inputs/postgreSQL/interval.sql index ff57d093d9d82..eb8cc34419519 100644 --- a/sql/core/src/test/resources/sql-tests/inputs/postgreSQL/interval.sql +++ b/sql/core/src/test/resources/sql-tests/inputs/postgreSQL/interval.sql @@ -23,8 +23,8 @@ -- SELECT INTERVAL '1.5 months' AS `One month 15 days`; -- SELECT INTERVAL '10 years -11 month -12 days +13:14' AS `9 years...`; --- [SPARK-29382] Support the `INTERVAL` type by Parquet datasource --- CREATE TABLE INTERVAL_TBL (f1 interval) USING parquet; +-- [SPARK-29382] Support writing `INTERVAL` type to datasource table +-- CREATE TABLE INTERVAL_TBL (f1 interval); -- [SPARK-29383] Support the optional prefix `@` in interval strings -- INSERT INTO INTERVAL_TBL (f1) VALUES ('@ 1 minute');