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
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 |