Hi. Tom Lane wrote: > "Tashuhito Kasahara" <[EMAIL PROTECTED]> writes: >> test=# EXPLAIN SELECT * FROM test WHERE t < '2008-05-14 >> 23:55:00'::text::timestamp; >> QUERY PLAN >> ---------------------------------------------------------------------------- > >> Seq Scan on test (cost=0.00..2209.00 rows=32133 width=12) <- too little >> number of the estimates >> Filter: (t < ('2008-05-14 23:55:00'::text)::timestamp without time zone) >> (2 rows) > > Hmm ... as of 8.3 this will generate a CoerceViaIO node, and it looks > like I forgot to teach eval_const_expressions how to simplify those. Relevant issues ocurred on PostgreSQL versions 7.4 also.
8.2, 8.1 and 8.0 seemed to be accurate estimates on simple test. ============= 7.4 test=# EXPLAIN ANALYZE SELECT * FROM test WHERE id < '2008-5-14 00:01:00'::text::timestamp; QUERY PLAN ----------------------------------------------------------------------------------------------------- Seq Scan on test (cost=0.00..224.98 rows=3667 width=8) (actual time=0.026..30.987 rows=60 loops=1) Filter: (id < ('2008-5-14 00:01:00'::text)::timestamp without time zone) Total runtime: 31.074 ms (3 rows) ============= 8.2 test=# EXPLAIN ANALYZE SELECT * FROM test WHERE id < '2008-5-14 00:01:00'::text::timestamp; QUERY PLAN --------------------------------------------------------------------------------------------------- Seq Scan on test (cost=0.00..224.98 rows=55 width=8) (actual time=0.043..13.896 rows=60 loops=1) Filter: (id < ('2008-5-14 00:01:00'::text)::timestamp without time zone) Total runtime: 13.951 ms (3 rows) ============= 8.1 test=# EXPLAIN ANALYZE SELECT * FROM test WHERE id < '2008-5-14 00:01:00'::text::timestamp; QUERY PLAN --------------------------------------------------------------------------------------------------- Seq Scan on test (cost=0.00..224.98 rows=60 width=8) (actual time=0.034..15.409 rows=60 loops=1) Filter: (id < ('2008-5-14 00:01:00'::text)::timestamp without time zone) Total runtime: 15.464 ms (3 rows) ============= 8.0 test=# EXPLAIN ANALYZE SELECT * FROM test WHERE id < '2008-5-14 00:01:00'::text::timestamp; QUERY PLAN --------------------------------------------------------------------------------------------------- Seq Scan on test (cost=0.00..224.98 rows=63 width=8) (actual time=0.041..18.645 rows=60 loops=1) Filter: (id < ('2008-5-14 00:01:00'::text)::timestamp without time zone) Total runtime: 18.706 ms (3 rows) ============= Best regards. -- Tatsuhito Kasahara [EMAIL PROTECTED] -- Sent via pgsql-bugs mailing list (pgsql-bugs@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-bugs