diff options
Diffstat (limited to 'src/backend/commands/comment.c')
-rw-r--r-- | src/backend/commands/comment.c | 93 |
1 files changed, 30 insertions, 63 deletions
diff --git a/src/backend/commands/comment.c b/src/backend/commands/comment.c index 68d498641b8..8177e39c71c 100644 --- a/src/backend/commands/comment.c +++ b/src/backend/commands/comment.c @@ -7,7 +7,7 @@ * Copyright (c) 1996-2005, PostgreSQL Global Development Group * * IDENTIFICATION - * $PostgreSQL: pgsql/src/backend/commands/comment.c,v 1.82 2005/04/14 01:38:16 tgl Exp $ + * $PostgreSQL: pgsql/src/backend/commands/comment.c,v 1.83 2005/04/14 20:03:23 tgl Exp $ * *------------------------------------------------------------------------- */ @@ -16,13 +16,17 @@ #include "access/genam.h" #include "access/heapam.h" -#include "catalog/catname.h" #include "catalog/indexing.h" #include "catalog/namespace.h" +#include "catalog/pg_cast.h" #include "catalog/pg_constraint.h" +#include "catalog/pg_conversion.h" #include "catalog/pg_database.h" #include "catalog/pg_description.h" +#include "catalog/pg_language.h" #include "catalog/pg_largeobject.h" +#include "catalog/pg_namespace.h" +#include "catalog/pg_opclass.h" #include "catalog/pg_operator.h" #include "catalog/pg_proc.h" #include "catalog/pg_rewrite.h" @@ -192,9 +196,9 @@ CreateComments(Oid oid, Oid classoid, int32 subid, char *comment) BTEqualStrategyNumber, F_INT4EQ, Int32GetDatum(subid)); - description = heap_openr(DescriptionRelationName, RowExclusiveLock); + description = heap_open(DescriptionRelationId, RowExclusiveLock); - sd = systable_beginscan(description, DescriptionObjIndex, true, + sd = systable_beginscan(description, DescriptionObjIndexId, true, SnapshotNow, 3, skey); while ((oldtuple = systable_getnext(sd)) != NULL) @@ -274,9 +278,9 @@ DeleteComments(Oid oid, Oid classoid, int32 subid) else nkeys = 2; - description = heap_openr(DescriptionRelationName, RowExclusiveLock); + description = heap_open(DescriptionRelationId, RowExclusiveLock); - sd = systable_beginscan(description, DescriptionObjIndex, true, + sd = systable_beginscan(description, DescriptionObjIndexId, true, SnapshotNow, nkeys, skey); while ((oldtuple = systable_getnext(sd)) != NULL) @@ -353,8 +357,8 @@ CommentRelation(int objtype, List *relname, char *comment) } /* Create the comment using the relation's oid */ - - CreateComments(RelationGetRelid(relation), RelationRelationId, 0, comment); + CreateComments(RelationGetRelid(relation), RelationRelationId, + 0, comment); /* Done, but hold lock until commit */ relation_close(relation, NoLock); @@ -407,7 +411,6 @@ CommentAttribute(List *qualname, char *comment) attrname, RelationGetRelationName(relation)))); /* Create the comment using the relation's oid */ - CreateComments(RelationGetRelid(relation), RelationRelationId, (int32) attnum, comment); @@ -476,7 +479,7 @@ CommentDatabase(List *qualname, char *comment) aclcheck_error(ACLCHECK_NOT_OWNER, ACL_KIND_DATABASE, database); - /* Create the comment with the pg_database oid */ + /* Call CreateComments() to create/drop the comments */ CreateComments(oid, DatabaseRelationId, 0, comment); } @@ -493,7 +496,6 @@ static void CommentNamespace(List *qualname, char *comment) { Oid oid; - Oid classoid; char *namespace; if (list_length(qualname) != 1) @@ -515,11 +517,8 @@ CommentNamespace(List *qualname, char *comment) aclcheck_error(ACLCHECK_NOT_OWNER, ACL_KIND_NAMESPACE, namespace); - /* pg_namespace doesn't have a hard-coded OID, so must look it up */ - classoid = get_system_catalog_relid(NamespaceRelationName); - /* Call CreateComments() to create/drop the comments */ - CreateComments(oid, classoid, 0, comment); + CreateComments(oid, NamespaceRelationId, 0, comment); } /* @@ -547,7 +546,6 @@ CommentRule(List *qualname, char *comment) HeapTuple tuple; Oid reloid; Oid ruleoid; - Oid classoid; AclResult aclcheck; /* Separate relname and trig name */ @@ -567,7 +565,7 @@ CommentRule(List *qualname, char *comment) BTEqualStrategyNumber, F_NAMEEQ, PointerGetDatum(rulename)); - RewriteRelation = heap_openr(RewriteRelationName, AccessShareLock); + RewriteRelation = heap_open(RewriteRelationId, AccessShareLock); scanDesc = heap_beginscan(RewriteRelation, SnapshotNow, 1, &scanKeyData); @@ -631,11 +629,8 @@ CommentRule(List *qualname, char *comment) aclcheck_error(aclcheck, ACL_KIND_CLASS, get_rel_name(reloid)); - /* pg_rewrite doesn't have a hard-coded OID, so must look it up */ - classoid = get_system_catalog_relid(RewriteRelationName); - /* Call CreateComments() to create/drop the comments */ - CreateComments(ruleoid, classoid, 0, comment); + CreateComments(ruleoid, RewriteRelationId, 0, comment); heap_close(relation, NoLock); } @@ -671,7 +666,6 @@ CommentType(List *typename, char *comment) TypeNameToString(tname)); /* Call CreateComments() to create/drop the comments */ - CreateComments(oid, TypeRelationId, 0, comment); } @@ -707,7 +701,6 @@ CommentAggregate(List *aggregate, List *arguments, char *comment) NameListToString(aggregate)); /* Call CreateComments() to create/drop the comments */ - CreateComments(oid, ProcedureRelationId, 0, comment); } @@ -736,7 +729,6 @@ CommentProc(List *function, List *arguments, char *comment) NameListToString(function)); /* Call CreateComments() to create/drop the comments */ - CreateComments(oid, ProcedureRelationId, 0, comment); } @@ -756,7 +748,6 @@ CommentOperator(List *opername, List *arguments, char *comment) TypeName *typenode1 = (TypeName *) linitial(arguments); TypeName *typenode2 = (TypeName *) lsecond(arguments); Oid oid; - Oid classoid; /* Look up the operator */ oid = LookupOperNameTypeNames(opername, typenode1, typenode2, false); @@ -766,11 +757,8 @@ CommentOperator(List *opername, List *arguments, char *comment) aclcheck_error(ACLCHECK_NOT_OWNER, ACL_KIND_OPER, NameListToString(opername)); - /* pg_operator doesn't have a hard-coded OID, so must look it up */ - classoid = get_system_catalog_relid(OperatorRelationName); - /* Call CreateComments() to create/drop the comments */ - CreateComments(oid, classoid, 0, comment); + CreateComments(oid, OperatorRelationId, 0, comment); } /* @@ -817,7 +805,7 @@ CommentTrigger(List *qualname, char *comment) * Fetch the trigger tuple from pg_trigger. There can be only one * because of the unique index. */ - pg_trigger = heap_openr(TriggerRelationName, AccessShareLock); + pg_trigger = heap_open(TriggerRelationId, AccessShareLock); ScanKeyInit(&entry[0], Anum_pg_trigger_tgrelid, BTEqualStrategyNumber, F_OIDEQ, @@ -826,7 +814,7 @@ CommentTrigger(List *qualname, char *comment) Anum_pg_trigger_tgname, BTEqualStrategyNumber, F_NAMEEQ, CStringGetDatum(trigname)); - scan = systable_beginscan(pg_trigger, TriggerRelidNameIndex, true, + scan = systable_beginscan(pg_trigger, TriggerRelidNameIndexId, true, SnapshotNow, 2, entry); triggertuple = systable_getnext(scan); @@ -842,9 +830,8 @@ CommentTrigger(List *qualname, char *comment) systable_endscan(scan); - /* Create the comment with the pg_trigger oid */ - - CreateComments(oid, RelationGetRelid(pg_trigger), 0, comment); + /* Call CreateComments() to create/drop the comments */ + CreateComments(oid, TriggerRelationId, 0, comment); /* Done, but hold lock on relation */ @@ -896,14 +883,14 @@ CommentConstraint(List *qualname, char *comment) * than one match, because constraints are not required to have unique * names; if so, error out. */ - pg_constraint = heap_openr(ConstraintRelationName, AccessShareLock); + pg_constraint = heap_open(ConstraintRelationId, AccessShareLock); ScanKeyInit(&skey[0], Anum_pg_constraint_conrelid, BTEqualStrategyNumber, F_OIDEQ, ObjectIdGetDatum(RelationGetRelid(relation))); - scan = systable_beginscan(pg_constraint, ConstraintRelidIndex, true, + scan = systable_beginscan(pg_constraint, ConstraintRelidIndexId, true, SnapshotNow, 1, skey); while (HeapTupleIsValid(tuple = systable_getnext(scan))) @@ -930,8 +917,8 @@ CommentConstraint(List *qualname, char *comment) errmsg("constraint \"%s\" for table \"%s\" does not exist", conName, RelationGetRelationName(relation)))); - /* Create the comment with the pg_constraint oid */ - CreateComments(conOid, RelationGetRelid(pg_constraint), 0, comment); + /* Call CreateComments() to create/drop the comments */ + CreateComments(conOid, ConstraintRelationId, 0, comment); /* Done, but hold lock on relation */ heap_close(pg_constraint, AccessShareLock); @@ -951,7 +938,6 @@ static void CommentConversion(List *qualname, char *comment) { Oid conversionOid; - Oid classoid; conversionOid = FindConversionByName(qualname); if (!OidIsValid(conversionOid)) @@ -965,11 +951,8 @@ CommentConversion(List *qualname, char *comment) aclcheck_error(ACLCHECK_NOT_OWNER, ACL_KIND_CONVERSION, NameListToString(qualname)); - /* pg_conversion doesn't have a hard-coded OID, so must look it up */ - classoid = get_system_catalog_relid(ConversionRelationName); - /* Call CreateComments() to create/drop the comments */ - CreateComments(conversionOid, classoid, 0, comment); + CreateComments(conversionOid, ConversionRelationId, 0, comment); } /* @@ -985,7 +968,6 @@ static void CommentLanguage(List *qualname, char *comment) { Oid oid; - Oid classoid; char *language; if (list_length(qualname) != 1) @@ -1008,11 +990,8 @@ CommentLanguage(List *qualname, char *comment) (errcode(ERRCODE_INSUFFICIENT_PRIVILEGE), errmsg("must be superuser to comment on procedural language"))); - /* pg_language doesn't have a hard-coded OID, so must look it up */ - classoid = get_system_catalog_relid(LanguageRelationName); - /* Call CreateComments() to create/drop the comments */ - CreateComments(oid, classoid, 0, comment); + CreateComments(oid, LanguageRelationId, 0, comment); } /* @@ -1032,7 +1011,6 @@ CommentOpClass(List *qualname, List *arguments, char *comment) char *opcname; Oid amID; Oid opcID; - Oid classoid; HeapTuple tuple; Assert(list_length(arguments) == 1); @@ -1098,11 +1076,8 @@ CommentOpClass(List *qualname, List *arguments, char *comment) ReleaseSysCache(tuple); - /* pg_opclass doesn't have a hard-coded OID, so must look it up */ - classoid = get_system_catalog_relid(OperatorClassRelationName); - /* Call CreateComments() to create/drop the comments */ - CreateComments(opcID, classoid, 0, comment); + CreateComments(opcID, OperatorClassRelationId, 0, comment); } /* @@ -1118,7 +1093,6 @@ static void CommentLargeObject(List *qualname, char *comment) { Oid loid; - Oid classoid; Node *node; Assert(list_length(qualname) == 1); @@ -1152,11 +1126,8 @@ CommentLargeObject(List *qualname, char *comment) (errcode(ERRCODE_UNDEFINED_OBJECT), errmsg("large object %u does not exist", loid))); - /* pg_largeobject doesn't have a hard-coded OID, so must look it up */ - classoid = get_system_catalog_relid(LargeObjectRelationName); - /* Call CreateComments() to create/drop the comments */ - CreateComments(loid, classoid, 0, comment); + CreateComments(loid, LargeObjectRelationId, 0, comment); } /* @@ -1178,7 +1149,6 @@ CommentCast(List *qualname, List *arguments, char *comment) Oid targettypeid; HeapTuple tuple; Oid castOid; - Oid classoid; Assert(list_length(qualname) == 1); sourcetype = (TypeName *) linitial(qualname); @@ -1226,9 +1196,6 @@ CommentCast(List *qualname, List *arguments, char *comment) ReleaseSysCache(tuple); - /* pg_cast doesn't have a hard-coded OID, so must look it up */ - classoid = get_system_catalog_relid(CastRelationName); - /* Call CreateComments() to create/drop the comments */ - CreateComments(castOid, classoid, 0, comment); + CreateComments(castOid, CastRelationId, 0, comment); } |