Thread: BUG #9737: Trigram Regex degenerate case
The following bug has been logged on the website: Bug reference: 9737 Logged by: Ka Chun Leung Email address: kochismo@gmail.com PostgreSQL version: 9.3.4 Operating system: Ubuntu Lucid Description: Trigram regexes don't seem to handle ranges well. Without ranges my query runs fine: explain analyse select * from foos where foo::text ~ 'abc.+def' Bitmap Heap Scan on foos (cost=23032.42..25164.29 rows=571 width=56) (actual time=57.996..62.183 rows=43 loops=1) Recheck Cond: ((foo)::text ~ 'abc.+def'::text) Rows Removed by Index Recheck: 953 -> Bitmap Index Scan on idx_foos_foo_trgm_gin (cost=0.00..23032.28 rows=571 width=0) (actual time=57.741..57.741 rows=996 loops=1) Index Cond: ((foo)::text ~ 'abc.+def'::text) Total runtime: 62.211 ms With ranges: explain analyse select * from foos where foo::text ~ 'abc[0-9]+def' Bitmap Heap Scan on foos (cost=27588.42..29720.29 rows=571 width=56) (actual time=7844.767..7844.993 rows=3 loops=1) Recheck Cond: ((foo)::text ~ 'abc[0-9]+def'::text) Rows Removed by Index Recheck: 35 -> Bitmap Index Scan on idx_foos_foo_trgm_gin (cost=0.00..27588.28 rows=571 width=0) (actual time=7844.510..7844.510 rows=38 loops=1) Index Cond: ((foo)::text ~ 'abc[0-9]+def'::text) Total runtime: 7845.039 ms