given the following example:
postgres=# create table t2 as select generate_series(1, 100000) as a,
 generate_series(1, 100000) as b;
SELECT 100000
postgres=# create index t2_idx on t2(a);
CREATE INDEX
postgres=# set enable_seqscan = 0;
SET
postgres=# select * from t2 where a in (1, 100000);
   a    |   b
--------+--------
      1 |      1
 100000 | 100000
(2 rows)


I can see the plan stores the "1 and 100000" information in
IndexScan->indexqual, which is an SCALARARRAYOPEXPR expression.

suppose the executor  should scan 1 first,  If all the tuples for 1 has
been scanned,  then **it should be reset to 100000**  and scan again.
 however I can't find out the code for that.  looks index_rescan is not for
this.   am I miss something?

thanks

Reply via email to