Re: [HACKERS] Advice needed,

Поиск
Список
Период
Сортировка
От Chris Bitmead
Тема Re: [HACKERS] Advice needed,
Дата
Msg-id 389E5D19.337D23DE@nimrod.itg.telecom.com.au
обсуждение исходный текст
Ответ на Advice needed,  (Chris <chris@bitmead.com>)
Список pgsql-hackers
Tom Lane wrote:
> > The change I made was basicly to add an "inh" parameter to
> > setTargetTable which I pass on down to addRangeTableEntry. From there I
> > expect it to be passed on to the executor and as I said it seems to work
> > ok without a where clause.
> 
> Hm.  I do not believe that the executor is currently prepared to cope
> with more than one target table for an UPDATE or DELETE.  You'll
> probably need to do some work in execMain.c and related files.  Not
> sure why it seemed to work at all...

Been doing more tracing. The flow of code seems to be going the way one
might
expect.

Here is the strange thing. If I have
CREATE TABLE a (aa text);
CREATE TABLE b (bb text) inherits (a);

If I have a WHERE clause that updates at least one tuple in both a AND
b.

For example...
SELECT oid,* from ONLY a;
1234 | abcd
SELECT oid,* from ONLY b;
5678 | defg | NULL

Now if I have...
UPDATE a SET aa='zzzz' WHERE oid=1234 or oid=5678 
it works ok. or...
UPDATE a SET aa='zzzz';
it works ok.
But if I have a WHERE clause that only touches "a" table or only touches
"b"
table, it just updates the wrong stuff, but appears to work. From then
on
it doesn't work at all. 

Is there any function to print out a tuple?? I'm not sure how to do this
in the
debugger. Why can't pprint do it?


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

Предыдущее
От: Tom Lane
Дата:
Сообщение: Re: [HACKERS] DISTINCT and ORDER BY bug?
Следующее
От: Taral
Дата:
Сообщение: Re: [HACKERS] DISTINCT and ORDER BY bug?