Skip site navigation (1) Skip section navigation (2)

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 (view raw or flat)
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

pgsql-hackers by date

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

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group