It looks like there are still some problems with this patch. CREATE TABLE foo(ir int4range); insert into foo select 'empty' from generate_series(1,10000); insert into foo select int4range(NULL, g, '(]') from generate_series(1,1000000) g; insert into foo select int4range(g, NULL, '[)') from generate_series(1,1000000) g; insert into foo select int4range(g, ((g*1.01)+10)::int4, '[]') from generate_series(1,1000000) g; CREATE TABLE bar(ir) AS select * from foo order by random(); ANALYZE bar;
Now: EXPLAIN ANALYZE SELECT * FROM bar WHERE ir @> int4range(10000,20000); The estimates are "-nan". Similar for many other queries. And I have a few other questions/comments: * Why is "summ" spelled with two "m"s? Is it short for "summation"? If so, might be good to use "summation of" instead of "integrate" in the comment. * Why does get_length_hist_frac return 0.0 when i is the last value? Is that a mistake? * I am still confused by the distinction between rbound_bsearch and rbound_bsearch_bin. What is the intuitive purpose of each? * You use "constant value" in the comments in several places. Would "query value" or "search key" be better? Regards, Jeff Davis -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers