[orm-devel] The NUMERIC problem float-ing around (no more!)

Admin orm-devel@mailman.tux4web.de
07 Dec 2002 16:32:32 +0000

He who never sleeps has done it again! Uberhacker?

> Good evening Eric!
> Hi Ross, Julio and Mike! You guys still up?
> A good afternoon Uwe!
> And to those Europeans who got an early start or didn't bother to go 
> sleep: a very good morning to you!
> It's 5 A.M. now and I think it was worth it ;-)
> This is how it works:
>   o PostgreSQL returns its results SQL literals contained in strings
>   o psycopg parses these strings and makes them Python objects
>   o to do so it employs a well designed and very pythonesqe (same 
>     thing really) mechanism 
>   o the conversion of NUMERIC(sql) to float(py) is just a default and
>     can be changed
>   o I modified the pgsql.datasource so that it does just that. Now
>     pgsql will return strings(py) for each SQL datatype that enherits 
>     from orm.adapters.pgsql.column.customType
>   o orm's convert()/format() mechanism takes care of converting these
>     strings to the right Python objects now
>   o I've created a numeric datatype and a numericColumn. They use the
>     FixedPoint module you can find at
>        http://fixedpoint.sourceforge.net/html/lib/module-FixedPoint.html
>     This lets you use arbitrary precision/exact math just like pgsql 
>     does internally.
> The best thing about it: I didn't have to mess up the code :-)
> Check out the new version from CVS and, if time permits, do some 
> testing!
> As you can plainly see, I'm having a great time working with you and 
> I really dig this Free Software thing now. I liked the idea before, 
> but now I dig it ;-)