On Mon, Jun 1, 2009 at 12:10 PM, HansD <hans.don...@pobox.com> wrote:

>
> one way to get portability is to express it in the supported types:
> eg: decimals can be *100 stored in integer


see discussions around fixed point arithmetic, and binary vs. decimal
encoding, and then the various decimal encoding schemes (starting w/ bcd):

http://en.wikipedia.org/wiki/Fixed-point_arithmetic
http://en.wikipedia.org/wiki/Binary-coded_decimal



>
>
>
> On 25 mei, 07:17, mdipierro <mdipie...@cs.depaul.edu> wrote:
> > I do not know if this is a good idea and I'd like to hear your
> > opinions:
> > I have added in trunk to define custom column types
> >
> > Here is an example of usage:
> >
> > import cPickle
> > from gluon.sql import SQLCustomType
> > fromdecimalimportDecimal
> >
> > decimal= SQLCustomType(native='NUMERIC(10,2)',decoder=(lambda
> x:Decimal(str(x))))
> >
> > pickable = SQLCustomType(type='text',encoder=(lambda x:
> > "'%s'"%cPickle.dumps(x).replace("'","''")),decoder=(lambda x:
> > cPickle.loads(x)))
> >
> > db.define_table('test',
> >    SQLField('my_decimal',type=decimal),
> >    SQLField('my_pickle',type=pickable))
> >
> > the SQLCustomType constructor takes the following arguments:
> > - type indicates how web2py sqlform should treat this field
> > - native indicates how the database should treat this field
> > - encoder indicates how to represent (and escape) a value in SQL
> > - decoder indicates how to process the value once it is extracted from
> > the database
> >
> > It seems to work well with migrations. Of course using native=....
> > makes the custom table not portable across databases.
> >
> > The implementation is not very clean but can be improved.
> >
> > Is this a good idea?
> >
> > Massimo
> >
>

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"web2py Web Framework" group.
To post to this group, send email to web2py@googlegroups.com
To unsubscribe from this group, send email to 
web2py+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/web2py?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to