>
> Also, I checked through the example given by the Russian contributor:
>
> create table t0 (a_id int4 not null, a varchar, a_t1_id int4);
> insert into t0 values (1, 'at0', 0);
> insert into t0 values (2, 'at0', 0);
> create index a_id_t0 on t0 (a_id);
> create index a_t1_id_t0 on t0 (a_t1_id);
> select * from t0 where (a_id = 1 or a_id = 2) and a_t1_id < 1;
>
> This is crashing in optimizer/util/ordering.c at line 57 trying to
> compute path_ordering1->ord.merge->left_operator because the merge
> field in ord is NULL. No suggestions; this is deeper in the guts
> than I'm qualified to hack just now. ;-)
OK, fixed. There were cases where the ordtype was defaulting to
MERGE_ORDER, while it should have been SORTOP_ORDER. Hence, the
mergejoin fields where being reference when they should not have been.
Your supplied query now works.
--
Bruce Momjian | 830 Blythe Avenue
maillist@candle.pha.pa.us | Drexel Hill, Pennsylvania 19026
http://www.op.net/~candle | (610) 353-9879(w)
+ If your life is a hard drive, | (610) 853-3000(h)
+ Christ can be your backup. |