Re: [HACKERS] Advice needed,

From: Chris Bitmead <chrisb(at)nimrod(dot)itg(dot)telstra(dot)com(dot)au>
To: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: Chris <chris(at)bitmead(dot)com>, Postgres Hackers List <hackers(at)postgreSQL(dot)org>
Subject: Re: [HACKERS] Advice needed,
Date: 2000-02-07 05:50:17
Message-ID: 389E5D19.337D23DE@nimrod.itg.telecom.com.au
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: 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?

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Don Baccus 2000-02-07 06:05:27 Re: [HACKERS] DISTINCT and ORDER BY bug?
Previous Message Tom Lane 2000-02-07 05:26:04 Re: [HACKERS] DISTINCT and ORDER BY bug?