Thread: crash on new system views

crash on new system views

From
Bruce Momjian
Date:
This query crashes the backend.  pg_rules is a new system view:

    BEGIN WORK;
    DECLARE c_matches BINARY CURSOR FOR
    SELECT  count(*)
    FROM    pg_attrdef t1, pg_rules t2
    WHERE   t1.adrelid = t2.oid
    END WORK;

Partial backtrace is below.  It is crashing in the optimizer.

---------------------------------------------------------------------------


#0  0x80e8a5b in datumIsEqual (value1=0, value2=0, type=26, byVal=0, len=4)
    at datum.c:216
#1  0x809d8fe in _equalConst (a=0x82daf10, b=0x82e2dd0) at equalfuncs.c:213
#2  0x809e7b7 in equal (a=0x82daf10, b=0x82e2dd0) at equalfuncs.c:668
#3  0x809e909 in equal (a=0x82e3490, b=0x82e3930) at equalfuncs.c:738
#4  0x809d634 in _equalExpr (a=0x82e2550, b=0x82e2d10) at equalfuncs.c:88
#5  0x809e737 in equal (a=0x82e2550, b=0x82e2d10) at equalfuncs.c:644
#6  0x809dab6 in _equalClauseInfo (a=0x82e2710, b=0x82e2cd0)
    at equalfuncs.c:289
#7  0x809e7e7 in equal (a=0x82e2710, b=0x82e2cd0) at equalfuncs.c:677
#8  0x809b52a in member (l1=0x82e2cd0, l2=0x82e38f0) at list.c:371
#9  0x809b692 in set_difference (l1=0x82e3970, l2=0x82e38f0) at list.c:476
#10 0x80b0c23 in create_index_path (root=0x82e1290, rel=0x82e1490,
    index=0x82e1a90, restriction_clauses=0x82e38f0, is_join_scan=0 '\000')
    at pathnode.c:274
#11 0x80a7778 in create_index_paths (root=0x82e1290, rel=0x82e1490,
    index=0x82e1a90, clausegroup_list=0x82e3910, join=0 '\000')
    at indxpath.c:1381
#12 0x80a65b5 in find_index_paths (root=0x82e1290, rel=0x82e1490,
    indices=0x82e38d0, clauseinfo_list=0x82e36f0, joininfo_list=0x0)
    at indxpath.c:155
#13 0x80a55cb in find_rel_paths (root=0x82e1290, rels=0x82e3750)
    at allpaths.c:124

--
Bruce Momjian                          |  830 Blythe Avenue
maillist@candle.pha.pa.us              |  Drexel Hill, Pennsylvania 19026
  +  If your life is a hard drive,     |  (610) 353-9879(w)
  +  Christ can be your backup.        |  (610) 853-3000(h)