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


1.21
date	2009.07.16.20.55.44;	author tgl;	state Exp;
branches;
next	1.20;

1.20
date	2008.02.19.10.30.07;	author petere;	state Exp;
branches;
next	1.19;

1.19
date	2007.01.20.17.16.11;	author petere;	state Exp;
branches;
next	1.18;

1.18
date	2003.11.29.19.51.50;	author pgsql;	state Exp;
branches;
next	1.17;

1.17
date	2002.07.20.04.59.10;	author momjian;	state Exp;
branches;
next	1.16;

1.16
date	2000.08.31.16.10.08;	author petere;	state Exp;
branches;
next	1.15;

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

1.14
date	2000.05.29.05.44.48;	author tgl;	state Exp;
branches;
next	1.13;

1.13
date	99.12.13.22.32.50;	author momjian;	state Exp;
branches;
next	1.12;

1.12
date	99.12.09.19.14.44;	author momjian;	state Exp;
branches;
next	1.11;

1.11
date	99.02.15.03.22.00;	author momjian;	state Exp;
branches;
next	1.10;

1.10
date	98.04.06.00.23.07;	author momjian;	state Exp;
branches;
next	1.9;

1.9
date	97.12.20.00.24.17;	author scrappy;	state Exp;
branches;
next	1.8;

1.8
date	97.12.19.02.05.51;	author scrappy;	state Exp;
branches;
next	1.7;

1.7
date	97.04.21.04.26.47;	author vadim;	state Exp;
branches;
next	1.6;

1.6
date	97.04.15.17.24.17;	author scrappy;	state Exp;
branches;
next	1.5;

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

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

1.3
date	97.03.14.16.02.40;	author scrappy;	state Exp;
branches;
next	1.2;

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

1.1
date	97.02.19.12.56.38;	author scrappy;	state Exp;
branches;
next	;


desc
@@


1.21
log
@Make GEQO's planning deterministic by having it start from a predictable
random number seed each time.  This is how it used to work years ago, but
we got rid of the seed reset because it was resetting the main random()
sequence and thus having undesirable effects on the rest of the system.
To fix, establish a private random number state for each execution of
geqo(), and initialize the state using the new GUC variable geqo_seed.
People who want to experiment with different random searches can do so
by changing geqo_seed, but you'll always get the same plan for the same
value of geqo_seed (if holding all other planner inputs constant, of course).

The new state is kept in PlannerInfo by adding a "void *" field reserved
for use by join_search hooks.  Most of the rather bulky code changes in
this commit are just arranging to pass PlannerInfo around to all the GEQO
functions (many of which formerly didn't receive it).

Andres Freund, with some editorialization by Tom
@
text
@#-------------------------------------------------------------------------
#
# Makefile--
#    Makefile for the genetic query optimizer module
#
# Copyright (c) 1994, Regents of the University of California
#
# $PostgreSQL: pgsql/src/backend/optimizer/geqo/Makefile,v 1.20 2008/02/19 10:30:07 petere Exp $
#
#-------------------------------------------------------------------------

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

OBJS =	geqo_copy.o geqo_eval.o geqo_main.o geqo_misc.o \
	geqo_mutation.o geqo_pool.o geqo_random.o geqo_recombination.o \
	geqo_selection.o \
	geqo_erx.o geqo_pmx.o geqo_cx.o geqo_px.o geqo_ox1.o geqo_ox2.o

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


1.20
log
@Refactor backend makefiles to remove lots of duplicate code
@
text
@d8 1
a8 1
# $PostgreSQL: pgsql/src/backend/optimizer/geqo/Makefile,v 1.19 2007/01/20 17:16:11 petere Exp $
d17 1
a17 1
	geqo_mutation.o geqo_pool.o geqo_recombination.o \
@


1.19
log
@Remove remains of old depend target.
@
text
@d8 1
a8 1
# $PostgreSQL: pgsql/src/backend/optimizer/geqo/Makefile,v 1.18 2003/11/29 19:51:50 pgsql Exp $
d21 1
a21 7
all: SUBSYS.o

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

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


1.18
log
@
$Header: -> $PostgreSQL Changes ...
@
text
@d8 1
a8 1
# $PostgreSQL: /cvsroot/pgsql-server/src/backend/optimizer/geqo/Makefile,v 1.17 2002/07/20 04:59:10 momjian Exp $
a25 3
depend dep:
	$(CC) -MM $(CFLAGS) *.c >depend

a27 4

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


1.17
log
@The attached patch fixes a build problem with GEQO when using the
PX recombination operator, changes some elog() messages from LOG
to DEBUG1, puts some debugging functions inside the appropriate
#ifdef (not enabled by default), and makes a few other minor
cleanups.

BTW, the elog() change is motivated by at least one user who
has sent a concerned email to -general asking exactly what the
"ERX recombination operator" is, and what it is doing to their
DBMS.

Neil Conway
@
text
@d8 1
a8 1
# $Header: /cvsroot/pgsql/src/backend/optimizer/geqo/Makefile,v 1.16 2000/08/31 16:10:08 petere Exp $
@


1.16
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
@d8 1
a8 1
# $Header$
d17 1
a17 1
	geqo_pool.o geqo_recombination.o \
@


1.15
log
@The heralded `Grand Unified Configuration scheme' (GUC)

That means you can now set your options in either or all of $PGDATA/configuration,
some postmaster option (--enable-fsync=off), or set a SET command. The list of
options is in backend/utils/misc/guc.c, documentation will be written post haste.

pg_options is gone, so is that pq_geqo config file. Also removed were backend -K,
-Q, and -T options (no longer applicable, although -d0 does the same as -Q).

Added to configure an --enable-syslog option.

changed all callers from TPRINTF to elog(DEBUG)
@
text
@d8 1
a8 1
# $Id: Makefile,v 1.14 2000/05/29 05:44:48 tgl Exp $
d12 3
a14 6
SRCDIR = ../../..
include ../../../Makefile.global

ifeq ($(CC), gcc)
CFLAGS+= -Wno-error
endif
a20 2
# deprecated: minspantree.o

a34 1

@


1.14
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
@d8 1
a8 1
# $Id: Makefile,v 1.13 1999/12/13 22:32:50 momjian Exp $
d20 1
a20 1
	geqo_params.o geqo_pool.o geqo_recombination.o \
@


1.13
log
@New LDOUT makefile variable for QNX os.
@
text
@d8 1
a8 1
# $Id: Makefile,v 1.12 1999/12/09 19:14:44 momjian Exp $
a13 2

CFLAGS += -I../..
@


1.12
log
@Make LD -r as macros that can be changed for QNX.
@
text
@d8 1
a8 1
# $Id: Makefile,v 1.11 1999/02/15 03:22:00 momjian Exp $
d31 1
a31 1
	$(LD) $(LDREL) -o SUBSYS.o $(OBJS)
@


1.11
log
@Remove duplicate geqo functions, and more optimizer cleanup
@
text
@d8 1
a8 1
# $Id: Makefile,v 1.10 1998/04/06 00:23:07 momjian Exp $
d31 1
a31 1
	$(LD) -r -o SUBSYS.o $(OBJS)
@


1.10
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
@d8 1
a8 1
# $Id: Makefile,v 1.9 1997/12/20 00:24:17 scrappy Exp $
d22 1
a22 1
	geqo_params.o geqo_paths.o geqo_pool.o geqo_recombination.o \
@


1.9
log
@Major cleanout of PORTNAME variables from Makefiles...bound to screw up
some of the ports...
@
text
@d8 1
a8 1
# $Id: Makefile,v 1.8 1997/12/19 02:05:51 scrappy Exp $
d15 1
a15 3
INCLUDE_OPT = -I../.. 

CFLAGS+=$(INCLUDE_OPT)
a20 1

d34 1
a34 1
	$(CC) -MM $(INCLUDE_OPT) *.c >depend
@


1.8
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
@d8 1
a8 1
# $Id: Makefile,v 1.7 1997/04/21 04:26:47 vadim Exp $
a15 4

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


1.7
log
@Fix for -Wno-error
@
text
@d8 1
a8 1
# $Id: Makefile,v 1.6 1997/04/15 17:24:17 scrappy Exp $
d15 5
a19 3
INCLUDE_OPT = -I../.. \
              -I../../port/$(PORTNAME) \
              -I../../../include
@


1.6
log
@Fix up the -Wno-error problem for non-gcc compilers

Pointed out by many many ppl
@
text
@d8 1
a8 1
# $Id: Makefile,v 1.5 1997/04/04 10:39:50 scrappy Exp $
d21 1
a21 1
ifeq ($CC), gcc)
@


1.5
log
@This commit represents a clean compile with the new templates under
FreeBSD

The Makefile(s) have all been cleaned up such that there is a single
LDFLAGS vs LD_ADD or LDADD or LDFLAGS or LDFLAGS_BE.  The Makefile(s)
should be alot more straightforward then they were before...and
consistent
@
text
@d8 1
a8 1
# $Id: Makefile,v 1.4 1997/04/02 18:11:49 scrappy Exp $
d19 6
a24 1
CFLAGS+=$(INCLUDE_OPT)  -Wno-error
@


1.4
log
@From: Oleg Bartunov <oleg@@sai.msu.su>
Subject: [HACKERS] locale patches !

Hi there,

here are little patches to get Postgres 6.1 works with locale stuff.
This is a patch against 970402.tar.gz, there are no problem to apply them
by hand to 6.0 release. Collate stuff tested about 1-2 months in real
working database but I'm sure there must be no problem. US hackers
could vote against locale implementation ( locale for sure will affect to
speed of postgres ), so I introduce variable USE_LOCALE which
controls locale stuff. Non-US users now could use ~* operator
for searching and <order by> for strings with nation alphabet.
Please, don't forget, as I did first time, to set environment variable
LC_CTYPE and LC_COLLATE because backend get locale information from them.
I start postmaster from a little script, assuming that shell is Bash shell
it looks like:

#!/bin/sh

export LC_CTYPE=koi8-r
export LC_COLLATE=koi8-r
postmaster -B 1024 -S -D/usr/local/pgsql/data/ -o '-Fe'
@
text
@d8 1
a8 1
# $Id: Makefile,v 1.3 1997/03/14 16:02:40 scrappy Exp $
d19 1
a19 1
CFLAGS+=$(INCLUDE_OPT) 
@


1.3
log
@> There are some minor fixes to the GEQO.
> Please apply them to the direcory "backend/optimizer/geqo".
> Two new files with different crossover techniques are included.
> Standard procedure is optimization by means of "geqo_erx.c"
> (Edge Recombination Crossover).

From: "Martin S. Utesch" <utesch@@aut.tu-freiberg.de>
@
text
@d8 1
a8 1
# $Id: Makefile,v 1.3 1997/03/14 14:35:05 mau Exp $
d19 1
a19 1
CFLAGS+=$(INCLUDE_OPT) -Wno-error
@


1.2
log
@Various cleanups to satisfy -Werror, but there are some errors that I'm
not certain how to fix, so left them there and enabled -Wno-error for
this directory for now
@
text
@d8 1
a8 1
# $Id: Makefile,v 1.1 1997/02/19 12:56:38 scrappy Exp $
d24 1
a24 1
	geqo_erx.o geqo_pmx.o geqo_cx.o geqo_px.o 
a25 1
# not ready yet: geqo_ox1.o geqo_ox2.o
@


1.1
log
@Merge in GEQO Optimizer

From: "Martin S. Utesch" <utesch@@aut.tu-freiberg.de>
@
text
@d8 1
a8 1
# $Id: geqo/Makefile,v 1.0 1996/02/08 14:54:50 mau Exp $
d19 1
a19 1
CFLAGS+=$(INCLUDE_OPT)
d21 4
a24 4
OBJS = geqo_copy.o geqo_eval.o geqo_main.o geqo_misc.o \
       geqo_params.o geqo_paths.o geqo_pool.o geqo_recombination.o \
       geqo_selection.o \
       geqo_erx.o geqo_pmx.o geqo_cx.o geqo_px.o
@
