diff options
Diffstat (limited to 'src/backend/commands/comment.c')
-rw-r--r-- | src/backend/commands/comment.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/src/backend/commands/comment.c b/src/backend/commands/comment.c index 9ebf207199c..dc8247691ab 100644 --- a/src/backend/commands/comment.c +++ b/src/backend/commands/comment.c @@ -19,6 +19,7 @@ #include "catalog/pg_aggregate.h" #include "catalog/pg_database.h" #include "catalog/pg_description.h" +#include "catalog/pg_operator.h" #include "catalog/pg_proc.h" #include "catalog/pg_rewrite.h" #include "catalog/pg_shadow.h" @@ -658,6 +659,7 @@ void CommentProc(char *function, List *arguments, char *comment) void CommentOperator(char *opername, List *arguments, char *comment) { + Form_pg_operator data; HeapTuple optuple; Oid oid, leftoid = InvalidOid, rightoid = InvalidOid; bool defined; @@ -719,6 +721,14 @@ void CommentOperator(char *opername, List *arguments, char *comment) { } #endif + /*** Get the procedure associated with the operator ***/ + + data = (Form_pg_operator) GETSTRUCT(optuple); + oid = regproctooid(data->oprcode); + if (oid == InvalidOid) { + elog(ERROR, "operator '%s' does not have an underlying function", opername); + } + /*** Call CreateComments() to create/drop the comments ***/ CreateComments(oid, comment); |