head	1.5;
access;
symbols
	REL9_0_0:1.5
	REL9_1_ALPHA1:1.5
	REL9_0_RC1:1.5
	REL9_0_BETA4:1.5
	REL9_0_STABLE:1.5.0.14
	REL9_0_BETA3:1.5
	REL9_0_BETA2:1.5
	REL7_4_29:1.1
	REL8_0_25:1.2
	REL8_1_21:1.2
	REL8_2_17:1.2
	REL8_3_11:1.3
	REL8_4_4:1.5
	REL9_0_BETA1:1.5
	REL9_0_ALPHA5_BRANCH:1.5.0.12
	REL9_0_ALPHA5:1.5
	REL7_4_28:1.1
	REL8_0_24:1.2
	REL8_1_20:1.2
	REL8_2_16:1.2
	REL8_3_10:1.3
	REL8_4_3:1.5
	REL9_0_ALPHA4:1.5
	REL9_0_ALPHA4_BRANCH:1.5.0.10
	REL8_5_ALPHA3:1.5
	REL8_5_ALPHA3_BRANCH:1.5.0.8
	REL7_4_27:1.1
	REL8_0_23:1.2
	REL8_1_19:1.2
	REL8_2_15:1.2
	REL8_3_9:1.3
	REL8_4_2:1.5
	REL8_5_ALPHA2:1.5
	REL8_5_ALPHA2_BRANCH:1.5.0.6
	REL7_4_26:1.1
	REL8_0_22:1.2
	REL8_1_18:1.2
	REL8_2_14:1.2
	REL8_3_8:1.3
	REL8_4_1:1.5
	REL8_5_ALPHA1:1.5
	REL8_5_ALPHA1_BRANCH:1.5.0.4
	REL8_4_STABLE:1.5.0.2
	REL8_4_0:1.5
	REL8_4_RC2:1.5
	REL8_4_RC1:1.5
	REL8_4_BETA2:1.5
	REL8_4_BETA1:1.5
	REL7_4_25:1.1
	REL8_0_21:1.2
	REL8_1_17:1.2
	REL8_2_13:1.2
	REL8_3_7:1.3
	REL7_4_24:1.1
	REL8_0_20:1.2
	REL8_1_16:1.2
	REL8_2_12:1.2
	REL8_3_6:1.3
	REL7_4_23:1.1
	REL8_0_19:1.2
	REL8_1_15:1.2
	REL8_2_11:1.2
	REL8_3_5:1.3
	REL7_4_22:1.1
	REL8_0_18:1.2
	REL8_1_14:1.2
	REL8_2_10:1.2
	REL8_3_4:1.3
	REL7_4_21:1.1
	REL8_0_17:1.2
	REL8_1_13:1.2
	REL8_2_9:1.2
	REL8_3_3:1.3
	REL7_4_20:1.1
	REL8_0_16:1.2
	REL8_1_12:1.2
	REL8_2_8:1.2
	REL8_3_2:1.3
	REL8_2_7:1.2
	REL8_3_1:1.3
	REL8_3_STABLE:1.3.0.2
	REL8_3_0:1.3
	REL8_3_RC2:1.3
	REL7_3_21:1.1
	REL7_4_19:1.1
	REL8_0_15:1.2
	REL8_1_11:1.2
	REL8_2_6:1.2
	REL8_3_RC1:1.3
	REL8_3_BETA4:1.3
	REL8_3_BETA3:1.3
	REL8_3_BETA2:1.3
	REL8_3_BETA1:1.3
	REL7_3_20:1.1
	REL7_4_18:1.1
	REL8_0_14:1.2
	REL8_1_10:1.2
	REL8_2_5:1.2
	REL7_3_19:1.1
	REL7_4_17:1.1
	REL8_0_13:1.2
	REL8_1_9:1.2
	REL8_2_4:1.2
	REL8_0_12:1.2
	REL8_1_8:1.2
	REL8_2_3:1.2
	REL7_3_18:1.1
	REL7_4_16:1.1
	REL8_0_11:1.2
	REL8_1_7:1.2
	REL8_2_2:1.2
	REL8_0_10:1.2
	REL8_1_6:1.2
	REL8_2_1:1.2
	REL7_4_15:1.1
	REL7_3_17:1.1
	REL8_2_STABLE:1.2.0.8
	REL8_2_0:1.2
	REL8_2_RC1:1.2
	REL8_2_BETA3:1.2
	REL8_2_BETA2:1.2
	REL8_1_5:1.2
	REL8_0_9:1.2
	REL7_4_14:1.1
	REL7_3_16:1.1
	REL8_2_BETA1:1.2
	REL7_3_15:1.1
	REL7_4_13:1.1
	REL8_0_8:1.2
	REL8_1_4:1.2
	REL7_3_14:1.1
	REL7_4_12:1.1
	REL8_0_7:1.2
	REL8_1_3:1.2
	REL7_3_13:1.1
	REL7_4_11:1.1
	REL8_0_6:1.2
	REL8_1_2:1.2
	REL7_3_12:1.1
	REL7_4_10:1.1
	REL8_0_5:1.2
	REL8_1_1:1.2
	REL8_1_STABLE:1.2.0.6
	REL8_1_0:1.2
	REL8_1_0RC1:1.2
	REL8_1_0BETA4:1.2
	REL8_1_0BETA3:1.2
	REL7_3_11:1.1
	REL7_4_9:1.1
	REL8_0_4:1.2
	REL8_1_0BETA2:1.2
	REL8_1_0BETA1:1.2
	REL7_2_8:1.1
	REL7_3_10:1.1
	REL7_4_8:1.1
	REL8_0_3:1.2
	REL8_0_2:1.2
	REL7_2_7:1.1
	REL7_3_9:1.1
	REL7_4_7:1.1
	REL8_0_1:1.2
	REL8_0_STABLE:1.2.0.4
	REL8_0_0:1.2.0.2
	REL8_0_0RC5:1.2
	REL8_0_0RC4:1.2
	REL8_0_0RC3:1.2
	REL8_0_0RC2:1.2
	REL8_0_0RC1:1.2
	REL8_0_0BETA5:1.2
	REL8_0_0BETA4:1.2
	REL7_4_6:1.1
	REL7_3_8:1.1
	REL7_2_6:1.1
	REL8_0_0BETA3:1.2
	REL8_0_0BETA2:1.2
	REL7_2_5:1.1
	REL7_4_5:1.1
	REL7_3_7:1.1
	REL7_4_4:1.1
	REL8_0_0BETA1:1.2
	REL7_4_3:1.1
	REL7_4_2:1.1
	REL7_3_6:1.1
	REL7_4_1:1.1
	REL7_3_5:1.1
	REL7_4:1.1
	REL7_4_RC2:1.1
	REL7_4_STABLE:1.1.0.8
	REL7_4_RC1:1.1
	REL7_4_BETA5:1.1
	REL7_4_BETA4:1.1
	REL7_4_BETA3:1.1
	REL7_4_BETA2:1.1
	WIN32_DEV:1.1.0.6
	REL7_4_BETA1:1.1
	REL7_3_4:1.1
	REL7_3_2:1.1
	REL7_2_4:1.1
	REL7_3_STABLE:1.1.0.4
	REL7_2_3:1.1
	REL7_2_STABLE:1.1.0.2
	REL7_2:1.1
	REL7_2_RC2:1.1
	REL7_2_RC1:1.1
	REL7_2_BETA5:1.1
	REL7_2_BETA4:1.1
	REL7_2_BETA3:1.1
	REL7_2_BETA2:1.1
	REL7_2_BETA1:1.1;
locks; strict;
comment	@# @;


1.5
date	2008.09.30.10.52.13;	author heikki;	state Exp;
branches;
next	1.4;

1.4
date	2008.02.19.10.30.08;	author petere;	state Exp;
branches;
next	1.3;

1.3
date	2007.01.20.17.16.12;	author petere;	state Exp;
branches;
next	1.2;

1.2
date	2003.11.29.19.51.56;	author pgsql;	state Exp;
branches;
next	1.1;

1.1
date	2001.06.27.23.31.39;	author tgl;	state Exp;
branches;
next	;


desc
@@


1.5
log
@Rewrite the FSM. Instead of relying on a fixed-size shared memory segment, the
free space information is stored in a dedicated FSM relation fork, with each
relation (except for hash indexes; they don't use FSM).

This eliminates the max_fsm_relations and max_fsm_pages GUC options; remove any
trace of them from the backend, initdb, and documentation.

Rewrite contrib/pg_freespacemap to match the new FSM implementation. Also
introduce a new variant of the get_raw_page(regclass, int4, int4) function in
contrib/pageinspect that let's you to return pages from any relation fork, and
a new fsm_page_contents() function to inspect the new FSM pages.
@
text
@#-------------------------------------------------------------------------
#
# Makefile--
#    Makefile for storage/freespace
#
# IDENTIFICATION
#    $PostgreSQL: pgsql/src/backend/storage/freespace/Makefile,v 1.4 2008/02/19 10:30:08 petere Exp $
#
#-------------------------------------------------------------------------

subdir = src/backend/storage/freespace
top_builddir = ../../../..
include $(top_builddir)/src/Makefile.global

OBJS = freespace.o fsmpage.o indexfsm.o

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


1.4
log
@Refactor backend makefiles to remove lots of duplicate code
@
text
@d7 1
a7 1
#    $PostgreSQL: pgsql/src/backend/storage/freespace/Makefile,v 1.3 2007/01/20 17:16:12 petere Exp $
d15 1
a15 1
OBJS = freespace.o
@


1.3
log
@Remove remains of old depend target.
@
text
@d7 1
a7 1
#    $PostgreSQL: pgsql/src/backend/storage/freespace/Makefile,v 1.2 2003/11/29 19:51:56 pgsql Exp $
d17 1
a17 7
all: SUBSYS.o

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

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


1.2
log
@
$Header: -> $PostgreSQL Changes ...
@
text
@d7 1
a7 1
#    $PostgreSQL: /cvsroot/pgsql-server/src/backend/storage/freespace/Makefile,v 1.1 2001/06/27 23:31:39 tgl Exp $
a21 3
depend dep:
	$(CC) -MM $(CFLAGS) *.c >depend

a23 4

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


1.1
log
@Install infrastructure for shared-memory free space map.  Doesn't actually
do anything yet, but it has the necessary connections to initialization
and so forth.  Make some gestures towards allowing number of blocks in
a relation to be BlockNumber, ie, unsigned int, rather than signed int.
(I doubt I got all the places that are sloppy about it, yet.)  On the
way, replace the hardwired NLOCKS_PER_XACT fudge factor with a GUC
variable.
@
text
@d7 1
a7 1
#    $Header$
@

