/usr/lib/python2.7/dist-packages/trytond/model/fields/integer.py is in tryton-server 3.4.0-3+deb8u3.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 | #This file is part of Tryton. The COPYRIGHT file at the top level of
#this repository contains the full copyright notices and license terms.
from sql import Query, Expression
from ... import backend
from .field import Field, SQLType
class Integer(Field):
'''
Define an integer field (``int``).
'''
_type = 'integer'
def sql_type(self):
db_type = backend.name()
if db_type == 'postgresql':
return SQLType('INT4', 'INT4')
elif db_type == 'mysql':
return SQLType('SIGNED INTEGER', 'BIGINT')
else:
return SQLType('INTEGER', 'INTEGER')
def sql_format(self, value):
db_type = backend.name()
if (db_type == 'sqlite'
and value is not None
and not isinstance(value, (Query, Expression))):
value = int(value)
return super(Integer, self).sql_format(value)
class BigInteger(Integer):
'''
Define an integer field (``long``).
'''
_type = 'biginteger'
def sql_type(self):
db_type = backend.name()
if db_type == 'postgresql':
return SQLType('INT8', 'INT8')
return super(BigInteger, self).sql_type()
|