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;
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 |