Re: comment doesn't accept expressions returning text

From: Bruce Momjian <pgman(at)candle(dot)pha(dot)pa(dot)us>
To: Michael Glaesemann <grzm(at)myrealbox(dot)com>
Cc: pgsql-hackers(at)postgresql(dot)org
Subject: Re: comment doesn't accept expressions returning text
Date: 2005-11-28 22:21:51
Message-ID: 200511282221.jASMLpD20943@candle.pha.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers


Added to TODO:

* Allow COMMENT ON to accept an expression rather than just a
string

---------------------------------------------------------------------------

Michael Glaesemann wrote:
> I've been trying to be better at documentation in general and have
> been trying to take advantage of PostgreSQL's COMMENT ON
> functionality to provide a little more information in the DDL itself.
> I usually write my DDL in a text file and load it into the database
> using psql. To make it (a little) easier to write comments, I'd like
> to write the comment text as it's own paragraph so I don't have to
> worry about accidently deleting the opening and closing quotes.
>
> For example:
>
> create table foo (foo_id integer primary key);
> comment on table foo is $$
> This is a comment for table foo.
> $$;
>
> Of course, this comment includes a new line at the beginning and end
> of the comment.
>
> test=# select relname, description
> test-# from pg_description
> test-# join pg_class on (pg_class.oid = pg_description.objoid)
> test-# where relname = 'foo';
> relname | description
> ---------+-------------
> foo |
> This is a comment for table foo.
>
> (1 row)
>
> It would be nice to be able to strip those out using TRIM (or some
> other function). However, this doesn't appear to work, as COMMENT ON
> throws a syntax error as soon as it runs into anything that isn't a
> pure text string. Examples below.
>
> Would there be any objection to allowing any text-returning
> expression in this case? If not, what would be involved in allowing
> this? I'm interested in contributing the change if it's something
> that's considered worthwhile.
>
> Michael Glaesemann
> grzm myrealbox com
>
>
> test=# select version();
>
> version
> ------------------------------------------------------------------------
> ----------------------------------------------------------------------
> PostgreSQL 8.1.0 on powerpc-apple-darwin8.3.0, compiled by GCC
> powerpc-apple-darwin8-gcc-4.0.0 (GCC) 4.0.0 (Apple Computer, Inc.
> build 5026)
> (1 row)
>
> test=# create table foo (foo_id integer primary key);
> NOTICE: CREATE TABLE / PRIMARY KEY will create implicit index
> "foo_pkey" for table "foo"
> CREATE TABLE
> test=# comment on table foo is trim('*', '***This is just an
> example***');
> ERROR: syntax error at or near "trim" at character 25
> LINE 1: comment on table foo is trim('*', '***This is just an exampl...
> ^
> test=# comment on table foo is (trim('*', '***This is just an
> example***'));
> ERROR: syntax error at or near "(" at character 25
> LINE 1: comment on table foo is (trim('*', '***This is just an examp...
> ^
> test=# comment on table foo is 'This is just' || ' an example';
> ERROR: syntax error at or near "||" at character 40
> LINE 1: comment on table foo is 'This is just' || ' an example';
> ^
> test=# comment on table foo is ('This is just' || ' an example');
> ERROR: syntax error at or near "(" at character 25
> LINE 1: comment on table foo is ('This is just' || ' an example');
>
>
> ---------------------------(end of broadcast)---------------------------
> TIP 3: Have you checked our extensive FAQ?
>
> http://www.postgresql.org/docs/faq
>

--
Bruce Momjian | http://candle.pha.pa.us
pgman(at)candle(dot)pha(dot)pa(dot)us | (610) 359-1001
+ If your life is a hard drive, | 13 Roberts Road
+ Christ can be your backup. | Newtown Square, Pennsylvania 19073

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Bruce Momjian 2005-11-28 22:30:08 Re: POWER vs. POW ???
Previous Message James Robinson 2005-11-28 22:03:56 Re: Help: 8.0.3 Vacuum of an empty table never completes ...