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


1.22
date	2008.02.19.10.30.07;	author petere;	state Exp;
branches;
next	1.21;

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

1.20
date	2005.04.28.21.47.10;	author tgl;	state Exp;
branches;
next	1.19;

1.19
date	2004.07.01.00.49.42;	author tgl;	state Exp;
branches;
next	1.18;

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

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

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

1.15
date	2001.08.25.18.52.41;	author tgl;	state Exp;
branches;
next	1.14;

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

1.13
date	2000.10.13.12.05.21;	author vadim;	state Exp;
branches;
next	1.12;

1.12
date	2000.08.31.16.09.46;	author petere;	state Exp;
branches;
next	1.11;

1.11
date	2000.05.29.05.44.41;	author tgl;	state Exp;
branches;
next	1.10;

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

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

1.8
date	99.10.24.20.42.27;	author tgl;	state Exp;
branches;
next	1.7;

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

1.6
date	98.04.06.00.21.52;	author momjian;	state Exp;
branches;
next	1.5;

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

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

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

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

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


desc
@@


1.22
log
@Refactor backend makefiles to remove lots of duplicate code
@
text
@#-------------------------------------------------------------------------
#
# Makefile--
#    Makefile for access/transam
#
# IDENTIFICATION
#    $PostgreSQL: pgsql/src/backend/access/transam/Makefile,v 1.21 2005/06/17 22:32:42 tgl Exp $
#
#-------------------------------------------------------------------------

subdir = src/backend/access/transam
top_builddir = ../../../..
include $(top_builddir)/src/Makefile.global

OBJS = clog.o transam.o varsup.o xact.o xlog.o xlogutils.o rmgr.o slru.o subtrans.o multixact.o twophase.o twophase_rmgr.o

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

# ensure that version checks in xlog.c get recompiled when catversion.h changes
xlog.o: xlog.c $(top_srcdir)/src/include/catalog/catversion.h
@


1.21
log
@Two-phase commit.  Original patch by Heikki Linnakangas, with additional
hacking by Alvaro Herrera and Tom Lane.
@
text
@d7 1
a7 1
#    $PostgreSQL: pgsql/src/backend/access/transam/Makefile,v 1.20 2005/04/28 21:47:10 tgl Exp $
d17 1
a17 7
all: SUBSYS.o

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

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


1.20
log
@Implement sharable row-level locks, and use them for foreign key references
to eliminate unnecessary deadlocks.  This commit adds SELECT ... FOR SHARE
paralleling SELECT ... FOR UPDATE.  The implementation uses a new SLRU
data structure (managed much like pg_subtrans) to represent multiple-
transaction-ID sets.  When more than one transaction is holding a shared
lock on a particular row, we create a MultiXactId representing that set
of transactions and store its ID in the row's XMAX.  This scheme allows
an effectively unlimited number of row locks, just as we did before,
while not costing any extra overhead except when a shared lock actually
has to be shared.   Still TODO: use the regular lock manager to control
the grant order when multiple backends are waiting for a row lock.

Alvaro Herrera and Tom Lane.
@
text
@d7 1
a7 1
#    $PostgreSQL: pgsql/src/backend/access/transam/Makefile,v 1.19 2004/07/01 00:49:42 tgl Exp $
d15 1
a15 1
OBJS = clog.o transam.o varsup.o xact.o xlog.o xlogutils.o rmgr.o slru.o subtrans.o multixact.o
@


1.19
log
@Nested transactions.  There is still much left to do, especially on the
performance front, but with feature freeze upon us I think it's time to
drive a stake in the ground and say that this will be in 7.5.

Alvaro Herrera, with some help from Tom Lane.
@
text
@d7 1
a7 1
#    $PostgreSQL: pgsql-server/src/backend/access/transam/Makefile,v 1.18 2003/11/29 19:51:40 pgsql Exp $
d15 1
a15 1
OBJS = clog.o transam.o varsup.o xact.o xlog.o xlogutils.o rmgr.o slru.o subtrans.o
@


1.18
log
@
$Header: -> $PostgreSQL Changes ...
@
text
@d7 1
a7 1
#    $PostgreSQL: /cvsroot/pgsql-server/src/backend/access/transam/Makefile,v 1.17 2003/06/11 22:37:45 momjian Exp $
d15 1
a15 1
OBJS = clog.o transam.o varsup.o xact.o xlog.o xlogutils.o rmgr.o slru.o
@


1.17
log
@This patch extracts page buffer pooling and the simple
least-recently-used strategy from clog.c into slru.c.  It doesn't
change any visible behaviour and passes all regression tests plus a
TruncateCLOG test done manually.

Apart from refactoring I made a little change to SlruRecentlyUsed,
formerly ClogRecentlyUsed:  It now skips incrementing lru_counts, if
slotno is already the LRU slot, thus saving a few CPU cycles.  To make
this work, lru_counts are initialised to 1 in SimpleLruInit.

SimpleLru will be used by pg_subtrans (part of the nested transactions
project), so the main purpose of this patch is to avoid future code
duplication.

Manfred Koizar
@
text
@d7 1
a7 1
#    $Header: /cvsroot/pgsql-server/src/backend/access/transam/Makefile,v 1.16 2003/05/12 23:08:50 tgl Exp $
@


1.16
log
@Add binary I/O routines for a bunch more datatypes.  Still a few to go,
but that was enough tedium for one day.  Along the way, move the few
support routines for types xid and cid into a more logical place.
@
text
@d7 1
a7 1
#    $Header: /cvsroot/pgsql-server/src/backend/access/transam/Makefile,v 1.15 2001/08/25 18:52:41 tgl Exp $
d15 1
a15 1
OBJS = clog.o transam.o varsup.o xact.o xlog.o xlogutils.o rmgr.o
@


1.15
log
@Replace implementation of pg_log as a relation accessed through the
buffer manager with 'pg_clog', a specialized access method modeled
on pg_xlog.  This simplifies startup (don't need to play games to
open pg_log; among other things, OverrideTransactionSystem goes away),
should improve performance a little, and opens the door to recycling
commit log space by removing no-longer-needed segments of the commit
log.  Actual recycling is not there yet, but I felt I should commit
this part separately since it'd still be useful if we chose not to
do transaction ID wraparound.
@
text
@d7 1
a7 1
#    $Header: /home/projects/pgsql/cvsroot/pgsql/src/backend/access/transam/Makefile,v 1.14 2001/08/24 14:07:48 petere Exp $
d15 1
a15 1
OBJS = clog.o transam.o varsup.o xact.o xid.o xlog.o xlogutils.o rmgr.o
@


1.14
log
@Rename config.h to pg_config.h and os.h to pg_config_os.h, fix a number of
places that were including the wrong files.
@
text
@d7 1
a7 1
#    $Header: /home/projects/pgsql/cvsroot/pgsql/src/backend/access/transam/Makefile,v 1.13 2000/10/13 12:05:21 vadim Exp $
d15 1
a15 1
OBJS = transam.o transsup.o varsup.o xact.o xid.o xlog.o xlogutils.o rmgr.o
@


1.13
log
@WAL
@
text
@d7 1
a7 1
#    $Header: /home/projects/pgsql/cvsroot/pgsql/src/backend/access/transam/Makefile,v 1.12 2000/08/31 16:09:46 petere Exp $
a21 3
depend dep:
	$(CC) -MM $(CFLAGS) *.c >depend

d25 2
a26 8
# ensure that version checks in xlog.c get recompiled when config.h or
# catversion.h changes, even if "make depend" hasn't been done.
xlog.o: xlog.c $(top_builddir)/src/include/config.h $(top_srcdir)/src/include/catalog/catversion.h

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

@


1.12
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/access/transam/Makefile,v 1.11 2000/05/29 05:44:41 tgl Exp $
d15 1
a15 1
OBJS = transam.o transsup.o varsup.o xact.o xid.o xlog.o rmgr.o
@


1.11
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/access/transam/Makefile,v 1.10 1999/12/13 22:32:32 momjian Exp $
d11 3
a13 2
SRCDIR = ../../..
include ../../../Makefile.global
d30 1
a30 1
xlog.o: xlog.c $(SRCDIR)/include/config.h $(SRCDIR)/include/catalog/catversion.h
@


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

CFLAGS += -I../.. 
@


1.9
log
@Make LD -r as macros that can be changed for QNX.
@
text
@d7 1
a7 1
#    $Header: /usr/local/cvsroot/pgsql/src/backend/access/transam/Makefile,v 1.8 1999/10/24 20:42:27 tgl Exp $
d21 1
a21 1
	$(LD) $(LDREL) -o SUBSYS.o $(OBJS)
@


1.8
log
@Add a notion of a 'catalog version number' that can indicate
when an initdb-forcing change has been applied within a development cycle.
PG_VERSION serves this purpose for official releases, but we can't bump
the PG_VERSION number every time we make a change to the catalogs during
development.  Instead, increase the catalog version number to warn other
developers that you've made an incompatible change.  See my mail to
pghackers for more info.
@
text
@d7 1
a7 1
#    $Header: /usr/local/cvsroot/pgsql/src/backend/access/transam/Makefile,v 1.7 1999/09/27 15:47:37 vadim Exp $
d21 1
a21 1
	$(LD) -r -o SUBSYS.o $(OBJS)
@


1.7
log
@Transaction log manager core code.
It doesn't work currently but also don't break anything -:)
@
text
@d7 1
a7 1
#    $Header: /usr/local/cvsroot/pgsql/src/backend/access/transam/Makefile,v 1.6 1998/04/06 00:21:52 momjian Exp $
d28 4
@


1.6
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/access/transam/Makefile,v 1.5 1997/12/20 00:23:09 scrappy Exp $
d16 1
a16 1
OBJS = transam.o transsup.o varsup.o xact.o xid.o 
@


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/access/transam/Makefile,v 1.4 1997/12/17 04:31:34 scrappy Exp $
d14 1
a14 3
INCLUDE_OPT = -I../.. 

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


1.4
log
@Clean up the Makefiles

	Essentially, this cleans things up so that if PORTNAME isn't defined (I'm
    working on getting rid of it for FreeBSD, at least, to see if its possible)
    none of the PORTNAME related stuff gets passed around.

	Had a little bit of -I related redundancy as well
@
text
@d7 1
a7 1
#    $Header: /usr/local/cvsroot/pgsql/src/backend/access/transam/Makefile,v 1.3 1996/11/09 06:17:38 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/access/transam/Makefile,v 1.2 1996/11/03 09:07:03 scrappy Exp $
d14 1
a14 3
INCLUDE_OPT = -I../.. \
              -I../../port/$(PORTNAME) \
              -I../../../include
d16 5
a20 1
CFLAGS+=$(INCLUDE_OPT)
@


1.2
log
@Finish cleaning up -I lines
@
text
@d7 1
a7 1
#    $Header: /usr/local/cvsroot/postgres95/src/backend/access/transam/Makefile,v 1.1 1996/10/27 09:46:48 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 \
@
