Perhaps not the problem but this:
sys.path.append("/mnt/data1/web2py")
is not thread safe. It will be executed at every request and in the
best of cases you will get a memory leak.
On Aug 19, 12:51 pm, Luis Goncalves <[email protected]> wrote:
> Here is a simple example ... but it seems to behave properly:
>
> """ test datetime in db queries """
>
> import sys
> sys.path.append("/mnt/data1/web2py")
> from gluon import *
>
> import datetime
> import random
>
> db = DAL('sqlite://debug_datetime.sqlite',
> folder='/home/goncalves/matlab/objrec/target_stacked_lanes',
> auto_import=True)
>
> db.define_table('magic',
> Field('DT', 'datetime'),
> Field('val', 'integer'))
>
> # Dec 12 2010, 12:30:45
> init_date = datetime.datetime(2010, 12, 10, 12, 30, 45)
>
> cur_date = init_date
> cur_val = 0
> for i in range(1000):
> db.magic.insert(DT = cur_date, val = cur_val)
>
> # we increment from 30 to 300 seconds at a time
> rand_int = random.randint(30, 300)
> delta = datetime.timedelta(0, rand_int)
>
> cur_date = cur_date + delta
> cur_val = cur_val + rand_int
>
> # make test date 24 hours later
> test_date = init_date + datetime.timedelta(1)
>
> results = db( db.magic.DT < test_date).select( orderby=db.magic.DT )
>
> print 'Initial date: ', init_date
> print 'Test date: ', test_date
> print 'Last query result:', results[-1].DT
> print 'Next entry :', db.magic[len(results)+1].dT
>
> When run it produces:
>
> Initial date: 2010-12-10 12:30:45
> Test date: 2010-12-11 12:30:45
> Last query result: 2010-12-11 12:29:55
> Next entry in DB : 2010-12-11 12:33:45
>
> So it behaves perfectly fine. Something else is the problem in my
> application! Not sure what, though.
>
> I'm running python 2.7 on my desktop, 2.6.5 on laptop, and have the problem
> on both.
> Using webp2y version : Version 1.97.1 (2011-06-26 19:25:44)
> I am the only person accesssing the DB.
> The DB is 62MB.
>
> Could it be that using a field name of 'dateTime' is somehow confusing
> web2py?
>
> Thanks,
> Luis.