a final question: why does this syntax do a seq scan + filter: select * from tablea where fielda = fielda -or- select * from tablea where fielda in (fielda) while this syntax results in no filter, seq scan only select * from tablea where 1 = 1 it seems that both where clauses should be ignored by the optimizer- or am i missing something On Feb 19, 2008 9:45 PM, Tom Lane <tgl@xxxxxxxxxxxxx> wrote: > "Postgres User" <postgres.developer@xxxxxxxxx> writes: > > Yes that works, but the whole point of the exercise is replace many OR > > statements with 1 regex expression. So it's not what I'm looking for. > > Unfortunately, Postgres is not as intelligent as you are. There is > no mechanism to rewrite a multi-branch regex condition into multiple > indexscans. I recommend going back to the OR's. > > regards, tom lane > ---------------------------(end of broadcast)--------------------------- TIP 3: Have you checked our extensive FAQ? http://www.postgresql.org/docs/faq