Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commitce4c0ce

Browse files
committed
Some compile failure fixes from Keith Parks <emkxp01@mtcc.demon.co.uk>
1 parente4725ee commitce4c0ce

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
staticvoidAddNewAttributeTuples(Oidnew_rel_oid,TupleDesctupdesc);
6772
staticvoidCheckAttributeNames(TupleDesctupdesc);
@@ -1174,263 +1179,4 @@ DeletePgTypeTuple(Relation rdesc)
11741179

11751180
/*----------------
11761181
*nowscanpg_attribute.ifanyotherrelationshave
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-
Oidrelid= ((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-
Relationrdesc;
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(Relationrdesc)
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(Relationr)
1381-
{
1382-
inti;
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(Relationr)
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-
inti;
1421-
Relationrdesc;
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+
*attributesofthetypeoftherelationwearede

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp