Outer Join with For Update

From: "alexandre :: aldeia digital" <alepaes(at)aldeiadigital(dot)com(dot)br>
To: <pgsql-sql(at)postgresql(dot)org>
Subject: Outer Join with For Update
Date: 2002-09-03 18:05:41
Message-ID: 1507.200.225.214.1.1031076341.squirrel@webmail.aldeiadigital.com.br
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-sql

Hi all,

I work with a case tool named Genexus. This tool generate the
applications in VB, VFox, Java, C, etc. in DB2, Oracle, M$ SQL and
now supports postgresql in VB and JAVA generator, making a good job
(excepting when it use a "optimize for", "/*fastfirstrows*/"
or "fast(n)" for the other 3 DB ... postgresql does not have this
optimization clauses, making certains querys slow when compared
with others).

But I found a problem (this query is the same for DB2 and postgres
and the database tables/data are equal):

SELECT A.id, B.desc from A left join B ON B.id=A.id FOR UPDATE OF A,B

If I have a null rellation in B, the error in postgres is:

"SELECT FOR UPDATE cannot be applied to the nullable side of an OUTER JOIN"

DB2 simply ignore the FOR UPDATE ...
I think that is the correct form...I don´t know when the LEFT ou RIGHT
JOIN will be null...

I remove the check in initsplan.c (line 324/325), but postgres
returns :

"ERROR: ExecutePlan: (junk) `ctid2' is NULL!"

Like other case tools, I don´t have the possibility to change
the query in code forever...

Any tips?!?!

Thank´s all and sorry for this big email and a poor english... :)

Alexandre Arruda Paes
Aldeia Digital
Brazil

Responses

Browse pgsql-sql by date

  From Date Subject
Next Message Josh Berkus 2002-09-03 18:17:38 Re: tree structures in sql - my point of view (with request of comment from joe celko)
Previous Message Oliver Elphick 2002-09-03 18:01:21 Re: Update Help