Re: [SQL] Object create date

2008-12-30 Thread Fernando Hevia
 

> -Mensaje original-
> De: Alvaro Herrera [mailto:alvhe...@commandprompt.com] 
> Enviado el: Lunes, 29 de Diciembre de 2008 19:39
> Para: Fernando Hevia
> CC: 'George Pavlov'; pgsql-sql@postgresql.org
> Asunto: Re: [SQL] Object create date
> 
> Fernando Hevia escribió:
> > Thanks Pavlov for your response.
> 
> > >   CREATE OR REPLACE FUNCTION foo ()
> > >   RETURNS void AS
> > >   $BODY$
> > >   -- $Id: foo.sql,v 1.6 2008/12/23 00:06:52 gpavlov Exp $
> > >   BEGIN
> > >   ...
> > > 
> > 
> > I am already doing this. Sadly I've found it to be very fragile in 
> > face of a careless programmer who forgets to update the 
> tags. Myself 
> > being the prime suspect. :)
> 
> You don't update the tags.  They are updated automatically by 
> CVS (or Subversion, whatever you use)
> 

Hmm, I'm using source-safe. Just went through the manual and it does support
auto expandable tags, something which I hadn't used before. Thanks for the
tip.


-- 
Sent via pgsql-sql mailing list (pgsql-sql@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-sql


Re: [SQL] Object create date

2008-12-30 Thread Erik Jones


On Dec 29, 2008, at 12:30 PM, George Pavlov wrote:

1. not exactly what you were looking for, but i answer this  
partially by putting a commented-out CVS expansion tag (e.g. $Id:)  
in the body of the function so that it gets into the catalog and can  
be searched:


 CREATE OR REPLACE FUNCTION foo ()
 RETURNS void AS
 $BODY$
 -- $Id: foo.sql,v 1.6 2008/12/23 00:06:52 gpavlov Exp $
 BEGIN
 ...

and query it by something like this:

 select
   routine_name,
   substring(routine_definition from E'%#\042-- #\044Id: % Exp #\044# 
\042%' for '#') as cvs_id

 from information_schema.routines
 ;

2. you can also make some inference about the relative timing of  
object creation based on the OIDs (query pg_catalog.pg_proc rather  
than information_schema.routines for proc OIDs).


Hmm...  It seems to me that since object creation time, being  
metadata, would be better served being placed in a COMMENT for the  
object.  That would have the added bonus of being able to search in  
one place (pg_description) across all objects of all types for a given  
creation/modification date.


Erik Jones, Database Administrator
Engine Yard
Support, Scalability, Reliability
866.518.9273 x 260
Location: US/Pacific
IRC: mage2k






--
Sent via pgsql-sql mailing list (pgsql-sql@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-sql