postgresql/src/backend/storage/smgr
Tom Lane bec98a31c5 Revise aggregate functions per earlier discussions in pghackers.
There's now only one transition value and transition function.
NULL handling in aggregates is a lot cleaner.  Also, use Numeric
accumulators instead of integer accumulators for sum/avg on integer
datatypes --- this avoids overflow at the cost of being a little slower.
Implement VARIANCE() and STDDEV() aggregates in the standard backend.

Also, enable new LIKE selectivity estimators by default.  Unrelated
change, but as long as I had to force initdb anyway...
2000-07-17 03:05:41 +00:00
..
Makefile Generated header files parse.h and fmgroids.h are now copied into 2000-05-29 05:45:56 +00:00
README Postgres95 1.01 Distribution - Virgin Sources 1996-07-09 06:22:35 +00:00
md.c Revise aggregate functions per earlier discussions in pghackers. 2000-07-17 03:05:41 +00:00
mm.c Tweak smgrblindwrt per advice from Vadim: add parameter indicating 2000-04-10 23:41:52 +00:00
smgr.c Ensure that kernel error code is included in smgr-level error reports. 2000-06-19 23:37:08 +00:00
smgrtype.c Latest round of fmgr updates. All functions with bool,char, or int2 2000-06-05 07:29:25 +00:00

README

# $Header: /cvsroot/pgsql/src/backend/storage/smgr/README,v 1.1.1.1 1996/07/09 06:21:59 scrappy Exp $

This directory contains the code that supports the Postgres storage manager
switch and all of the installed storage managers.  In released systems,
the only supported storage manager is the magnetic disk manager.  At UC
Berkeley, the Sony WORM optical disk jukebox and persistent main memory are
also supported.

As of Postgres Release 3.0, every relation in the system is tagged with the
storage manager on which it resides.  The storage manager switch code turns
what used to by filesystem operations into operations on the correct store,
for any given relation.

The files in this directory, and their contents, are

    smgrtype.c	Storage manager type -- maps string names to storage manager
		IDs and provides simple comparison operators.  This is the
		regproc support for type 'smgr' in the system catalogs.

    smgr.c	The storage manager switch dispatch code.  The routines in
		this file call the appropriate storage manager to do hardware
		accesses requested by the backend.

    md.c	The magnetic disk storage manager.

    mm.c	The persistent main memory storage manager (#undef'ed in
		tmp/c.h for all distributed systems).

    sj.c	The sony jukebox storage manager and cache management code
		(#undef'ed in tmp/c.h for all distributed systems).  The
		routines in this file allocate extents, maintain block
		maps, and guarantee the persistence and coherency of a cache
		of jukebox blocks on magnetic disk.

    pgjb.c	The postgres jukebox interface routines.  The routines here
		handle exclusion on the physical device and translate requests
		from the storage manager code (sj.c) into jbaccess calls.

    jbaccess.c	Access code for the physical Sony jukebox device.  This code
		was swiped from Andy McFadden's jblib.a code at UC Berkeley.