On Mon, Sep 26, 2011 at 11:40 AM, Robert Haas <robertmh...@gmail.com> wrote:
> To check my work, I did this:
>
> --- a/src/backend/executor/execQual.c
> +++ b/src/backend/executor/execQual.c
> @@ -5003,6 +5003,7 @@ ExecQual(List *qual, ExprContext *econtext, bool
> resultForNull)
>                Datum           expr_value;
>                bool            isNull;
>
> +               Assert(!IsA(clause, List));
>                expr_value = ExecEvalExpr(clause, econtext, &isNull, NULL);
>
>                if (isNull)
>
> And in fact the test case (when run against the unlogged tables) fails
> that assertion:
>
> TRAP: FailedAssertion("!(!((((Node*)(clause))->type) == T_List))",
> File: "execQual.c", Line: 5006)
>
> Now I'm not too sure why that is happening yet, but I'm leaning toward
> the idea that the bug here is timing-related and that unlogged tables
> aren't the cause, but rather just make it easier to hit whatever the
> race condition is by removing some overhead.

I cannot reproduce this on commit
e6faf910d75027bdce7cd0f2033db4e912592bcc.  But on the very next commit
I can:

commit e6faf910d75027bdce7cd0f2033db4e912592bcc
Author: Tom Lane <t...@sss.pgh.pa.us>
Date:   Fri Sep 16 00:42:53 2011 -0400

    Redesign the plancache mechanism for more flexibility and efficiency.

Tom, any thoughts?

-- 
Robert Haas
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company

-- 
Sent via pgsql-bugs mailing list (pgsql-bugs@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-bugs

Reply via email to