Another directory cleaned up

This commit is contained in:
Marc G. Fournier 1996-11-06 07:31:26 +00:00
parent 8544daf645
commit 9e3d4c43a7
7 changed files with 383 additions and 167 deletions

View File

@ -7,7 +7,7 @@
*
*
* IDENTIFICATION
* $Header: /cvsroot/pgsql/src/backend/catalog/heap.c,v 1.5 1996/11/06 06:47:03 scrappy Exp $
* $Header: /cvsroot/pgsql/src/backend/catalog/heap.c,v 1.6 1996/11/06 07:31:19 scrappy Exp $
*
* INTERFACE ROUTINES
* heap_creatr() - Create an uncataloged heap relation
@ -26,6 +26,14 @@
*/
#include <postgres.h>
#include <catalog/pg_ipl.h>
#include <catalog/pg_inherits.h>
#include <catalog/pg_proc.h>
#include <miscadmin.h>
#include <catalog/indexing.h>
#include <catalog/catalog.h>
#include <utils/builtins.h>
#include <access/heapam.h>
#include <utils/mcxt.h>
#include <parser/catalog_utils.h>
#include <catalog/index.h>
@ -39,37 +47,11 @@
#include <rewrite/rewriteRemove.h>
#include <storage/lmgr.h>
#include <storage/smgr.h>
#include <access/relscan.h>
#include <utils/tqual.h>
/*
#include <catalog/heap.h>
#include <catalog/pg_proc.h>
#include <parser/catalog_utils.h>
#include <access/heapam.h>
#include <access/genam.h>
#include <access/istrat.h>
#include <storage/bufmgr.h>
#include <lib/hasht.h>
#include <miscadmin.h>
#include <fmgr.h>
#include <utils/builtins.h>
#include <utils/mcxt.h>
#include <utils/relcache.h>
#include <catalog/catname.h>
#include <catalog/pg_index.h>
#include <catalog/pg_inherits.h>
#include <catalog/pg_ipl.h>
#include <catalog/index.h>
#include <catalog/indexing.h>
#include <catalog/catalog.h>
#include <storage/lmgr.h>
#include <rewrite/rewriteRemove.h>
#include <storage/smgr.h>
*/
static void AddNewAttributeTuples(Oid new_rel_oid, TupleDesc tupdesc);
static void CheckAttributeNames(TupleDesc tupdesc);
#ifndef HAVE_MEMMOVE
# include <regex/utils.h>
#else
# include <string.h>
#endif
/* ----------------------------------------------------------------
* XXX UGLY HARD CODED BADNESS FOLLOWS XXX
@ -1179,4 +1161,263 @@ DeletePgTypeTuple(Relation rdesc)
/* ----------------
* now scan pg_attribute. if any other relations have
* attributes of the type of the relation we are de
* attributes of the type of the relation we are deleteing
* then we have to disallow the deletion. should talk to
* stonebraker about this. -cim 6/19/90
* ----------------
*/
typoid = tup->t_oid;
pg_attribute_desc = heap_openr(AttributeRelationName);
ScanKeyEntryInitialize(&attkey,
0, Anum_pg_attribute_atttypid, F_INT4EQ,
typoid);
pg_attribute_scan = heap_beginscan(pg_attribute_desc,
0,
NowTimeQual,
1,
&attkey);
/* ----------------
* try and get a pg_attribute tuple. if we succeed it means
* we cant delete the relation because something depends on
* the schema.
* ----------------
*/
atttup = heap_getnext(pg_attribute_scan, 0, (Buffer *)NULL);
if (PointerIsValid(atttup)) {
Oid relid = ((AttributeTupleForm) GETSTRUCT(atttup))->attrelid;
heap_endscan(pg_type_scan);
heap_close(pg_type_desc);
heap_endscan(pg_attribute_scan);
heap_close(pg_attribute_desc);
elog(WARN, "DeletePgTypeTuple: att of type %s exists in relation %d",
&rdesc->rd_rel->relname, relid);
}
heap_endscan(pg_attribute_scan);
heap_close(pg_attribute_desc);
/* ----------------
* Ok, it's safe so we delete the relation tuple
* from pg_type and finish up. But first end the scan so that
* we release the read lock on pg_type. -mer 13 Aug 1991
* ----------------
*/
heap_endscan(pg_type_scan);
heap_delete(pg_type_desc, &tup->t_ctid);
heap_close(pg_type_desc);
}
/* --------------------------------
* heap_destroy
*
* --------------------------------
*/
void
heap_destroy(char *relname)
{
Relation rdesc;
/* ----------------
* first open the relation. if the relation does exist,
* heap_openr() returns NULL.
* ----------------
*/
rdesc = heap_openr(relname);
if (rdesc == NULL)
elog(WARN,"Relation %s Does Not Exist!", relname);
/* ----------------
* prevent deletion of system relations
* ----------------
*/
if (IsSystemRelationName(RelationGetRelationName(rdesc)->data))
elog(WARN, "amdestroy: cannot destroy %s relation",
&rdesc->rd_rel->relname);
/* ----------------
* remove inheritance information
* ----------------
*/
RelationRemoveInheritance(rdesc);
/* ----------------
* remove indexes if necessary
* ----------------
*/
if (rdesc->rd_rel->relhasindex) {
RelationRemoveIndexes(rdesc);
}
/* ----------------
* remove rules if necessary
* ----------------
*/
if (rdesc->rd_rules != NULL) {
RelationRemoveRules(rdesc->rd_id);
}
/* ----------------
* delete attribute tuples
* ----------------
*/
DeletePgAttributeTuples(rdesc);
/* ----------------
* delete type tuple. here we want to see the effects
* of the deletions we just did, so we use setheapoverride().
* ----------------
*/
setheapoverride(true);
DeletePgTypeTuple(rdesc);
setheapoverride(false);
/* ----------------
* delete relation tuple
* ----------------
*/
DeletePgRelationTuple(rdesc);
/* ----------------
* flush the relation from the relcache
* ----------------
*/
RelationIdInvalidateRelationCacheByRelationId(rdesc->rd_id);
/* ----------------
* unlink the relation and finish up.
* ----------------
*/
(void) smgrunlink(rdesc->rd_rel->relsmgr, rdesc);
if(rdesc->rd_istemp) {
rdesc->rd_tmpunlinked = TRUE;
}
heap_close(rdesc);
}
/*
* heap_destroyr
* destroy and close temporary relations
*
*/
void
heap_destroyr(Relation rdesc)
{
ReleaseTmpRelBuffers(rdesc);
(void) smgrunlink(rdesc->rd_rel->relsmgr, rdesc);
if(rdesc->rd_istemp) {
rdesc->rd_tmpunlinked = TRUE;
}
heap_close(rdesc);
RemoveFromTempRelList(rdesc);
}
/**************************************************************
functions to deal with the list of temporary relations
**************************************************************/
/* --------------
InitTempRellist():
initialize temporary relations list
the tempRelList is a list of temporary relations that
are created in the course of the transactions
they need to be destroyed properly at the end of the transactions
MODIFIES the global variable tempRels
>> NOTE <<
malloc is used instead of palloc because we KNOW when we are
going to free these things. Keeps us away from the memory context
hairyness
*/
void
InitTempRelList()
{
if (tempRels) {
free(tempRels->rels);
free(tempRels);
};
tempRels = (TempRelList*)malloc(sizeof(TempRelList));
tempRels->size = TEMP_REL_LIST_SIZE;
tempRels->rels = (Relation*)malloc(sizeof(Relation) * tempRels->size);
memset(tempRels->rels, 0, sizeof(Relation) * tempRels->size);
tempRels->num = 0;
}
/*
removes a relation from the TempRelList
MODIFIES the global variable tempRels
we don't really remove it, just mark it as NULL
and DestroyTempRels will look for NULLs
*/
void
RemoveFromTempRelList(Relation r)
{
int i;
if (!tempRels)
return;
for (i=0; i<tempRels->num; i++) {
if (tempRels->rels[i] == r) {
tempRels->rels[i] = NULL;
break;
}
}
}
/*
add a temporary relation to the TempRelList
MODIFIES the global variable tempRels
*/
void
AddToTempRelList(Relation r)
{
if (!tempRels)
return;
if (tempRels->num == tempRels->size) {
tempRels->size += TEMP_REL_LIST_SIZE;
tempRels->rels = realloc(tempRels->rels, tempRels->size);
}
tempRels->rels[tempRels->num] = r;
tempRels->num++;
}
/*
go through the tempRels list and destroy each of the relations
*/
void
DestroyTempRels()
{
int i;
Relation rdesc;
if (!tempRels)
return;
for (i=0;i<tempRels->num;i++) {
rdesc = tempRels->rels[i];
/* rdesc may be NULL if it has been removed from the list already */
if (rdesc)
heap_destroyr(rdesc);
}
free(tempRels->rels);
free(tempRels);
tempRels = NULL;
}

View File

@ -7,7 +7,7 @@
*
*
* IDENTIFICATION
* $Header: /cvsroot/pgsql/src/backend/catalog/index.c,v 1.6 1996/11/05 11:57:52 scrappy Exp $
* $Header: /cvsroot/pgsql/src/backend/catalog/index.c,v 1.7 1996/11/06 07:31:21 scrappy Exp $
*
*
* INTERFACE ROUTINES
@ -23,47 +23,33 @@
*
*-------------------------------------------------------------------------
*/
#include "postgres.h"
#include <postgres.h>
#include <catalog/pg_proc.h>
#include <storage/bufmgr.h>
#include <fmgr.h>
#include <access/genam.h>
#include <access/heapam.h>
#include <utils/builtins.h>
#include <access/xact.h>
#include <parser/catalog_utils.h>
#include <storage/smgr.h>
#include <storage/lmgr.h>
#include <miscadmin.h>
#include <utils/mcxt.h>
#include <utils/relcache.h>
#include <bootstrap/bootstrap.h>
#include <catalog/catname.h>
#include <catalog/catalog.h>
#include <utils/syscache.h>
#include <catalog/indexing.h>
#include <catalog/heap.h>
#include <catalog/index.h>
#include <executor/executor.h>
#include <optimizer/clauses.h>
#include <optimizer/prep.h>
#include <access/istrat.h>
#include "access/genam.h"
#include "access/heapam.h"
#include "utils/builtins.h"
#include "access/xact.h"
#include "parser/catalog_utils.h"
#include "storage/smgr.h"
#include "storage/lmgr.h"
#include "miscadmin.h"
#include "utils/mcxt.h"
#include "utils/palloc.h"
#include "utils/relcache.h"
#include "bootstrap/bootstrap.h"
#include "catalog/catname.h"
#include "catalog/catalog.h"
#include "utils/syscache.h"
#include "catalog/pg_attribute.h"
#include "catalog/pg_class.h"
#include "catalog/indexing.h"
#include "catalog/heap.h"
#include "nodes/plannodes.h"
#include "catalog/index.h"
#include "executor/executor.h"
#include "executor/tuptable.h"
#include "optimizer/clauses.h"
#include "optimizer/prep.h"
#include "access/istrat.h"
#ifndef HAVE_MEMMOVE
# include <regex/utils.h>
#else

View File

@ -8,30 +8,26 @@
*
*
* IDENTIFICATION
* $Header: /cvsroot/pgsql/src/backend/catalog/indexing.c,v 1.3 1996/11/03 23:27:04 scrappy Exp $
* $Header: /cvsroot/pgsql/src/backend/catalog/indexing.c,v 1.4 1996/11/06 07:31:22 scrappy Exp $
*
*-------------------------------------------------------------------------
*/
#include "postgres.h"
#include "utils/builtins.h"
#include "utils/oidcompos.h"
#include "utils/palloc.h"
#include "access/heapam.h"
#include "access/genam.h"
#include "access/skey.h"
#include "storage/bufmgr.h"
#include "nodes/execnodes.h"
#include "catalog/catalog.h"
#include "catalog/catname.h"
#include "catalog/pg_index.h"
#include "catalog/pg_proc.h"
#include "catalog/pg_class.h"
#include "catalog/pg_attribute.h"
#include "utils/syscache.h"
#include "catalog/indexing.h"
#include "catalog/index.h"
#include <postgres.h>
#include "miscadmin.h"
#include <utils/builtins.h>
#include <utils/oidcompos.h>
#include <access/heapam.h>
#include <access/genam.h>
#include <storage/bufmgr.h>
#include <nodes/execnodes.h>
#include <catalog/catalog.h>
#include <catalog/catname.h>
#include <catalog/pg_index.h>
#include <catalog/pg_proc.h>
#include <utils/syscache.h>
#include <catalog/indexing.h>
#include <catalog/index.h>
#include <miscadmin.h>
/*
* Names of indices on the following system catalogs:

View File

@ -7,29 +7,27 @@
*
*
* IDENTIFICATION
* $Header: /cvsroot/pgsql/src/backend/catalog/pg_aggregate.c,v 1.2 1996/11/03 23:27:05 scrappy Exp $
* $Header: /cvsroot/pgsql/src/backend/catalog/pg_aggregate.c,v 1.3 1996/11/06 07:31:23 scrappy Exp $
*
*-------------------------------------------------------------------------
*/
#include <string.h>
#include "postgres.h"
#include <postgres.h>
#include "access/heapam.h"
#include "access/relscan.h"
#include "access/skey.h"
#include "access/tupdesc.h"
#include "utils/palloc.h"
#include "utils/builtins.h"
#include "fmgr.h"
#include "catalog/catname.h"
#include "utils/syscache.h"
#include "catalog/pg_operator.h"
#include "catalog/pg_proc.h"
#include "catalog/pg_type.h"
#include "catalog/pg_aggregate.h"
#include "miscadmin.h"
#include <access/heapam.h>
#include <utils/builtins.h>
#include <fmgr.h>
#include <catalog/catname.h>
#include <utils/syscache.h>
#include <catalog/pg_operator.h>
#include <catalog/pg_proc.h>
#include <catalog/pg_type.h>
#include <catalog/pg_aggregate.h>
#include <miscadmin.h>
#ifndef HAVE_MEMMOVE
# include <regex/utils.h>
#else
# include <string.h>
#endif
/* ----------------
* AggregateCreate

View File

@ -7,32 +7,29 @@
*
*
* IDENTIFICATION
* $Header: /cvsroot/pgsql/src/backend/catalog/pg_operator.c,v 1.4 1996/11/05 11:57:53 scrappy Exp $
* $Header: /cvsroot/pgsql/src/backend/catalog/pg_operator.c,v 1.5 1996/11/06 07:31:24 scrappy Exp $
*
* NOTES
* these routines moved here from commands/define.c and somewhat cleaned up.
*
*-------------------------------------------------------------------------
*/
#include <string.h>
#include "postgres.h"
#include <postgres.h>
#include <catalog/pg_proc.h>
#include <utils/syscache.h>
#include "access/heapam.h"
#include "access/skey.h"
#include "access/htup.h"
#include "utils/palloc.h"
#include "parser/catalog_utils.h"
#include "catalog/catname.h"
#include "catalog/pg_operator.h"
#include "storage/bufmgr.h"
#include "fmgr.h"
#include "miscadmin.h"
#include <access/heapam.h>
#include <parser/catalog_utils.h>
#include <catalog/catname.h>
#include <catalog/pg_operator.h>
#include <storage/bufmgr.h>
#include <fmgr.h>
#include <miscadmin.h>
#ifndef HAVE_MEMMOVE
# include <regex/utils.h>
#else
# include <string.h>
#endif
static Oid OperatorGetWithOpenRelation(Relation pg_operator_desc,
const char *operatorName,

View File

@ -7,33 +7,33 @@
*
*
* IDENTIFICATION
* $Header: /cvsroot/pgsql/src/backend/catalog/pg_proc.c,v 1.3 1996/11/05 11:57:54 scrappy Exp $
* $Header: /cvsroot/pgsql/src/backend/catalog/pg_proc.c,v 1.4 1996/11/06 07:31:25 scrappy Exp $
*
*-------------------------------------------------------------------------
*/
#include <string.h>
#include "postgres.h"
#include <postgres.h>
#include <utils/syscache.h>
#include <catalog/pg_proc.h>
#include "access/heapam.h"
#include "access/relscan.h"
#include "access/skey.h"
#include "fmgr.h"
#include "utils/builtins.h"
#include "utils/sets.h"
#include "catalog/catname.h"
#include "catalog/indexing.h"
#include "parser/parse_query.h"
#include "tcop/tcopprot.h"
#include "parser/catalog_utils.h"
#include "optimizer/internal.h"
#include "optimizer/planner.h"
#include "utils/lsyscache.h"
#include "miscadmin.h"
#include <access/heapam.h>
#include <access/relscan.h>
#include <fmgr.h>
#include <utils/builtins.h>
#include <utils/sets.h>
#include <catalog/catname.h>
#include <catalog/indexing.h>
#include <parser/parse_query.h>
#include <tcop/tcopprot.h>
#include <parser/catalog_utils.h>
#include <optimizer/internal.h>
#include <optimizer/planner.h>
#include <utils/lsyscache.h>
#include <miscadmin.h>
#ifndef HAVE_MEMMOVE
# include <regex/utils.h>
#else
# include <string.h>
#endif
/* ----------------------------------------------------------------
* ProcedureDefine

View File

@ -7,30 +7,28 @@
*
*
* IDENTIFICATION
* $Header: /cvsroot/pgsql/src/backend/catalog/pg_type.c,v 1.3 1996/11/05 11:57:55 scrappy Exp $
* $Header: /cvsroot/pgsql/src/backend/catalog/pg_type.c,v 1.4 1996/11/06 07:31:26 scrappy Exp $
*
*-------------------------------------------------------------------------
*/
#include <string.h>
#include "postgres.h"
#include <postgres.h>
#include <utils/syscache.h>
#include <catalog/pg_proc.h>
#include "access/heapam.h"
#include "access/relscan.h"
#include "access/skey.h"
#include "access/tupdesc.h"
#include "utils/builtins.h"
#include "utils/palloc.h"
#include "fmgr.h"
#include "parser/catalog_utils.h"
#include "catalog/catname.h"
#include "catalog/indexing.h"
#include "storage/lmgr.h"
#include "miscadmin.h"
#include <access/heapam.h>
#include <access/relscan.h>
#include <utils/builtins.h>
#include <fmgr.h>
#include <parser/catalog_utils.h>
#include <catalog/catname.h>
#include <catalog/indexing.h>
#include <storage/lmgr.h>
#include <miscadmin.h>
#ifndef HAVE_MEMMOVE
# include <regex/utils.h>
#else
# include <string.h>
#endif
/* ----------------------------------------------------------------
* TypeGetWithOpenRelation