Re: Backend assertion failure on \d

From: Heikki Linnakangas <heikki(dot)linnakangas(at)enterprisedb(dot)com>
To: Alan Li <alanwli(at)gmail(dot)com>
Cc: pgsql-hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: Backend assertion failure on \d
Date: 2009-02-25 13:44:21
Message-ID: 49A54B35.7070008@enterprisedb.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Alan Li wrote:
> Running the following against HEAD and REL8_3_6:

Same problem exists in 8.2 and 8.1 as well. The code in ruleutils.c is
similar in 8.0 as well, except that the Assertion isn't there.

> create table foo (a varchar(500));
> create view bar as select case foo.a when '1' then 'foo' else 'bar' end as
> fa from foo;
> \d bar
>
> Causes as assertion in the backend:
>
> TRAP: FailedAssertion("!(((((Node*)(((list_head(((OpExpr *)
> w)->args))->data.ptr_value)))->type) == T_CaseTestExpr) ||
> ((((Node*)(((list_head(((OpExpr *) w)->args))->data.ptr_value)))->type) ==
> T_Const))", File: "ruleutils.c", Line: 4587
> )
> LOG: server process (PID 28408) was terminated by signal 6: Aborted
>
> Attached is a simple patch that appears to fix this problem, not sure if it
> suffices in general.

Looks good to me, at least.

--
Heikki Linnakangas
EnterpriseDB http://www.enterprisedb.com

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Greg Stark 2009-02-25 14:04:11 Re: Service not starting: Error 1053
Previous Message Magnus Hagander 2009-02-25 13:43:34 Re: Service not starting: Error 1053