]> granicus.if.org Git - postgresql/commit
This patch implements ORACLE's COMMENT SQL command.
authorBruce Momjian <bruce@momjian.us>
Fri, 15 Oct 1999 01:49:49 +0000 (01:49 +0000)
committerBruce Momjian <bruce@momjian.us>
Fri, 15 Oct 1999 01:49:49 +0000 (01:49 +0000)
commit7acc237744b3e9a697959eec367adb44fff554a7
tree1650324239bd74896111cf5922c9463c60d788c5
parent55fa71a9e9c766ec477f4cb41c630f1851fa2adc
This patch implements ORACLE's COMMENT SQL command.
>From the ORACLE 7 SQL Language Reference Manual:
-----------------------------------------------------
COMMENT

Purpose:

To add a comment about a table, view, snapshot, or
column into the data dictionary.

Prerequisites:

The table, view, or snapshot must be in your own
schema
or you must have COMMENT ANY TABLE system privilege.

Syntax:

COMMENT ON [ TABLE table ] |
           [ COLUMN table.column] IS 'text'

You can effectively drop a comment from the database
by setting it to the empty string ''.
-----------------------------------------------------

Example:

COMMENT ON TABLE workorders IS
   'Maintains base records for workorder information';

COMMENT ON COLUMN workorders.hours IS
   'Number of hours the engineer worked on the task';

to drop a comment:

COMMENT ON COLUMN workorders.hours IS '';

The current patch will simply perform the insert into
pg_description, as per the TODO. And, of course, when
the table is dropped, any comments relating to it
or any of its attributes are also dropped. I haven't
looked at the ODBC source yet, but I do know from
an ODBC client standpoint that the standard does
support the notion of table and column comments.
Hopefully the ODBC driver is already fetching these
values from pg_description, but if not, it should be
trivial.

Hope this makes the grade,

Mike Mascari
(mascarim@yahoo.com)
12 files changed:
src/backend/catalog/heap.c
src/backend/catalog/indexing.c
src/backend/commands/creatinh.c
src/backend/parser/gram.y
src/backend/parser/keywords.c
src/backend/tcop/utility.c
src/include/catalog/heap.h
src/include/catalog/pg_description.h
src/include/commands/creatinh.h
src/include/nodes/nodes.h
src/include/nodes/parsenodes.h
src/tools/pgindent/pgindent