head	1.16;
access;
symbols
	REL9_0_0:1.16
	REL9_1_ALPHA1:1.16
	REL9_0_RC1:1.16
	REL9_0_BETA4:1.16
	REL9_0_STABLE:1.16.0.4
	REL9_0_BETA3:1.16
	REL9_0_BETA2:1.16
	REL7_4_29:1.11
	REL8_0_25:1.12
	REL8_1_21:1.13
	REL8_2_17:1.13
	REL8_3_11:1.14
	REL8_4_4:1.15
	REL9_0_BETA1:1.16
	REL9_0_ALPHA5_BRANCH:1.16.0.2
	REL9_0_ALPHA5:1.16
	REL7_4_28:1.11
	REL8_0_24:1.12
	REL8_1_20:1.13
	REL8_2_16:1.13
	REL8_3_10:1.14
	REL8_4_3:1.15
	REL9_0_ALPHA4:1.15
	REL9_0_ALPHA4_BRANCH:1.15.0.10
	REL8_5_ALPHA3:1.15
	REL8_5_ALPHA3_BRANCH:1.15.0.8
	REL7_4_27:1.11
	REL8_0_23:1.12
	REL8_1_19:1.13
	REL8_2_15:1.13
	REL8_3_9:1.14
	REL8_4_2:1.15
	REL8_5_ALPHA2:1.15
	REL8_5_ALPHA2_BRANCH:1.15.0.6
	REL7_4_26:1.11
	REL8_0_22:1.12
	REL8_1_18:1.13
	REL8_2_14:1.13
	REL8_3_8:1.14
	REL8_4_1:1.15
	REL8_5_ALPHA1:1.15
	REL8_5_ALPHA1_BRANCH:1.15.0.4
	REL8_4_STABLE:1.15.0.2
	REL8_4_0:1.15
	REL8_4_RC2:1.15
	REL8_4_RC1:1.15
	REL8_4_BETA2:1.15
	REL8_4_BETA1:1.15
	REL7_4_25:1.11
	REL8_0_21:1.12
	REL8_1_17:1.13
	REL8_2_13:1.13
	REL8_3_7:1.14
	REL7_4_24:1.11
	REL8_0_20:1.12
	REL8_1_16:1.13
	REL8_2_12:1.13
	REL8_3_6:1.14
	REL7_4_23:1.11
	REL8_0_19:1.12
	REL8_1_15:1.13
	REL8_2_11:1.13
	REL8_3_5:1.14
	REL7_4_22:1.11
	REL8_0_18:1.12
	REL8_1_14:1.13
	REL8_2_10:1.13
	REL8_3_4:1.14
	REL7_4_21:1.11
	REL8_0_17:1.12
	REL8_1_13:1.13
	REL8_2_9:1.13
	REL8_3_3:1.14
	REL7_4_20:1.11
	REL8_0_16:1.12
	REL8_1_12:1.13
	REL8_2_8:1.13
	REL8_3_2:1.14
	REL8_2_7:1.13
	REL8_3_1:1.14
	REL8_3_STABLE:1.14.0.2
	REL8_3_0:1.14
	REL8_3_RC2:1.14
	REL7_3_21:1.11
	REL7_4_19:1.11
	REL8_0_15:1.12
	REL8_1_11:1.13
	REL8_2_6:1.13
	REL8_3_RC1:1.14
	REL8_3_BETA4:1.14
	REL8_3_BETA3:1.14
	REL8_3_BETA2:1.14
	REL8_3_BETA1:1.14
	REL7_3_20:1.11
	REL7_4_18:1.11
	REL8_0_14:1.12
	REL8_1_10:1.13
	REL8_2_5:1.13
	REL7_3_19:1.11
	REL7_4_17:1.11
	REL8_0_13:1.12
	REL8_1_9:1.13
	REL8_2_4:1.13
	REL8_0_12:1.12
	REL8_1_8:1.13
	REL8_2_3:1.13
	REL7_3_18:1.11
	REL7_4_16:1.11
	REL8_0_11:1.12
	REL8_1_7:1.13
	REL8_2_2:1.13
	REL8_0_10:1.12
	REL8_1_6:1.13
	REL8_2_1:1.13
	REL7_4_15:1.11
	REL7_3_17:1.11
	REL8_2_STABLE:1.13.0.4
	REL8_2_0:1.13
	REL8_2_RC1:1.13
	REL8_2_BETA3:1.13
	REL8_2_BETA2:1.13
	REL8_1_5:1.13
	REL8_0_9:1.12
	REL7_4_14:1.11
	REL7_3_16:1.11
	REL8_2_BETA1:1.13
	REL7_3_15:1.11
	REL7_4_13:1.11
	REL8_0_8:1.12
	REL8_1_4:1.13
	REL7_3_14:1.11
	REL7_4_12:1.11
	REL8_0_7:1.12
	REL8_1_3:1.13
	REL7_3_13:1.11
	REL7_4_11:1.11
	REL8_0_6:1.12
	REL8_1_2:1.13
	REL7_3_12:1.11
	REL7_4_10:1.11
	REL8_0_5:1.12
	REL8_1_1:1.13
	REL8_1_STABLE:1.13.0.2
	REL8_1_0:1.13
	REL8_1_0RC1:1.13
	REL8_1_0BETA4:1.13
	REL8_1_0BETA3:1.13
	REL7_3_11:1.11
	REL7_4_9:1.11
	REL8_0_4:1.12
	REL8_1_0BETA2:1.13
	REL8_1_0BETA1:1.13
	REL7_2_8:1.11
	REL7_3_10:1.11
	REL7_4_8:1.11
	REL8_0_3:1.12
	REL8_0_2:1.12
	REL7_2_7:1.11
	REL7_3_9:1.11
	REL7_4_7:1.11
	REL8_0_1:1.12
	REL8_0_STABLE:1.12.0.4
	REL8_0_0:1.12.0.2
	REL8_0_0RC5:1.12
	REL8_0_0RC4:1.12
	REL8_0_0RC3:1.12
	REL8_0_0RC2:1.12
	REL8_0_0RC1:1.12
	REL8_0_0BETA5:1.12
	REL8_0_0BETA4:1.12
	REL7_4_6:1.11
	REL7_3_8:1.11
	REL7_2_6:1.11
	REL8_0_0BETA3:1.12
	REL8_0_0BETA2:1.12
	REL7_2_5:1.11
	REL7_4_5:1.11
	REL7_3_7:1.11
	REL7_4_4:1.11
	REL8_0_0BETA1:1.12
	REL7_4_3:1.11
	REL7_4_2:1.11
	REL7_3_6:1.11
	REL7_4_1:1.11
	REL7_3_5:1.11
	REL7_4:1.11
	REL7_4_RC2:1.11
	REL7_4_STABLE:1.11.0.10
	REL7_4_RC1:1.11
	REL7_4_BETA5:1.11
	REL7_4_BETA4:1.11
	REL7_4_BETA3:1.11
	REL7_4_BETA2:1.11
	WIN32_DEV:1.11.0.8
	REL7_4_BETA1:1.11
	REL7_3_4:1.11
	REL7_3_2:1.11
	REL7_2_4:1.11
	REL7_3_STABLE:1.11.0.6
	REL7_2_3:1.11
	REL7_2_STABLE:1.11.0.4
	REL7_2:1.11
	REL7_2_RC2:1.11
	REL7_2_RC1:1.11
	REL7_2_BETA5:1.11
	REL7_2_BETA4:1.11
	REL7_2_BETA3:1.11
	REL7_2_BETA2:1.11
	REL7_2_BETA1:1.11
	REL7_1_2:1.11
	REL7_1_STABLE:1.11.0.2
	REL7_1_BETA:1.11
	REL7_1_BETA3:1.11
	REL7_1_BETA2:1.11
	REL7_1:1.11
	REL7_0_PATCHES:1.9.0.2
	REL7_0:1.9
	REL6_5_PATCHES:1.7.0.4
	REL6_5:1.7
	REL6_4:1.7.0.2
	release-6-3:1.6
	REL2_0B:1.3.0.2
	REL2_0:1.3;
locks; strict;
comment	@# @;


1.16
date	2010.03.28.22.59.32;	author tgl;	state Exp;
branches;
next	1.15;

1.15
date	2008.02.19.10.30.07;	author petere;	state Exp;
branches;
next	1.14;

1.14
date	2007.01.20.17.16.11;	author petere;	state Exp;
branches;
next	1.13;

1.13
date	2005.04.11.23.06.55;	author tgl;	state Exp;
branches;
next	1.12;

1.12
date	2003.11.29.19.51.50;	author pgsql;	state Exp;
branches;
next	1.11;

1.11
date	2000.08.31.16.10.11;	author petere;	state Exp;
branches;
next	1.10;

1.10
date	2000.05.29.05.44.51;	author tgl;	state Exp;
branches;
next	1.9;

1.9
date	99.12.13.22.32.54;	author momjian;	state Exp;
branches;
next	1.8;

1.8
date	99.12.09.19.14.46;	author momjian;	state Exp;
branches;
next	1.7;

1.7
date	98.04.06.00.23.31;	author momjian;	state Exp;
branches;
next	1.6;

1.6
date	98.02.13.03.36.51;	author vadim;	state Exp;
branches;
next	1.5;

1.5
date	97.12.20.00.24.31;	author scrappy;	state Exp;
branches;
next	1.4;

1.4
date	97.12.19.02.06.07;	author scrappy;	state Exp;
branches;
next	1.3;

1.3
date	96.11.09.06.18.17;	author momjian;	state Exp;
branches;
next	1.2;

1.2
date	96.10.31.10.59.05;	author scrappy;	state Exp;
branches;
next	1.1;

1.1
date	96.10.27.09.48.33;	author bryanh;	state Exp;
branches;
next	;


desc
@@


1.16
log
@Rework join-removal logic as per recent discussion.  In particular this
fixes things so that it works for cases where nested removals are possible.
The overhead of the optimization should be significantly less, as well.
@
text
@#-------------------------------------------------------------------------
#
# Makefile--
#    Makefile for optimizer/plan
#
# IDENTIFICATION
#    $PostgreSQL: pgsql/src/backend/optimizer/plan/Makefile,v 1.15 2008/02/19 10:30:07 petere Exp $
#
#-------------------------------------------------------------------------

subdir = src/backend/optimizer/plan
top_builddir = ../../../..
include $(top_builddir)/src/Makefile.global

OBJS = analyzejoins.o createplan.o initsplan.o planagg.o planmain.o planner.o \
	setrefs.o subselect.o

include $(top_srcdir)/src/backend/common.mk
@


1.15
log
@Refactor backend makefiles to remove lots of duplicate code
@
text
@d7 1
a7 1
#    $PostgreSQL: pgsql/src/backend/optimizer/plan/Makefile,v 1.14 2007/01/20 17:16:11 petere Exp $
d15 1
a15 1
OBJS = createplan.o initsplan.o planagg.o planmain.o planner.o \
@


1.14
log
@Remove remains of old depend target.
@
text
@d7 1
a7 1
#    $PostgreSQL: pgsql/src/backend/optimizer/plan/Makefile,v 1.13 2005/04/11 23:06:55 tgl Exp $
d18 1
a18 7
all: SUBSYS.o

SUBSYS.o: $(OBJS)
	$(LD) $(LDREL) $(LDOUT) SUBSYS.o $(OBJS)

clean: 
	rm -f SUBSYS.o $(OBJS)
@


1.13
log
@Create the planner mechanism for optimizing simple MIN and MAX queries
into indexscans on matching indexes.  For the moment, it only handles
int4 and text datatypes; next step is to add a column to pg_aggregate
so that all MIN/MAX aggregates can be handled.  Per my recent proposal.
@
text
@d7 1
a7 1
#    $PostgreSQL: pgsql/src/backend/optimizer/plan/Makefile,v 1.12 2003/11/29 19:51:50 pgsql Exp $
a22 3
depend dep:
	$(CC) -MM $(CFLAGS) *.c >depend

a24 4

ifeq (depend,$(wildcard depend))
include depend
endif
@


1.12
log
@
$Header: -> $PostgreSQL Changes ...
@
text
@d7 1
a7 1
#    $PostgreSQL: /cvsroot/pgsql-server/src/backend/optimizer/plan/Makefile,v 1.11 2000/08/31 16:10:11 petere Exp $
d15 2
a16 1
OBJS = createplan.o initsplan.o planmain.o planner.o setrefs.o subselect.o
@


1.11
log
@Fix relative path references so that make knowns which dependencies refer
to one another. Sort out builddir vs srcdir variable namings. Remove some
now obsoleted make variables.
@
text
@d7 1
a7 1
#    $Header: /home/projects/pgsql/cvsroot/pgsql/src/backend/optimizer/plan/Makefile,v 1.10 2000/05/29 05:44:51 tgl Exp $
@


1.10
log
@Generated header files parse.h and fmgroids.h are now copied into
the src/include tree, so that -I backend is no longer necessary anywhere.
Also, clean up some bit rot in contrib tree.
@
text
@d7 1
a7 1
#    $Header: /home/projects/pgsql/cvsroot/pgsql/src/backend/optimizer/plan/Makefile,v 1.9 1999/12/13 22:32:54 momjian Exp $
d11 3
a13 2
SRCDIR = ../../..
include ../../../Makefile.global
a16 2
# not ready yet: predmig.o xfunc.o

a30 1

@


1.9
log
@New LDOUT makefile variable for QNX os.
@
text
@d7 1
a7 1
#    $Header: /usr/local/cvsroot/pgsql/src/backend/optimizer/plan/Makefile,v 1.8 1999/12/09 19:14:46 momjian Exp $
a12 2

CFLAGS += -I../..
@


1.8
log
@Make LD -r as macros that can be changed for QNX.
@
text
@d7 1
a7 1
#    $Header: /usr/local/cvsroot/pgsql/src/backend/optimizer/plan/Makefile,v 1.7 1998/04/06 00:23:31 momjian Exp $
d23 1
a23 1
	$(LD) $(LDREL) -o SUBSYS.o $(OBJS)
@


1.7
log
@Hi,

Attached you'll find a (big) patch that fixes make dep and make
depend in all Makefiles where I found it to be appropriate.

It also removes the dependency in Makefile.global for NAMEDATALEN
and OIDNAMELEN by making backend/catalog/genbki.sh and bin/initdb/initdb.sh
a little smarter.

This no longer requires initdb.sh that is turned into initdb with
a sed script when installing Postgres, hence initdb.sh should be
renamed to initdb (after the patch has been applied :-) )

This patch is against the 6.3 sources, as it took a while to
complete.

Please review and apply,

Cheers,

Jeroen van Vianen
@
text
@d7 1
a7 1
#    $Header: /usr/local/cvsroot/pgsql/src/backend/optimizer/plan/Makefile,v 1.6 1998/02/13 03:36:51 vadim Exp $
d23 1
a23 1
	$(LD) -r -o SUBSYS.o $(OBJS)
@


1.6
log
@Old planner() becomes union_planner(); new planner() makes initialization
of some global variables to support subselects and calls union_planner().
Calls to SS_replace_correlation_vars() and SS_process_sublinks() in
query_planner() before planning.
Get rid of #ifdef INDEXSCAN_PATCH in createplan.c.
@
text
@d7 1
a7 1
#    $Header: /usr/local/cvsroot/pgsql/src/backend/optimizer/plan/Makefile,v 1.5 1997/12/20 00:24:31 scrappy Exp $
d14 1
a14 3
INCLUDE_OPT = -I../.. 

CFLAGS+=$(INCLUDE_OPT)
d26 1
a26 1
	$(CC) -MM $(INCLUDE_OPT) *.c >depend
@


1.5
log
@Major cleanout of PORTNAME variables from Makefiles...bound to screw up
some of the ports...
@
text
@d7 1
a7 1
#    $Header: /usr/local/cvsroot/pgsql/src/backend/optimizer/plan/Makefile,v 1.4 1997/12/19 02:06:07 scrappy Exp $
d18 1
a18 1
OBJS = createplan.o initsplan.o planmain.o planner.o setrefs.o
@


1.4
log
@More cleanups.  I can now compile without PORTNAME being defined n
Makefile.global.

End result, if all goes well, should allow for much easier porting, since
there will no longer be a concept of a "port".  Most, if not everything,
*should* be determined by configure, or by the compiler itself.  Still
work to be done though :)
@
text
@d7 1
a7 1
#    $Header: /usr/local/cvsroot/pgsql/src/backend/optimizer/plan/Makefile,v 1.3 1996/11/09 06:18:17 momjian Exp $
a14 4

ifdef PORTNAME
INCLUDE_OPT+=-I../../port/$(PORTNAME)  
endif
@


1.3
log
@Makefile cleanup after reorganization
@
text
@d7 1
a7 1
#    $Header: /usr/local/cvsroot/postgres95/src/backend/optimizer/plan/Makefile,v 1.2 1996/10/31 10:59:05 scrappy Exp $
d14 5
a18 3
INCLUDE_OPT = -I../.. \
              -I../../port/$(PORTNAME) \
              -I../../../include
@


1.2
log
@Cleanup Makefiles

Add #include "postgres.h"
	and
    #include <sys/types.h>
@
text
@d7 1
a7 1
#    $Header: /usr/local/cvsroot/postgres95/src/backend/optimizer/plan/Makefile,v 1.1 1996/10/27 09:48:33 bryanh Exp $
d14 2
a15 1
INCLUDE_OPT = -I../../port/$(PORTNAME) \
@


1.1
log
@Simplify make files, add full dependencies.
@
text
@d7 1
a7 1
#    $Header: /usr/local/cvsroot/postgres95/src/backend/access/common/Makefile.inc,v 1.1.1.1 1996/07/09 06:21:09 scrappy Exp $
d14 1
a14 3
INCLUDE_OPT = -I../.. \
              -I../../port/$(PORTNAME) \
              -I../../include \
@
