X-Original-To: pgsql-sql-postgresql.org@localhost.postgresql.org Received: from localhost (unknown [200.46.204.144]) by svr1.postgresql.org (Postfix) with ESMTP id C6F24329EAB for ; Tue, 21 Sep 2004 17:19:51 +0100 (BST) Received: from svr1.postgresql.org ([200.46.204.71]) by localhost (av.hub.org [200.46.204.144]) (amavisd-new, port 10024) with ESMTP id 88865-05 for ; Tue, 21 Sep 2004 16:19:41 +0000 (GMT) Received: from fw1.mailpen.net (fw1.mailpen.net [66.13.45.202]) by svr1.postgresql.org (Postfix) with ESMTP id 4CF61329CF8 for ; Tue, 21 Sep 2004 17:19:39 +0100 (BST) Received: from TpA22p1.ultimeth.com (TpA22p1.internal.mailpen.net [192.168.128.199]) (using SSLv3 with cipher DES-CBC3-SHA (168/168 bits)) (No client certificate requested) by fw1.mailpen.net (Postfix) with ESMTP id 50DF631C01E for ; Tue, 21 Sep 2004 09:19:38 -0700 (PDT) Message-Id: <5.1.0.14.2.20040921091713.0517f218@postgresql3.ultimeth.com> X-Sender: mailer@postgresql3.ultimeth.com X-Mailer: QUALCOMM Windows Eudora Version 5.1 Date: Tue, 21 Sep 2004 09:19:36 -0700 To: pgsql-sql@postgresql.org From: "Dean Gibson (DB Administrator)" Subject: Re: Different topic Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii"; format=flowed X-Virus-Scanned: by amavisd-new at hub.org X-Spam-Status: No, hits=0.0 tagged_above=0.0 required=5.0 tests= X-Spam-Level: X-Archive-Number: 200409/192 X-Sequence-Number: 19038 Ok, this is the third time I've sent this eMail; the other two times the mail was accepted (as shown by my postfix logs), but never appeared on the list. So, this time I've changed the subject field (was JOIN performance): Tom Lane wrote on 2004-09-20 22:19: >In 7.3 only a view whose targetlist consists of simple column references >can be pulled up into the nullable side of an outer join. OK, well you dragged me kicking and screaming into writing and 'end_date' function (IMMUTABLE but non-STRICT). I then use that in the JOINed VIEW (and other strategic places) rather than in the subject of the LEFT JOIN, and that works with no performance problems. Since we mentioned PostgreSQL versions, one of the things I'd like to see in v8.0 is support for "DELETE FROM ... AS ..." and "UPDATE ... AS ...". For example, I need to do things like: DELETE FROM xxx AS x WHERE field > xxx.field; In other words, a DELETE that has criteria similar to a self JOIN. Right now, I do this via: CREATE VIEW yyy AS SELECT * FROM xxx; DELETE FROM xxx WHERE field > yyy.field; And that works fine. But it's probably too late for v8.0 ... -- Dean