Commit 0686d49d authored by Bruce Momjian's avatar Bruce Momjian

Remove dashes in comments that don't need them, rewrap with pgindent.

parent 9e155260
/* ------------------------------------------------------------------------- /* -------------------------------------------------------------------------
* pg_dumplo * pg_dumplo
* *
* $Header: /cvsroot/pgsql/contrib/pg_dumplo/Attic/lo_export.c,v 1.6 2001/03/22 03:59:10 momjian Exp $ * $Header: /cvsroot/pgsql/contrib/pg_dumplo/Attic/lo_export.c,v 1.7 2001/03/22 06:16:06 momjian Exp $
* *
* Karel Zak 1999-2000 * Karel Zak 1999-2000
* ------------------------------------------------------------------------- * -------------------------------------------------------------------------
...@@ -32,7 +32,7 @@ load_lolist(LODumpMaster * pgLO) ...@@ -32,7 +32,7 @@ load_lolist(LODumpMaster * pgLO)
int i; int i;
int n; int n;
/* ---------- /*
* Now find any candidate tables who have columns of type oid. * Now find any candidate tables who have columns of type oid.
* *
* NOTE: System tables including pg_largeobject will be ignored. * NOTE: System tables including pg_largeobject will be ignored.
...@@ -40,7 +40,6 @@ load_lolist(LODumpMaster * pgLO) ...@@ -40,7 +40,6 @@ load_lolist(LODumpMaster * pgLO)
* *
* NOTE: the system oid column is ignored, as it has attnum < 1. * NOTE: the system oid column is ignored, as it has attnum < 1.
* This shouldn't matter for correctness, but it saves time. * This shouldn't matter for correctness, but it saves time.
* ----------
*/ */
pgLO->res = PQexec(pgLO->conn, pgLO->res = PQexec(pgLO->conn,
"SELECT c.relname, a.attname " "SELECT c.relname, a.attname "
...@@ -109,9 +108,8 @@ pglo_export(LODumpMaster * pgLO) ...@@ -109,9 +108,8 @@ pglo_export(LODumpMaster * pgLO)
for (ll = pgLO->lolist; ll->lo_table != NULL; ll++) for (ll = pgLO->lolist; ll->lo_table != NULL; ll++)
{ {
/* ---------- /*
* Query: find the LOs referenced by this column * Query: find the LOs referenced by this column
* ----------
*/ */
sprintf(Qbuff, "SELECT DISTINCT l.loid FROM \"%s\" x, pg_largeobject l WHERE x.\"%s\" = l.loid", sprintf(Qbuff, "SELECT DISTINCT l.loid FROM \"%s\" x, pg_largeobject l WHERE x.\"%s\" = l.loid",
ll->lo_table, ll->lo_attr); ll->lo_table, ll->lo_attr);
...@@ -137,9 +135,8 @@ pglo_export(LODumpMaster * pgLO) ...@@ -137,9 +135,8 @@ pglo_export(LODumpMaster * pgLO)
int t; int t;
char *val; char *val;
/* ---------- /*
* Create DIR/FILE * Create DIR/FILE
* ----------
*/ */
if (pgLO->action != ACTION_SHOW) if (pgLO->action != ACTION_SHOW)
{ {
......
/* ------------------------------------------------------------------------- /* -------------------------------------------------------------------------
* pg_dumplo * pg_dumplo
* *
* $Header: /cvsroot/pgsql/contrib/pg_dumplo/Attic/lo_import.c,v 1.4 2001/03/22 03:59:10 momjian Exp $ * $Header: /cvsroot/pgsql/contrib/pg_dumplo/Attic/lo_import.c,v 1.5 2001/03/22 06:16:06 momjian Exp $
* *
* Karel Zak 1999-2000 * Karel Zak 1999-2000
* ------------------------------------------------------------------------- * -------------------------------------------------------------------------
...@@ -50,9 +50,8 @@ pglo_import(LODumpMaster * pgLO) ...@@ -50,9 +50,8 @@ pglo_import(LODumpMaster * pgLO)
sprintf(lo_path, "%s/%s", pgLO->space, path); sprintf(lo_path, "%s/%s", pgLO->space, path);
/* ---------- /*
* Import LO * Import LO
* ----------
*/ */
if ((new_oid = lo_import(pgLO->conn, lo_path)) == 0) if ((new_oid = lo_import(pgLO->conn, lo_path)) == 0)
{ {
...@@ -79,9 +78,8 @@ pglo_import(LODumpMaster * pgLO) ...@@ -79,9 +78,8 @@ pglo_import(LODumpMaster * pgLO)
pgLO->counter++; pgLO->counter++;
/* ---------- /*
* UPDATE oid in tab * UPDATE oid in tab
* ----------
*/ */
sprintf(Qbuff, "UPDATE \"%s\" SET \"%s\"=%u WHERE \"%s\"=%u", sprintf(Qbuff, "UPDATE \"%s\" SET \"%s\"=%u WHERE \"%s\"=%u",
loa.lo_table, loa.lo_attr, new_oid, loa.lo_attr, loa.lo_oid); loa.lo_table, loa.lo_attr, new_oid, loa.lo_attr, loa.lo_oid);
......
/* ------------------------------------------------------------------------- /* -------------------------------------------------------------------------
* pg_dumplo * pg_dumplo
* *
* $Header: /cvsroot/pgsql/contrib/pg_dumplo/Attic/main.c,v 1.7 2001/03/22 03:59:10 momjian Exp $ * $Header: /cvsroot/pgsql/contrib/pg_dumplo/Attic/main.c,v 1.8 2001/03/22 06:16:06 momjian Exp $
* *
* Karel Zak 1999-2000 * Karel Zak 1999-2000
* ------------------------------------------------------------------------- * -------------------------------------------------------------------------
...@@ -65,9 +65,8 @@ main(int argc, char **argv) ...@@ -65,9 +65,8 @@ main(int argc, char **argv)
progname = argv[0]; progname = argv[0];
/* ---------- /*
* Parse ARGV * Parse ARGV
* ----------
*/ */
if (argc > 1) if (argc > 1)
{ {
...@@ -153,9 +152,8 @@ main(int argc, char **argv) ...@@ -153,9 +152,8 @@ main(int argc, char **argv)
exit(RE_ERROR); exit(RE_ERROR);
} }
/* ---------- /*
* Check space * Check space
* ----------
*/ */
if (!pgLO->space && !pgLO->action == ACTION_SHOW) if (!pgLO->space && !pgLO->action == ACTION_SHOW)
{ {
...@@ -172,9 +170,8 @@ main(int argc, char **argv) ...@@ -172,9 +170,8 @@ main(int argc, char **argv)
exit(RE_ERROR); exit(RE_ERROR);
} }
/* ---------- /*
* Make connection * Make connection
* ----------
*/ */
pgLO->conn = PQsetdbLogin(pgLO->host, NULL, NULL, NULL, pgLO->db, pgLO->conn = PQsetdbLogin(pgLO->host, NULL, NULL, NULL, pgLO->db,
pgLO->user, pwd); pgLO->user, pwd);
...@@ -189,9 +186,8 @@ main(int argc, char **argv) ...@@ -189,9 +186,8 @@ main(int argc, char **argv)
pgLO->user = PQuser(pgLO->conn); pgLO->user = PQuser(pgLO->conn);
/* ---------- /*
* Init index file * Init index file
* ----------
*/ */
if (pgLO->action != ACTION_SHOW) if (pgLO->action != ACTION_SHOW)
index_file(pgLO); index_file(pgLO);
......
...@@ -9,7 +9,7 @@ ...@@ -9,7 +9,7 @@
* *
* *
* IDENTIFICATION * IDENTIFICATION
* $Header: /cvsroot/pgsql/src/backend/access/common/heaptuple.c,v 1.70 2001/03/22 03:59:11 momjian Exp $ * $Header: /cvsroot/pgsql/src/backend/access/common/heaptuple.c,v 1.71 2001/03/22 06:16:06 momjian Exp $
* *
* NOTES * NOTES
* The old interface functions have been converted to macros * The old interface functions have been converted to macros
...@@ -246,9 +246,8 @@ nocachegetattr(HeapTuple tuple, ...@@ -246,9 +246,8 @@ nocachegetattr(HeapTuple tuple,
* there's a null somewhere in the tuple * there's a null somewhere in the tuple
*/ */
/* ---------------- /*
* check to see if desired att is null * check to see if desired att is null
* ----------------
*/ */
#ifdef IN_MACRO #ifdef IN_MACRO
...@@ -261,9 +260,8 @@ nocachegetattr(HeapTuple tuple, ...@@ -261,9 +260,8 @@ nocachegetattr(HeapTuple tuple,
} }
#endif #endif
/* ---------------- /*
* Now check to see if any preceding bits are null... * Now check to see if any preceding bits are null...
* ----------------
*/ */
{ {
int byte = attnum >> 3; int byte = attnum >> 3;
...@@ -658,9 +656,8 @@ heap_modifytuple(HeapTuple tuple, ...@@ -658,9 +656,8 @@ heap_modifytuple(HeapTuple tuple,
HeapTuple newTuple; HeapTuple newTuple;
uint8 infomask; uint8 infomask;
/* ---------------- /*
* sanity checks * sanity checks
* ----------------
*/ */
Assert(HeapTupleIsValid(tuple)); Assert(HeapTupleIsValid(tuple));
Assert(RelationIsValid(relation)); Assert(RelationIsValid(relation));
...@@ -670,10 +667,9 @@ heap_modifytuple(HeapTuple tuple, ...@@ -670,10 +667,9 @@ heap_modifytuple(HeapTuple tuple,
numberOfAttributes = RelationGetForm(relation)->relnatts; numberOfAttributes = RelationGetForm(relation)->relnatts;
/* ---------------- /*
* allocate and fill *value and *nulls arrays from either * allocate and fill *value and *nulls arrays from either the tuple or
* the tuple or the repl information, as appropriate. * the repl information, as appropriate.
* ----------------
*/ */
value = (Datum *) palloc(numberOfAttributes * sizeof *value); value = (Datum *) palloc(numberOfAttributes * sizeof *value);
nulls = (char *) palloc(numberOfAttributes * sizeof *nulls); nulls = (char *) palloc(numberOfAttributes * sizeof *nulls);
...@@ -701,17 +697,16 @@ heap_modifytuple(HeapTuple tuple, ...@@ -701,17 +697,16 @@ heap_modifytuple(HeapTuple tuple,
} }
} }
/* ---------------- /*
* create a new tuple from the *values and *nulls arrays * create a new tuple from the *values and *nulls arrays
* ----------------
*/ */
newTuple = heap_formtuple(RelationGetDescr(relation), newTuple = heap_formtuple(RelationGetDescr(relation),
value, value,
nulls); nulls);
/* ---------------- /*
* copy the header except for t_len, t_natts, t_hoff, t_bits, t_infomask * copy the header except for t_len, t_natts, t_hoff, t_bits,
* ---------------- * t_infomask
*/ */
infomask = newTuple->t_data->t_infomask; infomask = newTuple->t_data->t_infomask;
memmove((char *) &newTuple->t_data->t_oid, /* XXX */ memmove((char *) &newTuple->t_data->t_oid, /* XXX */
......
...@@ -9,7 +9,7 @@ ...@@ -9,7 +9,7 @@
* *
* *
* IDENTIFICATION * IDENTIFICATION
* $Header: /cvsroot/pgsql/src/backend/access/common/indextuple.c,v 1.53 2001/03/22 03:59:11 momjian Exp $ * $Header: /cvsroot/pgsql/src/backend/access/common/indextuple.c,v 1.54 2001/03/22 06:16:06 momjian Exp $
* *
*------------------------------------------------------------------------- *-------------------------------------------------------------------------
*/ */
...@@ -165,9 +165,8 @@ index_formtuple(TupleDesc tupleDescriptor, ...@@ -165,9 +165,8 @@ index_formtuple(TupleDesc tupleDescriptor,
infomask |= size; infomask |= size;
/* ---------------- /*
* initialize metadata * initialize metadata
* ----------------
*/ */
tuple->t_info = infomask; tuple->t_info = infomask;
return tuple; return tuple;
...@@ -205,9 +204,9 @@ nocache_index_getattr(IndexTuple tup, ...@@ -205,9 +204,9 @@ nocache_index_getattr(IndexTuple tup,
int data_off; /* tuple data offset */ int data_off; /* tuple data offset */
(void) isnull; /* not used */ (void) isnull; /* not used */
/* ----------------
/*
* sanity checks * sanity checks
* ----------------
*/ */
/* ---------------- /* ----------------
...@@ -246,9 +245,9 @@ nocache_index_getattr(IndexTuple tup, ...@@ -246,9 +245,9 @@ nocache_index_getattr(IndexTuple tup,
} }
else else
{ /* there's a null somewhere in the tuple */ { /* there's a null somewhere in the tuple */
/* ----------------
/*
* check to see if desired att is null * check to see if desired att is null
* ----------------
*/ */
/* XXX "knows" t_bits are just after fixed tuple header! */ /* XXX "knows" t_bits are just after fixed tuple header! */
...@@ -264,9 +263,8 @@ nocache_index_getattr(IndexTuple tup, ...@@ -264,9 +263,8 @@ nocache_index_getattr(IndexTuple tup,
} }
#endif #endif
/* ---------------- /*
* Now check to see if any preceding bits are null... * Now check to see if any preceding bits are null...
* ----------------
*/ */
{ {
int byte = attnum >> 3; int byte = attnum >> 3;
......
...@@ -9,7 +9,7 @@ ...@@ -9,7 +9,7 @@
* *
* *
* IDENTIFICATION * IDENTIFICATION
* $Header: /cvsroot/pgsql/src/backend/access/common/printtup.c,v 1.58 2001/03/22 03:59:11 momjian Exp $ * $Header: /cvsroot/pgsql/src/backend/access/common/printtup.c,v 1.59 2001/03/22 06:16:06 momjian Exp $
* *
*------------------------------------------------------------------------- *-------------------------------------------------------------------------
*/ */
...@@ -155,16 +155,14 @@ printtup(HeapTuple tuple, TupleDesc typeinfo, DestReceiver *self) ...@@ -155,16 +155,14 @@ printtup(HeapTuple tuple, TupleDesc typeinfo, DestReceiver *self)
if (myState->attrinfo != typeinfo || myState->nattrs != natts) if (myState->attrinfo != typeinfo || myState->nattrs != natts)
printtup_prepare_info(myState, typeinfo, natts); printtup_prepare_info(myState, typeinfo, natts);
/* ---------------- /*
* tell the frontend to expect new tuple data (in ASCII style) * tell the frontend to expect new tuple data (in ASCII style)
* ----------------
*/ */
pq_beginmessage(&buf); pq_beginmessage(&buf);
pq_sendbyte(&buf, 'D'); pq_sendbyte(&buf, 'D');
/* ---------------- /*
* send a bitmap of which attributes are not null * send a bitmap of which attributes are not null
* ----------------
*/ */
j = 0; j = 0;
k = 1 << 7; k = 1 << 7;
...@@ -183,9 +181,8 @@ printtup(HeapTuple tuple, TupleDesc typeinfo, DestReceiver *self) ...@@ -183,9 +181,8 @@ printtup(HeapTuple tuple, TupleDesc typeinfo, DestReceiver *self)
if (k != (1 << 7)) /* flush last partial byte */ if (k != (1 << 7)) /* flush last partial byte */
pq_sendint(&buf, j, 1); pq_sendint(&buf, j, 1);
/* ---------------- /*
* send the attributes of this tuple * send the attributes of this tuple
* ----------------
*/ */
for (i = 0; i < natts; ++i) for (i = 0; i < natts; ++i)
{ {
...@@ -357,16 +354,14 @@ printtup_internal(HeapTuple tuple, TupleDesc typeinfo, DestReceiver *self) ...@@ -357,16 +354,14 @@ printtup_internal(HeapTuple tuple, TupleDesc typeinfo, DestReceiver *self)
if (myState->attrinfo != typeinfo || myState->nattrs != natts) if (myState->attrinfo != typeinfo || myState->nattrs != natts)
printtup_prepare_info(myState, typeinfo, natts); printtup_prepare_info(myState, typeinfo, natts);
/* ---------------- /*
* tell the frontend to expect new tuple data (in binary style) * tell the frontend to expect new tuple data (in binary style)
* ----------------
*/ */
pq_beginmessage(&buf); pq_beginmessage(&buf);
pq_sendbyte(&buf, 'B'); pq_sendbyte(&buf, 'B');
/* ---------------- /*
* send a bitmap of which attributes are not null * send a bitmap of which attributes are not null
* ----------------
*/ */
j = 0; j = 0;
k = 1 << 7; k = 1 << 7;
...@@ -385,9 +380,8 @@ printtup_internal(HeapTuple tuple, TupleDesc typeinfo, DestReceiver *self) ...@@ -385,9 +380,8 @@ printtup_internal(HeapTuple tuple, TupleDesc typeinfo, DestReceiver *self)
if (k != (1 << 7)) /* flush last partial byte */ if (k != (1 << 7)) /* flush last partial byte */
pq_sendint(&buf, j, 1); pq_sendint(&buf, j, 1);
/* ---------------- /*
* send the attributes of this tuple * send the attributes of this tuple
* ----------------
*/ */
#ifdef IPORTAL_DEBUG #ifdef IPORTAL_DEBUG
fprintf(stderr, "sending tuple with %d atts\n", natts); fprintf(stderr, "sending tuple with %d atts\n", natts);
......
...@@ -8,7 +8,7 @@ ...@@ -8,7 +8,7 @@
* *
* *
* IDENTIFICATION * IDENTIFICATION
* $Header: /cvsroot/pgsql/src/backend/access/common/tupdesc.c,v 1.72 2001/03/22 03:59:11 momjian Exp $ * $Header: /cvsroot/pgsql/src/backend/access/common/tupdesc.c,v 1.73 2001/03/22 06:16:06 momjian Exp $
* *
* NOTES * NOTES
* some of the executor utility code such as "ExecTypeFromTL" should be * some of the executor utility code such as "ExecTypeFromTL" should be
...@@ -37,17 +37,15 @@ CreateTemplateTupleDesc(int natts) ...@@ -37,17 +37,15 @@ CreateTemplateTupleDesc(int natts)
uint32 size; uint32 size;
TupleDesc desc; TupleDesc desc;
/* ---------------- /*
* sanity checks * sanity checks
* ----------------
*/ */
AssertArg(natts >= 1); AssertArg(natts >= 1);
/* ---------------- /*
* allocate enough memory for the tuple descriptor and * allocate enough memory for the tuple descriptor and zero it as
* zero it as TupleDescInitEntry assumes that the descriptor * TupleDescInitEntry assumes that the descriptor is filled with NULL
* is filled with NULL pointers. * pointers.
* ----------------
*/ */
size = natts * sizeof(Form_pg_attribute); size = natts * sizeof(Form_pg_attribute);
desc = (TupleDesc) palloc(sizeof(struct tupleDesc)); desc = (TupleDesc) palloc(sizeof(struct tupleDesc));
...@@ -71,9 +69,8 @@ CreateTupleDesc(int natts, Form_pg_attribute *attrs) ...@@ -71,9 +69,8 @@ CreateTupleDesc(int natts, Form_pg_attribute *attrs)
{ {
TupleDesc desc; TupleDesc desc;
/* ---------------- /*
* sanity checks * sanity checks
* ----------------
*/ */
AssertArg(natts >= 1); AssertArg(natts >= 1);
...@@ -337,9 +334,8 @@ TupleDescInitEntry(TupleDesc desc, ...@@ -337,9 +334,8 @@ TupleDescInitEntry(TupleDesc desc,
Form_pg_type typeForm; Form_pg_type typeForm;
Form_pg_attribute att; Form_pg_attribute att;
/* ---------------- /*
* sanity checks * sanity checks
* ----------------
*/ */
AssertArg(PointerIsValid(desc)); AssertArg(PointerIsValid(desc));
AssertArg(attributeNumber >= 1); AssertArg(attributeNumber >= 1);
...@@ -352,17 +348,15 @@ TupleDescInitEntry(TupleDesc desc, ...@@ -352,17 +348,15 @@ TupleDescInitEntry(TupleDesc desc,
AssertArg(!PointerIsValid(desc->attrs[attributeNumber - 1])); AssertArg(!PointerIsValid(desc->attrs[attributeNumber - 1]));
/* ---------------- /*
* allocate storage for this attribute * allocate storage for this attribute
* ----------------
*/ */
att = (Form_pg_attribute) palloc(ATTRIBUTE_TUPLE_SIZE); att = (Form_pg_attribute) palloc(ATTRIBUTE_TUPLE_SIZE);
desc->attrs[attributeNumber - 1] = att; desc->attrs[attributeNumber - 1] = att;
/* ---------------- /*
* initialize the attribute fields * initialize the attribute fields
* ----------------
*/ */
att->attrelid = 0; /* dummy value */ att->attrelid = 0; /* dummy value */
...@@ -404,10 +398,10 @@ TupleDescInitEntry(TupleDesc desc, ...@@ -404,10 +398,10 @@ TupleDescInitEntry(TupleDesc desc,
0, 0, 0); 0, 0, 0);
if (!HeapTupleIsValid(tuple)) if (!HeapTupleIsValid(tuple))
{ {
/* ----------------
* here type info does not exist yet so we just fill /*
* the attribute with dummy information and return false. * here type info does not exist yet so we just fill the attribute
* ---------------- * with dummy information and return false.
*/ */
att->atttypid = InvalidOid; att->atttypid = InvalidOid;
att->attlen = (int16) 0; att->attlen = (int16) 0;
...@@ -417,32 +411,30 @@ TupleDescInitEntry(TupleDesc desc, ...@@ -417,32 +411,30 @@ TupleDescInitEntry(TupleDesc desc,
return false; return false;
} }
/* ---------------- /*
* type info exists so we initialize our attribute * type info exists so we initialize our attribute information from
* information from the type tuple we found.. * the type tuple we found..
* ----------------
*/ */
typeForm = (Form_pg_type) GETSTRUCT(tuple); typeForm = (Form_pg_type) GETSTRUCT(tuple);
att->atttypid = tuple->t_data->t_oid; att->atttypid = tuple->t_data->t_oid;
/*------------------------ /*
* There are a couple of cases where we must override the information * There are a couple of cases where we must override the information
* stored in pg_type. * stored in pg_type.
* *
* First: if this attribute is a set, what is really stored in the * First: if this attribute is a set, what is really stored in the
* attribute is the OID of a tuple in the pg_proc catalog. * attribute is the OID of a tuple in the pg_proc catalog. The pg_proc
* The pg_proc tuple contains the query string which defines * tuple contains the query string which defines this set - i.e., the
* this set - i.e., the query to run to get the set. * query to run to get the set. So the atttypid (just assigned above)
* So the atttypid (just assigned above) refers to the type returned * refers to the type returned by this query, but the actual length of
* by this query, but the actual length of this attribute is the * this attribute is the length (size) of an OID.
* length (size) of an OID.
* *
* (Why not just make the atttypid point to the OID type, instead * (Why not just make the atttypid point to the OID type, instead of the
* of the type the query returns? Because the executor uses the atttypid * type the query returns? Because the executor uses the atttypid to
* to tell the front end what type will be returned (in BeginCommand), * tell the front end what type will be returned (in BeginCommand),
* and in the end the type returned will be the result of the query, not * and in the end the type returned will be the result of the query,
* an OID.) * not an OID.)
* *
* (Why not wait until the return type of the set is known (i.e., the * (Why not wait until the return type of the set is known (i.e., the
* recursive call to the executor to execute the set has returned) * recursive call to the executor to execute the set has returned)
...@@ -460,7 +452,6 @@ TupleDescInitEntry(TupleDesc desc, ...@@ -460,7 +452,6 @@ TupleDescInitEntry(TupleDesc desc,
* *
* A set of complex type is first and foremost a set, so its * A set of complex type is first and foremost a set, so its
* representation is Oid not pointer. So, test that case first. * representation is Oid not pointer. So, test that case first.
*-----------------------------------------
*/ */
if (attisset) if (attisset)
{ {
...@@ -550,9 +541,8 @@ BuildDescForRelation(List *schema, char *relname) ...@@ -550,9 +541,8 @@ BuildDescForRelation(List *schema, char *relname)
int ndef = 0; int ndef = 0;
bool attisset; bool attisset;
/* ---------------- /*
* allocate a new tuple descriptor * allocate a new tuple descriptor
* ----------------
*/ */
natts = length(schema); natts = length(schema);
desc = CreateTemplateTupleDesc(natts); desc = CreateTemplateTupleDesc(natts);
...@@ -565,11 +555,10 @@ BuildDescForRelation(List *schema, char *relname) ...@@ -565,11 +555,10 @@ BuildDescForRelation(List *schema, char *relname)
ColumnDef *entry = lfirst(p); ColumnDef *entry = lfirst(p);
List *arry; List *arry;
/* ---------------- /*
* for each entry in the list, get the name and type * for each entry in the list, get the name and type information
* information from the list and have TupleDescInitEntry * from the list and have TupleDescInitEntry fill in the attribute
* fill in the attribute information we need. * information we need.
* ----------------
*/ */
attnum++; attnum++;
...@@ -595,12 +584,12 @@ BuildDescForRelation(List *schema, char *relname) ...@@ -595,12 +584,12 @@ BuildDescForRelation(List *schema, char *relname)
typenameTypeId(typename), typenameTypeId(typename),
atttypmod, attdim, attisset)) atttypmod, attdim, attisset))
{ {
/* ----------------
* if TupleDescInitEntry() fails, it means there is /*
* no type in the system catalogs. So now we check if * if TupleDescInitEntry() fails, it means there is no type in
* the type name equals the relation name. If so we * the system catalogs. So now we check if the type name
* have a self reference, otherwise it's an error. * equals the relation name. If so we have a self reference,
* ---------------- * otherwise it's an error.
*/ */
if (strcmp(typename, relname) == 0) if (strcmp(typename, relname) == 0)
TupleDescMakeSelfReference(desc, attnum, relname); TupleDescMakeSelfReference(desc, attnum, relname);
......
This diff is collapsed.
...@@ -8,7 +8,7 @@ ...@@ -8,7 +8,7 @@
* *
* *
* IDENTIFICATION * IDENTIFICATION
* $Id: hio.c,v 1.36 2001/03/22 03:59:13 momjian Exp $ * $Id: hio.c,v 1.37 2001/03/22 06:16:07 momjian Exp $
* *
*------------------------------------------------------------------------- *-------------------------------------------------------------------------
*/ */
...@@ -37,9 +37,8 @@ RelationPutHeapTuple(Relation relation, ...@@ -37,9 +37,8 @@ RelationPutHeapTuple(Relation relation,
ItemId itemId; ItemId itemId;
Item item; Item item;
/* ---------------- /*
* increment access statistics * increment access statistics
* ----------------
*/ */
IncrHeapAccessStat(local_RelationPutHeapTuple); IncrHeapAccessStat(local_RelationPutHeapTuple);
IncrHeapAccessStat(global_RelationPutHeapTuple); IncrHeapAccessStat(global_RelationPutHeapTuple);
......
...@@ -8,7 +8,7 @@ ...@@ -8,7 +8,7 @@
* *
* *
* IDENTIFICATION * IDENTIFICATION
* $Header: /cvsroot/pgsql/src/backend/access/heap/Attic/stats.c,v 1.23 2001/01/24 19:42:48 momjian Exp $ * $Header: /cvsroot/pgsql/src/backend/access/heap/Attic/stats.c,v 1.24 2001/03/22 06:16:07 momjian Exp $
* *
* NOTES * NOTES
* initam should be moved someplace else. * initam should be moved someplace else.
...@@ -37,25 +37,22 @@ InitHeapAccessStatistics() ...@@ -37,25 +37,22 @@ InitHeapAccessStatistics()
MemoryContext oldContext; MemoryContext oldContext;
HeapAccessStatistics stats; HeapAccessStatistics stats;
/* ---------------- /*
* make sure we don't initialize things twice * make sure we don't initialize things twice
* ----------------
*/ */
if (heap_access_stats != NULL) if (heap_access_stats != NULL)
return; return;
/* ---------------- /*
* allocate statistics structure from the top memory context * allocate statistics structure from the top memory context
* ----------------
*/ */
oldContext = MemoryContextSwitchTo(TopMemoryContext); oldContext = MemoryContextSwitchTo(TopMemoryContext);
stats = (HeapAccessStatistics) stats = (HeapAccessStatistics)
palloc(sizeof(HeapAccessStatisticsData)); palloc(sizeof(HeapAccessStatisticsData));
/* ---------------- /*
* initialize fields to default values * initialize fields to default values
* ----------------
*/ */
stats->global_open = 0; stats->global_open = 0;
stats->global_openr = 0; stats->global_openr = 0;
...@@ -103,17 +100,15 @@ InitHeapAccessStatistics() ...@@ -103,17 +100,15 @@ InitHeapAccessStatistics()
stats->local_RelationNameGetRelation = 0; stats->local_RelationNameGetRelation = 0;
stats->global_RelationNameGetRelation = 0; stats->global_RelationNameGetRelation = 0;
/* ---------------- /*
* record init times * record init times
* ----------------
*/ */
time(&stats->init_global_timestamp); time(&stats->init_global_timestamp);
time(&stats->local_reset_timestamp); time(&stats->local_reset_timestamp);
time(&stats->last_request_timestamp); time(&stats->last_request_timestamp);
/* ---------------- /*
* return to old memory context * return to old memory context
* ----------------
*/ */
MemoryContextSwitchTo(oldContext); MemoryContextSwitchTo(oldContext);
...@@ -130,18 +125,16 @@ ResetHeapAccessStatistics() ...@@ -130,18 +125,16 @@ ResetHeapAccessStatistics()
{ {
HeapAccessStatistics stats; HeapAccessStatistics stats;
/* ---------------- /*
* do nothing if stats aren't initialized * do nothing if stats aren't initialized
* ----------------
*/ */
if (heap_access_stats == NULL) if (heap_access_stats == NULL)
return; return;
stats = heap_access_stats; stats = heap_access_stats;
/* ---------------- /*
* reset local counts * reset local counts
* ----------------
*/ */
stats->local_open = 0; stats->local_open = 0;
stats->local_openr = 0; stats->local_openr = 0;
...@@ -165,9 +158,8 @@ ResetHeapAccessStatistics() ...@@ -165,9 +158,8 @@ ResetHeapAccessStatistics()
stats->local_RelationPutHeapTuple = 0; stats->local_RelationPutHeapTuple = 0;
stats->local_RelationPutLongHeapTuple = 0; stats->local_RelationPutLongHeapTuple = 0;
/* ---------------- /*
* reset local timestamps * reset local timestamps
* ----------------
*/ */
time(&stats->local_reset_timestamp); time(&stats->local_reset_timestamp);
time(&stats->last_request_timestamp); time(&stats->last_request_timestamp);
...@@ -185,22 +177,19 @@ GetHeapAccessStatistics() ...@@ -185,22 +177,19 @@ GetHeapAccessStatistics()
{ {
HeapAccessStatistics stats; HeapAccessStatistics stats;
/* ---------------- /*
* return nothing if stats aren't initialized * return nothing if stats aren't initialized
* ----------------
*/ */
if (heap_access_stats == NULL) if (heap_access_stats == NULL)
return NULL; return NULL;
/* ---------------- /*
* record the current request time * record the current request time
* ----------------
*/ */
time(&heap_access_stats->last_request_timestamp); time(&heap_access_stats->last_request_timestamp);
/* ---------------- /*
* allocate a copy of the stats and return it to the caller. * allocate a copy of the stats and return it to the caller.
* ----------------
*/ */
stats = (HeapAccessStatistics) stats = (HeapAccessStatistics)
palloc(sizeof(HeapAccessStatisticsData)); palloc(sizeof(HeapAccessStatisticsData));
...@@ -222,9 +211,9 @@ GetHeapAccessStatistics() ...@@ -222,9 +211,9 @@ GetHeapAccessStatistics()
void void
PrintHeapAccessStatistics(HeapAccessStatistics stats) PrintHeapAccessStatistics(HeapAccessStatistics stats)
{ {
/* ----------------
/*
* return nothing if stats aren't valid * return nothing if stats aren't valid
* ----------------
*/ */
if (stats == NULL) if (stats == NULL)
return; return;
...@@ -342,9 +331,9 @@ PrintAndFreeHeapAccessStatistics(HeapAccessStatistics stats) ...@@ -342,9 +331,9 @@ PrintAndFreeHeapAccessStatistics(HeapAccessStatistics stats)
void void
initam(void) initam(void)
{ {
/* ----------------
/*
* initialize heap statistics. * initialize heap statistics.
* ----------------
*/ */
InitHeapAccessStatistics(); InitHeapAccessStatistics();
} }
This diff is collapsed.
...@@ -8,7 +8,7 @@ ...@@ -8,7 +8,7 @@
* *
* *
* IDENTIFICATION * IDENTIFICATION
* $Header: /cvsroot/pgsql/src/backend/access/index/indexam.c,v 1.47 2001/01/24 19:42:48 momjian Exp $ * $Header: /cvsroot/pgsql/src/backend/access/index/indexam.c,v 1.48 2001/03/22 06:16:07 momjian Exp $
* *
* INTERFACE ROUTINES * INTERFACE ROUTINES
* index_open - open an index relation by relationId * index_open - open an index relation by relationId
...@@ -190,9 +190,8 @@ index_insert(Relation relation, ...@@ -190,9 +190,8 @@ index_insert(Relation relation,
RELATION_CHECKS; RELATION_CHECKS;
GET_REL_PROCEDURE(insert, aminsert); GET_REL_PROCEDURE(insert, aminsert);
/* ---------------- /*
* have the am's insert proc do all the work. * have the am's insert proc do all the work.
* ----------------
*/ */
specificResult = (InsertIndexResult) specificResult = (InsertIndexResult)
DatumGetPointer(OidFunctionCall5(procedure, DatumGetPointer(OidFunctionCall5(procedure,
...@@ -241,13 +240,12 @@ index_beginscan(Relation relation, ...@@ -241,13 +240,12 @@ index_beginscan(Relation relation,
RelationIncrementReferenceCount(relation); RelationIncrementReferenceCount(relation);
/* ---------------- /*
* Acquire AccessShareLock for the duration of the scan * Acquire AccessShareLock for the duration of the scan
* *
* Note: we could get an SI inval message here and consequently have * Note: we could get an SI inval message here and consequently have to
* to rebuild the relcache entry. The refcount increment above * rebuild the relcache entry. The refcount increment above ensures
* ensures that we will rebuild it and not just flush it... * that we will rebuild it and not just flush it...
* ----------------
*/ */
LockRelation(relation, AccessShareLock); LockRelation(relation, AccessShareLock);
...@@ -347,9 +345,8 @@ index_getnext(IndexScanDesc scan, ...@@ -347,9 +345,8 @@ index_getnext(IndexScanDesc scan,
SCAN_CHECKS; SCAN_CHECKS;
/* ---------------- /*
* Look up the access procedure only once per scan. * Look up the access procedure only once per scan.
* ----------------
*/ */
if (scan->fn_getnext.fn_oid == InvalidOid) if (scan->fn_getnext.fn_oid == InvalidOid)
{ {
...@@ -359,9 +356,8 @@ index_getnext(IndexScanDesc scan, ...@@ -359,9 +356,8 @@ index_getnext(IndexScanDesc scan,
fmgr_info(procedure, &scan->fn_getnext); fmgr_info(procedure, &scan->fn_getnext);
} }
/* ---------------- /*
* have the am's gettuple proc do all the work. * have the am's gettuple proc do all the work.
* ----------------
*/ */
result = (RetrieveIndexResult) result = (RetrieveIndexResult)
DatumGetPointer(FunctionCall2(&scan->fn_getnext, DatumGetPointer(FunctionCall2(&scan->fn_getnext,
......
...@@ -8,7 +8,7 @@ ...@@ -8,7 +8,7 @@
* Portions Copyright (c) 1994, Regents of the University of California * Portions Copyright (c) 1994, Regents of the University of California
* *
* IDENTIFICATION * IDENTIFICATION
* $Header: /cvsroot/pgsql/src/backend/access/nbtree/nbtsearch.c,v 1.64 2001/03/22 03:59:15 momjian Exp $ * $Header: /cvsroot/pgsql/src/backend/access/nbtree/nbtsearch.c,v 1.65 2001/03/22 06:16:07 momjian Exp $
* *
*------------------------------------------------------------------------- *-------------------------------------------------------------------------
*/ */
...@@ -238,21 +238,19 @@ _bt_binsrch(Relation rel, ...@@ -238,21 +238,19 @@ _bt_binsrch(Relation rel,
high = mid; high = mid;
} }
/*-------------------- /*
* At this point we have high == low, but be careful: they could point * At this point we have high == low, but be careful: they could point
* past the last slot on the page. * past the last slot on the page.
* *
* On a leaf page, we always return the first key >= scan key * On a leaf page, we always return the first key >= scan key (which
* (which could be the last slot + 1). * could be the last slot + 1).
*--------------------
*/ */
if (P_ISLEAF(opaque)) if (P_ISLEAF(opaque))
return low; return low;
/*-------------------- /*
* On a non-leaf page, return the last key < scan key. * On a non-leaf page, return the last key < scan key. There must be
* There must be one if _bt_compare() is playing by the rules. * one if _bt_compare() is playing by the rules.
*--------------------
*/ */
Assert(low > P_FIRSTDATAKEY(opaque)); Assert(low > P_FIRSTDATAKEY(opaque));
...@@ -584,21 +582,20 @@ _bt_first(IndexScanDesc scan, ScanDirection dir) ...@@ -584,21 +582,20 @@ _bt_first(IndexScanDesc scan, ScanDirection dir)
ItemPointerSet(current, blkno, offnum); ItemPointerSet(current, blkno, offnum);
/*---------- /*
* At this point we are positioned at the first item >= scan key, * At this point we are positioned at the first item >= scan key, or
* or possibly at the end of a page on which all the existing items * possibly at the end of a page on which all the existing items are <
* are < scan key and we know that everything on later pages is * scan key and we know that everything on later pages is >= scan key.
* >= scan key. We could step forward in the latter case, but that'd * We could step forward in the latter case, but that'd be a waste of
* be a waste of time if we want to scan backwards. So, it's now time to * time if we want to scan backwards. So, it's now time to examine
* examine the scan strategy to find the exact place to start the scan. * the scan strategy to find the exact place to start the scan.
* *
* Note: if _bt_step fails (meaning we fell off the end of the index * Note: if _bt_step fails (meaning we fell off the end of the index in
* in one direction or the other), we either return NULL (no matches) or * one direction or the other), we either return NULL (no matches) or
* call _bt_endpoint() to set up a scan starting at that index endpoint, * call _bt_endpoint() to set up a scan starting at that index
* as appropriate for the desired scan type. * endpoint, as appropriate for the desired scan type.
* *
* it's yet other place to add some code later for is(not)null ... * it's yet other place to add some code later for is(not)null ...
*----------
*/ */
switch (strat_total) switch (strat_total)
......
...@@ -8,7 +8,7 @@ ...@@ -8,7 +8,7 @@
* *
* *
* IDENTIFICATION * IDENTIFICATION
* $Header: /cvsroot/pgsql/src/backend/access/transam/transam.c,v 1.42 2001/03/22 03:59:17 momjian Exp $ * $Header: /cvsroot/pgsql/src/backend/access/transam/transam.c,v 1.43 2001/03/22 06:16:10 momjian Exp $
* *
* NOTES * NOTES
* This file contains the high level access-method interface to the * This file contains the high level access-method interface to the
...@@ -124,30 +124,25 @@ TransactionLogTest(TransactionId transactionId, /* transaction id to test */ ...@@ -124,30 +124,25 @@ TransactionLogTest(TransactionId transactionId, /* transaction id to test */
XidStatus xidstatus; /* recorded status of xid */ XidStatus xidstatus; /* recorded status of xid */
bool fail = false; /* success/failure */ bool fail = false; /* success/failure */
/* ---------------- /*
* during initialization consider all transactions * during initialization consider all transactions as having been
* as having been committed * committed
* ----------------
*/ */
if (!RelationIsValid(LogRelation)) if (!RelationIsValid(LogRelation))
return (bool) (status == XID_COMMIT); return (bool) (status == XID_COMMIT);
/* ---------------- /*
* before going to the buffer manager, check our single * before going to the buffer manager, check our single item cache to
* item cache to see if we didn't just check the transaction * see if we didn't just check the transaction status a moment ago.
* status a moment ago.
* ----------------
*/ */
if (TransactionIdEquals(transactionId, cachedTestXid)) if (TransactionIdEquals(transactionId, cachedTestXid))
return (bool) return (bool)
(status == cachedTestXidStatus); (status == cachedTestXidStatus);
/* ---------------- /*
* compute the item pointer corresponding to the * compute the item pointer corresponding to the page containing our
* page containing our transaction id. We save the item in * transaction id. We save the item in our cache to speed up things
* our cache to speed up things if we happen to ask for the * if we happen to ask for the same xid's status more than once.
* same xid's status more than once.
* ----------------
*/ */
TransComputeBlockNumber(LogRelation, transactionId, &blockNumber); TransComputeBlockNumber(LogRelation, transactionId, &blockNumber);
xidstatus = TransBlockNumberGetXidStatus(LogRelation, xidstatus = TransBlockNumberGetXidStatus(LogRelation,
...@@ -169,9 +164,8 @@ TransactionLogTest(TransactionId transactionId, /* transaction id to test */ ...@@ -169,9 +164,8 @@ TransactionLogTest(TransactionId transactionId, /* transaction id to test */
return (bool) (status == xidstatus); return (bool) (status == xidstatus);
} }
/* ---------------- /*
* here the block didn't contain the information we wanted * here the block didn't contain the information we wanted
* ----------------
*/ */
elog(ERROR, "TransactionLogTest: failed to get xidstatus"); elog(ERROR, "TransactionLogTest: failed to get xidstatus");
...@@ -192,16 +186,14 @@ TransactionLogUpdate(TransactionId transactionId, /* trans id to update */ ...@@ -192,16 +186,14 @@ TransactionLogUpdate(TransactionId transactionId, /* trans id to update */
BlockNumber blockNumber; BlockNumber blockNumber;
bool fail = false; /* success/failure */ bool fail = false; /* success/failure */
/* ---------------- /*
* during initialization we don't record any updates. * during initialization we don't record any updates.
* ----------------
*/ */
if (!RelationIsValid(LogRelation)) if (!RelationIsValid(LogRelation))
return; return;
/* ---------------- /*
* update the log relation * update the log relation
* ----------------
*/ */
TransComputeBlockNumber(LogRelation, transactionId, &blockNumber); TransComputeBlockNumber(LogRelation, transactionId, &blockNumber);
TransBlockNumberSetXidStatus(LogRelation, TransBlockNumberSetXidStatus(LogRelation,
...@@ -292,43 +284,38 @@ static void ...@@ -292,43 +284,38 @@ static void
TransRecover(Relation logRelation) TransRecover(Relation logRelation)
{ {
#ifdef NOT_USED #ifdef NOT_USED
/* ----------------
/*
* first get the last recorded transaction in the log. * first get the last recorded transaction in the log.
* ----------------
*/ */
TransGetLastRecordedTransaction(logRelation, logLastXid, &fail); TransGetLastRecordedTransaction(logRelation, logLastXid, &fail);
if (fail == true) if (fail == true)
elog(ERROR, "TransRecover: failed TransGetLastRecordedTransaction"); elog(ERROR, "TransRecover: failed TransGetLastRecordedTransaction");
/* ---------------- /*
* next get the "last" and "next" variables * next get the "last" and "next" variables
* ----------------
*/ */
VariableRelationGetLastXid(&varLastXid); VariableRelationGetLastXid(&varLastXid);
VariableRelationGetNextXid(&varNextXid); VariableRelationGetNextXid(&varNextXid);
/* ---------------- /*
* intregity test (1) * intregity test (1)
* ----------------
*/ */
if (TransactionIdIsLessThan(varNextXid, logLastXid)) if (TransactionIdIsLessThan(varNextXid, logLastXid))
elog(ERROR, "TransRecover: varNextXid < logLastXid"); elog(ERROR, "TransRecover: varNextXid < logLastXid");
/* ---------------- /*
* intregity test (2) * intregity test (2)
* ----------------
*/ */
/* ---------------- /*
* intregity test (3) * intregity test (3)
* ----------------
*/ */
/* ---------------- /*
* here we have a valid " * here we have a valid "
* *
* **** RESUME HERE **** **** RESUME HERE ****
* ----------------
*/ */
varNextXid = TransactionIdDup(varLastXid); varNextXid = TransactionIdDup(varLastXid);
TransactionIdIncrement(&varNextXid); TransactionIdIncrement(&varNextXid);
...@@ -375,51 +362,45 @@ InitializeTransactionLog(void) ...@@ -375,51 +362,45 @@ InitializeTransactionLog(void)
Relation logRelation; Relation logRelation;
MemoryContext oldContext; MemoryContext oldContext;
/* ---------------- /*
* don't do anything during bootstrapping * don't do anything during bootstrapping
* ----------------
*/ */
if (AMI_OVERRIDE) if (AMI_OVERRIDE)
return; return;
/* ---------------- /*
* disable the transaction system so the access methods * disable the transaction system so the access methods don't
* don't interfere during initialization. * interfere during initialization.
* ----------------
*/ */
OverrideTransactionSystem(true); OverrideTransactionSystem(true);
/* ---------------- /*
* make sure allocations occur within the top memory context * make sure allocations occur within the top memory context so that
* so that our log management structures are protected from * our log management structures are protected from garbage collection
* garbage collection at the end of every transaction. * at the end of every transaction.
* ----------------
*/ */
oldContext = MemoryContextSwitchTo(TopMemoryContext); oldContext = MemoryContextSwitchTo(TopMemoryContext);
/* ---------------- /*
* first open the log and time relations * first open the log and time relations (these are created by amiint
* (these are created by amiint so they are guaranteed to exist) * so they are guaranteed to exist)
* ----------------
*/ */
logRelation = heap_openr(LogRelationName, NoLock); logRelation = heap_openr(LogRelationName, NoLock);
VariableRelation = heap_openr(VariableRelationName, NoLock); VariableRelation = heap_openr(VariableRelationName, NoLock);
/* ---------------- /*
* XXX TransactionLogUpdate requires that LogRelation * XXX TransactionLogUpdate requires that LogRelation is valid so we
* is valid so we temporarily set it so we can initialize * temporarily set it so we can initialize things properly. This could
* things properly. This could be done cleaner. * be done cleaner.
* ----------------
*/ */
LogRelation = logRelation; LogRelation = logRelation;
/* ---------------- /*
* if we have a virgin database, we initialize the log * if we have a virgin database, we initialize the log relation by
* relation by committing the AmiTransactionId (id 512) and we * committing the AmiTransactionId (id 512) and we initialize the
* initialize the variable relation by setting the next available * variable relation by setting the next available transaction id to
* transaction id to FirstTransactionId (id 514). OID initialization * FirstTransactionId (id 514). OID initialization happens as a side
* happens as a side effect of bootstrapping in varsup.c. * effect of bootstrapping in varsup.c.
* ----------------
*/ */
SpinAcquire(OidGenLockId); SpinAcquire(OidGenLockId);
if (!TransactionIdDidCommit(AmiTransactionId)) if (!TransactionIdDidCommit(AmiTransactionId))
...@@ -433,33 +414,30 @@ InitializeTransactionLog(void) ...@@ -433,33 +414,30 @@ InitializeTransactionLog(void)
} }
else if (RecoveryCheckingEnabled()) else if (RecoveryCheckingEnabled())
{ {
/* ----------------
* if we have a pre-initialized database and if the /*
* perform recovery checking flag was passed then we * if we have a pre-initialized database and if the perform
* do our database integrity checking. * recovery checking flag was passed then we do our database
* ---------------- * integrity checking.
*/ */
TransRecover(logRelation); TransRecover(logRelation);
} }
LogRelation = (Relation) NULL; LogRelation = (Relation) NULL;
SpinRelease(OidGenLockId); SpinRelease(OidGenLockId);
/* ---------------- /*
* now re-enable the transaction system * now re-enable the transaction system
* ----------------
*/ */
OverrideTransactionSystem(false); OverrideTransactionSystem(false);
/* ---------------- /*
* instantiate the global variables * instantiate the global variables
* ----------------
*/ */
LogRelation = logRelation; LogRelation = logRelation;
/* ---------------- /*
* restore the memory context to the previous context * restore the memory context to the previous context before we return
* before we return from initialization. * from initialization.
* ----------------
*/ */
MemoryContextSwitchTo(oldContext); MemoryContextSwitchTo(oldContext);
} }
......
...@@ -8,7 +8,7 @@ ...@@ -8,7 +8,7 @@
* *
* *
* IDENTIFICATION * IDENTIFICATION
* $Header: /cvsroot/pgsql/src/backend/access/transam/Attic/transsup.c,v 1.29 2001/03/22 03:59:17 momjian Exp $ * $Header: /cvsroot/pgsql/src/backend/access/transam/Attic/transsup.c,v 1.30 2001/03/22 06:16:10 momjian Exp $
* *
* NOTES * NOTES
* This file contains support functions for the high * This file contains support functions for the high
...@@ -56,11 +56,9 @@ TransComputeBlockNumber(Relation relation, /* relation to test */ ...@@ -56,11 +56,9 @@ TransComputeBlockNumber(Relation relation, /* relation to test */
{ {
long itemsPerBlock = 0; long itemsPerBlock = 0;
/* ---------------- /*
* we calculate the block number of our transaction * we calculate the block number of our transaction by dividing the
* by dividing the transaction id by the number of * transaction id by the number of transaction things per block.
* transaction things per block.
* ----------------
*/ */
if (relation == LogRelation) if (relation == LogRelation)
itemsPerBlock = TP_NumXidStatusPerBlock; itemsPerBlock = TP_NumXidStatusPerBlock;
...@@ -109,18 +107,16 @@ TransBlockGetLastTransactionIdStatus(Block tblock, ...@@ -109,18 +107,16 @@ TransBlockGetLastTransactionIdStatus(Block tblock,
BitIndex offset; BitIndex offset;
XidStatus xstatus; XidStatus xstatus;
/* ---------------- /*
* sanity check * sanity check
* ----------------
*/ */
Assert((tblock != NULL)); Assert((tblock != NULL));
/* ---------------- /*
* search downward from the top of the block data, looking * search downward from the top of the block data, looking for the
* for the first Non-in progress transaction status. Since we * first Non-in progress transaction status. Since we are scanning
* are scanning backward, this will be last recorded transaction * backward, this will be last recorded transaction status on the
* status on the block. * block.
* ----------------
*/ */
maxIndex = TP_NumXidStatusPerBlock; maxIndex = TP_NumXidStatusPerBlock;
for (index = maxIndex; index > 0; index--) for (index = maxIndex; index > 0; index--)
...@@ -131,11 +127,10 @@ TransBlockGetLastTransactionIdStatus(Block tblock, ...@@ -131,11 +127,10 @@ TransBlockGetLastTransactionIdStatus(Block tblock,
xstatus = (bit1 | bit2); xstatus = (bit1 | bit2);
/* ---------------- /*
* here we have the status of some transaction, so test * here we have the status of some transaction, so test if the
* if the status is recorded as "in progress". If so, then * status is recorded as "in progress". If so, then we save the
* we save the transaction id in the place specified by the caller. * transaction id in the place specified by the caller.
* ----------------
*/ */
if (xstatus != XID_INPROGRESS) if (xstatus != XID_INPROGRESS)
{ {
...@@ -148,12 +143,11 @@ TransBlockGetLastTransactionIdStatus(Block tblock, ...@@ -148,12 +143,11 @@ TransBlockGetLastTransactionIdStatus(Block tblock,
} }
} }
/* ---------------- /*
* if we get here and index is 0 it means we couldn't find * if we get here and index is 0 it means we couldn't find a
* a non-inprogress transaction on the block. For now we just * non-inprogress transaction on the block. For now we just return
* return this info to the user. They can check if the return * this info to the user. They can check if the return status is "in
* status is "in progress" to know this condition has arisen. * progress" to know this condition has arisen.
* ----------------
*/ */
if (index == 0) if (index == 0)
{ {
...@@ -161,9 +155,8 @@ TransBlockGetLastTransactionIdStatus(Block tblock, ...@@ -161,9 +155,8 @@ TransBlockGetLastTransactionIdStatus(Block tblock,
TransactionIdStore(baseXid, returnXidP); TransactionIdStore(baseXid, returnXidP);
} }
/* ---------------- /*
* return the status to the user * return the status to the user
* ----------------
*/ */
return xstatus; return xstatus;
} }
...@@ -200,17 +193,15 @@ TransBlockGetXidStatus(Block tblock, ...@@ -200,17 +193,15 @@ TransBlockGetXidStatus(Block tblock,
*/ */
index = transactionId % TP_NumXidStatusPerBlock; index = transactionId % TP_NumXidStatusPerBlock;
/* ---------------- /*
* get the data at the specified index * get the data at the specified index
* ----------------
*/ */
offset = BitIndexOf(index); offset = BitIndexOf(index);
bit1 = ((bits8) BitArrayBitIsSet((BitArray) tblock, offset++)) << 1; bit1 = ((bits8) BitArrayBitIsSet((BitArray) tblock, offset++)) << 1;
bit2 = (bits8) BitArrayBitIsSet((BitArray) tblock, offset); bit2 = (bits8) BitArrayBitIsSet((BitArray) tblock, offset);
/* ---------------- /*
* return the transaction status to the caller * return the transaction status to the caller
* ----------------
*/ */
return (XidStatus) (bit1 | bit2); return (XidStatus) (bit1 | bit2);
} }
...@@ -245,9 +236,8 @@ TransBlockSetXidStatus(Block tblock, ...@@ -245,9 +236,8 @@ TransBlockSetXidStatus(Block tblock,
offset = BitIndexOf(index); offset = BitIndexOf(index);
/* ---------------- /*
* store the transaction value at the specified offset * store the transaction value at the specified offset
* ----------------
*/ */
switch (xstatus) switch (xstatus)
{ {
...@@ -291,18 +281,16 @@ TransBlockNumberGetXidStatus(Relation relation, ...@@ -291,18 +281,16 @@ TransBlockNumberGetXidStatus(Relation relation,
XidStatus xstatus; /* recorded status of xid */ XidStatus xstatus; /* recorded status of xid */
bool localfail; /* bool used if failP = NULL */ bool localfail; /* bool used if failP = NULL */
/* ---------------- /*
* get the page containing the transaction information * get the page containing the transaction information
* ----------------
*/ */
buffer = ReadBuffer(relation, blockNumber); buffer = ReadBuffer(relation, blockNumber);
LockBuffer(buffer, BUFFER_LOCK_SHARE); LockBuffer(buffer, BUFFER_LOCK_SHARE);
block = BufferGetBlock(buffer); block = BufferGetBlock(buffer);
/* ---------------- /*
* get the status from the block. note, for now we always * get the status from the block. note, for now we always return
* return false in failP. * false in failP.
* ----------------
*/ */
if (failP == NULL) if (failP == NULL)
failP = &localfail; failP = &localfail;
...@@ -310,9 +298,8 @@ TransBlockNumberGetXidStatus(Relation relation, ...@@ -310,9 +298,8 @@ TransBlockNumberGetXidStatus(Relation relation,
xstatus = TransBlockGetXidStatus(block, xid); xstatus = TransBlockGetXidStatus(block, xid);
/* ---------------- /*
* release the buffer and return the status * release the buffer and return the status
* ----------------
*/ */
LockBuffer(buffer, BUFFER_LOCK_UNLOCK); LockBuffer(buffer, BUFFER_LOCK_UNLOCK);
ReleaseBuffer(buffer); ReleaseBuffer(buffer);
...@@ -335,19 +322,17 @@ TransBlockNumberSetXidStatus(Relation relation, ...@@ -335,19 +322,17 @@ TransBlockNumberSetXidStatus(Relation relation,
Block block; /* block containing xstatus */ Block block; /* block containing xstatus */
bool localfail; /* bool used if failP = NULL */ bool localfail; /* bool used if failP = NULL */
/* ---------------- /*
* get the block containing the transaction status * get the block containing the transaction status
* ----------------
*/ */
buffer = ReadBuffer(relation, blockNumber); buffer = ReadBuffer(relation, blockNumber);
LockBuffer(buffer, BUFFER_LOCK_EXCLUSIVE); LockBuffer(buffer, BUFFER_LOCK_EXCLUSIVE);
block = BufferGetBlock(buffer); block = BufferGetBlock(buffer);
/* ---------------- /*
* attempt to update the status of the transaction on the block. * attempt to update the status of the transaction on the block. if we
* if we are successful, write the block. otherwise release the buffer. * are successful, write the block. otherwise release the buffer.
* note, for now we always return false in failP. * note, for now we always return false in failP.
* ----------------
*/ */
if (failP == NULL) if (failP == NULL)
failP = &localfail; failP = &localfail;
...@@ -381,22 +366,20 @@ TransGetLastRecordedTransaction(Relation relation, ...@@ -381,22 +366,20 @@ TransGetLastRecordedTransaction(Relation relation,
(*failP) = false; (*failP) = false;
/* ---------------- /*
* SOMEDAY gain exclusive access to the log relation * SOMEDAY gain exclusive access to the log relation
* *
* That someday is today 5 Aug. 1991 -mer * That someday is today 5 Aug. 1991 -mer It looks to me like we only
* It looks to me like we only need to set a read lock here, despite * need to set a read lock here, despite the above comment about
* the above comment about exclusive access. The block is never * exclusive access. The block is never actually written into, we
* actually written into, we only check status bits. * only check status bits.
* ----------------
*/ */
RelationSetLockForRead(relation); RelationSetLockForRead(relation);
/* ---------------- /*
* we assume the last block of the log contains the last * we assume the last block of the log contains the last recorded
* recorded transaction. If the relation is empty we return * transaction. If the relation is empty we return failure to the
* failure to the user. * user.
* ----------------
*/ */
n = RelationGetNumberOfBlocks(relation); n = RelationGetNumberOfBlocks(relation);
if (n == 0) if (n == 0)
...@@ -405,17 +388,15 @@ TransGetLastRecordedTransaction(Relation relation, ...@@ -405,17 +388,15 @@ TransGetLastRecordedTransaction(Relation relation,
return; return;
} }
/* ---------------- /*
* get the block containing the transaction information * get the block containing the transaction information
* ----------------
*/ */
blockNumber = n - 1; blockNumber = n - 1;
buffer = ReadBuffer(relation, blockNumber); buffer = ReadBuffer(relation, blockNumber);
block = BufferGetBlock(buffer); block = BufferGetBlock(buffer);
/* ---------------- /*
* get the last xid on the block * get the last xid on the block
* ----------------
*/ */
baseXid = blockNumber * TP_NumXidStatusPerBlock; baseXid = blockNumber * TP_NumXidStatusPerBlock;
...@@ -424,9 +405,8 @@ TransGetLastRecordedTransaction(Relation relation, ...@@ -424,9 +405,8 @@ TransGetLastRecordedTransaction(Relation relation,
ReleaseBuffer(buffer); ReleaseBuffer(buffer);
/* ---------------- /*
* SOMEDAY release our lock on the log relation * SOMEDAY release our lock on the log relation
* ----------------
*/ */
RelationUnsetLockForRead(relation); RelationUnsetLockForRead(relation);
} }
......
This diff is collapsed.
...@@ -8,7 +8,7 @@ ...@@ -8,7 +8,7 @@
* Portions Copyright (c) 1994, Regents of the University of California * Portions Copyright (c) 1994, Regents of the University of California
* *
* IDENTIFICATION * IDENTIFICATION
* $Header: /cvsroot/pgsql/src/backend/bootstrap/bootstrap.c,v 1.105 2001/03/13 01:17:05 tgl Exp $ * $Header: /cvsroot/pgsql/src/backend/bootstrap/bootstrap.c,v 1.106 2001/03/22 06:16:10 momjian Exp $
* *
*------------------------------------------------------------------------- *-------------------------------------------------------------------------
*/ */
...@@ -218,9 +218,8 @@ BootstrapMain(int argc, char *argv[]) ...@@ -218,9 +218,8 @@ BootstrapMain(int argc, char *argv[])
int xlogop = BS_XLOG_NOP; int xlogop = BS_XLOG_NOP;
char *potential_DataDir = NULL; char *potential_DataDir = NULL;
/* -------------------- /*
* initialize globals * initialize globals
* -------------------
*/ */
MyProcPid = getpid(); MyProcPid = getpid();
...@@ -236,9 +235,8 @@ BootstrapMain(int argc, char *argv[]) ...@@ -236,9 +235,8 @@ BootstrapMain(int argc, char *argv[])
MemoryContextInit(); MemoryContextInit();
} }
/* ---------------- /*
* process command arguments * process command arguments
* ----------------
*/ */
/* Set defaults, to be overriden by explicit options below */ /* Set defaults, to be overriden by explicit options below */
...@@ -248,7 +246,8 @@ BootstrapMain(int argc, char *argv[]) ...@@ -248,7 +246,8 @@ BootstrapMain(int argc, char *argv[])
if (!IsUnderPostmaster) if (!IsUnderPostmaster)
{ {
ResetAllOptions(); ResetAllOptions();
potential_DataDir = getenv("PGDATA"); /* Null if no PGDATA variable */ potential_DataDir = getenv("PGDATA"); /* Null if no PGDATA
* variable */
} }
while ((flag = getopt(argc, argv, "D:dCQx:pB:F")) != EOF) while ((flag = getopt(argc, argv, "D:dCQx:pB:F")) != EOF)
...@@ -319,6 +318,7 @@ BootstrapMain(int argc, char *argv[]) ...@@ -319,6 +318,7 @@ BootstrapMain(int argc, char *argv[])
if (IsUnderPostmaster) if (IsUnderPostmaster)
{ {
/* /*
* Properly accept or ignore signals the postmaster might send us * Properly accept or ignore signals the postmaster might send us
*/ */
...@@ -328,6 +328,7 @@ BootstrapMain(int argc, char *argv[]) ...@@ -328,6 +328,7 @@ BootstrapMain(int argc, char *argv[])
pqsignal(SIGQUIT, quickdie); pqsignal(SIGQUIT, quickdie);
pqsignal(SIGUSR1, SIG_IGN); pqsignal(SIGUSR1, SIG_IGN);
pqsignal(SIGUSR2, SIG_IGN); pqsignal(SIGUSR2, SIG_IGN);
/* /*
* Reset some signals that are accepted by postmaster but not here * Reset some signals that are accepted by postmaster but not here
*/ */
...@@ -336,8 +337,10 @@ BootstrapMain(int argc, char *argv[]) ...@@ -336,8 +337,10 @@ BootstrapMain(int argc, char *argv[])
pqsignal(SIGTTOU, SIG_DFL); pqsignal(SIGTTOU, SIG_DFL);
pqsignal(SIGCONT, SIG_DFL); pqsignal(SIGCONT, SIG_DFL);
pqsignal(SIGWINCH, SIG_DFL); pqsignal(SIGWINCH, SIG_DFL);
/* /*
* Unblock signals (they were blocked when the postmaster forked us) * Unblock signals (they were blocked when the postmaster forked
* us)
*/ */
PG_SETMASK(&UnBlockSig); PG_SETMASK(&UnBlockSig);
} }
...@@ -352,7 +355,7 @@ BootstrapMain(int argc, char *argv[]) ...@@ -352,7 +355,7 @@ BootstrapMain(int argc, char *argv[])
/* /*
* Create lockfile for data directory. * Create lockfile for data directory.
*/ */
if (! CreateDataDirLockFile(DataDir, false)) if (!CreateDataDirLockFile(DataDir, false))
proc_exit(1); proc_exit(1);
} }
...@@ -408,9 +411,8 @@ BootstrapMain(int argc, char *argv[]) ...@@ -408,9 +411,8 @@ BootstrapMain(int argc, char *argv[])
for (i = 0; i < HASHTABLESIZE; ++i) for (i = 0; i < HASHTABLESIZE; ++i)
hashtable[i] = NULL; hashtable[i] = NULL;
/* ---------------- /*
* abort processing resumes here * abort processing resumes here
* ----------------
*/ */
if (sigsetjmp(Warn_restart, 1) != 0) if (sigsetjmp(Warn_restart, 1) != 0)
{ {
...@@ -418,9 +420,8 @@ BootstrapMain(int argc, char *argv[]) ...@@ -418,9 +420,8 @@ BootstrapMain(int argc, char *argv[])
AbortCurrentTransaction(); AbortCurrentTransaction();
} }
/* ---------------- /*
* process input. * process input.
* ----------------
*/ */
/* /*
......
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
...@@ -8,7 +8,7 @@ ...@@ -8,7 +8,7 @@
* *
* *
* IDENTIFICATION * IDENTIFICATION
* $Header: /cvsroot/pgsql/src/backend/catalog/pg_proc.c,v 1.54 2001/03/22 03:59:20 momjian Exp $ * $Header: /cvsroot/pgsql/src/backend/catalog/pg_proc.c,v 1.55 2001/03/22 06:16:10 momjian Exp $
* *
*------------------------------------------------------------------------- *-------------------------------------------------------------------------
*/ */
...@@ -73,9 +73,8 @@ ProcedureCreate(char *procedureName, ...@@ -73,9 +73,8 @@ ProcedureCreate(char *procedureName,
TupleDesc tupDesc; TupleDesc tupDesc;
Oid retval; Oid retval;
/* ---------------- /*
* sanity checks * sanity checks
* ----------------
*/ */
Assert(PointerIsValid(prosrc)); Assert(PointerIsValid(prosrc));
Assert(PointerIsValid(probin)); Assert(PointerIsValid(probin));
...@@ -142,16 +141,16 @@ ProcedureCreate(char *procedureName, ...@@ -142,16 +141,16 @@ ProcedureCreate(char *procedureName,
if (strcmp(procedureName, GENERICSETNAME) == 0) if (strcmp(procedureName, GENERICSETNAME) == 0)
{ {
#ifdef SETS_FIXED #ifdef SETS_FIXED
/* ----------
* The code below doesn't work any more because the /*
* PROSRC system cache and the pg_proc_prosrc_index * The code below doesn't work any more because the PROSRC
* have been removed. Instead a sequential heap scan * system cache and the pg_proc_prosrc_index have been
* or something better must get implemented. The reason * removed. Instead a sequential heap scan or something better
* for removing is that nbtree index crashes if sources * must get implemented. The reason for removing is that
* exceed 2K --- what's likely for procedural languages. * nbtree index crashes if sources exceed 2K --- what's likely
* for procedural languages.
* *
* 1999/09/30 Jan * 1999/09/30 Jan
* ----------
*/ */
text *prosrctext; text *prosrctext;
......
This diff is collapsed.
...@@ -8,7 +8,7 @@ ...@@ -8,7 +8,7 @@
* *
* *
* IDENTIFICATION * IDENTIFICATION
* $Header: /cvsroot/pgsql/src/backend/commands/_deadcode/Attic/recipe.c,v 1.12 2001/01/24 19:42:53 momjian Exp $ * $Header: /cvsroot/pgsql/src/backend/commands/_deadcode/Attic/recipe.c,v 1.13 2001/03/22 06:16:12 momjian Exp $
* *
*------------------------------------------------------------------------- *-------------------------------------------------------------------------
*/ */
...@@ -203,10 +203,10 @@ beginRecipe(RecipeStmt *stmt) ...@@ -203,10 +203,10 @@ beginRecipe(RecipeStmt *stmt)
* skip the rule rewrite and time qual stuff * skip the rule rewrite and time qual stuff
*/ */
/* ---------------------------------------------------------- /*
* 1) plan the main query, everything from an eye node back to * 1) plan the main query, everything from an eye node back to a
a Tee * Tee
* ---------------------------------------------------------- */ */
parsetree = qList->qtrees[0]; parsetree = qList->qtrees[0];
/* /*
...@@ -218,11 +218,11 @@ beginRecipe(RecipeStmt *stmt) ...@@ -218,11 +218,11 @@ beginRecipe(RecipeStmt *stmt)
plan = planner(parsetree); plan = planner(parsetree);
/* ---------------------------------------------------------- /*
* 2) plan the tee queries, (subgraphs rooted from a Tee) * 2) plan the tee queries, (subgraphs rooted from a Tee) by the
by the time the eye is processed, all tees that contribute * time the eye is processed, all tees that contribute to that eye
to that eye will have been included in the teeInfo list * will have been included in the teeInfo list
* ---------------------------------------------------------- */ */
if (teeInfo) if (teeInfo)
{ {
int t; int t;
...@@ -258,10 +258,10 @@ beginRecipe(RecipeStmt *stmt) ...@@ -258,10 +258,10 @@ beginRecipe(RecipeStmt *stmt)
} }
} }
/* ---------------------------------------------------------- /*
* 3) replace the tee table scans in the main plan with * 3) replace the tee table scans in the main plan with actual
actual tee plannodes * tee plannodes
* ---------------------------------------------------------- */ */
plan = replaceTeeScans(plan, parsetree, teeInfo); plan = replaceTeeScans(plan, parsetree, teeInfo);
...@@ -274,9 +274,9 @@ beginRecipe(RecipeStmt *stmt) ...@@ -274,9 +274,9 @@ beginRecipe(RecipeStmt *stmt)
queryDesc = CreateQueryDesc(parsetree, queryDesc = CreateQueryDesc(parsetree,
plan, plan,
whereToSendOutput); whereToSendOutput);
/* ----------------
/*
* call ExecStart to prepare the plan for execution * call ExecStart to prepare the plan for execution
* ----------------
*/ */
attinfo = ExecutorStart(queryDesc, NULL); attinfo = ExecutorStart(queryDesc, NULL);
...@@ -323,15 +323,14 @@ tg_rewriteQuery(TgRecipe * r, ...@@ -323,15 +323,14 @@ tg_rewriteQuery(TgRecipe * r,
orig = q->qtrees[0]; orig = q->qtrees[0];
/*------------------------------------------------------------------- /*
step 1: * step 1:
*
form a combined range table from all the range tables in the original * form a combined range table from all the range tables in the original
query as well as the input nodes * query as well as the input nodes
*
form a combined qualification from the qual in the original plus * form a combined qualification from the qual in the original plus the
the quals of the input nodes * quals of the input nodes
-------------------------------------------------------------------
*/ */
/* start with the original range table */ /* start with the original range table */
......
...@@ -8,7 +8,7 @@ ...@@ -8,7 +8,7 @@
* *
* *
* IDENTIFICATION * IDENTIFICATION
* $Header: /cvsroot/pgsql/src/backend/commands/analyze.c,v 1.15 2001/03/22 03:59:20 momjian Exp $ * $Header: /cvsroot/pgsql/src/backend/commands/analyze.c,v 1.16 2001/03/22 06:16:11 momjian Exp $
* *
*------------------------------------------------------------------------- *-------------------------------------------------------------------------
*/ */
...@@ -582,9 +582,8 @@ update_attstats(Oid relid, int natts, VacAttrStats *vacattrstats) ...@@ -582,9 +582,8 @@ update_attstats(Oid relid, int natts, VacAttrStats *vacattrstats)
for (i = 0; i < Natts_pg_statistic; ++i) for (i = 0; i < Natts_pg_statistic; ++i)
nulls[i] = ' '; nulls[i] = ' ';
/* ---------------- /*
* initialize values[] * initialize values[]
* ----------------
*/ */
i = 0; i = 0;
values[i++] = ObjectIdGetDatum(relid); /* starelid */ values[i++] = ObjectIdGetDatum(relid); /* starelid */
......
This diff is collapsed.
...@@ -7,7 +7,7 @@ ...@@ -7,7 +7,7 @@
* *
* *
* IDENTIFICATION * IDENTIFICATION
* $Header: /cvsroot/pgsql/src/backend/commands/copy.c,v 1.135 2001/03/22 03:59:21 momjian Exp $ * $Header: /cvsroot/pgsql/src/backend/commands/copy.c,v 1.136 2001/03/22 06:16:11 momjian Exp $
* *
*------------------------------------------------------------------------- *-------------------------------------------------------------------------
*/ */
...@@ -888,16 +888,14 @@ CopyFrom(Relation rel, bool binary, bool oids, FILE *fp, ...@@ -888,16 +888,14 @@ CopyFrom(Relation rel, bool binary, bool oids, FILE *fp,
{ {
ExecStoreTuple(tuple, slot, InvalidBuffer, false); ExecStoreTuple(tuple, slot, InvalidBuffer, false);
/* ---------------- /*
* Check the constraints of the tuple * Check the constraints of the tuple
* ----------------
*/ */
if (rel->rd_att->constr) if (rel->rd_att->constr)
ExecConstraints("CopyFrom", resultRelInfo, slot, estate); ExecConstraints("CopyFrom", resultRelInfo, slot, estate);
/* ---------------- /*
* OK, store the tuple and create index entries for it * OK, store the tuple and create index entries for it
* ----------------
*/ */
heap_insert(rel, tuple); heap_insert(rel, tuple);
......
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
...@@ -8,7 +8,7 @@ ...@@ -8,7 +8,7 @@
* *
* *
* IDENTIFICATION * IDENTIFICATION
* $Header: /cvsroot/pgsql/src/backend/optimizer/path/_deadcode/Attic/predmig.c,v 1.9 2001/03/22 03:59:35 momjian Exp $ * $Header: /cvsroot/pgsql/src/backend/optimizer/path/_deadcode/Attic/predmig.c,v 1.10 2001/03/22 06:16:14 momjian Exp $
* *
*------------------------------------------------------------------------- *-------------------------------------------------------------------------
*/ */
......
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment