Recursive optimization of IN subqueries

From: Dennis Haney <davh(at)diku(dot)dk>
To: pgsql-general(at)postgresql(dot)org
Subject: Recursive optimization of IN subqueries
Date: 2004-01-20 15:24:42
Message-ID: 400D483A.1080603@diku.dk
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general pgsql-hackers

Hi

As far as I can tell, the pull_up_IN_clauses does not optimize
recursively. Am I totally misguided here?

Index: plan/subselect.c
===================================================================
RCS file:
/projects/cvsroot/pgsql-server/src/backend/optimizer/plan/subselect.c,v
retrieving revision 1.85
diff -u -r1.85 subselect.c
--- plan/subselect.c 25 Nov 2003 23:59:12 -0000 1.85
+++ plan/subselect.c 20 Jan 2004 15:21:55 -0000
@@ -716,6 +716,14 @@
if (contain_volatile_functions((Node *) sublink->lefthand))
return NULL;

+ /*
+ * Optimize recursive
+ */
+ subselect->in_info_list = NIL;
+ if (subselect->hasSubLinks)
+ subselect->jointree->quals = pull_up_IN_clauses(subselect,
+
subselect->jointree->quals);
+
/*
* Okay, pull up the sub-select into top range table and jointree.
*

--
Dennis

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Tom Lane 2004-01-20 16:26:02 Re: Recursive optimization of IN subqueries
Previous Message lnd 2004-01-20 15:05:30 Transaction id

Browse pgsql-hackers by date

  From Date Subject
Next Message Tom Lane 2004-01-20 15:36:34 Re: Allow backend to output result sets in XML
Previous Message Lamar Owen 2004-01-20 15:03:25 Re: Old binary packages.