123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391 |
- <sql-statement>
- --
- -- TIMETZ
- --
- CREATE TABLE TIMETZ_TBL (f1 time(2) with time zone);
- </sql-statement>
- <sql-statement>
- INSERT INTO TIMETZ_TBL VALUES ('00:01 PDT');
- </sql-statement>
- -stdin-:<main>: Fatal: Execution
- -stdin-:<main>:1:1: Fatal: Execution of node: YtFill!
- INSERT INTO TIMETZ_TBL VALUES ('00:01 PDT');
- ^
- -stdin-:<main>:1:1: Fatal: ERROR: invalid input syntax for type time with time zone: "00:01 PDT"
- INSERT INTO TIMETZ_TBL VALUES ('00:01 PDT');
- ^
- <sql-statement>
- INSERT INTO TIMETZ_TBL VALUES ('01:00 PDT');
- </sql-statement>
- -stdin-:<main>: Fatal: Execution
- -stdin-:<main>:1:1: Fatal: Execution of node: YtFill!
- INSERT INTO TIMETZ_TBL VALUES ('01:00 PDT');
- ^
- -stdin-:<main>:1:1: Fatal: ERROR: invalid input syntax for type time with time zone: "01:00 PDT"
- INSERT INTO TIMETZ_TBL VALUES ('01:00 PDT');
- ^
- <sql-statement>
- INSERT INTO TIMETZ_TBL VALUES ('02:03 PDT');
- </sql-statement>
- -stdin-:<main>: Fatal: Execution
- -stdin-:<main>:1:1: Fatal: Execution of node: YtFill!
- INSERT INTO TIMETZ_TBL VALUES ('02:03 PDT');
- ^
- -stdin-:<main>:1:1: Fatal: ERROR: invalid input syntax for type time with time zone: "02:03 PDT"
- INSERT INTO TIMETZ_TBL VALUES ('02:03 PDT');
- ^
- <sql-statement>
- INSERT INTO TIMETZ_TBL VALUES ('07:07 PST');
- </sql-statement>
- -stdin-:<main>: Fatal: Execution
- -stdin-:<main>:1:1: Fatal: Execution of node: YtFill!
- INSERT INTO TIMETZ_TBL VALUES ('07:07 PST');
- ^
- -stdin-:<main>:1:1: Fatal: ERROR: invalid input syntax for type time with time zone: "07:07 PST"
- INSERT INTO TIMETZ_TBL VALUES ('07:07 PST');
- ^
- <sql-statement>
- INSERT INTO TIMETZ_TBL VALUES ('08:08 EDT');
- </sql-statement>
- -stdin-:<main>: Fatal: Execution
- -stdin-:<main>:1:1: Fatal: Execution of node: YtFill!
- INSERT INTO TIMETZ_TBL VALUES ('08:08 EDT');
- ^
- -stdin-:<main>:1:1: Fatal: ERROR: invalid input syntax for type time with time zone: "08:08 EDT"
- INSERT INTO TIMETZ_TBL VALUES ('08:08 EDT');
- ^
- <sql-statement>
- INSERT INTO TIMETZ_TBL VALUES ('11:59 PDT');
- </sql-statement>
- -stdin-:<main>: Fatal: Execution
- -stdin-:<main>:1:1: Fatal: Execution of node: YtFill!
- INSERT INTO TIMETZ_TBL VALUES ('11:59 PDT');
- ^
- -stdin-:<main>:1:1: Fatal: ERROR: invalid input syntax for type time with time zone: "11:59 PDT"
- INSERT INTO TIMETZ_TBL VALUES ('11:59 PDT');
- ^
- <sql-statement>
- INSERT INTO TIMETZ_TBL VALUES ('12:00 PDT');
- </sql-statement>
- -stdin-:<main>: Fatal: Execution
- -stdin-:<main>:1:1: Fatal: Execution of node: YtFill!
- INSERT INTO TIMETZ_TBL VALUES ('12:00 PDT');
- ^
- -stdin-:<main>:1:1: Fatal: ERROR: invalid input syntax for type time with time zone: "12:00 PDT"
- INSERT INTO TIMETZ_TBL VALUES ('12:00 PDT');
- ^
- <sql-statement>
- INSERT INTO TIMETZ_TBL VALUES ('12:01 PDT');
- </sql-statement>
- -stdin-:<main>: Fatal: Execution
- -stdin-:<main>:1:1: Fatal: Execution of node: YtFill!
- INSERT INTO TIMETZ_TBL VALUES ('12:01 PDT');
- ^
- -stdin-:<main>:1:1: Fatal: ERROR: invalid input syntax for type time with time zone: "12:01 PDT"
- INSERT INTO TIMETZ_TBL VALUES ('12:01 PDT');
- ^
- <sql-statement>
- INSERT INTO TIMETZ_TBL VALUES ('23:59 PDT');
- </sql-statement>
- -stdin-:<main>: Fatal: Execution
- -stdin-:<main>:1:1: Fatal: Execution of node: YtFill!
- INSERT INTO TIMETZ_TBL VALUES ('23:59 PDT');
- ^
- -stdin-:<main>:1:1: Fatal: ERROR: invalid input syntax for type time with time zone: "23:59 PDT"
- INSERT INTO TIMETZ_TBL VALUES ('23:59 PDT');
- ^
- <sql-statement>
- INSERT INTO TIMETZ_TBL VALUES ('11:59:59.99 PM PDT');
- </sql-statement>
- -stdin-:<main>: Fatal: Execution
- -stdin-:<main>:1:1: Fatal: Execution of node: YtFill!
- INSERT INTO TIMETZ_TBL VALUES ('11:59:59.99 PM PDT');
- ^
- -stdin-:<main>:1:1: Fatal: ERROR: invalid input syntax for type time with time zone: "11:59:59.99 PM PDT"
- INSERT INTO TIMETZ_TBL VALUES ('11:59:59.99 PM PDT');
- ^
- <sql-statement>
- INSERT INTO TIMETZ_TBL VALUES ('2003-03-07 15:36:39 America/New_York');
- </sql-statement>
- -stdin-:<main>: Fatal: Execution
- -stdin-:<main>:1:1: Fatal: Execution of node: YtFill!
- INSERT INTO TIMETZ_TBL VALUES ('2003-03-07 15:36:39 America/New_York');
- ^
- -stdin-:<main>:1:1: Fatal: ERROR: time zone "america/new_york" not recognized
- INSERT INTO TIMETZ_TBL VALUES ('2003-03-07 15:36:39 America/New_York');
- ^
- <sql-statement>
- INSERT INTO TIMETZ_TBL VALUES ('2003-07-07 15:36:39 America/New_York');
- </sql-statement>
- -stdin-:<main>: Fatal: Execution
- -stdin-:<main>:1:1: Fatal: Execution of node: YtFill!
- INSERT INTO TIMETZ_TBL VALUES ('2003-07-07 15:36:39 America/New_York');
- ^
- -stdin-:<main>:1:1: Fatal: ERROR: time zone "america/new_york" not recognized
- INSERT INTO TIMETZ_TBL VALUES ('2003-07-07 15:36:39 America/New_York');
- ^
- <sql-statement>
- -- this should fail (the timezone offset is not known)
- INSERT INTO TIMETZ_TBL VALUES ('15:36:39 America/New_York');
- </sql-statement>
- -stdin-:<main>: Fatal: Execution
- -stdin-:<main>:1:1: Fatal: Execution of node: YtFill!
- -- this should fail (the timezone offset is not known)
- ^
- -stdin-:<main>:1:1: Fatal: ERROR: time zone "america/new_york" not recognized
- -- this should fail (the timezone offset is not known)
- ^
- <sql-statement>
- -- this should fail (timezone not specified without a date)
- INSERT INTO TIMETZ_TBL VALUES ('15:36:39 m2');
- </sql-statement>
- -stdin-:<main>: Fatal: Execution
- -stdin-:<main>:1:1: Fatal: Execution of node: YtFill!
- -- this should fail (timezone not specified without a date)
- ^
- -stdin-:<main>:1:1: Fatal: ERROR: invalid input syntax for type time with time zone: "15:36:39 m2"
- -- this should fail (timezone not specified without a date)
- ^
- <sql-statement>
- -- this should fail (dynamic timezone abbreviation without a date)
- INSERT INTO TIMETZ_TBL VALUES ('15:36:39 MSK m2');
- </sql-statement>
- -stdin-:<main>: Fatal: Execution
- -stdin-:<main>:1:1: Fatal: Execution of node: YtFill!
- -- this should fail (dynamic timezone abbreviation without a date)
- ^
- -stdin-:<main>:1:1: Fatal: ERROR: invalid input syntax for type time with time zone: "15:36:39 MSK m2"
- -- this should fail (dynamic timezone abbreviation without a date)
- ^
- <sql-statement>
- SELECT f1 AS "Time TZ" FROM TIMETZ_TBL;
- </sql-statement>
- <sql-statement>
- SELECT f1 AS "Three" FROM TIMETZ_TBL WHERE f1 < '05:06:07-07';
- </sql-statement>
- <sql-statement>
- SELECT f1 AS "Seven" FROM TIMETZ_TBL WHERE f1 > '05:06:07-07';
- </sql-statement>
- <sql-statement>
- SELECT f1 AS "None" FROM TIMETZ_TBL WHERE f1 < '00:00-07';
- </sql-statement>
- <sql-statement>
- SELECT f1 AS "Ten" FROM TIMETZ_TBL WHERE f1 >= '00:00-07';
- </sql-statement>
- <sql-statement>
- -- Check edge cases
- SELECT '23:59:59.999999 PDT'::timetz;
- </sql-statement>
- -stdin-:<main>: Fatal: Execution
- -stdin-:<main>:1:1: Fatal: Execution of node: Result
- -- Check edge cases
- ^
- -stdin-:<main>:1:1: Fatal: ERROR: invalid input syntax for type time with time zone: "23:59:59.999999 PDT"
- -- Check edge cases
- ^
- <sql-statement>
- SELECT '23:59:59.9999999 PDT'::timetz; -- rounds up
- </sql-statement>
- -stdin-:<main>: Fatal: Execution
- -stdin-:<main>:1:1: Fatal: Execution of node: Result
- SELECT '23:59:59.9999999 PDT'::timetz; -- rounds up
- ^
- -stdin-:<main>:1:1: Fatal: ERROR: invalid input syntax for type time with time zone: "23:59:59.9999999 PDT"
- SELECT '23:59:59.9999999 PDT'::timetz; -- rounds up
- ^
- <sql-statement>
- SELECT '23:59:60 PDT'::timetz; -- rounds up
- </sql-statement>
- -stdin-:<main>: Fatal: Execution
- -stdin-:<main>:1:1: Fatal: Execution of node: Result
- SELECT '23:59:60 PDT'::timetz; -- rounds up
- ^
- -stdin-:<main>:1:1: Fatal: ERROR: invalid input syntax for type time with time zone: "23:59:60 PDT"
- SELECT '23:59:60 PDT'::timetz; -- rounds up
- ^
- <sql-statement>
- SELECT '24:00:00 PDT'::timetz; -- allowed
- </sql-statement>
- -stdin-:<main>: Fatal: Execution
- -stdin-:<main>:1:1: Fatal: Execution of node: Result
- SELECT '24:00:00 PDT'::timetz; -- allowed
- ^
- -stdin-:<main>:1:1: Fatal: ERROR: invalid input syntax for type time with time zone: "24:00:00 PDT"
- SELECT '24:00:00 PDT'::timetz; -- allowed
- ^
- <sql-statement>
- SELECT '24:00:00.01 PDT'::timetz; -- not allowed
- </sql-statement>
- -stdin-:<main>: Fatal: Execution
- -stdin-:<main>:1:1: Fatal: Execution of node: Result
- SELECT '24:00:00.01 PDT'::timetz; -- not allowed
- ^
- -stdin-:<main>:1:1: Fatal: ERROR: invalid input syntax for type time with time zone: "24:00:00.01 PDT"
- SELECT '24:00:00.01 PDT'::timetz; -- not allowed
- ^
- <sql-statement>
- SELECT '23:59:60.01 PDT'::timetz; -- not allowed
- </sql-statement>
- -stdin-:<main>: Fatal: Execution
- -stdin-:<main>:1:1: Fatal: Execution of node: Result
- SELECT '23:59:60.01 PDT'::timetz; -- not allowed
- ^
- -stdin-:<main>:1:1: Fatal: ERROR: invalid input syntax for type time with time zone: "23:59:60.01 PDT"
- SELECT '23:59:60.01 PDT'::timetz; -- not allowed
- ^
- <sql-statement>
- SELECT '24:01:00 PDT'::timetz; -- not allowed
- </sql-statement>
- -stdin-:<main>: Fatal: Execution
- -stdin-:<main>:1:1: Fatal: Execution of node: Result
- SELECT '24:01:00 PDT'::timetz; -- not allowed
- ^
- -stdin-:<main>:1:1: Fatal: ERROR: invalid input syntax for type time with time zone: "24:01:00 PDT"
- SELECT '24:01:00 PDT'::timetz; -- not allowed
- ^
- <sql-statement>
- SELECT '25:00:00 PDT'::timetz; -- not allowed
- </sql-statement>
- -stdin-:<main>: Fatal: Execution
- -stdin-:<main>:1:1: Fatal: Execution of node: Result
- SELECT '25:00:00 PDT'::timetz; -- not allowed
- ^
- -stdin-:<main>:1:1: Fatal: ERROR: invalid input syntax for type time with time zone: "25:00:00 PDT"
- SELECT '25:00:00 PDT'::timetz; -- not allowed
- ^
- <sql-statement>
- --
- -- TIME simple math
- --
- -- We now make a distinction between time and intervals,
- -- and adding two times together makes no sense at all.
- -- Leave in one query to show that it is rejected,
- -- and do the rest of the testing in horology.sql
- -- where we do mixed-type arithmetic. - thomas 2000-12-02
- SELECT f1 + time with time zone '00:01' AS "Illegal" FROM TIMETZ_TBL;
- </sql-statement>
- -stdin-:<main>: Error: Type annotation
- -stdin-:<main>:1:1: Error: At function: RemovePrefixMembers, At function: PgSelect, At function: PgSetItem, At function: PgResultItem
- --
- ^
- -stdin-:<main>:9:11: Error: At function: PgOp
- SELECT f1 + time with time zone '00:01' AS "Illegal" FROM TIMETZ_TBL;
- ^
- -stdin-:<main>:9:11: Error: Unable to find an overload for operator + with given argument type(s): (timetz,timetz)
- SELECT f1 + time with time zone '00:01' AS "Illegal" FROM TIMETZ_TBL;
- ^
- <sql-statement>
- --
- -- test EXTRACT
- --
- SELECT EXTRACT(MICROSECOND FROM TIME WITH TIME ZONE '2020-05-26 13:30:25.575401-04');
- </sql-statement>
- <sql-statement>
- SELECT EXTRACT(MILLISECOND FROM TIME WITH TIME ZONE '2020-05-26 13:30:25.575401-04');
- </sql-statement>
- <sql-statement>
- SELECT EXTRACT(SECOND FROM TIME WITH TIME ZONE '2020-05-26 13:30:25.575401-04');
- </sql-statement>
- <sql-statement>
- SELECT EXTRACT(MINUTE FROM TIME WITH TIME ZONE '2020-05-26 13:30:25.575401-04');
- </sql-statement>
- <sql-statement>
- SELECT EXTRACT(HOUR FROM TIME WITH TIME ZONE '2020-05-26 13:30:25.575401-04');
- </sql-statement>
- <sql-statement>
- SELECT EXTRACT(DAY FROM TIME WITH TIME ZONE '2020-05-26 13:30:25.575401-04'); -- error
- </sql-statement>
- -stdin-:<main>: Fatal: Execution
- -stdin-:<main>:1:1: Fatal: Execution of node: Result
- SELECT EXTRACT(DAY FROM TIME WITH TIME ZONE '2020-05-26 13:30:25.575401-04'); -- error
- ^
- -stdin-:<main>:1:1: Fatal: ERROR: "time with time zone" units "day" not recognized
- SELECT EXTRACT(DAY FROM TIME WITH TIME ZONE '2020-05-26 13:30:25.575401-04'); -- error
- ^
- <sql-statement>
- SELECT EXTRACT(FORTNIGHT FROM TIME WITH TIME ZONE '2020-05-26 13:30:25.575401-04'); -- error
- </sql-statement>
- -stdin-:<main>: Fatal: Execution
- -stdin-:<main>:1:1: Fatal: Execution of node: Result
- SELECT EXTRACT(FORTNIGHT FROM TIME WITH TIME ZONE '2020-05-26 13:30:25.575401-04'); -- error
- ^
- -stdin-:<main>:1:1: Fatal: ERROR: "time with time zone" units "fortnight" not recognized
- SELECT EXTRACT(FORTNIGHT FROM TIME WITH TIME ZONE '2020-05-26 13:30:25.575401-04'); -- error
- ^
- <sql-statement>
- SELECT EXTRACT(TIMEZONE FROM TIME WITH TIME ZONE '2020-05-26 13:30:25.575401-04:30');
- </sql-statement>
- <sql-statement>
- SELECT EXTRACT(TIMEZONE_HOUR FROM TIME WITH TIME ZONE '2020-05-26 13:30:25.575401-04:30');
- </sql-statement>
- <sql-statement>
- SELECT EXTRACT(TIMEZONE_MINUTE FROM TIME WITH TIME ZONE '2020-05-26 13:30:25.575401-04:30');
- </sql-statement>
- <sql-statement>
- SELECT EXTRACT(EPOCH FROM TIME WITH TIME ZONE '2020-05-26 13:30:25.575401-04');
- </sql-statement>
- <sql-statement>
- -- date_part implementation is mostly the same as extract, so only
- -- test a few cases for additional coverage.
- SELECT date_part('microsecond', TIME WITH TIME ZONE '2020-05-26 13:30:25.575401-04');
- </sql-statement>
- <sql-statement>
- SELECT date_part('millisecond', TIME WITH TIME ZONE '2020-05-26 13:30:25.575401-04');
- </sql-statement>
- <sql-statement>
- SELECT date_part('second', TIME WITH TIME ZONE '2020-05-26 13:30:25.575401-04');
- </sql-statement>
- <sql-statement>
- SELECT date_part('epoch', TIME WITH TIME ZONE '2020-05-26 13:30:25.575401-04');
- </sql-statement>
|