Re: MERGE Specification

Поиск
Список
Период
Сортировка
От Boxuan Zhai
Тема Re: MERGE Specification
Дата
Msg-id AANLkTi=y0+FYJg3Sxuhzf1+27pQFYykBg4KSeU0A0_NJ@mail.gmail.com
обсуждение исходный текст
Ответ на Re: MERGE Specification  (Heikki Linnakangas <heikki.linnakangas@enterprisedb.com>)
Ответы Re: MERGE Specification  (Greg Smith <greg@2ndquadrant.com>)
Список pgsql-hackers


On Tue, Aug 10, 2010 at 10:29 PM, Heikki Linnakangas <heikki.linnakangas@enterprisedb.com> wrote:
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);

The query works on my machine.
 
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)


 
I just found that no Assert() works in my codes. I think it is because the assertion is no enabled. How to enable assertion. To define USE_ASSERT_CHECKING somewhere?
 
 
--
 Heikki Linnakangas
 EnterpriseDB   http://www.enterprisedb.com

В списке pgsql-hackers по дате отправления:

Предыдущее
От: Tom Lane
Дата:
Сообщение: Re: review: psql: edit function, show function commands patch
Следующее
От: Greg Smith
Дата:
Сообщение: Re: MERGE Specification