| From: | Brian McCane <bmccane(at)mccons(dot)net> | 
|---|---|
| To: | pgsql-admin <pgsql-admin(at)postgresql(dot)org> | 
| Subject: | Re: ALTER TABLE ... SET DEFAULT | 
| Date: | 2002-04-12 07:21:07 | 
| Message-ID: | 20020412021729.Y20593-100000@fw.mccons.net | 
| Views: | Whole Thread | Raw Message | Download mbox | Resend email | 
| Thread: | |
| Lists: | pgsql-admin | 
Okay, I can't wait until morning for an answer, so I made one up ;-).  I
already have a function on this particular table which does processing
'BEFORE INSERT'.  As a temporary hack (or maybe permanent depending on
anyones response), I have added code to see if 'updated' IS NULL and
setting it to the return value of 'since_epoch()' if it is.  I suspect
that since I am already calling this function, it might actually be faster
than adding the 'set default' to the table anyway, especially since the
function 'iscacheable' and is being used in a transaction block.
-brian
On Fri, 12 Apr 2002, Brian McCane wrote:
>
>
>
> I have a field called 'updated' of type 'integer' in a table.  I have
> created a function called 'since_epoch' which is declared with iscacheable
> and returns the value of 'extract(epoch from now())'.  I want to make
> 'updated' have a default of 'since_epoch()'.  I cannot get it to work with
> the following command:
>
> alter table foo alter column updated set default 'since_epoch()' ;
>
> this gets the error:
>
> ERROR:  pg_atoi: error in "since_epoch()": can't parse "since_epoch()"
>
> I tried using 'since_epoch()::integer', but that failed as well.
> Is it possible to make the default value of an integer field use a
> function similar to how we use 'now()' for date and timestamp fields?
>
> - brian
>
> Wm. Brian McCane                    | Life is full of doors that won't open
> Search http://recall.maxbaud.net/   | when you knock, equally spaced amid those
> Usenet http://freenews.maxbaud.net/ | that open when you don't want them to.
> Auction http://www.sellit-here.com/ | - Roger Zelazny "Blood of Amber"
>
>
> ---------------------------(end of broadcast)---------------------------
> TIP 1: subscribe and unsubscribe commands go to majordomo(at)postgresql(dot)org
>
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Tony Griffiths | 2002-04-12 12:17:25 | Extending table name max length | 
| Previous Message | Brian McCane | 2002-04-12 07:02:29 | ALTER TABLE ... SET DEFAULT |