在编写接受来自用户的tsrange文字的程序,然后插入各种SQL查询的过程中,今天我正在测试一些tsrange以了解它们是如何被PostgreSQL 9.3.5解释的。PostgreSQL tsrange:它是正确的lower_inf('( - 无穷,今天)':: tsrange)为假?
这其中,尤其是行为异常: '(-infinity今天)' :: tsrange
的lower_inf功能说下界是不是无限
test=> SELECT lower_inf('(-infinity,today)'::tsrange);
lower_inf
-----------
f
(1 row)
然而,PostgreSQL的(!)报告这个tsrange包含一个像'1000-01-01 BC'这样的时间戳。 。 。
test=> SELECT '(-infinity,today)'::tsrange @> '1000-01-01 BC'::timestamp;
?column?
----------
t
(1 row)
任何人都可以阐明这一点吗?
看起来很可疑的bug报告证明给我。 – 2014-11-24 12:22:36
@CraigRinger:起初我也这么认为。但事实证明,这是有记录的。更像是一个不幸的双重使用术语“无穷大”。 – 2014-11-24 15:29:54