I am writing an application to capture tweets (home_timeline) for an
analysis - to check what my followers are reading, etc. I use the
following DB structure to capture the  max_id to use it in my next
request:

db.define_table("MaxID",
    Field("max_id", type='integer', notnull=True),
    Field('modified_on', type='datetime', notnull=True,
default=request.now))

The status_id of a tweet is 103502712657813505

In SQLite, and in GAE (both development and production), it is stored
as long integer.

In mySQL, the max_id field is translated as of type int(11)" and the
signed value it could hold is between -2147483648 and  2147483647 and
the unsigned is 4294967295. Hence when I try to store the value
103502712657813505, it will be stored 2147483647.

One option could be - one could use string type and convert back and
forth for max_id or update the Field type in MySQL.

Since I encountered this problem, I thought I will bring this to the
notice of everyone

Is there a way to define BIGINT in DAL?

Thanks
Best
Ram

Reply via email to