Re: Unruly rules

From: Peter Eisentraut <peter_e(at)gmx(dot)net>
To: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: PostgreSQL Development <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: Unruly rules
Date: 2000-10-01 18:35:43
Message-ID: Pine.LNX.4.21.0010012024540.1031-100000@peter.localdomain
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: 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;

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Dominic J. Eidson 2000-10-01 20:24:50 On the subject of yacc...
Previous Message Stephan Szabo 2000-10-01 18:28:55 Re: Solution for RI permission problem