Re: Unruly rules - Mailing list pgsql-hackers

From Peter Eisentraut
Subject Re: Unruly rules
Date
Msg-id Pine.LNX.4.21.0010012024540.1031-100000@peter.localdomain
Whole thread Raw
In response to Re: Unruly rules  (Tom Lane <tgl@sss.pgh.pa.us>)
Responses Re: Unruly rules
Re: Unruly rules
List pgsql-hackers
Tom Lane writes:

> > The "rule" regression test gets stuck in an infinite loop in
> > optimizer/prep/prepunion.c:find_inheritable_rt_entry.

> ??  it all passes here ... platform dependency maybe?  Or perhaps you
> just need a make clean and rebuild?  I did a fair amount of struct-
> declaration-rearrangement...

Actually, it's still there (even after OS upgrade :).  The "misc" and
"sanity_check" failures were due to some test ordering problems, but the
"rules" still hang.

The backend process hangs in this loop:

| bool find_inheritable_rt_entry(List *rangetable,
|                                Index *rt_index,
|                                List **inheritors) {
|     Index count = 0;
|     List *temp;
| 
|     foreach(temp, rangetable)
|     {
|         RangeTblEntry *rt_entry = (RangeTblEntry *) lfirst(temp);
|         List *inhs;
| 
|         count++;
|         /* Ignore non-inheritable RT entries */
|         if (! rt_entry->inh)
|             continue;

Somewhere a list pointer needs to be advanced there.

This happens at the query:

DEBUG:  query: insert into shoelace_ok select * from shoelace_arrive;



pgsql-hackers by date:

Previous
From: Stephan Szabo
Date:
Subject: Re: Solution for RI permission problem
Next
From: "Dominic J. Eidson"
Date:
Subject: On the subject of yacc...