Re: ALTER TABLE ... SET DEFAULT

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: Raw Message | Whole Thread | 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
>

In response to

Browse pgsql-admin by date

  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