Re: Alternative to "Money" ... - Mailing list pgsql-admin

From Chris Gamache
Subject Re: Alternative to "Money" ...
Date
Msg-id 20040203170018.79985.qmail@web13809.mail.yahoo.com
Whole thread Raw
In response to Re: Alternative to "Money" ...  (Harald Fuchs <hf118@protecting.net>)
List pgsql-admin
Its coming through as a string. It has to be changed from a string sometime...
I suppose I could put the alteration intelligence into the script that inserts
the information into the DB. That would require rewriting a lot of
application-side code. Besides, I'd rather have as much heavy lifing done with
the (more robust) database as possible. That'll leave the weaker client able to
handle its tasks better. Is this logic flawed? It can't be any worse than it is
right now. I have my own casts for money->int2,int4,int8,float,float4,float8 so
that the mathmatic operators, functions, and aggregates will operate properly.

CG

--- Harald Fuchs <hf118@protecting.net> wrote:
> In article <20040203160813.81708.qmail@web13808.mail.yahoo.com>,
> Chris Gamache <cgg007@yahoo.com> writes:
>
> > That does make more sense (cents? :) ).
>
> > View and rule still apply, tho. Better performance still?
>
> > create temporary table new_money (product text, cents int4);
>
> > create view v_new_money as select product,
> (cents::numeric/100)::numeric(10,2)
> > as dollars from new_money;
>
> > create rule v_new_money_upd as on update to v_new_money do instead update
> > new_money set product=new.product, cents=new.dollars * 100 where product =
> > old.product;
>
> > create rule v_new_money_del as on delete to v_new_money do instead delete
> from
> > new_money where product = old.product;
>
> > create rule v_new_money_ins as on insert to v_new_money do instead insert
> into
> > new_money (product, cents) values (new.product, new.dollars * 100);
>
> > insert into new_money (product, cents) values ('Flowbee','1995');
> > insert into new_money (product, cents) values ('Country Hits','995');
> > insert into v_new_money (product, dollars) values ('ThighMaster','39.95');
> > update v_new_money set dollars = '14.95' where product='Flowbee';
>
> From where would you get this '14.95'?  From your application?  If
> yes, what type is it?  A string or a float?  A string would be
> inefficient (like SQLs NUMERIC), a float would not be exact (like SQLs
> FLOAT).
>
>
> ---------------------------(end of broadcast)---------------------------
> TIP 6: Have you searched our list archives?
>
>                http://archives.postgresql.org


__________________________________
Do you Yahoo!?
Yahoo! SiteBuilder - Free web site building tool. Try it!
http://webhosting.yahoo.com/ps/sb/

pgsql-admin by date:

Previous
From: "Sally Sally"
Date:
Subject: How much extra free disk space does postgres need?
Next
From: Andrew Sullivan
Date:
Subject: Re: Veritas Filesystem