From: Tom Lane [mailto:t...@sss.pgh.pa.us] 
Sent: Saturday, August 04, 2012 1:48 AM
Amit Kapila <amit.kap...@huawei.com> writes:
> select (interval '56:48'  minute to second);
> result:00:56:48
> select (interval '-56:48'  minute to second);
> result:-56:48:00
> select (interval '+56:48'  minute to second);
> result:56:48:00

> I have checked the code and found that in function DecodeInterval(), for
> timezone case (DTK_TZ) it uses INTERVAL_FULL_RANGE irrespective of range
> passed by user.

> However if use the range passed as argument in function DecodeInterval(),
> the result of using ‘+’ or ‘-‘ is same as
without using it.

> Is there any particular reason for ignoring the range for DTK_TZ case in
> DecodeInterval() function?

> I think you are right; this if-block should be exactly like the DTK_TIME
> case except for handling the prepended sign.  That also raises the
> question why it is changing the tmask value returned by DecodeTime.
> It seems to be doing exactly the wrong thing there.  Test case:

> regression=# select (interval '56:48 56:48'  );
> ERROR:  invalid input syntax for type interval: "56:48 56:48"
> LINE 1: select (interval '56:48 56:48'  );
                         ^
> regression=# select (interval '56:48 +56:48'  );
>  interval 
> ----------
> 56:48:00
> (1 row)

> The second one fails to fail because an inappropriate tmask value got
>included into fmask.

Yes, this is right that tmask need not be changed, also one more thing I
have noticed that
in file Interval.c also there is a function DecodeInterval() which is
currently little different
from DecodeInterval() in datetime.c for DTK_TZ case.
For example Assert check is commented.
Why the Assert check is commented out there?    
May be due to some defect, but I am not able to think the reason for same.

Shouldn't we make this change (don't change tmask in case of DTK_TZ) in
Interval.c?

>Will fix.

Thank you very much.

With Regards,
Amit Kapila.


-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

Reply via email to