Simple select give wrong result when it uses the Bitmap Heap Scan path.

postgres=# CREATE OR REPLACE FUNCTION my_exec_im_test_func(i integer)
RETURNS integer AS $$
        BEGIN
                RETURN i + 1;
        END;
$$ LANGUAGE plpgsql;
CREATE FUNCTION

postgres=# set enable_seqscan=off;
SET
postgres=# set enable_indexscan=off;
SET
postgres=# select proname from pg_proc where proname like 'my_pro1';
       proname
----------------------
 my_exec_im_test_proc
(1 row)

postgres=# explain select proname from pg_proc where proname like 'my_pro1';
                                         QUERY
PLAN

--------------------------------------------------------------------------------
-------------
 Bitmap Heap Scan on pg_proc  (cost=4.26..8.27 rows=1 width=64)
   Recheck Cond: (proname ~~ 'my_pro1'::text)
   ->  Bitmap Index Scan on pg_proc_proname_args_nsp_index  (cost=0.00..4.26
row
s=1 width=0)
         Index Cond: ((proname >= 'my'::name) AND (proname < 'mz'::name))
(4 rows)




-- 
Rushabh Lathia

www.EnterpriseDB.com

Reply via email to