Re: ALTER TABLE ... SET DEFAULT - Mailing list pgsql-admin

From Brian McCane
Subject Re: ALTER TABLE ... SET DEFAULT
Date
Msg-id 20020412021729.Y20593-100000@fw.mccons.net
Whole thread Raw
In response to ALTER TABLE ... SET DEFAULT  (Brian McCane <bmccane@mccons.net>)
List 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@postgresql.org
>


pgsql-admin by date:

Previous
From: Brian McCane
Date:
Subject: ALTER TABLE ... SET DEFAULT
Next
From: Tom Lane
Date:
Subject: Re: ALTER TABLE ... SET DEFAULT