Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
Skip to content

Commit ce4c0ce

Browse files
committed
Some compile failure fixes from Keith Parks <emkxp01@mtcc.demon.co.uk>
1 parent e4725ee commit ce4c0ce

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

59 files changed

+210
-410
lines changed

src/backend/catalog/catalog.c

Lines changed: 8 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -7,24 +7,18 @@
77
*
88
*
99
* IDENTIFICATION
10-
* $Header: /cvsroot/pgsql/src/backend/catalog/catalog.c,v 1.3 1996/11/03 23:27:00 scrappy Exp $
10+
* $Header: /cvsroot/pgsql/src/backend/catalog/catalog.c,v 1.4 1996/11/06 06:47:01 scrappy Exp $
1111
*
1212
*-------------------------------------------------------------------------
1313
*/
14-
#include <string.h> /* XXX */
14+
#include <postgres.h>
1515

16-
#include "postgres.h"
17-
#include "miscadmin.h" /* for DataDir */
18-
19-
#include "utils/syscache.h"
20-
#include "storage/buf.h"
21-
#include "utils/palloc.h"
22-
23-
#include "catalog/catname.h" /* NameIs{,Shared}SystemRelationName */
24-
#include "catalog/pg_attribute.h"
25-
#include "catalog/pg_type.h"
26-
#include "catalog/catalog.h"
27-
#include "access/transam.h"
16+
#include <miscadmin.h> /* for DataDir */
17+
#include <utils/syscache.h>
18+
#include <catalog/catname.h> /* NameIs{,Shared}SystemRelationName */
19+
#include <catalog/pg_type.h>
20+
#include <catalog/catalog.h>
21+
#include <access/transam.h>
2822

2923
/*
3024
* relpath - path to the relation

src/backend/catalog/heap.c

Lines changed: 42 additions & 296 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
*
88
*
99
* IDENTIFICATION
10-
* $Header: /cvsroot/pgsql/src/backend/catalog/heap.c,v 1.4 1996/11/05 11:57:50 scrappy Exp $
10+
* $Header: /cvsroot/pgsql/src/backend/catalog/heap.c,v 1.5 1996/11/06 06:47:03 scrappy Exp $
1111
*
1212
* INTERFACE ROUTINES
1313
* heap_creatr() - Create an uncataloged heap relation
@@ -24,44 +24,49 @@
2424
*
2525
*-------------------------------------------------------------------------
2626
*/
27-
#include <stdio.h> /* for sprintf() */
28-
#include <sys/file.h>
29-
#include <string.h>
30-
31-
#include "postgres.h"
27+
#include <postgres.h>
28+
29+
#include <utils/mcxt.h>
30+
#include <parser/catalog_utils.h>
31+
#include <catalog/index.h>
32+
#include <fmgr.h>
33+
#include <catalog/pg_index.h>
34+
#include <catalog/pg_type.h>
35+
#include <catalog/catname.h>
36+
#include <utils/relcache.h>
37+
#include <storage/bufmgr.h>
38+
#include <catalog/heap.h>
39+
#include <rewrite/rewriteRemove.h>
40+
#include <storage/lmgr.h>
41+
#include <storage/smgr.h>
42+
#include <access/relscan.h>
43+
#include <utils/tqual.h>
3244

45+
/*
3346
#include <catalog/heap.h>
3447
#include <catalog/pg_proc.h>
35-
36-
#include "parser/catalog_utils.h"
37-
38-
#include "access/heapam.h"
39-
#include "access/genam.h"
40-
#include "access/istrat.h"
41-
#include "storage/bufmgr.h"
42-
#include "lib/hasht.h"
43-
#include "miscadmin.h"
44-
#include "fmgr.h"
45-
#include "utils/builtins.h"
46-
#include "utils/mcxt.h"
47-
#include "utils/palloc.h"
48-
#include "utils/relcache.h"
49-
50-
#include "catalog/catname.h"
51-
#include "catalog/pg_attribute.h"
52-
#include "catalog/pg_index.h"
53-
#include "catalog/pg_inherits.h"
54-
#include "catalog/pg_ipl.h"
55-
#include "catalog/index.h"
56-
#include "catalog/indexing.h"
57-
58-
#include "catalog/catalog.h"
59-
60-
#include "storage/lmgr.h"
61-
62-
#include "rewrite/rewriteRemove.h"
63-
64-
#include "storage/smgr.h"
48+
#include <parser/catalog_utils.h>
49+
#include <access/heapam.h>
50+
#include <access/genam.h>
51+
#include <access/istrat.h>
52+
#include <storage/bufmgr.h>
53+
#include <lib/hasht.h>
54+
#include <miscadmin.h>
55+
#include <fmgr.h>
56+
#include <utils/builtins.h>
57+
#include <utils/mcxt.h>
58+
#include <utils/relcache.h>
59+
#include <catalog/catname.h>
60+
#include <catalog/pg_index.h>
61+
#include <catalog/pg_inherits.h>
62+
#include <catalog/pg_ipl.h>
63+
#include <catalog/index.h>
64+
#include <catalog/indexing.h>
65+
#include <catalog/catalog.h>
66+
#include <storage/lmgr.h>
67+
#include <rewrite/rewriteRemove.h>
68+
#include <storage/smgr.h>
69+
*/
6570

6671
static void AddNewAttributeTuples(Oid new_rel_oid, TupleDesc tupdesc);
6772
static void CheckAttributeNames(TupleDesc tupdesc);
@@ -1174,263 +1179,4 @@ DeletePgTypeTuple(Relation rdesc)
11741179

11751180
/* ----------------
11761181
* now scan pg_attribute. if any other relations have
1177-
* attributes of the type of the relation we are deleteing
1178-
* then we have to disallow the deletion. should talk to
1179-
* stonebraker about this. -cim 6/19/90
1180-
* ----------------
1181-
*/
1182-
typoid = tup->t_oid;
1183-
1184-
pg_attribute_desc = heap_openr(AttributeRelationName);
1185-
1186-
ScanKeyEntryInitialize(&attkey,
1187-
0, Anum_pg_attribute_atttypid, F_INT4EQ,
1188-
typoid);
1189-
1190-
pg_attribute_scan = heap_beginscan(pg_attribute_desc,
1191-
0,
1192-
NowTimeQual,
1193-
1,
1194-
&attkey);
1195-
1196-
/* ----------------
1197-
* try and get a pg_attribute tuple. if we succeed it means
1198-
* we cant delete the relation because something depends on
1199-
* the schema.
1200-
* ----------------
1201-
*/
1202-
atttup = heap_getnext(pg_attribute_scan, 0, (Buffer *)NULL);
1203-
1204-
if (PointerIsValid(atttup)) {
1205-
Oid relid = ((AttributeTupleForm) GETSTRUCT(atttup))->attrelid;
1206-
1207-
heap_endscan(pg_type_scan);
1208-
heap_close(pg_type_desc);
1209-
heap_endscan(pg_attribute_scan);
1210-
heap_close(pg_attribute_desc);
1211-
1212-
elog(WARN, "DeletePgTypeTuple: att of type %s exists in relation %d",
1213-
&rdesc->rd_rel->relname, relid);
1214-
}
1215-
heap_endscan(pg_attribute_scan);
1216-
heap_close(pg_attribute_desc);
1217-
1218-
/* ----------------
1219-
* Ok, it's safe so we delete the relation tuple
1220-
* from pg_type and finish up. But first end the scan so that
1221-
* we release the read lock on pg_type. -mer 13 Aug 1991
1222-
* ----------------
1223-
*/
1224-
heap_endscan(pg_type_scan);
1225-
heap_delete(pg_type_desc, &tup->t_ctid);
1226-
1227-
heap_close(pg_type_desc);
1228-
}
1229-
1230-
/* --------------------------------
1231-
* heap_destroy
1232-
*
1233-
* --------------------------------
1234-
*/
1235-
void
1236-
heap_destroy(char *relname)
1237-
{
1238-
Relation rdesc;
1239-
1240-
/* ----------------
1241-
* first open the relation. if the relation does exist,
1242-
* heap_openr() returns NULL.
1243-
* ----------------
1244-
*/
1245-
rdesc = heap_openr(relname);
1246-
if (rdesc == NULL)
1247-
elog(WARN,"Relation %s Does Not Exist!", relname);
1248-
1249-
/* ----------------
1250-
* prevent deletion of system relations
1251-
* ----------------
1252-
*/
1253-
if (IsSystemRelationName(RelationGetRelationName(rdesc)->data))
1254-
elog(WARN, "amdestroy: cannot destroy %s relation",
1255-
&rdesc->rd_rel->relname);
1256-
1257-
/* ----------------
1258-
* remove inheritance information
1259-
* ----------------
1260-
*/
1261-
RelationRemoveInheritance(rdesc);
1262-
1263-
/* ----------------
1264-
* remove indexes if necessary
1265-
* ----------------
1266-
*/
1267-
if (rdesc->rd_rel->relhasindex) {
1268-
RelationRemoveIndexes(rdesc);
1269-
}
1270-
1271-
/* ----------------
1272-
* remove rules if necessary
1273-
* ----------------
1274-
*/
1275-
if (rdesc->rd_rules != NULL) {
1276-
RelationRemoveRules(rdesc->rd_id);
1277-
}
1278-
1279-
/* ----------------
1280-
* delete attribute tuples
1281-
* ----------------
1282-
*/
1283-
DeletePgAttributeTuples(rdesc);
1284-
1285-
/* ----------------
1286-
* delete type tuple. here we want to see the effects
1287-
* of the deletions we just did, so we use setheapoverride().
1288-
* ----------------
1289-
*/
1290-
setheapoverride(true);
1291-
DeletePgTypeTuple(rdesc);
1292-
setheapoverride(false);
1293-
1294-
/* ----------------
1295-
* delete relation tuple
1296-
* ----------------
1297-
*/
1298-
DeletePgRelationTuple(rdesc);
1299-
1300-
/* ----------------
1301-
* flush the relation from the relcache
1302-
* ----------------
1303-
*/
1304-
RelationIdInvalidateRelationCacheByRelationId(rdesc->rd_id);
1305-
1306-
/* ----------------
1307-
* unlink the relation and finish up.
1308-
* ----------------
1309-
*/
1310-
(void) smgrunlink(rdesc->rd_rel->relsmgr, rdesc);
1311-
if(rdesc->rd_istemp) {
1312-
rdesc->rd_tmpunlinked = TRUE;
1313-
}
1314-
heap_close(rdesc);
1315-
}
1316-
1317-
/*
1318-
* heap_destroyr
1319-
* destroy and close temporary relations
1320-
*
1321-
*/
1322-
1323-
void
1324-
heap_destroyr(Relation rdesc)
1325-
{
1326-
ReleaseTmpRelBuffers(rdesc);
1327-
(void) smgrunlink(rdesc->rd_rel->relsmgr, rdesc);
1328-
if(rdesc->rd_istemp) {
1329-
rdesc->rd_tmpunlinked = TRUE;
1330-
}
1331-
heap_close(rdesc);
1332-
RemoveFromTempRelList(rdesc);
1333-
}
1334-
1335-
1336-
/**************************************************************
1337-
functions to deal with the list of temporary relations
1338-
**************************************************************/
1339-
1340-
/* --------------
1341-
InitTempRellist():
1342-
1343-
initialize temporary relations list
1344-
the tempRelList is a list of temporary relations that
1345-
are created in the course of the transactions
1346-
they need to be destroyed properly at the end of the transactions
1347-
1348-
MODIFIES the global variable tempRels
1349-
1350-
>> NOTE <<
1351-
1352-
malloc is used instead of palloc because we KNOW when we are
1353-
going to free these things. Keeps us away from the memory context
1354-
hairyness
1355-
1356-
*/
1357-
void
1358-
InitTempRelList()
1359-
{
1360-
if (tempRels) {
1361-
free(tempRels->rels);
1362-
free(tempRels);
1363-
};
1364-
1365-
tempRels = (TempRelList*)malloc(sizeof(TempRelList));
1366-
tempRels->size = TEMP_REL_LIST_SIZE;
1367-
tempRels->rels = (Relation*)malloc(sizeof(Relation) * tempRels->size);
1368-
memset(tempRels->rels, 0, sizeof(Relation) * tempRels->size);
1369-
tempRels->num = 0;
1370-
}
1371-
1372-
/*
1373-
removes a relation from the TempRelList
1374-
1375-
MODIFIES the global variable tempRels
1376-
we don't really remove it, just mark it as NULL
1377-
and DestroyTempRels will look for NULLs
1378-
*/
1379-
void
1380-
RemoveFromTempRelList(Relation r)
1381-
{
1382-
int i;
1383-
1384-
if (!tempRels)
1385-
return;
1386-
1387-
for (i=0; i<tempRels->num; i++) {
1388-
if (tempRels->rels[i] == r) {
1389-
tempRels->rels[i] = NULL;
1390-
break;
1391-
}
1392-
}
1393-
}
1394-
1395-
/*
1396-
add a temporary relation to the TempRelList
1397-
1398-
MODIFIES the global variable tempRels
1399-
*/
1400-
void
1401-
AddToTempRelList(Relation r)
1402-
{
1403-
if (!tempRels)
1404-
return;
1405-
1406-
if (tempRels->num == tempRels->size) {
1407-
tempRels->size += TEMP_REL_LIST_SIZE;
1408-
tempRels->rels = realloc(tempRels->rels, tempRels->size);
1409-
}
1410-
tempRels->rels[tempRels->num] = r;
1411-
tempRels->num++;
1412-
}
1413-
1414-
/*
1415-
go through the tempRels list and destroy each of the relations
1416-
*/
1417-
void
1418-
DestroyTempRels()
1419-
{
1420-
int i;
1421-
Relation rdesc;
1422-
1423-
if (!tempRels)
1424-
return;
1425-
1426-
for (i=0;i<tempRels->num;i++) {
1427-
rdesc = tempRels->rels[i];
1428-
/* rdesc may be NULL if it has been removed from the list already */
1429-
if (rdesc)
1430-
heap_destroyr(rdesc);
1431-
}
1432-
free(tempRels->rels);
1433-
free(tempRels);
1434-
tempRels = NULL;
1435-
}
1436-
1182+
* attributes of the type of the relation we are de

0 commit comments

Comments
 (0)