Commits

Kirill Simonov committed 804969a

Updated tests to avoid discrepancies in output between different Python versions.

Comments (0)

Files changed (6)

test/regress/input/library.yaml

     expect: 400
 
   # Time values
-  - uri: /{time('20:13'), time('20:13:04.5')}
+  - uri: /{time('20:03'), time('20:13:04.5')}
   # Invalid time
   - uri: /{time('29:04')}
     expect: 400
   # Equality
   - uri: /{true()=true(), 1=1, 'HTSQL'='HTSQL'}
   - uri: /{date('2010-04-15')=date('2010-04-15'),
-           time('20:13')=time('20:13'),
+           time('20:03')=time('20:03'),
            datetime('2010-04-15 20:13')=datetime('2010-04-15 20:13')}
   - uri: /{true()!=false(), 1!=0, 'HTSQL'!='PITA'}
   - uri: /{date('2010-04-15')!=date('1991-08-20'),
-           time('20:13')!=time('02:01'),
+           time('20:03')!=time('20:13:04.5'),
            datetime('2010-04-15 20:13')!=datetime('1991-08-20 02:01')}
   - uri: /{true()!=true(), 1!=1, 'HTSQL'!='HTSQL'}
   - uri: /{date('2010-04-15')!=date('2010-04-15'),
-           time('20:13')!=time('20:13'),
+           time('20:03')!=time('20:03'),
            datetime('2010-04-15 20:13')!=datetime('2010-04-15 20:13')}
   - uri: /{true()=false(), 1=0, 'HTSQL'='PITA'}
   - uri: /{date('2010-04-15')=date('1991-08-20'),
-           time('20:13')=time('02:01'),
+           time('20:03')=time('20:13:04.5'),
            datetime('2010-04-15 20:13')=datetime('1991-08-20 02:01')}
   # IN
   - uri: /{5={2,3,5,7}, 'HTSQL'!={'ISBL','SQUARE','QUEL'}}
   # Comparison
   - uri: /{1<10, 7.0<=7.0, 'omega'>'alpha'}
   - uri: /{date('2010-04-15')>=date('1991-08-20'),
-           time('02:01')<time('20:13'),
+           time('20:03')<time('20:13:04.5'),
            datetime('2010-04-15 20:13')>datetime('1991-08-20 02:01')}
   - uri: /{1>=10, 7.0>7.0, 'omega'<='alpha'}
   - uri: /{date('2010-04-15')<date('1991-08-20'),
-           time('02:01')>=time('20:13'),
+           time('20:03')>=time('20:13:04.5'),
            datetime('2010-04-15 20:13')<=datetime('1991-08-20 02:01')}
   # NULL
   - uri: /{0<null(), ''>null(), null()>=null()}
 
   # Arithmetics
   - uri: /{+7, -7, +2.125, -2.125, +271828e-5, -271828e-5}
-  - uri: /{7920+9504, 7.25+0.875, 120205e-5+57721e-5}
-  - uri: /{7920-9504, 7.25-0.875, 120205e-5-57721e-5}
-  - uri: /{7920*9504, 7.25*0.875, 120205e-5*57721e-5}
-  - uri: /{7920/9504, 7.25/0.875, 120205e-5/57721e-5}
+  - uri: /{7920+9504, 7.25+0.875, 120207e-5+57721e-5}
+  - uri: /{7920-9504, 7.25-0.875, 120207e-5-57721e-5}
+  - uri: /{7920*9504, 7.25*0.875, 120207e-5*57721e-5}
+  - uri: /{7920/9504, 7.25/0.875, 120207e-5/57721e-5}
   # Coercion
   - uri: /{7+2.125, 7+271828e-5, 2.125+271828e-5}
   - uri: /{7-2.125, 7-271828e-5, 2.125-271828e-5}
   - uri: /{string(true()), string(false())}
   - uri: /{string(60), string(2.125), string(-57721e-5)}
   - uri: /{string(date('2010-04-15'))}
-  - uri: /{string(time('20:13'))}
+  - uri: /{string(time('20:03'))}
   - uri: /{string(datetime('2010-04-15 20:13'))}
 
   # Length
   tests:
 
   # Conversion
-  - uri: /{time(null()), time('20:13')}
-  - uri: /{time(string('20:13'))}
+  - uri: /{time(null()), time('20:03')}
+  - uri: /{time(string('20:03'))}
     ifndef: oracle
-  - uri: /{time(string('20:13:00'))}
+  - uri: /{time(string('20:03:00'))}
     ifdef: oracle
   - uri: /{time(datetime('2010-04-15 20:13'))}
   # Inadmissible operand
   - uri: /{datetime(2010,4,15), datetime(2010,4,15,20,13),
            datetime(2010,4,15,20,13,4.5)}
   - uri: /{datetime(2010,3,46,25,-289,124.5)}
-  - uri: /{datetime(date('2010-04-15'),time('20:13'))}
+  - uri: /{datetime(date('2010-04-15'),time('20:03'))}
 
   # Components
   - uri: /{year(datetime('2010-04-15 20:13:04.5')),
            second(datetime('2010-04-15 20:13:04.5'))}
 
   # Arithmetics
-  - uri: /{datetime('1991-08-20 02:01')+6813.7583854166667,
-           datetime('2010-04-15 20:13:04.5')-6813.7583854166667}
+  - uri: /{datetime('1991-08-20 02:01')+6813.75838544,
+           datetime('2010-04-15 20:13:04.5')-6813.75838544}
 
 ########################################################################
 

test/regress/output/mssql.yaml

             encode error: invalid date literal: month must be in 1..12:
                 /date('2010-13-07')
                  ^^^^^^^^^^^^^^^^^^
-        - uri: /{time('20:13'), time('20:13:04.5')}
+        - uri: /{time('20:03'), time('20:13:04.5')}
           status: 200 OK
           headers:
           - [Content-Type, text/plain; charset=UTF-8]
           body: |2
              |                            |
             -+----------------------------+-
-             | '20:13'  | '20:13:04.5'    |
+             | '20:03'  | '20:13:04.5'    |
             -+----------+-----------------+-
-             | 20:13:00 | 20:13:04.500000 |
+             | 20:03:00 | 20:13:04.500000 |
                                     (1 row)
 
              ----
-             /{time('20:13'),time('20:13:04.5')}
-             SELECT 0.84236111111111112e0,
+             /{time('20:03'),time('20:13:04.5')}
+             SELECT 0.8354166666666667e0,
                     0.8424131944444444e0
         - uri: /{time('29:04')}
           status: 400 Bad Request
              SELECT 1,
                     (CASE WHEN (1 = 1) THEN 1 ELSE 0 END),
                     (CASE WHEN ('HTSQL' = 'HTSQL') THEN 1 ELSE 0 END)
-        - uri: /{date('2010-04-15')=date('2010-04-15'), time('20:13')=time('20:13'),
+        - uri: /{date('2010-04-15')=date('2010-04-15'), time('20:03')=time('20:03'),
             datetime('2010-04-15 20:13')=datetime('2010-04-15 20:13')}
           status: 200 OK
           headers:
           body: |2
              |                                                                                                                                 |
             -+---------------------------------------------------------------------------------------------------------------------------------+-
-             | date('2010-04-15')=date('2010-04-15') | time('20:13')=time('20:13') | datetime('2010-04-15 20:13')=datetime('2010-04-15 20:13') |
+             | date('2010-04-15')=date('2010-04-15') | time('20:03')=time('20:03') | datetime('2010-04-15 20:13')=datetime('2010-04-15 20:13') |
             -+---------------------------------------+-----------------------------+-----------------------------------------------------------+-
              | true                                  | true                        | true                                                      |
                                                                                                                                          (1 row)
 
              ----
-             /{date('2010-04-15')=date('2010-04-15'),time('20:13')=time('20:13'),datetime('2010-04-15 20:13')=datetime('2010-04-15 20:13')}
+             /{date('2010-04-15')=date('2010-04-15'),time('20:03')=time('20:03'),datetime('2010-04-15 20:13')=datetime('2010-04-15 20:13')}
              SELECT (CASE WHEN (CAST('2010-04-15' AS DATETIME) = CAST('2010-04-15' AS DATETIME)) THEN 1 ELSE 0 END),
-                    (CASE WHEN (0.84236111111111112e0 = 0.84236111111111112e0) THEN 1 ELSE 0 END),
+                    (CASE WHEN (0.8354166666666667e0 = 0.8354166666666667e0) THEN 1 ELSE 0 END),
                     (CASE WHEN (CAST('2010-04-15 20:13:00' AS DATETIME) = CAST('2010-04-15 20:13:00' AS DATETIME)) THEN 1 ELSE 0 END)
         - uri: /{true()!=false(), 1!=0, 'HTSQL'!='PITA'}
           status: 200 OK
              SELECT 1,
                     (CASE WHEN (1 <> 0) THEN 1 ELSE 0 END),
                     (CASE WHEN ('HTSQL' <> 'PITA') THEN 1 ELSE 0 END)
-        - uri: /{date('2010-04-15')!=date('1991-08-20'), time('20:13')!=time('02:01'),
+        - uri: /{date('2010-04-15')!=date('1991-08-20'), time('20:03')!=time('20:13:04.5'),
             datetime('2010-04-15 20:13')!=datetime('1991-08-20 02:01')}
           status: 200 OK
           headers:
           - [Content-Type, text/plain; charset=UTF-8]
           body: |2
-             |                                                                                                                                    |
-            -+------------------------------------------------------------------------------------------------------------------------------------+-
-             | date('2010-04-15')!=date('1991-08-20') | time('20:13')!=time('02:01') | datetime('2010-04-15 20:13')!=datetime('1991-08-20 02:01') |
-            -+----------------------------------------+------------------------------+------------------------------------------------------------+-
-             | true                                   | true                         | true                                                       |
-                                                                                                                                            (1 row)
-
-             ----
-             /{date('2010-04-15')!=date('1991-08-20'),time('20:13')!=time('02:01'),datetime('2010-04-15 20:13')!=datetime('1991-08-20 02:01')}
+             |                                                                                                                                         |
+            -+-----------------------------------------------------------------------------------------------------------------------------------------+-
+             | date('2010-04-15')!=date('1991-08-20') | time('20:03')!=time('20:13:04.5') | datetime('2010-04-15 20:13')!=datetime('1991-08-20 02:01') |
+            -+----------------------------------------+-----------------------------------+------------------------------------------------------------+-
+             | true                                   | true                              | true                                                       |
+                                                                                                                                                 (1 row)
+
+             ----
+             /{date('2010-04-15')!=date('1991-08-20'),time('20:03')!=time('20:13:04.5'),datetime('2010-04-15 20:13')!=datetime('1991-08-20 02:01')}
              SELECT (CASE WHEN (CAST('2010-04-15' AS DATETIME) <> CAST('1991-08-20' AS DATETIME)) THEN 1 ELSE 0 END),
-                    (CASE WHEN (0.84236111111111112e0 <> 0.084027777777777785e0) THEN 1 ELSE 0 END),
+                    (CASE WHEN (0.8354166666666667e0 <> 0.8424131944444444e0) THEN 1 ELSE 0 END),
                     (CASE WHEN (CAST('2010-04-15 20:13:00' AS DATETIME) <> CAST('1991-08-20 02:01:00' AS DATETIME)) THEN 1 ELSE 0 END)
         - uri: /{true()!=true(), 1!=1, 'HTSQL'!='HTSQL'}
           status: 200 OK
              SELECT 0,
                     (CASE WHEN (1 <> 1) THEN 1 ELSE 0 END),
                     (CASE WHEN ('HTSQL' <> 'HTSQL') THEN 1 ELSE 0 END)
-        - uri: /{date('2010-04-15')!=date('2010-04-15'), time('20:13')!=time('20:13'),
+        - uri: /{date('2010-04-15')!=date('2010-04-15'), time('20:03')!=time('20:03'),
             datetime('2010-04-15 20:13')!=datetime('2010-04-15 20:13')}
           status: 200 OK
           headers:
           body: |2
              |                                                                                                                                    |
             -+------------------------------------------------------------------------------------------------------------------------------------+-
-             | date('2010-04-15')!=date('2010-04-15') | time('20:13')!=time('20:13') | datetime('2010-04-15 20:13')!=datetime('2010-04-15 20:13') |
+             | date('2010-04-15')!=date('2010-04-15') | time('20:03')!=time('20:03') | datetime('2010-04-15 20:13')!=datetime('2010-04-15 20:13') |
             -+----------------------------------------+------------------------------+------------------------------------------------------------+-
              | false                                  | false                        | false                                                      |
                                                                                                                                             (1 row)
 
              ----
-             /{date('2010-04-15')!=date('2010-04-15'),time('20:13')!=time('20:13'),datetime('2010-04-15 20:13')!=datetime('2010-04-15 20:13')}
+             /{date('2010-04-15')!=date('2010-04-15'),time('20:03')!=time('20:03'),datetime('2010-04-15 20:13')!=datetime('2010-04-15 20:13')}
              SELECT (CASE WHEN (CAST('2010-04-15' AS DATETIME) <> CAST('2010-04-15' AS DATETIME)) THEN 1 ELSE 0 END),
-                    (CASE WHEN (0.84236111111111112e0 <> 0.84236111111111112e0) THEN 1 ELSE 0 END),
+                    (CASE WHEN (0.8354166666666667e0 <> 0.8354166666666667e0) THEN 1 ELSE 0 END),
                     (CASE WHEN (CAST('2010-04-15 20:13:00' AS DATETIME) <> CAST('2010-04-15 20:13:00' AS DATETIME)) THEN 1 ELSE 0 END)
         - uri: /{true()=false(), 1=0, 'HTSQL'='PITA'}
           status: 200 OK
              SELECT 0,
                     (CASE WHEN (1 = 0) THEN 1 ELSE 0 END),
                     (CASE WHEN ('HTSQL' = 'PITA') THEN 1 ELSE 0 END)
-        - uri: /{date('2010-04-15')=date('1991-08-20'), time('20:13')=time('02:01'),
+        - uri: /{date('2010-04-15')=date('1991-08-20'), time('20:03')=time('20:13:04.5'),
             datetime('2010-04-15 20:13')=datetime('1991-08-20 02:01')}
           status: 200 OK
           headers:
           - [Content-Type, text/plain; charset=UTF-8]
           body: |2
-             |                                                                                                                                 |
-            -+---------------------------------------------------------------------------------------------------------------------------------+-
-             | date('2010-04-15')=date('1991-08-20') | time('20:13')=time('02:01') | datetime('2010-04-15 20:13')=datetime('1991-08-20 02:01') |
-            -+---------------------------------------+-----------------------------+-----------------------------------------------------------+-
-             | false                                 | false                       | false                                                     |
-                                                                                                                                         (1 row)
-
-             ----
-             /{date('2010-04-15')=date('1991-08-20'),time('20:13')=time('02:01'),datetime('2010-04-15 20:13')=datetime('1991-08-20 02:01')}
+             |                                                                                                                                      |
+            -+--------------------------------------------------------------------------------------------------------------------------------------+-
+             | date('2010-04-15')=date('1991-08-20') | time('20:03')=time('20:13:04.5') | datetime('2010-04-15 20:13')=datetime('1991-08-20 02:01') |
+            -+---------------------------------------+----------------------------------+-----------------------------------------------------------+-
+             | false                                 | false                            | false                                                     |
+                                                                                                                                              (1 row)
+
+             ----
+             /{date('2010-04-15')=date('1991-08-20'),time('20:03')=time('20:13:04.5'),datetime('2010-04-15 20:13')=datetime('1991-08-20 02:01')}
              SELECT (CASE WHEN (CAST('2010-04-15' AS DATETIME) = CAST('1991-08-20' AS DATETIME)) THEN 1 ELSE 0 END),
-                    (CASE WHEN (0.84236111111111112e0 = 0.084027777777777785e0) THEN 1 ELSE 0 END),
+                    (CASE WHEN (0.8354166666666667e0 = 0.8424131944444444e0) THEN 1 ELSE 0 END),
                     (CASE WHEN (CAST('2010-04-15 20:13:00' AS DATETIME) = CAST('1991-08-20 02:01:00' AS DATETIME)) THEN 1 ELSE 0 END)
         - uri: /{5={2,3,5,7}, 'HTSQL'!={'ISBL','SQUARE','QUEL'}}
           status: 200 OK
              SELECT (CASE WHEN (1 < 10) THEN 1 ELSE 0 END),
                     (CASE WHEN (7.0 <= 7.0) THEN 1 ELSE 0 END),
                     (CASE WHEN ('omega' > 'alpha') THEN 1 ELSE 0 END)
-        - uri: /{date('2010-04-15')>=date('1991-08-20'), time('02:01')<time('20:13'),
+        - uri: /{date('2010-04-15')>=date('1991-08-20'), time('20:03')<time('20:13:04.5'),
             datetime('2010-04-15 20:13')>datetime('1991-08-20 02:01')}
           status: 200 OK
           headers:
           - [Content-Type, text/plain; charset=UTF-8]
           body: |2
-             |                                                                                                                                  |
-            -+----------------------------------------------------------------------------------------------------------------------------------+-
-             | date('2010-04-15')>=date('1991-08-20') | time('02:01')<time('20:13') | datetime('2010-04-15 20:13')>datetime('1991-08-20 02:01') |
-            -+----------------------------------------+-----------------------------+-----------------------------------------------------------+-
-             | true                                   | true                        | true                                                      |
-                                                                                                                                          (1 row)
-
-             ----
-             /{date('2010-04-15')>=date('1991-08-20'),time('02:01')<time('20:13'),datetime('2010-04-15 20:13')>datetime('1991-08-20 02:01')}
+             |                                                                                                                                       |
+            -+---------------------------------------------------------------------------------------------------------------------------------------+-
+             | date('2010-04-15')>=date('1991-08-20') | time('20:03')<time('20:13:04.5') | datetime('2010-04-15 20:13')>datetime('1991-08-20 02:01') |
+            -+----------------------------------------+----------------------------------+-----------------------------------------------------------+-
+             | true                                   | true                             | true                                                      |
+                                                                                                                                               (1 row)
+
+             ----
+             /{date('2010-04-15')>=date('1991-08-20'),time('20:03')<time('20:13:04.5'),datetime('2010-04-15 20:13')>datetime('1991-08-20 02:01')}
              SELECT (CASE WHEN (CAST('2010-04-15' AS DATETIME) >= CAST('1991-08-20' AS DATETIME)) THEN 1 ELSE 0 END),
-                    (CASE WHEN (0.084027777777777785e0 < 0.84236111111111112e0) THEN 1 ELSE 0 END),
+                    (CASE WHEN (0.8354166666666667e0 < 0.8424131944444444e0) THEN 1 ELSE 0 END),
                     (CASE WHEN (CAST('2010-04-15 20:13:00' AS DATETIME) > CAST('1991-08-20 02:01:00' AS DATETIME)) THEN 1 ELSE 0 END)
         - uri: /{1>=10, 7.0>7.0, 'omega'<='alpha'}
           status: 200 OK
              SELECT (CASE WHEN (1 >= 10) THEN 1 ELSE 0 END),
                     (CASE WHEN (7.0 > 7.0) THEN 1 ELSE 0 END),
                     (CASE WHEN ('omega' <= 'alpha') THEN 1 ELSE 0 END)
-        - uri: /{date('2010-04-15')<date('1991-08-20'), time('02:01')>=time('20:13'),
+        - uri: /{date('2010-04-15')<date('1991-08-20'), time('20:03')>=time('20:13:04.5'),
             datetime('2010-04-15 20:13')<=datetime('1991-08-20 02:01')}
           status: 200 OK
           headers:
           - [Content-Type, text/plain; charset=UTF-8]
           body: |2
-             |                                                                                                                                   |
-            -+-----------------------------------------------------------------------------------------------------------------------------------+-
-             | date('2010-04-15')<date('1991-08-20') | time('02:01')>=time('20:13') | datetime('2010-04-15 20:13')<=datetime('1991-08-20 02:01') |
-            -+---------------------------------------+------------------------------+------------------------------------------------------------+-
-             | false                                 | false                        | false                                                      |
-                                                                                                                                           (1 row)
-
-             ----
-             /{date('2010-04-15')<date('1991-08-20'),time('02:01')>=time('20:13'),datetime('2010-04-15 20:13')<=datetime('1991-08-20 02:01')}
+             |                                                                                                                                        |
+            -+----------------------------------------------------------------------------------------------------------------------------------------+-
+             | date('2010-04-15')<date('1991-08-20') | time('20:03')>=time('20:13:04.5') | datetime('2010-04-15 20:13')<=datetime('1991-08-20 02:01') |
+            -+---------------------------------------+-----------------------------------+------------------------------------------------------------+-
+             | false                                 | false                             | false                                                      |
+                                                                                                                                                (1 row)
+
+             ----
+             /{date('2010-04-15')<date('1991-08-20'),time('20:03')>=time('20:13:04.5'),datetime('2010-04-15 20:13')<=datetime('1991-08-20 02:01')}
              SELECT (CASE WHEN (CAST('2010-04-15' AS DATETIME) < CAST('1991-08-20' AS DATETIME)) THEN 1 ELSE 0 END),
-                    (CASE WHEN (0.084027777777777785e0 >= 0.84236111111111112e0) THEN 1 ELSE 0 END),
+                    (CASE WHEN (0.8354166666666667e0 >= 0.8424131944444444e0) THEN 1 ELSE 0 END),
                     (CASE WHEN (CAST('2010-04-15 20:13:00' AS DATETIME) <= CAST('1991-08-20 02:01:00' AS DATETIME)) THEN 1 ELSE 0 END)
         - uri: /{0<null(), ''>null(), null()>=null()}
           status: 200 OK
                     (- 2.125),
                     2.71828e0,
                     (- 2.71828e0)
-        - uri: /{7920+9504, 7.25+0.875, 120205e-5+57721e-5}
+        - uri: /{7920+9504, 7.25+0.875, 120207e-5+57721e-5}
           status: 200 OK
           headers:
           - [Content-Type, text/plain; charset=UTF-8]
           body: |2
              |                                             |
             -+---------------------------------------------+-
-             | 7920+9504 | 7.25+0.875 | 120205e-5+57721e-5 |
+             | 7920+9504 | 7.25+0.875 | 120207e-5+57721e-5 |
             -+-----------+------------+--------------------+-
-             |     17424 |      8.125 |            1.77926 |
+             |     17424 |      8.125 |            1.77928 |
                                                      (1 row)
 
              ----
-             /{7920+9504,7.25+0.875,120205e-5+57721e-5}
+             /{7920+9504,7.25+0.875,120207e-5+57721e-5}
              SELECT (7920 + 9504),
                     (7.25 + 0.875),
-                    (1.2020500000000001e0 + 0.57721e0)
-        - uri: /{7920-9504, 7.25-0.875, 120205e-5-57721e-5}
+                    (1.20207e0 + 0.57721e0)
+        - uri: /{7920-9504, 7.25-0.875, 120207e-5-57721e-5}
           status: 200 OK
           headers:
           - [Content-Type, text/plain; charset=UTF-8]
           body: |2
              |                                             |
             -+---------------------------------------------+-
-             | 7920-9504 | 7.25-0.875 | 120205e-5-57721e-5 |
+             | 7920-9504 | 7.25-0.875 | 120207e-5-57721e-5 |
             -+-----------+------------+--------------------+-
-             |     -1584 |      6.375 |            0.62484 |
+             |     -1584 |      6.375 |            0.62486 |
                                                      (1 row)
 
              ----
-             /{7920-9504,7.25-0.875,120205e-5-57721e-5}
+             /{7920-9504,7.25-0.875,120207e-5-57721e-5}
              SELECT (7920 - 9504),
                     (7.25 - 0.875),
-                    (1.2020500000000001e0 - 0.57721e0)
-        - uri: /{7920*9504, 7.25*0.875, 120205e-5*57721e-5}
+                    (1.20207e0 - 0.57721e0)
+        - uri: /{7920*9504, 7.25*0.875, 120207e-5*57721e-5}
           status: 200 OK
           headers:
           - [Content-Type, text/plain; charset=UTF-8]
           body: |2
              |                                             |
             -+---------------------------------------------+-
-             | 7920*9504 | 7.25*0.875 | 120205e-5*57721e-5 |
+             | 7920*9504 | 7.25*0.875 | 120207e-5*57721e-5 |
             -+-----------+------------+--------------------+-
-             |  75271680 |    6.34375 |       0.6938352805 |
+             |  75271680 |    6.34375 |       0.6938468247 |
                                                      (1 row)
 
              ----
-             /{7920*9504,7.25*0.875,120205e-5*57721e-5}
+             /{7920*9504,7.25*0.875,120207e-5*57721e-5}
              SELECT (7920 * 9504),
                     (7.25 * 0.875),
-                    (1.2020500000000001e0 * 0.57721e0)
-        - uri: /{7920/9504, 7.25/0.875, 120205e-5/57721e-5}
+                    (1.20207e0 * 0.57721e0)
+        - uri: /{7920/9504, 7.25/0.875, 120207e-5/57721e-5}
           status: 200 OK
           headers:
           - [Content-Type, text/plain; charset=UTF-8]
           body: |2
              |                                             |
             -+---------------------------------------------+-
-             | 7920/9504 | 7.25/0.875 | 120205e-5/57721e-5 |
+             | 7920/9504 | 7.25/0.875 | 120207e-5/57721e-5 |
             -+-----------+------------+--------------------+-
-             |  0.833333 |   8.285714 |       2.0825176279 |
+             |  0.833333 |   8.285714 |      2.08255227733 |
                                                      (1 row)
 
              ----
-             /{7920/9504,7.25/0.875,120205e-5/57721e-5}
+             /{7920/9504,7.25/0.875,120207e-5/57721e-5}
              SELECT (7920. / 9504.),
                     (7.25 / 0.875),
-                    (1.2020500000000001e0 / 0.57721e0)
+                    (1.20207e0 / 0.57721e0)
         - uri: /{7+2.125, 7+271828e-5, 2.125+271828e-5}
           status: 200 OK
           headers:
              ----
              /{string(date('2010-04-15'))}
              SELECT SUBSTRING(CONVERT(VARCHAR, CAST('2010-04-15' AS DATETIME), 21), 1, 10)
-        - uri: /{string(time('20:13'))}
+        - uri: /{string(time('20:03'))}
           status: 200 OK
           headers:
           - [Content-Type, text/plain; charset=UTF-8]
           body: |2
              |              |
             -+--------------+-
-             | '20:13'      |
+             | '20:03'      |
             -+--------------+-
-             | 20:13:00.000 |
+             | 20:03:00.000 |
                       (1 row)
 
              ----
-             /{string(time('20:13'))}
-             SELECT SUBSTRING(CONVERT(VARCHAR, CAST(0.84236111111111112e0 AS DATETIME), 21), 12, 12)
+             /{string(time('20:03'))}
+             SELECT SUBSTRING(CONVERT(VARCHAR, CAST(0.8354166666666667e0 AS DATETIME), 21), 12, 12)
         - uri: /{string(datetime('2010-04-15 20:13'))}
           status: 200 OK
           headers:
                     DATEDIFF(DAY, CAST('1991-08-20' AS DATETIME), CAST('2010-04-15' AS DATETIME))
       - id: time-functions-and-operators
         tests:
-        - uri: /{time(null()), time('20:13')}
+        - uri: /{time(null()), time('20:03')}
           status: 200 OK
           headers:
           - [Content-Type, text/plain; charset=UTF-8]
           body: |2
              |                   |
             -+-------------------+-
-             | null() | '20:13'  |
+             | null() | '20:03'  |
             -+--------+----------+-
-             |        | 20:13:00 |
+             |        | 20:03:00 |
                            (1 row)
 
              ----
-             /{time(null()),time('20:13')}
+             /{time(null()),time('20:03')}
              SELECT NULL,
-                    0.84236111111111112e0
-        - uri: /{time(string('20:13'))}
+                    0.8354166666666667e0
+        - uri: /{time(string('20:03'))}
           status: 200 OK
           headers:
           - [Content-Type, text/plain; charset=UTF-8]
           body: |2
              |          |
             -+----------+-
-             | '20:13'  |
+             | '20:03'  |
             -+----------+-
-             | 20:13:00 |
+             | 20:03:00 |
                   (1 row)
 
              ----
-             /{time(string('20:13'))}
-             SELECT CAST(CAST('1900-01-01 ' + '20:13' AS DATETIME) AS FLOAT)
+             /{time(string('20:03'))}
+             SELECT CAST(CAST('1900-01-01 ' + '20:03' AS DATETIME) AS FLOAT)
         - uri: /{time(datetime('2010-04-15 20:13'))}
           status: 200 OK
           headers:
              ----
              /{datetime(2010,3,46,25,-289,124.5)}
              SELECT DATEADD(MILLISECOND, 1000 * 124.5e0, DATEADD(MINUTE, (- 289), DATEADD(HOUR, 25, DATEADD(DAY, 46 - 1, DATEADD(MONTH, 3 - 1, DATEADD(YEAR, 2010 - 2001, CAST('2001-01-01' AS DATETIME)))))))
-        - uri: /{datetime(date('2010-04-15'),time('20:13'))}
+        - uri: /{datetime(date('2010-04-15'),time('20:03'))}
           status: 200 OK
           headers:
           - [Content-Type, text/plain; charset=UTF-8]
           body: |2
              |                                            |
             -+--------------------------------------------+-
-             | datetime(date('2010-04-15'),time('20:13')) |
+             | datetime(date('2010-04-15'),time('20:03')) |
             -+--------------------------------------------+-
-             | 2010-04-15 20:13:00                        |
+             | 2010-04-15 20:03:00                        |
                                                     (1 row)
 
              ----
-             /{datetime(date('2010-04-15'),time('20:13'))}
-             SELECT (CAST('2010-04-15' AS DATETIME) + 0.84236111111111112e0)
+             /{datetime(date('2010-04-15'),time('20:03'))}
+             SELECT (CAST('2010-04-15' AS DATETIME) + 0.8354166666666667e0)
         - uri: /{year(datetime('2010-04-15 20:13:04.5')), month(datetime('2010-04-15
             20:13:04.5')), day(datetime('2010-04-15 20:13:04.5'))}
           status: 200 OK
              SELECT DATEPART(HOUR, CAST('2010-04-15 20:13:04.500' AS DATETIME)),
                     DATEPART(MINUTE, CAST('2010-04-15 20:13:04.500' AS DATETIME)),
                     (DATEPART(SECOND, CAST('2010-04-15 20:13:04.500' AS DATETIME)) + DATEPART(MILLISECOND, CAST('2010-04-15 20:13:04.500' AS DATETIME)) / 1000e0)
-        - uri: /{datetime('1991-08-20 02:01')+6813.7583854166667, datetime('2010-04-15
-            20:13:04.5')-6813.7583854166667}
-          status: 200 OK
-          headers:
-          - [Content-Type, text/plain; charset=UTF-8]
-          body: |2
-             |                                                                                                        |
-            -+--------------------------------------------------------------------------------------------------------+-
-             | datetime('1991-08-20 02:01')+6813.7583854166667 | datetime('2010-04-15 20:13:04.5')-6813.7583854166667 |
-            -+-------------------------------------------------+------------------------------------------------------+-
-             | 2010-04-15 20:13:04.500000                      | 1991-08-20 02:01:00                                  |
-                                                                                                                (1 row)
-
-             ----
-             /{datetime('1991-08-20 02:01')+6813.7583854166667,datetime('2010-04-15 20:13:04.5')-6813.7583854166667}
-             SELECT (CAST('1991-08-20 02:01:00' AS DATETIME) + 6813.7583854166669e0),
-                    (CAST('2010-04-15 20:13:04.500' AS DATETIME) - 6813.7583854166669e0)
+        - uri: /{datetime('1991-08-20 02:01')+6813.75838544, datetime('2010-04-15
+            20:13:04.5')-6813.75838544}
+          status: 200 OK
+          headers:
+          - [Content-Type, text/plain; charset=UTF-8]
+          body: |2
+             |                                                                                              |
+            -+----------------------------------------------------------------------------------------------+-
+             | datetime('1991-08-20 02:01')+6813.75838544 | datetime('2010-04-15 20:13:04.5')-6813.75838544 |
+            -+--------------------------------------------+-------------------------------------------------+-
+             | 2010-04-15 20:13:04.500000                 | 1991-08-20 02:01:00                             |
+                                                                                                      (1 row)
+
+             ----
+             /{datetime('1991-08-20 02:01')+6813.75838544,datetime('2010-04-15 20:13:04.5')-6813.75838544}
+             SELECT (CAST('1991-08-20 02:01:00' AS DATETIME) + 6813.75838544e0),
+                    (CAST('2010-04-15 20:13:04.500' AS DATETIME) - 6813.75838544e0)
       - id: aggregate-functions
         tests:
         - uri: /course?department_code='lang'

test/regress/output/mysql.yaml

             encode error: invalid date literal: month must be in 1..12:
                 /date('2010-13-07')
                  ^^^^^^^^^^^^^^^^^^
-        - uri: /{time('20:13'), time('20:13:04.5')}
+        - uri: /{time('20:03'), time('20:13:04.5')}
           status: 200 OK
           headers:
           - [Content-Type, text/plain; charset=UTF-8]
           body: |2
              |                            |
             -+----------------------------+-
-             | '20:13'  | '20:13:04.5'    |
+             | '20:03'  | '20:13:04.5'    |
             -+----------+-----------------+-
-             | 20:13:00 | 20:13:04.500000 |
+             | 20:03:00 | 20:13:04.500000 |
                                     (1 row)
 
              ----
-             /{time('20:13'),time('20:13:04.5')}
-             SELECT TIME('20:13:00'),
+             /{time('20:03'),time('20:13:04.5')}
+             SELECT TIME('20:03:00'),
                     TIME('20:13:04.500000')
         - uri: /{time('29:04')}
           status: 400 Bad Request
              SELECT TRUE,
                     (1 = 1),
                     ('HTSQL' = 'HTSQL')
-        - uri: /{date('2010-04-15')=date('2010-04-15'), time('20:13')=time('20:13'),
+        - uri: /{date('2010-04-15')=date('2010-04-15'), time('20:03')=time('20:03'),
             datetime('2010-04-15 20:13')=datetime('2010-04-15 20:13')}
           status: 200 OK
           headers:
           body: |2
              |                                                                                                                                 |
             -+---------------------------------------------------------------------------------------------------------------------------------+-
-             | date('2010-04-15')=date('2010-04-15') | time('20:13')=time('20:13') | datetime('2010-04-15 20:13')=datetime('2010-04-15 20:13') |
+             | date('2010-04-15')=date('2010-04-15') | time('20:03')=time('20:03') | datetime('2010-04-15 20:13')=datetime('2010-04-15 20:13') |
             -+---------------------------------------+-----------------------------+-----------------------------------------------------------+-
              | true                                  | true                        | true                                                      |
                                                                                                                                          (1 row)
 
              ----
-             /{date('2010-04-15')=date('2010-04-15'),time('20:13')=time('20:13'),datetime('2010-04-15 20:13')=datetime('2010-04-15 20:13')}
+             /{date('2010-04-15')=date('2010-04-15'),time('20:03')=time('20:03'),datetime('2010-04-15 20:13')=datetime('2010-04-15 20:13')}
              SELECT (DATE('2010-04-15') = DATE('2010-04-15')),
-                    (TIME('20:13:00') = TIME('20:13:00')),
+                    (TIME('20:03:00') = TIME('20:03:00')),
                     (TIMESTAMP('2010-04-15 20:13:00') = TIMESTAMP('2010-04-15 20:13:00'))
         - uri: /{true()!=false(), 1!=0, 'HTSQL'!='PITA'}
           status: 200 OK
              SELECT TRUE,
                     (1 <> 0),
                     ('HTSQL' <> 'PITA')
-        - uri: /{date('2010-04-15')!=date('1991-08-20'), time('20:13')!=time('02:01'),
+        - uri: /{date('2010-04-15')!=date('1991-08-20'), time('20:03')!=time('20:13:04.5'),
             datetime('2010-04-15 20:13')!=datetime('1991-08-20 02:01')}
           status: 200 OK
           headers:
           - [Content-Type, text/plain; charset=UTF-8]
           body: |2
-             |                                                                                                                                    |
-            -+------------------------------------------------------------------------------------------------------------------------------------+-
-             | date('2010-04-15')!=date('1991-08-20') | time('20:13')!=time('02:01') | datetime('2010-04-15 20:13')!=datetime('1991-08-20 02:01') |
-            -+----------------------------------------+------------------------------+------------------------------------------------------------+-
-             | true                                   | true                         | true                                                       |
-                                                                                                                                            (1 row)
-
-             ----
-             /{date('2010-04-15')!=date('1991-08-20'),time('20:13')!=time('02:01'),datetime('2010-04-15 20:13')!=datetime('1991-08-20 02:01')}
+             |                                                                                                                                         |
+            -+-----------------------------------------------------------------------------------------------------------------------------------------+-
+             | date('2010-04-15')!=date('1991-08-20') | time('20:03')!=time('20:13:04.5') | datetime('2010-04-15 20:13')!=datetime('1991-08-20 02:01') |
+            -+----------------------------------------+-----------------------------------+------------------------------------------------------------+-
+             | true                                   | true                              | true                                                       |
+                                                                                                                                                 (1 row)
+
+             ----
+             /{date('2010-04-15')!=date('1991-08-20'),time('20:03')!=time('20:13:04.5'),datetime('2010-04-15 20:13')!=datetime('1991-08-20 02:01')}
              SELECT (DATE('2010-04-15') <> DATE('1991-08-20')),
-                    (TIME('20:13:00') <> TIME('02:01:00')),
+                    (TIME('20:03:00') <> TIME('20:13:04.500000')),
                     (TIMESTAMP('2010-04-15 20:13:00') <> TIMESTAMP('1991-08-20 02:01:00'))
         - uri: /{true()!=true(), 1!=1, 'HTSQL'!='HTSQL'}
           status: 200 OK
              SELECT FALSE,
                     (1 <> 1),
                     ('HTSQL' <> 'HTSQL')
-        - uri: /{date('2010-04-15')!=date('2010-04-15'), time('20:13')!=time('20:13'),
+        - uri: /{date('2010-04-15')!=date('2010-04-15'), time('20:03')!=time('20:03'),
             datetime('2010-04-15 20:13')!=datetime('2010-04-15 20:13')}
           status: 200 OK
           headers:
           body: |2
              |                                                                                                                                    |
             -+------------------------------------------------------------------------------------------------------------------------------------+-
-             | date('2010-04-15')!=date('2010-04-15') | time('20:13')!=time('20:13') | datetime('2010-04-15 20:13')!=datetime('2010-04-15 20:13') |
+             | date('2010-04-15')!=date('2010-04-15') | time('20:03')!=time('20:03') | datetime('2010-04-15 20:13')!=datetime('2010-04-15 20:13') |
             -+----------------------------------------+------------------------------+------------------------------------------------------------+-
              | false                                  | false                        | false                                                      |
                                                                                                                                             (1 row)
 
              ----
-             /{date('2010-04-15')!=date('2010-04-15'),time('20:13')!=time('20:13'),datetime('2010-04-15 20:13')!=datetime('2010-04-15 20:13')}
+             /{date('2010-04-15')!=date('2010-04-15'),time('20:03')!=time('20:03'),datetime('2010-04-15 20:13')!=datetime('2010-04-15 20:13')}
              SELECT (DATE('2010-04-15') <> DATE('2010-04-15')),
-                    (TIME('20:13:00') <> TIME('20:13:00')),
+                    (TIME('20:03:00') <> TIME('20:03:00')),
                     (TIMESTAMP('2010-04-15 20:13:00') <> TIMESTAMP('2010-04-15 20:13:00'))
         - uri: /{true()=false(), 1=0, 'HTSQL'='PITA'}
           status: 200 OK
              SELECT FALSE,
                     (1 = 0),
                     ('HTSQL' = 'PITA')
-        - uri: /{date('2010-04-15')=date('1991-08-20'), time('20:13')=time('02:01'),
+        - uri: /{date('2010-04-15')=date('1991-08-20'), time('20:03')=time('20:13:04.5'),
             datetime('2010-04-15 20:13')=datetime('1991-08-20 02:01')}
           status: 200 OK
           headers:
           - [Content-Type, text/plain; charset=UTF-8]
           body: |2
-             |                                                                                                                                 |
-            -+---------------------------------------------------------------------------------------------------------------------------------+-
-             | date('2010-04-15')=date('1991-08-20') | time('20:13')=time('02:01') | datetime('2010-04-15 20:13')=datetime('1991-08-20 02:01') |
-            -+---------------------------------------+-----------------------------+-----------------------------------------------------------+-
-             | false                                 | false                       | false                                                     |
-                                                                                                                                         (1 row)
-
-             ----
-             /{date('2010-04-15')=date('1991-08-20'),time('20:13')=time('02:01'),datetime('2010-04-15 20:13')=datetime('1991-08-20 02:01')}
+             |                                                                                                                                      |
+            -+--------------------------------------------------------------------------------------------------------------------------------------+-
+             | date('2010-04-15')=date('1991-08-20') | time('20:03')=time('20:13:04.5') | datetime('2010-04-15 20:13')=datetime('1991-08-20 02:01') |
+            -+---------------------------------------+----------------------------------+-----------------------------------------------------------+-
+             | false                                 | false                            | false                                                     |
+                                                                                                                                              (1 row)
+
+             ----
+             /{date('2010-04-15')=date('1991-08-20'),time('20:03')=time('20:13:04.5'),datetime('2010-04-15 20:13')=datetime('1991-08-20 02:01')}
              SELECT (DATE('2010-04-15') = DATE('1991-08-20')),
-                    (TIME('20:13:00') = TIME('02:01:00')),
+                    (TIME('20:03:00') = TIME('20:13:04.500000')),
                     (TIMESTAMP('2010-04-15 20:13:00') = TIMESTAMP('1991-08-20 02:01:00'))
         - uri: /{5={2,3,5,7}, 'HTSQL'!={'ISBL','SQUARE','QUEL'}}
           status: 200 OK
              SELECT (1 < 10),
                     (7.0 <= 7.0),
                     ('omega' > 'alpha')
-        - uri: /{date('2010-04-15')>=date('1991-08-20'), time('02:01')<time('20:13'),
+        - uri: /{date('2010-04-15')>=date('1991-08-20'), time('20:03')<time('20:13:04.5'),
             datetime('2010-04-15 20:13')>datetime('1991-08-20 02:01')}
           status: 200 OK
           headers:
           - [Content-Type, text/plain; charset=UTF-8]
           body: |2
-             |                                                                                                                                  |
-            -+----------------------------------------------------------------------------------------------------------------------------------+-
-             | date('2010-04-15')>=date('1991-08-20') | time('02:01')<time('20:13') | datetime('2010-04-15 20:13')>datetime('1991-08-20 02:01') |
-            -+----------------------------------------+-----------------------------+-----------------------------------------------------------+-
-             | true                                   | true                        | true                                                      |
-                                                                                                                                          (1 row)
-
-             ----
-             /{date('2010-04-15')>=date('1991-08-20'),time('02:01')<time('20:13'),datetime('2010-04-15 20:13')>datetime('1991-08-20 02:01')}
+             |                                                                                                                                       |
+            -+---------------------------------------------------------------------------------------------------------------------------------------+-
+             | date('2010-04-15')>=date('1991-08-20') | time('20:03')<time('20:13:04.5') | datetime('2010-04-15 20:13')>datetime('1991-08-20 02:01') |
+            -+----------------------------------------+----------------------------------+-----------------------------------------------------------+-
+             | true                                   | true                             | true                                                      |
+                                                                                                                                               (1 row)
+
+             ----
+             /{date('2010-04-15')>=date('1991-08-20'),time('20:03')<time('20:13:04.5'),datetime('2010-04-15 20:13')>datetime('1991-08-20 02:01')}
              SELECT (DATE('2010-04-15') >= DATE('1991-08-20')),
-                    (TIME('02:01:00') < TIME('20:13:00')),
+                    (TIME('20:03:00') < TIME('20:13:04.500000')),
                     (TIMESTAMP('2010-04-15 20:13:00') > TIMESTAMP('1991-08-20 02:01:00'))
         - uri: /{1>=10, 7.0>7.0, 'omega'<='alpha'}
           status: 200 OK
              SELECT (1 >= 10),
                     (7.0 > 7.0),
                     ('omega' <= 'alpha')
-        - uri: /{date('2010-04-15')<date('1991-08-20'), time('02:01')>=time('20:13'),
+        - uri: /{date('2010-04-15')<date('1991-08-20'), time('20:03')>=time('20:13:04.5'),
             datetime('2010-04-15 20:13')<=datetime('1991-08-20 02:01')}
           status: 200 OK
           headers:
           - [Content-Type, text/plain; charset=UTF-8]
           body: |2
-             |                                                                                                                                   |
-            -+-----------------------------------------------------------------------------------------------------------------------------------+-
-             | date('2010-04-15')<date('1991-08-20') | time('02:01')>=time('20:13') | datetime('2010-04-15 20:13')<=datetime('1991-08-20 02:01') |
-            -+---------------------------------------+------------------------------+------------------------------------------------------------+-
-             | false                                 | false                        | false                                                      |
-                                                                                                                                           (1 row)
-
-             ----
-             /{date('2010-04-15')<date('1991-08-20'),time('02:01')>=time('20:13'),datetime('2010-04-15 20:13')<=datetime('1991-08-20 02:01')}
+             |                                                                                                                                        |
+            -+----------------------------------------------------------------------------------------------------------------------------------------+-
+             | date('2010-04-15')<date('1991-08-20') | time('20:03')>=time('20:13:04.5') | datetime('2010-04-15 20:13')<=datetime('1991-08-20 02:01') |
+            -+---------------------------------------+-----------------------------------+------------------------------------------------------------+-
+             | false                                 | false                             | false                                                      |
+                                                                                                                                                (1 row)
+
+             ----
+             /{date('2010-04-15')<date('1991-08-20'),time('20:03')>=time('20:13:04.5'),datetime('2010-04-15 20:13')<=datetime('1991-08-20 02:01')}
              SELECT (DATE('2010-04-15') < DATE('1991-08-20')),
-                    (TIME('02:01:00') >= TIME('20:13:00')),
+                    (TIME('20:03:00') >= TIME('20:13:04.500000')),
                     (TIMESTAMP('2010-04-15 20:13:00') <= TIMESTAMP('1991-08-20 02:01:00'))
         - uri: /{0<null(), ''>null(), null()>=null()}
           status: 200 OK
                     (- 2.125),
                     2.71828e0,
                     (- 2.71828e0)
-        - uri: /{7920+9504, 7.25+0.875, 120205e-5+57721e-5}
+        - uri: /{7920+9504, 7.25+0.875, 120207e-5+57721e-5}
           status: 200 OK
           headers:
           - [Content-Type, text/plain; charset=UTF-8]
           body: |2
              |                                             |
             -+---------------------------------------------+-
-             | 7920+9504 | 7.25+0.875 | 120205e-5+57721e-5 |
+             | 7920+9504 | 7.25+0.875 | 120207e-5+57721e-5 |
             -+-----------+------------+--------------------+-
-             |     17424 |      8.125 |            1.77926 |
+             |     17424 |      8.125 |            1.77928 |
                                                      (1 row)
 
              ----
-             /{7920+9504,7.25+0.875,120205e-5+57721e-5}
+             /{7920+9504,7.25+0.875,120207e-5+57721e-5}
              SELECT (7920 + 9504),
                     (7.25 + 0.875),
-                    (1.2020500000000001e0 + 0.57721e0)
-        - uri: /{7920-9504, 7.25-0.875, 120205e-5-57721e-5}
+                    (1.20207e0 + 0.57721e0)
+        - uri: /{7920-9504, 7.25-0.875, 120207e-5-57721e-5}
           status: 200 OK
           headers:
           - [Content-Type, text/plain; charset=UTF-8]
           body: |2
              |                                             |
             -+---------------------------------------------+-
-             | 7920-9504 | 7.25-0.875 | 120205e-5-57721e-5 |
+             | 7920-9504 | 7.25-0.875 | 120207e-5-57721e-5 |
             -+-----------+------------+--------------------+-
-             |     -1584 |      6.375 |            0.62484 |
+             |     -1584 |      6.375 |            0.62486 |
                                                      (1 row)
 
              ----
-             /{7920-9504,7.25-0.875,120205e-5-57721e-5}
+             /{7920-9504,7.25-0.875,120207e-5-57721e-5}
              SELECT (7920 - 9504),
                     (7.25 - 0.875),
-                    (1.2020500000000001e0 - 0.57721e0)
-        - uri: /{7920*9504, 7.25*0.875, 120205e-5*57721e-5}
+                    (1.20207e0 - 0.57721e0)
+        - uri: /{7920*9504, 7.25*0.875, 120207e-5*57721e-5}
           status: 200 OK
           headers:
           - [Content-Type, text/plain; charset=UTF-8]
           body: |2
              |                                             |
             -+---------------------------------------------+-
-             | 7920*9504 | 7.25*0.875 | 120205e-5*57721e-5 |
+             | 7920*9504 | 7.25*0.875 | 120207e-5*57721e-5 |
             -+-----------+------------+--------------------+-
-             |  75271680 |    6.34375 |       0.6938352805 |
+             |  75271680 |    6.34375 |       0.6938468247 |
                                                      (1 row)
 
              ----
-             /{7920*9504,7.25*0.875,120205e-5*57721e-5}
+             /{7920*9504,7.25*0.875,120207e-5*57721e-5}
              SELECT (7920 * 9504),
                     (7.25 * 0.875),
-                    (1.2020500000000001e0 * 0.57721e0)
-        - uri: /{7920/9504, 7.25/0.875, 120205e-5/57721e-5}
+                    (1.20207e0 * 0.57721e0)
+        - uri: /{7920/9504, 7.25/0.875, 120207e-5/57721e-5}
           status: 200 OK
           headers:
           - [Content-Type, text/plain; charset=UTF-8]
           body: |2
              |                                             |
             -+---------------------------------------------+-
-             | 7920/9504 | 7.25/0.875 | 120205e-5/57721e-5 |
+             | 7920/9504 | 7.25/0.875 | 120207e-5/57721e-5 |
             -+-----------+------------+--------------------+-
-             |    0.8333 |   8.285714 |       2.0825176279 |
+             |    0.8333 |   8.285714 |      2.08255227733 |
                                                      (1 row)
 
              ----
-             /{7920/9504,7.25/0.875,120205e-5/57721e-5}
+             /{7920/9504,7.25/0.875,120207e-5/57721e-5}
              SELECT (7920. / 9504.),
                     (7.25 / 0.875),
-                    (1.2020500000000001e0 / 0.57721e0)
+                    (1.20207e0 / 0.57721e0)
         - uri: /{7+2.125, 7+271828e-5, 2.125+271828e-5}
           status: 200 OK
           headers:
              ----
              /{string(date('2010-04-15'))}
              SELECT CAST(DATE('2010-04-15') AS CHAR)
-        - uri: /{string(time('20:13'))}
+        - uri: /{string(time('20:03'))}
           status: 200 OK
           headers:
           - [Content-Type, text/plain; charset=UTF-8]
           body: |2
              |          |
             -+----------+-
-             | '20:13'  |
+             | '20:03'  |
             -+----------+-
-             | 20:13:00 |
+             | 20:03:00 |
                   (1 row)
 
              ----
-             /{string(time('20:13'))}
-             SELECT CAST(TIME('20:13:00') AS CHAR)
+             /{string(time('20:03'))}
+             SELECT CAST(TIME('20:03:00') AS CHAR)
         - uri: /{string(datetime('2010-04-15 20:13'))}
           status: 200 OK
           headers:
                     DATEDIFF(DATE('2010-04-15'), DATE('1991-08-20'))
       - id: time-functions-and-operators
         tests:
-        - uri: /{time(null()), time('20:13')}
+        - uri: /{time(null()), time('20:03')}
           status: 200 OK
           headers:
           - [Content-Type, text/plain; charset=UTF-8]
           body: |2
              |                   |
             -+-------------------+-
-             | null() | '20:13'  |
+             | null() | '20:03'  |
             -+--------+----------+-
-             |        | 20:13:00 |
+             |        | 20:03:00 |
                            (1 row)
 
              ----
-             /{time(null()),time('20:13')}
+             /{time(null()),time('20:03')}
              SELECT NULL,
-                    TIME('20:13:00')
-        - uri: /{time(string('20:13'))}
+                    TIME('20:03:00')
+        - uri: /{time(string('20:03'))}
           status: 200 OK
           headers:
           - [Content-Type, text/plain; charset=UTF-8]
           body: |2
              |          |
             -+----------+-
-             | '20:13'  |
+             | '20:03'  |
             -+----------+-
-             | 20:13:00 |
+             | 20:03:00 |
                   (1 row)
 
              ----
-             /{time(string('20:13'))}
-             SELECT CAST('20:13' AS TIME)
+             /{time(string('20:03'))}
+             SELECT CAST('20:03' AS TIME)
         - uri: /{time(datetime('2010-04-15 20:13'))}
           status: 200 OK
           headers:
              ----
              /{datetime(2010,3,46,25,-289,124.5)}
              SELECT ADDDATE(ADDDATE(ADDDATE(ADDDATE(ADDDATE(ADDDATE(TIMESTAMP('2001-01-01'), INTERVAL (2010 - 2001) YEAR), INTERVAL (3 - 1) MONTH), INTERVAL (46 - 1) DAY), INTERVAL 25 HOUR), INTERVAL (- 289) MINUTE), INTERVAL 124.5e0 SECOND)
-        - uri: /{datetime(date('2010-04-15'),time('20:13'))}
+        - uri: /{datetime(date('2010-04-15'),time('20:03'))}
           status: 200 OK
           headers:
           - [Content-Type, text/plain; charset=UTF-8]
           body: |2
              |                                            |
             -+--------------------------------------------+-
-             | datetime(date('2010-04-15'),time('20:13')) |
+             | datetime(date('2010-04-15'),time('20:03')) |
             -+--------------------------------------------+-
-             | 2010-04-15 20:13:00                        |
+             | 2010-04-15 20:03:00                        |
                                                     (1 row)
 
              ----
-             /{datetime(date('2010-04-15'),time('20:13'))}
-             SELECT ADDTIME(TIMESTAMP(DATE('2010-04-15')), TIME('20:13:00'))
+             /{datetime(date('2010-04-15'),time('20:03'))}
+             SELECT ADDTIME(TIMESTAMP(DATE('2010-04-15')), TIME('20:03:00'))
         - uri: /{year(datetime('2010-04-15 20:13:04.5')), month(datetime('2010-04-15
             20:13:04.5')), day(datetime('2010-04-15 20:13:04.5'))}
           status: 200 OK
              SELECT EXTRACT(HOUR FROM TIMESTAMP('2010-04-15 20:13:04')),
                     EXTRACT(MINUTE FROM TIMESTAMP('2010-04-15 20:13:04')),
                     (1E0 * EXTRACT(SECOND FROM TIMESTAMP('2010-04-15 20:13:04')))
-        - uri: /{datetime('1991-08-20 02:01')+6813.7583854166667, datetime('2010-04-15
-            20:13:04.5')-6813.7583854166667}
-          status: 200 OK
-          headers:
-          - [Content-Type, text/plain; charset=UTF-8]
-          body: |2
-             |                                                                                                        |
-            -+--------------------------------------------------------------------------------------------------------+-
-             | datetime('1991-08-20 02:01')+6813.7583854166667 | datetime('2010-04-15 20:13:04.5')-6813.7583854166667 |
-            -+-------------------------------------------------+------------------------------------------------------+-
-             | 2010-04-15 20:13:04                             | 1991-08-20 02:01:00                                  |
-                                                                                                                (1 row)
-
-             ----
-             /{datetime('1991-08-20 02:01')+6813.7583854166667,datetime('2010-04-15 20:13:04.5')-6813.7583854166667}
-             SELECT ADDDATE(TIMESTAMP('1991-08-20 02:01:00'), INTERVAL 86400 * 6813.7583854166669e0 SECOND),
-                    SUBDATE(TIMESTAMP('2010-04-15 20:13:04'), INTERVAL 86400 * 6813.7583854166669e0 SECOND)
+        - uri: /{datetime('1991-08-20 02:01')+6813.75838544, datetime('2010-04-15
+            20:13:04.5')-6813.75838544}
+          status: 200 OK
+          headers:
+          - [Content-Type, text/plain; charset=UTF-8]
+          body: |2
+             |                                                                                              |
+            -+----------------------------------------------------------------------------------------------+-
+             | datetime('1991-08-20 02:01')+6813.75838544 | datetime('2010-04-15 20:13:04.5')-6813.75838544 |
+            -+--------------------------------------------+-------------------------------------------------+-
+             | 2010-04-15 20:13:05                        | 1991-08-20 02:00:59                             |
+                                                                                                      (1 row)
+
+             ----
+             /{datetime('1991-08-20 02:01')+6813.75838544,datetime('2010-04-15 20:13:04.5')-6813.75838544}
+             SELECT ADDDATE(TIMESTAMP('1991-08-20 02:01:00'), INTERVAL 86400 * 6813.75838544e0 SECOND),
+                    SUBDATE(TIMESTAMP('2010-04-15 20:13:04'), INTERVAL 86400 * 6813.75838544e0 SECOND)
       - id: aggregate-functions
         tests:
         - uri: /course?department_code='lang'

test/regress/output/oracle.yaml

             encode error: invalid date literal: month must be in 1..12:
                 /date('2010-13-07')
                  ^^^^^^^^^^^^^^^^^^
-        - uri: /{time('20:13'), time('20:13:04.5')}
+        - uri: /{time('20:03'), time('20:13:04.5')}
           status: 200 OK
           headers:
           - [Content-Type, text/plain; charset=UTF-8]
           body: |2
              |                            |
             -+----------------------------+-
-             | '20:13'  | '20:13:04.5'    |
+             | '20:03'  | '20:13:04.5'    |
             -+----------+-----------------+-
-             | 20:13:00 | 20:13:04.500000 |
+             | 20:03:00 | 20:13:04.500000 |
                                     (1 row)
 
              ----
-             /{time('20:13'),time('20:13:04.5')}
-             SELECT INTERVAL '20:13:00' HOUR TO SECOND,
+             /{time('20:03'),time('20:13:04.5')}
+             SELECT INTERVAL '20:03:00' HOUR TO SECOND,
                     INTERVAL '20:13:04.500000' HOUR TO SECOND
              FROM DUAL "!"
         - uri: /{time('29:04')}
                     (CASE WHEN (1 = 1) THEN 1 ELSE 0 END),
                     (CASE WHEN ('HTSQL' = 'HTSQL') THEN 1 ELSE 0 END)
              FROM DUAL "!"
-        - uri: /{date('2010-04-15')=date('2010-04-15'), time('20:13')=time('20:13'),
+        - uri: /{date('2010-04-15')=date('2010-04-15'), time('20:03')=time('20:03'),
             datetime('2010-04-15 20:13')=datetime('2010-04-15 20:13')}
           status: 200 OK
           headers:
           body: |2
              |                                                                                                                                 |
             -+---------------------------------------------------------------------------------------------------------------------------------+-
-             | date('2010-04-15')=date('2010-04-15') | time('20:13')=time('20:13') | datetime('2010-04-15 20:13')=datetime('2010-04-15 20:13') |
+             | date('2010-04-15')=date('2010-04-15') | time('20:03')=time('20:03') | datetime('2010-04-15 20:13')=datetime('2010-04-15 20:13') |
             -+---------------------------------------+-----------------------------+-----------------------------------------------------------+-
              | true                                  | true                        | true                                                      |
                                                                                                                                          (1 row)
 
              ----
-             /{date('2010-04-15')=date('2010-04-15'),time('20:13')=time('20:13'),datetime('2010-04-15 20:13')=datetime('2010-04-15 20:13')}
+             /{date('2010-04-15')=date('2010-04-15'),time('20:03')=time('20:03'),datetime('2010-04-15 20:13')=datetime('2010-04-15 20:13')}
              SELECT (CASE WHEN (DATE '2010-04-15' = DATE '2010-04-15') THEN 1 ELSE 0 END),
-                    (CASE WHEN (INTERVAL '20:13:00' HOUR TO SECOND = INTERVAL '20:13:00' HOUR TO SECOND) THEN 1 ELSE 0 END),
+                    (CASE WHEN (INTERVAL '20:03:00' HOUR TO SECOND = INTERVAL '20:03:00' HOUR TO SECOND) THEN 1 ELSE 0 END),
                     (CASE WHEN (TIMESTAMP '2010-04-15 20:13:00' = TIMESTAMP '2010-04-15 20:13:00') THEN 1 ELSE 0 END)
              FROM DUAL "!"
         - uri: /{true()!=false(), 1!=0, 'HTSQL'!='PITA'}
                     (CASE WHEN (1 <> 0) THEN 1 ELSE 0 END),
                     (CASE WHEN ('HTSQL' <> 'PITA') THEN 1 ELSE 0 END)
              FROM DUAL "!"
-        - uri: /{date('2010-04-15')!=date('1991-08-20'), time('20:13')!=time('02:01'),
+        - uri: /{date('2010-04-15')!=date('1991-08-20'), time('20:03')!=time('20:13:04.5'),
             datetime('2010-04-15 20:13')!=datetime('1991-08-20 02:01')}
           status: 200 OK
           headers:
           - [Content-Type, text/plain; charset=UTF-8]
           body: |2
-             |                                                                                                                                    |
-            -+------------------------------------------------------------------------------------------------------------------------------------+-
-             | date('2010-04-15')!=date('1991-08-20') | time('20:13')!=time('02:01') | datetime('2010-04-15 20:13')!=datetime('1991-08-20 02:01') |
-            -+----------------------------------------+------------------------------+------------------------------------------------------------+-
-             | true                                   | true                         | true                                                       |
-                                                                                                                                            (1 row)
-
-             ----
-             /{date('2010-04-15')!=date('1991-08-20'),time('20:13')!=time('02:01'),datetime('2010-04-15 20:13')!=datetime('1991-08-20 02:01')}
+             |                                                                                                                                         |
+            -+-----------------------------------------------------------------------------------------------------------------------------------------+-
+             | date('2010-04-15')!=date('1991-08-20') | time('20:03')!=time('20:13:04.5') | datetime('2010-04-15 20:13')!=datetime('1991-08-20 02:01') |
+            -+----------------------------------------+-----------------------------------+------------------------------------------------------------+-
+             | true                                   | true                              | true                                                       |
+                                                                                                                                                 (1 row)
+
+             ----
+             /{date('2010-04-15')!=date('1991-08-20'),time('20:03')!=time('20:13:04.5'),datetime('2010-04-15 20:13')!=datetime('1991-08-20 02:01')}
              SELECT (CASE WHEN (DATE '2010-04-15' <> DATE '1991-08-20') THEN 1 ELSE 0 END),
-                    (CASE WHEN (INTERVAL '20:13:00' HOUR TO SECOND <> INTERVAL '02:01:00' HOUR TO SECOND) THEN 1 ELSE 0 END),
+                    (CASE WHEN (INTERVAL '20:03:00' HOUR TO SECOND <> INTERVAL '20:13:04.500000' HOUR TO SECOND) THEN 1 ELSE 0 END),
                     (CASE WHEN (TIMESTAMP '2010-04-15 20:13:00' <> TIMESTAMP '1991-08-20 02:01:00') THEN 1 ELSE 0 END)
              FROM DUAL "!"
         - uri: /{true()!=true(), 1!=1, 'HTSQL'!='HTSQL'}
                     (CASE WHEN (1 <> 1) THEN 1 ELSE 0 END),
                     (CASE WHEN ('HTSQL' <> 'HTSQL') THEN 1 ELSE 0 END)
              FROM DUAL "!"
-        - uri: /{date('2010-04-15')!=date('2010-04-15'), time('20:13')!=time('20:13'),
+        - uri: /{date('2010-04-15')!=date('2010-04-15'), time('20:03')!=time('20:03'),
             datetime('2010-04-15 20:13')!=datetime('2010-04-15 20:13')}
           status: 200 OK
           headers:
           body: |2
              |                                                                                                                                    |
             -+------------------------------------------------------------------------------------------------------------------------------------+-
-             | date('2010-04-15')!=date('2010-04-15') | time('20:13')!=time('20:13') | datetime('2010-04-15 20:13')!=datetime('2010-04-15 20:13') |
+             | date('2010-04-15')!=date('2010-04-15') | time('20:03')!=time('20:03') | datetime('2010-04-15 20:13')!=datetime('2010-04-15 20:13') |
             -+----------------------------------------+------------------------------+------------------------------------------------------------+-
              | false                                  | false                        | false                                                      |
                                                                                                                                             (1 row)
 
              ----
-             /{date('2010-04-15')!=date('2010-04-15'),time('20:13')!=time('20:13'),datetime('2010-04-15 20:13')!=datetime('2010-04-15 20:13')}
+             /{date('2010-04-15')!=date('2010-04-15'),time('20:03')!=time('20:03'),datetime('2010-04-15 20:13')!=datetime('2010-04-15 20:13')}
              SELECT (CASE WHEN (DATE '2010-04-15' <> DATE '2010-04-15') THEN 1 ELSE 0 END),
-                    (CASE WHEN (INTERVAL '20:13:00' HOUR TO SECOND <> INTERVAL '20:13:00' HOUR TO SECOND) THEN 1 ELSE 0 END),
+                    (CASE WHEN (INTERVAL '20:03:00' HOUR TO SECOND <> INTERVAL '20:03:00' HOUR TO SECOND) THEN 1 ELSE 0 END),
                     (CASE WHEN (TIMESTAMP '2010-04-15 20:13:00' <> TIMESTAMP '2010-04-15 20:13:00') THEN 1 ELSE 0 END)
              FROM DUAL "!"
         - uri: /{true()=false(), 1=0, 'HTSQL'='PITA'}
                     (CASE WHEN (1 = 0) THEN 1 ELSE 0 END),
                     (CASE WHEN ('HTSQL' = 'PITA') THEN 1 ELSE 0 END)
              FROM DUAL "!"
-        - uri: /{date('2010-04-15')=date('1991-08-20'), time('20:13')=time('02:01'),
+        - uri: /{date('2010-04-15')=date('1991-08-20'), time('20:03')=time('20:13:04.5'),
             datetime('2010-04-15 20:13')=datetime('1991-08-20 02:01')}
           status: 200 OK
           headers:
           - [Content-Type, text/plain; charset=UTF-8]
           body: |2
-             |                                                                                                                                 |
-            -+---------------------------------------------------------------------------------------------------------------------------------+-
-             | date('2010-04-15')=date('1991-08-20') | time('20:13')=time('02:01') | datetime('2010-04-15 20:13')=datetime('1991-08-20 02:01') |
-            -+---------------------------------------+-----------------------------+-----------------------------------------------------------+-
-             | false                                 | false                       | false                                                     |
-                                                                                                                                         (1 row)
-
-             ----
-             /{date('2010-04-15')=date('1991-08-20'),time('20:13')=time('02:01'),datetime('2010-04-15 20:13')=datetime('1991-08-20 02:01')}
+             |                                                                                                                                      |
+            -+--------------------------------------------------------------------------------------------------------------------------------------+-
+             | date('2010-04-15')=date('1991-08-20') | time('20:03')=time('20:13:04.5') | datetime('2010-04-15 20:13')=datetime('1991-08-20 02:01') |
+            -+---------------------------------------+----------------------------------+-----------------------------------------------------------+-
+             | false                                 | false                            | false                                                     |
+                                                                                                                                              (1 row)
+
+             ----
+             /{date('2010-04-15')=date('1991-08-20'),time('20:03')=time('20:13:04.5'),datetime('2010-04-15 20:13')=datetime('1991-08-20 02:01')}
              SELECT (CASE WHEN (DATE '2010-04-15' = DATE '1991-08-20') THEN 1 ELSE 0 END),
-                    (CASE WHEN (INTERVAL '20:13:00' HOUR TO SECOND = INTERVAL '02:01:00' HOUR TO SECOND) THEN 1 ELSE 0 END),
+                    (CASE WHEN (INTERVAL '20:03:00' HOUR TO SECOND = INTERVAL '20:13:04.500000' HOUR TO SECOND) THEN 1 ELSE 0 END),
                     (CASE WHEN (TIMESTAMP '2010-04-15 20:13:00' = TIMESTAMP '1991-08-20 02:01:00') THEN 1 ELSE 0 END)
              FROM DUAL "!"
         - uri: /{5={2,3,5,7}, 'HTSQL'!={'ISBL','SQUARE','QUEL'}}
                     (CASE WHEN (7.0 <= 7.0) THEN 1 ELSE 0 END),
                     (CASE WHEN ('omega' > 'alpha') THEN 1 ELSE 0 END)
              FROM DUAL "!"
-        - uri: /{date('2010-04-15')>=date('1991-08-20'), time('02:01')<time('20:13'),
+        - uri: /{date('2010-04-15')>=date('1991-08-20'), time('20:03')<time('20:13:04.5'),
             datetime('2010-04-15 20:13')>datetime('1991-08-20 02:01')}
           status: 200 OK
           headers:
           - [Content-Type, text/plain; charset=UTF-8]
           body: |2
-             |                                                                                                                                  |
-            -+----------------------------------------------------------------------------------------------------------------------------------+-
-             | date('2010-04-15')>=date('1991-08-20') | time('02:01')<time('20:13') | datetime('2010-04-15 20:13')>datetime('1991-08-20 02:01') |
-            -+----------------------------------------+-----------------------------+-----------------------------------------------------------+-
-             | true                                   | true                        | true                                                      |
-                                                                                                                                          (1 row)
-
-             ----
-             /{date('2010-04-15')>=date('1991-08-20'),time('02:01')<time('20:13'),datetime('2010-04-15 20:13')>datetime('1991-08-20 02:01')}
+             |                                                                                                                                       |
+            -+---------------------------------------------------------------------------------------------------------------------------------------+-
+             | date('2010-04-15')>=date('1991-08-20') | time('20:03')<time('20:13:04.5') | datetime('2010-04-15 20:13')>datetime('1991-08-20 02:01') |
+            -+----------------------------------------+----------------------------------+-----------------------------------------------------------+-
+             | true                                   | true                             | true                                                      |
+                                                                                                                                               (1 row)
+
+             ----
+             /{date('2010-04-15')>=date('1991-08-20'),time('20:03')<time('20:13:04.5'),datetime('2010-04-15 20:13')>datetime('1991-08-20 02:01')}
              SELECT (CASE WHEN (DATE '2010-04-15' >= DATE '1991-08-20') THEN 1 ELSE 0 END),
-                    (CASE WHEN (INTERVAL '02:01:00' HOUR TO SECOND < INTERVAL '20:13:00' HOUR TO SECOND) THEN 1 ELSE 0 END),
+                    (CASE WHEN (INTERVAL '20:03:00' HOUR TO SECOND < INTERVAL '20:13:04.500000' HOUR TO SECOND) THEN 1 ELSE 0 END),
                     (CASE WHEN (TIMESTAMP '2010-04-15 20:13:00' > TIMESTAMP '1991-08-20 02:01:00') THEN 1 ELSE 0 END)
              FROM DUAL "!"
         - uri: /{1>=10, 7.0>7.0, 'omega'<='alpha'}
                     (CASE WHEN (7.0 > 7.0) THEN 1 ELSE 0 END),
                     (CASE WHEN ('omega' <= 'alpha') THEN 1 ELSE 0 END)
              FROM DUAL "!"
-        - uri: /{date('2010-04-15')<date('1991-08-20'), time('02:01')>=time('20:13'),
+        - uri: /{date('2010-04-15')<date('1991-08-20'), time('20:03')>=time('20:13:04.5'),
             datetime('2010-04-15 20:13')<=datetime('1991-08-20 02:01')}
           status: 200 OK
           headers:
           - [Content-Type, text/plain; charset=UTF-8]
           body: |2
-             |                                                                                                                                   |
-            -+-----------------------------------------------------------------------------------------------------------------------------------+-
-             | date('2010-04-15')<date('1991-08-20') | time('02:01')>=time('20:13') | datetime('2010-04-15 20:13')<=datetime('1991-08-20 02:01') |
-            -+---------------------------------------+------------------------------+------------------------------------------------------------+-
-             | false                                 | false                        | false                                                      |
-                                                                                                                                           (1 row)
-
-             ----
-             /{date('2010-04-15')<date('1991-08-20'),time('02:01')>=time('20:13'),datetime('2010-04-15 20:13')<=datetime('1991-08-20 02:01')}
+             |                                                                                                                                        |
+            -+----------------------------------------------------------------------------------------------------------------------------------------+-
+             | date('2010-04-15')<date('1991-08-20') | time('20:03')>=time('20:13:04.5') | datetime('2010-04-15 20:13')<=datetime('1991-08-20 02:01') |
+            -+---------------------------------------+-----------------------------------+------------------------------------------------------------+-
+             | false                                 | false                             | false                                                      |
+                                                                                                                                                (1 row)
+
+             ----
+             /{date('2010-04-15')<date('1991-08-20'),time('20:03')>=time('20:13:04.5'),datetime('2010-04-15 20:13')<=datetime('1991-08-20 02:01')}
              SELECT (CASE WHEN (DATE '2010-04-15' < DATE '1991-08-20') THEN 1 ELSE 0 END),
-                    (CASE WHEN (INTERVAL '02:01:00' HOUR TO SECOND >= INTERVAL '20:13:00' HOUR TO SECOND) THEN 1 ELSE 0 END),
+                    (CASE WHEN (INTERVAL '20:03:00' HOUR TO SECOND >= INTERVAL '20:13:04.500000' HOUR TO SECOND) THEN 1 ELSE 0 END),
                     (CASE WHEN (TIMESTAMP '2010-04-15 20:13:00' <= TIMESTAMP '1991-08-20 02:01:00') THEN 1 ELSE 0 END)
              FROM DUAL "!"
         - uri: /{0<null(), ''>null(), null()>=null()}
                     2.71828D,
                     (- 2.71828D)
              FROM DUAL "!"
-        - uri: /{7920+9504, 7.25+0.875, 120205e-5+57721e-5}
+        - uri: /{7920+9504, 7.25+0.875, 120207e-5+57721e-5}
           status: 200 OK
           headers:
           - [Content-Type, text/plain; charset=UTF-8]
           body: |2
              |                                             |
             -+---------------------------------------------+-
-             | 7920+9504 | 7.25+0.875 | 120205e-5+57721e-5 |
+             | 7920+9504 | 7.25+0.875 | 120207e-5+57721e-5 |
             -+-----------+------------+--------------------+-
-             |     17424 |      8.125 |            1.77926 |
+             |     17424 |      8.125 |            1.77928 |
                                                      (1 row)
 
              ----
-             /{7920+9504,7.25+0.875,120205e-5+57721e-5}
+             /{7920+9504,7.25+0.875,120207e-5+57721e-5}
              SELECT (7920 + 9504),
                     (7.25 + 0.875),
-                    (1.2020500000000001D + 0.57721D)
-             FROM DUAL "!"
-        - uri: /{7920-9504, 7.25-0.875, 120205e-5-57721e-5}
+                    (1.20207D + 0.57721D)
+             FROM DUAL "!"
+        - uri: /{7920-9504, 7.25-0.875, 120207e-5-57721e-5}
           status: 200 OK
           headers:
           - [Content-Type, text/plain; charset=UTF-8]
           body: |2
              |                                             |
             -+---------------------------------------------+-
-             | 7920-9504 | 7.25-0.875 | 120205e-5-57721e-5 |
+             | 7920-9504 | 7.25-0.875 | 120207e-5-57721e-5 |
             -+-----------+------------+--------------------+-
-             |     -1584 |      6.375 |            0.62484 |
+             |     -1584 |      6.375 |            0.62486 |
                                                      (1 row)
 
              ----
-             /{7920-9504,7.25-0.875,120205e-5-57721e-5}
+             /{7920-9504,7.25-0.875,120207e-5-57721e-5}
              SELECT (7920 - 9504),
                     (7.25 - 0.875),
-                    (1.2020500000000001D - 0.57721D)
-             FROM DUAL "!"
-        - uri: /{7920*9504, 7.25*0.875, 120205e-5*57721e-5}
+                    (1.20207D - 0.57721D)
+             FROM DUAL "!"
+        - uri: /{7920*9504, 7.25*0.875, 120207e-5*57721e-5}
           status: 200 OK
           headers:
           - [Content-Type, text/plain; charset=UTF-8]
           body: |2
              |                                             |
             -+---------------------------------------------+-
-             | 7920*9504 | 7.25*0.875 | 120205e-5*57721e-5 |
+             | 7920*9504 | 7.25*0.875 | 120207e-5*57721e-5 |
             -+-----------+------------+--------------------+-
-             |  75271680 |    6.34375 |       0.6938352805 |
+             |  75271680 |    6.34375 |       0.6938468247 |
                                                      (1 row)
 
              ----
-             /{7920*9504,7.25*0.875,120205e-5*57721e-5}
+             /{7920*9504,7.25*0.875,120207e-5*57721e-5}
              SELECT (7920 * 9504),
                     (7.25 * 0.875),
-                    (1.2020500000000001D * 0.57721D)
-             FROM DUAL "!"
-        - uri: /{7920/9504, 7.25/0.875, 120205e-5/57721e-5}
+                    (1.20207D * 0.57721D)
+             FROM DUAL "!"
+        - uri: /{7920/9504, 7.25/0.875, 120207e-5/57721e-5}
           status: 200 OK
           headers:
           - [Content-Type, text/plain; charset=UTF-8]
           body: |2
              |                                                                                                            |
             -+------------------------------------------------------------------------------------------------------------+-
-             | 7920/9504                                  | 7.25/0.875                               | 120205e-5/57721e-5 |
+             | 7920/9504                                  | 7.25/0.875                               | 120207e-5/57721e-5 |
             -+--------------------------------------------+------------------------------------------+--------------------+-
-             | 0.8333333333333333333333333333333333333333 | 8.28571428571428571428571428571428571429 |       2.0825176279 |
+             | 0.8333333333333333333333333333333333333333 | 8.28571428571428571428571428571428571429 |      2.08255227733 |
                                                                                                                     (1 row)
 
              ----
-             /{7920/9504,7.25/0.875,120205e-5/57721e-5}
+             /{7920/9504,7.25/0.875,120207e-5/57721e-5}
              SELECT (7920 / 9504),
                     (7.25 / 0.875),
-                    (1.2020500000000001D / 0.57721D)
+                    (1.20207D / 0.57721D)
              FROM DUAL "!"
         - uri: /{7+2.125, 7+271828e-5, 2.125+271828e-5}
           status: 200 OK
              /{string(date('2010-04-15'))}
              SELECT TO_CHAR(DATE '2010-04-15', 'YYYY-MM-DD')
              FROM DUAL "!"
-        - uri: /{string(time('20:13'))}
+        - uri: /{string(time('20:03'))}
           status: 200 OK
           headers:
           - [Content-Type, text/plain; charset=UTF-8]
           body: |2
              |                    |
             -+--------------------+-
-             | '20:13'            |
+             | '20:03'            |
             -+--------------------+-
-             | 20:13:00.000000000 |
+             | 20:03:00.000000000 |
                             (1 row)
 
              ----
-             /{string(time('20:13'))}
-             SELECT TO_CHAR(TIMESTAMP '2001-01-01 00:00:00' + INTERVAL '20:13:00' HOUR TO SECOND, 'HH24:MI:SS.FF')
+             /{string(time('20:03'))}
+             SELECT TO_CHAR(TIMESTAMP '2001-01-01 00:00:00' + INTERVAL '20:03:00' HOUR TO SECOND, 'HH24:MI:SS.FF')
              FROM DUAL "!"
         - uri: /{string(datetime('2010-04-15 20:13'))}
           status: 200 OK
              FROM DUAL "!"
       - id: time-functions-and-operators
         tests:
-        - uri: /{time(null()), time('20:13')}
+        - uri: /{time(null()), time('20:03')}
           status: 200 OK
           headers:
           - [Content-Type, text/plain; charset=UTF-8]
           body: |2
              |                   |
             -+-------------------+-
-             | null() | '20:13'  |
+             | null() | '20:03'  |
             -+--------+----------+-
-             |        | 20:13:00 |
+             |        | 20:03:00 |
                            (1 row)
 
              ----
-             /{time(null()),time('20:13')}
+             /{time(null()),time('20:03')}
              SELECT NULL,
-                    INTERVAL '20:13:00' HOUR TO SECOND
-             FROM DUAL "!"
-        - uri: /{time(string('20:13:00'))}
+                    INTERVAL '20:03:00' HOUR TO SECOND
+             FROM DUAL "!"
+        - uri: /{time(string('20:03:00'))}
           status: 200 OK
           headers:
           - [Content-Type, text/plain; charset=UTF-8]
           body: |2
              |            |
             -+------------+-
-             | '20:13:00' |
+             | '20:03:00' |
             -+------------+-
-             | 20:13:00   |
+             | 20:03:00   |
                     (1 row)
 
              ----
-             /{time(string('20:13:00'))}
-             SELECT TO_DSINTERVAL('0 ' || '20:13:00')
+             /{time(string('20:03:00'))}
+             SELECT TO_DSINTERVAL('0 ' || '20:03:00')
              FROM DUAL "!"
         - uri: /{time(datetime('2010-04-15 20:13'))}
           status: 200 OK
              /{datetime(2010,3,46,25,-289,124.5)}
              SELECT (TIMESTAMP '2001-01-01 00:00:00' + (2010 - 2001) * INTERVAL '1' YEAR + (3 - 1) * INTERVAL '1' MONTH + (46 - 1) * INTERVAL '1' DAY + 25 * INTERVAL '1' HOUR + (- 289) * INTERVAL '1' MINUTE + 124.5D * INTERVAL '1' SECOND)
              FROM DUAL "!"
-        - uri: /{datetime(date('2010-04-15'),time('20:13'))}
+        - uri: /{datetime(date('2010-04-15'),time('20:03'))}
           status: 200 OK
           headers:
           - [Content-Type, text/plain; charset=UTF-8]
           body: |2
              |                                            |
             -+--------------------------------------------+-
-             | datetime(date('2010-04-15'),time('20:13')) |
+             | datetime(date('2010-04-15'),time('20:03')) |
             -+--------------------------------------------+-
-             | 2010-04-15 20:13:00                        |
+             | 2010-04-15 20:03:00                        |
                                                     (1 row)
 
              ----
-             /{datetime(date('2010-04-15'),time('20:13'))}
-             SELECT (CAST(DATE '2010-04-15' AS TIMESTAMP) + INTERVAL '20:13:00' HOUR TO SECOND)
+             /{datetime(date('2010-04-15'),time('20:03'))}
+             SELECT (CAST(DATE '2010-04-15' AS TIMESTAMP) + INTERVAL '20:03:00' HOUR TO SECOND)
              FROM DUAL "!"
         - uri: /{year(datetime('2010-04-15 20:13:04.5')), month(datetime('2010-04-15
             20:13:04.5')), day(datetime('2010-04-15 20:13:04.5'))}
                     EXTRACT(MINUTE FROM TIMESTAMP '2010-04-15 20:13:04.500000'),
                     (1D * EXTRACT(SECOND FROM TIMESTAMP '2010-04-15 20:13:04.500000'))
              FROM DUAL "!"
-        - uri: /{datetime('1991-08-20 02:01')+6813.7583854166667, datetime('2010-04-15
-            20:13:04.5')-6813.7583854166667}
-          status: 200 OK
-          headers:
-          - [Content-Type, text/plain; charset=UTF-8]
-          body: |2
-             |                                                                                                        |
-            -+--------------------------------------------------------------------------------------------------------+-
-             | datetime('1991-08-20 02:01')+6813.7583854166667 | datetime('2010-04-15 20:13:04.5')-6813.7583854166667 |
-            -+-------------------------------------------------+------------------------------------------------------+-
-             | 2010-04-15 20:13:04.500000                      | 1991-08-20 02:00:59.999999                           |
-                                                                                                                (1 row)
-
-             ----
-             /{datetime('1991-08-20 02:01')+6813.7583854166667,datetime('2010-04-15 20:13:04.5')-6813.7583854166667}
-             SELECT (TIMESTAMP '1991-08-20 02:01:00' + 6813.7583854166669D * INTERVAL '1' DAY),
-                    (TIMESTAMP '2010-04-15 20:13:04.500000' - 6813.7583854166669D * INTERVAL '1' DAY)
+        - uri: /{datetime('1991-08-20 02:01')+6813.75838544, datetime('2010-04-15
+            20:13:04.5')-6813.75838544}
+          status: 200 OK
+          headers:
+          - [Content-Type, text/plain; charset=UTF-8]
+          body: |2
+             |                                                                                              |
+            -+----------------------------------------------------------------------------------------------+-
+             | datetime('1991-08-20 02:01')+6813.75838544 | datetime('2010-04-15 20:13:04.5')-6813.75838544 |
+            -+--------------------------------------------+-------------------------------------------------+-
+             | 2010-04-15 20:13:04.502016                 | 1991-08-20 02:00:59.997984                      |
+                                                                                                      (1 row)
+
+             ----
+             /{datetime('1991-08-20 02:01')+6813.75838544,datetime('2010-04-15 20:13:04.5')-6813.75838544}
+             SELECT (TIMESTAMP '1991-08-20 02:01:00' + 6813.75838544D * INTERVAL '1' DAY),
+                    (TIMESTAMP '2010-04-15 20:13:04.500000' - 6813.75838544D * INTERVAL '1' DAY)
              FROM DUAL "!"
       - id: aggregate-functions
         tests:

test/regress/output/pgsql.yaml

             encode error: invalid date literal: month must be in 1..12:
                 /date('2010-13-07')
                  ^^^^^^^^^^^^^^^^^^
-        - uri: /{time('20:13'), time('20:13:04.5')}
+        - uri: /{time('20:03'), time('20:13:04.5')}
           status: 200 OK
           headers:
           - [Content-Type, text/plain; charset=UTF-8]
           body: |2
              |                            |
             -+----------------------------+-
-             | '20:13'  | '20:13:04.5'    |
+             | '20:03'  | '20:13:04.5'    |
             -+----------+-----------------+-
-             | 20:13:00 | 20:13:04.500000 |
+             | 20:03:00 | 20:13:04.500000 |
                                     (1 row)
 
              ----
-             /{time('20:13'),time('20:13:04.5')}
-             SELECT '20:13:00'::TIME,
+             /{time('20:03'),time('20:13:04.5')}
+             SELECT '20:03:00'::TIME,
                     '20:13:04.500000'::TIME
         - uri: /{time('29:04')}
           status: 400 Bad Request
              SELECT TRUE,
                     (1 = 1),
                     ('HTSQL' = 'HTSQL')
-        - uri: /{date('2010-04-15')=date('2010-04-15'), time('20:13')=time('20:13'),
+        - uri: /{date('2010-04-15')=date('2010-04-15'), time('20:03')=time('20:03'),
             datetime('2010-04-15 20:13')=datetime('2010-04-15 20:13')}
           status: 200 OK
           headers:
           body: |2
              |                                                                                                                                 |
             -+---------------------------------------------------------------------------------------------------------------------------------+-
-             | date('2010-04-15')=date('2010-04-15') | time('20:13')=time('20:13') | datetime('2010-04-15 20:13')=datetime('2010-04-15 20:13') |
+             | date('2010-04-15')=date('2010-04-15') | time('20:03')=time('20:03') | datetime('2010-04-15 20:13')=datetime('2010-04-15 20:13') |
             -+---------------------------------------+-----------------------------+-----------------------------------------------------------+-
              | true                                  | true                        | true                                                      |
                                                                                                                                          (1 row)
 
              ----
-             /{date('2010-04-15')=date('2010-04-15'),time('20:13')=time('20:13'),datetime('2010-04-15 20:13')=datetime('2010-04-15 20:13')}
+             /{date('2010-04-15')=date('2010-04-15'),time('20:03')=time('20:03'),datetime('2010-04-15 20:13')=datetime('2010-04-15 20:13')}
              SELECT ('2010-04-15'::DATE = '2010-04-15'::DATE),
-                    ('20:13:00'::TIME = '20:13:00'::TIME),
+                    ('20:03:00'::TIME = '20:03:00'::TIME),
                     ('2010-04-15 20:13:00'::TIMESTAMP = '2010-04-15 20:13:00'::TIMESTAMP)
         - uri: /{true()!=false(), 1!=0, 'HTSQL'!='PITA'}
           status: 200 OK
              SELECT TRUE,
                     (1 <> 0),
                     ('HTSQL' <> 'PITA')
-        - uri: /{date('2010-04-15')!=date('1991-08-20'), time('20:13')!=time('02:01'),
+        - uri: /{date('2010-04-15')!=date('1991-08-20'), time('20:03')!=time('20:13:04.5'),
             datetime('2010-04-15 20:13')!=datetime('1991-08-20 02:01')}
           status: 200 OK
           headers:
           - [Content-Type, text/plain; charset=UTF-8]
           body: |2
-             |                                                                                                                                    |
-            -+------------------------------------------------------------------------------------------------------------------------------------+-
-             | date('2010-04-15')!=date('1991-08-20') | time('20:13')!=time('02:01') | datetime('2010-04-15 20:13')!=datetime('1991-08-20 02:01') |
-            -+----------------------------------------+------------------------------+------------------------------------------------------------+-
-             | true                                   | true                         | true                                                       |
-                                                                                                                                            (1 row)
-
-             ----
-             /{date('2010-04-15')!=date('1991-08-20'),time('20:13')!=time('02:01'),datetime('2010-04-15 20:13')!=datetime('1991-08-20 02:01')}
+             |                                                                                                                                         |
+            -+-----------------------------------------------------------------------------------------------------------------------------------------+-
+             | date('2010-04-15')!=date('1991-08-20') | time('20:03')!=time('20:13:04.5') | datetime('2010-04-15 20:13')!=datetime('1991-08-20 02:01') |
+            -+----------------------------------------+-----------------------------------+------------------------------------------------------------+-
+             | true                                   | true                              | true                                                       |
+                                                                                                                                                 (1 row)
+
+             ----
+             /{date('2010-04-15')!=date('1991-08-20'),time('20:03')!=time('20:13:04.5'),datetime('2010-04-15 20:13')!=datetime('1991-08-20 02:01')}
              SELECT ('2010-04-15'::DATE <> '1991-08-20'::DATE),
-                    ('20:13:00'::TIME <> '02:01:00'::TIME),
+                    ('20:03:00'::TIME <> '20:13:04.500000'::TIME),
                     ('2010-04-15 20:13:00'::TIMESTAMP <> '1991-08-20 02:01:00'::TIMESTAMP)
         - uri: /{true()!=true(), 1!=1, 'HTSQL'!='HTSQL'}
           status: 200 OK
              SELECT FALSE,
                     (1 <> 1),
                     ('HTSQL' <> 'HTSQL')
-        - uri: /{date('2010-04-15')!=date('2010-04-15'), time('20:13')!=time('20:13'),
+        - uri: /{date('2010-04-15')!=date('2010-04-15'), time('20:03')!=time('20:03'),
             datetime('2010-04-15 20:13')!=datetime('2010-04-15 20:13')}
           status: 200 OK
           headers:
           body: |2
              |                                                                                                                                    |
             -+------------------------------------------------------------------------------------------------------------------------------------+-
-             | date('2010-04-15')!=date('2010-04-15') | time('20:13')!=time('20:13') | datetime('2010-04-15 20:13')!=datetime('2010-04-15 20:13') |
+             | date('2010-04-15')!=date('2010-04-15') | time('20:03')!=time('20:03') | datetime('2010-04-15 20:13')!=datetime('2010-04-15 20:13') |
             -+----------------------------------------+------------------------------+------------------------------------------------------------+-
              | false                                  | false                        | false                                                      |
                                                                                                                                             (1 row)
 
              ----
-             /{date('2010-04-15')!=date('2010-04-15'),time('20:13')!=time('20:13'),datetime('2010-04-15 20:13')!=datetime('2010-04-15 20:13')}
+             /{date('2010-04-15')!=date('2010-04-15'),time('20:03')!=time('20:03'),datetime('2010-04-15 20:13')!=datetime('2010-04-15 20:13')}
              SELECT ('2010-04-15'::DATE <> '2010-04-15'::DATE),
-                    ('20:13:00'::TIME <> '20:13:00'::TIME),
+                    ('20:03:00'::TIME <> '20:03:00'::TIME),
                     ('2010-04-15 20:13:00'::TIMESTAMP <> '2010-04-15 20:13:00'::TIMESTAMP)
         - uri: /{true()=false(), 1=0, 'HTSQL'='PITA'}
           status: 200 OK
              SELECT FALSE,
                     (1 = 0),
                     ('HTSQL' = 'PITA')
-        - uri: /{date('2010-04-15')=date('1991-08-20'), time('20:13')=time('02:01'),
+        - uri: /{date('2010-04-15')=date('1991-08-20'), time('20:03')=time('20:13:04.5'),
             datetime('2010-04-15 20:13')=datetime('1991-08-20 02:01')}
           status: 200 OK
           headers:
           - [Content-Type, text/plain; charset=UTF-8]
           body: |2
-             |                                                                                                                                 |
-            -+---------------------------------------------------------------------------------------------------------------------------------+-
-             | date('2010-04-15')=date('1991-08-20') | time('20:13')=time('02:01') | datetime('2010-04-15 20:13')=datetime('1991-08-20 02:01') |
-            -+---------------------------------------+-----------------------------+-----------------------------------------------------------+-
-             | false                                 | false                       | false                                                     |
-                                                                                                                                         (1 row)
-
-             ----
-             /{date('2010-04-15')=date('1991-08-20'),time('20:13')=time('02:01'),datetime('2010-04-15 20:13')=datetime('1991-08-20 02:01')}
+             |                                                                                                                                      |
+            -+--------------------------------------------------------------------------------------------------------------------------------------+-
+             | date('2010-04-15')=date('1991-08-20') | time('20:03')=time('20:13:04.5') | datetime('2010-04-15 20:13')=datetime('1991-08-20 02:01') |
+            -+---------------------------------------+----------------------------------+-----------------------------------------------------------+-
+             | false                                 | false                            | false                                                     |
+                                                                                                                                              (1 row)
+
+             ----
+             /{date('2010-04-15')=date('1991-08-20'),time('20:03')=time('20:13:04.5'),datetime('2010-04-15 20:13')=datetime('1991-08-20 02:01')}
              SELECT ('2010-04-15'::DATE = '1991-08-20'::DATE),
-                    ('20:13:00'::TIME = '02:01:00'::TIME),
+                    ('20:03:00'::TIME = '20:13:04.500000'::TIME),
                     ('2010-04-15 20:13:00'::TIMESTAMP = '1991-08-20 02:01:00'::TIMESTAMP)
         - uri: /{5={2,3,5,7}, 'HTSQL'!={'ISBL','SQUARE','QUEL'}}
           status: 200 OK
              SELECT (1 < 10),
                     (7.0::NUMERIC <= 7.0::NUMERIC),
                     ('omega' > 'alpha')
-        - uri: /{date('2010-04-15')>=date('1991-08-20'), time('02:01')<time('20:13'),
+        - uri: /{date('2010-04-15')>=date('1991-08-20'), time('20:03')<time('20:13:04.5'),
             datetime('2010-04-15 20:13')>datetime('1991-08-20 02:01')}
           status: 200 OK
           headers:
           - [Content-Type, text/plain; charset=UTF-8]
           body: |2
-             |                                                                                                                                  |
-            -+----------------------------------------------------------------------------------------------------------------------------------+-
-             | date('2010-04-15')>=date('1991-08-20') | time('02:01')<time('20:13') | datetime('2010-04-15 20:13')>datetime('1991-08-20 02:01') |
-            -+----------------------------------------+-----------------------------+-----------------------------------------------------------+-
-             | true                                   | true                        | true                                                      |
-                                                                                                                                          (1 row)
-
-             ----
-             /{date('2010-04-15')>=date('1991-08-20'),time('02:01')<time('20:13'),datetime('2010-04-15 20:13')>datetime('1991-08-20 02:01')}
+             |                                                                                                                                       |
+            -+---------------------------------------------------------------------------------------------------------------------------------------+-
+             | date('2010-04-15')>=date('1991-08-20') | time('20:03')<time('20:13:04.5') | datetime('2010-04-15 20:13')>datetime('1991-08-20 02:01') |
+            -+----------------------------------------+----------------------------------+-----------------------------------------------------------+-
+             | true                                   | true                             | true                                                      |
+                                                                                                                                               (1 row)
+
+             ----
+             /{date('2010-04-15')>=date('1991-08-20'),time('20:03')<time('20:13:04.5'),datetime('2010-04-15 20:13')>datetime('1991-08-20 02:01')}
              SELECT ('2010-04-15'::DATE >= '1991-08-20'::DATE),
-                    ('02:01:00'::TIME < '20:13:00'::TIME),
+                    ('20:03:00'::TIME < '20:13:04.500000'::TIME),
                     ('2010-04-15 20:13:00'::TIMESTAMP > '1991-08-20 02:01:00'::TIMESTAMP)
         - uri: /{1>=10, 7.0>7.0, 'omega'<='alpha'}
           status: 200 OK
              SELECT (1 >= 10),
                     (7.0::NUMERIC > 7.0::NUMERIC),
                     ('omega' <= 'alpha')
-        - uri: /{date('2010-04-15')<date('1991-08-20'), time('02:01')>=time('20:13'),
+        - uri: /{date('2010-04-15')<date('1991-08-20'), time('20:03')>=time('20:13:04.5'),
             datetime('2010-04-15 20:13')<=datetime('1991-08-20 02:01')}
           status: 200 OK
           headers:
           - [Content-Type, text/plain; charset=UTF-8]
           body: |2
-             |                                                                                                                                   |
-            -+-----------------------------------------------------------------------------------------------------------------------------------+-
-             | date('2010-04-15')<date('1991-08-20') | time('02:01')>=time('20:13') | datetime('2010-04-15 20:13')<=datetime('1991-08-20 02:01') |
-            -+---------------------------------------+------------------------------+------------------------------------------------------------+-
-             | false                                 | false                        | false                                                      |
-                                                                                                                                           (1 row)
-
-             ----
-             /{date('2010-04-15')<date('1991-08-20'),time('02:01')>=time('20:13'),datetime('2010-04-15 20:13')<=datetime('1991-08-20 02:01')}
+             |                                                                                                                                        |
+            -+----------------------------------------------------------------------------------------------------------------------------------------+-
+             | date('2010-04-15')<date('1991-08-20') | time('20:03')>=time('20:13:04.5') | datetime('2010-04-15 20:13')<=datetime('1991-08-20 02:01') |
+            -+---------------------------------------+-----------------------------------+------------------------------------------------------------+-
+             | false                                 | false                             | false                                                      |
+                                                                                                                                                (1 row)
+
+             ----
+             /{date('2010-04-15')<date('1991-08-20'),time('20:03')>=time('20:13:04.5'),datetime('2010-04-15 20:13')<=datetime('1991-08-20 02:01')}
              SELECT ('2010-04-15'::DATE < '1991-08-20'::DATE),
-                    ('02:01:00'::TIME >= '20:13:00'::TIME),
+                    ('20:03:00'::TIME >= '20:13:04.500000'::TIME),
                     ('2010-04-15 20:13:00'::TIMESTAMP <= '1991-08-20 02:01:00'::TIMESTAMP)
         - uri: /{0<null(), ''>null(), null()>=null()}
           status: 200 OK
                     (- 2.125::NUMERIC),
                     2.71828::FLOAT8,
                     (- 2.71828::FLOAT8)
-        - uri: /{7920+9504, 7.25+0.875, 120205e-5+57721e-5}
+        - uri: /{7920+9504, 7.25+0.875, 120207e-5+57721e-5}
           status: 200 OK
           headers:
           - [Content-Type, text/plain; charset=UTF-8]
           body: |2
              |                                             |
             -+---------------------------------------------+-
-             | 7920+9504 | 7.25+0.875 | 120205e-5+57721e-5 |
+             | 7920+9504 | 7.25+0.875 | 120207e-5+57721e-5 |
             -+-----------+------------+--------------------+-
-             |     17424 |      8.125 |            1.77926 |
+             |     17424 |      8.125 |            1.77928 |
                                                      (1 row)
 
              ----
-             /{7920+9504,7.25+0.875,120205e-5+57721e-5}
+             /{7920+9504,7.25+0.875,120207e-5+57721e-5}
              SELECT (7920 + 9504),
                     (7.25::NUMERIC + 0.875::NUMERIC),
-                    (1.2020500000000001::FLOAT8 + 0.57721::FLOAT8)
-        - uri: /{7920-9504, 7.25-0.875, 120205e-5-57721e-5}
+                    (1.20207::FLOAT8 + 0.57721::FLOAT8)
+        - uri: /{7920-9504, 7.25-0.875, 120207e-5-57721e-5}
           status: 200 OK
           headers:
           - [Content-Type, text/plain; charset=UTF-8]
           body: |2
              |                                             |
             -+---------------------------------------------+-
-             | 7920-9504 | 7.25-0.875 | 120205e-5-57721e-5 |
+             | 7920-9504 | 7.25-0.875 | 120207e-5-57721e-5 |
             -+-----------+------------+--------------------+-
-             |     -1584 |      6.375 |            0.62484 |
+             |     -1584 |      6.375 |            0.62486 |
                                                      (1 row)
 
              ----
-             /{7920-9504,7.25-0.875,120205e-5-57721e-5}
+             /{7920-9504,7.25-0.875,120207e-5-57721e-5}
              SELECT (7920 - 9504),
                     (7.25::NUMERIC - 0.875::NUMERIC),
-                    (1.2020500000000001::FLOAT8 - 0.57721::FLOAT8)
-        - uri: /{7920*9504, 7.25*0.875, 120205e-5*57721e-5}
+                    (1.20207::FLOAT8 - 0.57721::FLOAT8)
+        - uri: /{7920*9504, 7.25*0.875, 120207e-5*57721e-5}
           status: 200 OK
           headers:
           - [Content-Type, text/plain; charset=UTF-8]
           body: |2
              |                                             |
             -+---------------------------------------------+-
-             | 7920*9504 | 7.25*0.875 | 120205e-5*57721e-5 |
+             | 7920*9504 | 7.25*0.875 | 120207e-5*57721e-5 |
             -+-----------+------------+--------------------+-
-             |  75271680 |    6.34375 |       0.6938352805 |
+             |  75271680 |    6.34375 |       0.6938468247 |
                                                      (1 row)
 
              ----
-             /{7920*9504,7.25*0.875,120205e-5*57721e-5}
+             /{7920*9504,7.25*0.875,120207e-5*57721e-5}
              SELECT (7920 * 9504),
                     (7.25::NUMERIC * 0.875::NUMERIC),
-                    (1.2020500000000001::FLOAT8 * 0.57721::FLOAT8)
-        - uri: /{7920/9504, 7.25/0.875, 120205e-5/57721e-5}
+                    (1.20207::FLOAT8 * 0.57721::FLOAT8)
+        - uri: /{7920/9504, 7.25/0.875, 120207e-5/57721e-5}
           status: 200 OK
           headers:
           - [Content-Type, text/plain; charset=UTF-8]
           body: |2
              |                                                                  |
             -+------------------------------------------------------------------+-
-             | 7920/9504              | 7.25/0.875         | 120205e-5/57721e-5 |
+             | 7920/9504              | 7.25/0.875         | 120207e-5/57721e-5 |
             -+------------------------+--------------------+--------------------+-
-             | 0.83333333333333333333 | 8.2857142857142857 |       2.0825176279 |
+             | 0.83333333333333333333 | 8.2857142857142857 |      2.08255227733 |
                                                                           (1 row)
 
              ----
-             /{7920/9504,7.25/0.875,120205e-5/57721e-5}
+             /{7920/9504,7.25/0.875,120207e-5/57721e-5}
              SELECT (7920::NUMERIC / 9504::NUMERIC),
                     (7.25::NUMERIC / 0.875::NUMERIC),
-                    (1.2020500000000001::FLOAT8 / 0.57721::FLOAT8)
+                    (1.20207::FLOAT8 / 0.57721::FLOAT8)
         - uri: /{7+2.125, 7+271828e-5, 2.125+271828e-5}
           status: 200 OK
           headers:
              ----
              /{string(date('2010-04-15'))}
              SELECT CAST('2010-04-15'::DATE AS TEXT)
-        - uri: /{string(time('20:13'))}
+        - uri: /{string(time('20:03'))}
           status: 200 OK
           headers:
           - [Content-Type, text/plain; charset=UTF-8]
           body: |2
              |          |
             -+----------+-
-             | '20:13'  |
+             | '20:03'  |
             -+----------+-
-             | 20:13:00 |
+             | 20:03:00 |
                   (1 row)
 
              ----
-             /{string(time('20:13'))}
-             SELECT CAST('20:13:00'::TIME AS TEXT)
+             /{string(time('20:03'))}
+             SELECT CAST('20:03:00'::TIME AS TEXT)
         - uri: /{string(datetime('2010-04-15 20:13'))}
           status: 200 OK
           headers:
                     ('2010-04-15'::DATE - '1991-08-20'::DATE)
       - id: time-functions-and-operators
         tests:
-        - uri: /{time(null()), time('20:13')}
+        - uri: /{time(null()), time('20:03')}
           status: 200 OK
           headers:
           - [Content-Type, text/plain; charset=UTF-8]
           body: |2
              |                   |
             -+-------------------+-
-             | null() | '20:13'  |
+             | null() | '20:03'  |
             -+--------+----------+-
-             |        | 20:13:00 |
+             |        | 20:03:00 |
                            (1 row)
 
              ----
-             /{time(null()),time('20:13')}
+             /{time(null()),time('20:03')}
              SELECT NULL,
-                    '20:13:00'::TIME
-        - uri: /{time(string('20:13'))}
+                    '20:03:00'::TIME
+        - uri: /{time(string('20:03'))}
           status: 200 OK
           headers:
           - [Content-Type, text/plain; charset=UTF-8]
           body: |2
              |          |
             -+----------+-
-             | '20:13'  |