Why don't you try testing the value of 'value' in your code by using a print statement to the console? At least that's what I usually do.
You would ideally provide the entire controller function because your code does not explain itself very well to me (although it may be obvious to others!). On Mar 10, 8:27 am, LightOfMooN <vladsale...@yandex.ru> wrote: > Yes, ofc > > controller/function: > > prop = db(db.properties.id==request.args(0)).select().first() > value=request.vars.myvar > > try: > value = int(value) > except: > pass > > if value!=prop.value and type(value)==int: > try: > db(db.properties.id==request.args(0)).update(value=value) > except: > pass > > it rises error > <class 'psycopg2.InternalError'>(current transaction is aborted, > commands ignored until end of transaction block) > only if value not in range (-2147483648 : 2147483647) > > so I type in shell > a = 2147483647 > type(a)>>> <type 'int'> > > a +=9999 > a > > >>> 2147493646 > type(a) > >>> <type 'int'> > > but I think it's already must be long > > On 10 ÍÁÒ, 03:35, Massimo Di Pierro <massimo.dipie...@gmail.com> > wrote: > > > Can I see more of the code without ... > > > On Mar 9, 3:17špm, LightOfMooN <vladsale...@yandex.ru> wrote: > > > > value=request.vars.myvar > > > > try: > > > š š value = int(value) > > > except: > > > š š pass > > > > if type(value)==int: > > > š š insert(....) > > > > it rises > > > <class 'psycopg2.InternalError'>(current transaction is aborted, > > > commands ignored until end of transaction block) > > > even if value > 2147483647 > > > > But why? > > > It's so strange, because type(value) must be long. > >