Re: MERGE Specification

From: Heikki Linnakangas <heikki(dot)linnakangas(at)enterprisedb(dot)com>
To: Boxuan Zhai <bxzhai2010(at)gmail(dot)com>
Cc: pgsql-hackers(at)postgresql(dot)org
Subject: Re: MERGE Specification
Date: 2010-08-10 14:29:18
Message-ID: 4C61623E.2050709@enterprisedb.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On 10/08/10 12:08, Boxuan Zhai wrote:
> Thanks for your feedback. I fixed all the above waring bugs. Find the new
> patch in attachement.

Thanks.

I'm getting an assertion failure with this statement:

CREATE TABLE foo (id int4);

MERGE into foo t
USING (select id FROM generate_series(1,5) id) AS s
ON t.id = s.id
WHEN NOT MATCHED THEN INSERT (id) VALUES (s.id);

TRAP: FailedAssertion("!(ActiveSnapshotSet())", File: "postgres.c",
Line: 749)

That's easily fixed - you need to add "case T_MergeStmt" to the list of
optimizable command types in analyze_requires_snapshot() function.

Unfortunately that doesn't get you far, the query then trips another
assertion:

TRAP: FailedAssertion("!(list_length(resultRelations) ==
list_length(subplans))", File: "createplan.c", Line: 3929)

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

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Alvaro Herrera 2010-08-10 14:29:20 Re: [HACKERS] Moderator on Committers?
Previous Message Fujii Masao 2010-08-10 14:28:04 trace_recovery_messages