Обсуждение: pgsql: Fix make_restrictinfo_from_bitmapqual() to preserve AND/OR

Поиск
Список
Период
Сортировка

pgsql: Fix make_restrictinfo_from_bitmapqual() to preserve AND/OR

От
tgl@postgresql.org (Tom Lane)
Дата:
Log Message:
-----------
Fix make_restrictinfo_from_bitmapqual() to preserve AND/OR flatness of its
output, ie, no OR immediately below an OR.  Otherwise we get Asserts or
wrong answers for cases such as
    select * from tenk1 a, tenk1 b
    where (a.ten = b.ten and (a.unique1 = 100 or a.unique1 = 101))
       or (a.hundred = b.hundred and a.unique1 = 42);
Per report from Rafael Martinez Guerrero.

Modified Files:
--------------
    pgsql/src/backend/optimizer/util:
        restrictinfo.c (r1.46 -> r1.47)

(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/optimizer/util/restrictinfo.c.diff?r1=1.46&r2=1.47)