On Fri, Sep 02, 2005 at 10:31:45AM -0400, Tom Lane wrote:
> Hannu Krosing <[EMAIL PROTECTED]> writes:
> > If I get a plan like this, what will actually be performed if EXPLAIN
> > shows this:
> 
> >  Sort  (cost=12.90..12.91 rows=1 width=207)
> >    Sort Key: log_actionseq
> >    ->  Index Scan using sl_log_1_idx2_hu, sl_log_1_idx2_hu,
> > sl_log_1_idx2_hu, sl_log_1_idx2_hu on sl_log_1  (cost=0.00..12.89 rows=1
> > width=207)
> >          Index Cond: (
> >    ((log_xid < '1349053093') AND (log_xid >= '1349052761')) 
> > OR ((log_xid < '1349053093') AND (log_xid >= '1349052761')) 
> > OR ((log_xid < '1349053093') AND (log_xid >= '1349052761')) 
> > OR ((log_xid < '1349053093') AND (log_xid >= '1349052761'))
> >                      )
> 
> > Will the same range be scanned 4 times ?
> 
> Yes.  However, I don't understand how you got that result; AFAIK the
> planner should have eliminated the duplicate subclauses.

Maybe it has to do with the xxid datatype Slony-I adds; maybe it's
missing some operator or property.

I wonder why we don't support more operators on Xid, so these things are
avoided?  Right now we only have =, AFAIR.

-- 
Alvaro Herrera -- Valdivia, Chile         Architect, www.EnterpriseDB.com
"Hay quien adquiere la mala costumbre de ser infeliz" (M. A. Evans)

---------------------------(end of broadcast)---------------------------
TIP 9: In versions below 8.0, the planner will ignore your desire to
       choose an index scan if your joining column's datatypes do not
       match

Reply via email to