Hello,

Could it be something related to Dropbox's sync mechanism? Have you tried 
running your app in another folder outside of Dropbox's reach? Would 
probably explain why your example works fine on other user's machines.

Best regards,
JS


On Saturday, September 1, 2012 6:34:39 AM UTC+1, Paolo wrote:
>
> Hi Massimo,  the error is: Cannot operate on a closed database. 
> ticket: 
> Traceback (most recent call last): 
>   File "/home/paolo/Dropbox/git/pp/web2py/gluon/restricted.py", line 
> 209, in restricted 
>     exec ccode in environment 
>   File 
> "/home/paolo/Dropbox/git/pp/web2py/applications/test_vf/views/default/test.html",
>  
>
> line 3, in <module> 
>     {{pass}} 
>   File "/home/paolo/Dropbox/git/pp/web2py/gluon/dal.py", line 8825, in 
> __call__ 
>     return self.method(self.row,*args,**kwargs) 
>   File 
> "/home/paolo/Dropbox/git/pp/web2py/applications/test_vf/models/db.py", 
> line 129, in <lambda> 
>     db.reviews_s.pos = Field.Lazy(lambda row: 
> db((db.reviews_like_s.review_id == row.reviews_s.id) & 
> (db.reviews_like_s.helpful == True)).count() ) 
>   File "/home/paolo/Dropbox/git/pp/web2py/gluon/dal.py", line 8690, in 
> count 
>     return db._adapter.count(self.query,distinct) 
>   File "/home/paolo/Dropbox/git/pp/web2py/gluon/dal.py", line 1597, in 
> count 
>     self.execute(self._count(query, distinct)) 
>   File "/home/paolo/Dropbox/git/pp/web2py/gluon/dal.py", line 1653, in 
> execute 
>     return self.log_execute(*a, **b) 
>   File "/home/paolo/Dropbox/git/pp/web2py/gluon/dal.py", line 1647, in 
> log_execute 
>     ret = self.cursor.execute(*a, **b) 
> ProgrammingError: Cannot operate on a closed database. 
>
> I put the code of the simple app in a new app with the latest web2py, 
> the first time I accessed the page all worked well but 
> when I reloaded it, I got the error. Hope this can help you. 
>
> Best, 
> Paolo 
>
>
>
> 2012/8/31 Massimo Di Pierro <massimo....@gmail.com <javascript:>>: 
> > What's the error? Works for me. 
> > 
> > 
> > On Friday, 31 August 2012 16:00:24 UTC-5, Paolo wrote: 
> >> 
> >> Hi Massimo, 
> >> I made a simple app, accordingly this example the error seems related 
> >> to the cache, because without the cache all works fine. 
> >> 
> >> The model: 
> >> db.define_table('reviews_like_s', 
> >>                  Field('review_id', 'reference reviews'), 
> >>                  Field('helpful', 'boolean')) 
> >> 
> >> db.define_table('reviews_s', 
> >>                 Field('title')) 
> >> db.reviews_s.pos = Field.Lazy(lambda row: 
> >> db((db.reviews_like_s.review_id == row.reviews_s.id) & 
> >> (db.reviews_like_s.helpful == True)).count() ) 
> >> db.reviews_s.neg = Field.Lazy(lambda row: 
> >> db((db.reviews_like_s.review_id == row.reviews_s.id) & 
> >> (db.reviews_like_s.helpful == False)).count() ) 
> >> 
> >> 
> >> Function: 
> >> def test(): 
> >>     id = db.reviews_s.insert(title='xxx') 
> >>     db.reviews_like_s.insert(review_id=id, helpful=True) 
> >>     rows = db(db.reviews_s.id > 0).select( cache=(cache.ram,3600) ) 
> >>     return dict(reviews=rows) 
> >> 
> >> The view: 
> >> {{for review in reviews:}} 
> >>         <p>{{=review.pos()}}</p> 
> >> {{pass}} 
> >> 
> >> On my side the first time works well, the second rises the error. 
> >> 
> >> Best, 
> >> Paolo 
> >> 
> >> 
> >> 2012/8/30 paolo....@gmail.com <paolo....@gmail.com>: 
> >> > Hi Massimo, 
> >> > no, I do not have multiple models, I have defined the string 
> >> > connection only once in db.py, that's all. 
> >> > I have a few try...except but in other places, I do not thing they 
> are 
> >> > connected. 
> >> > I will try to make a simple app ables to reproduce the problem as 
> soon 
> >> > as possible. 
> >> > 
> >> > Paolo 
> >> > 
> >> > 2012/8/30 Massimo Di Pierro <massimo....@gmail.com>: 
> >> >> Can you make a simple app to reproduce this? 
> >> >> 
> >> >> Do you have try .... except anywhere? Do you have multiple models 
> wich 
> >> >> define the same db = DAL(...) connection? 
> >> >> 
> >> >> 
> >> >> On Thursday, 30 August 2012 15:49:01 UTC-5, Paolo wrote: 
> >> >>> 
> >> >>> Hi Bruno, a simple db with sqlite without modules 
> >> >>> 
> >> >>> db = DAL('sqlite://storage.sqlite', lazy_tables=True ) 
> >> >>> 
> >> >>> sorry, but I've just discovered that the same problem is happened 
> even 
> >> >>> with lazy_tables=False 
> >> >>> Paolo 
> >> >>> 
> >> >>> 2012/8/30 Bruno Rocha <rocha...@gmail.com>: 
> >> >>> > How are you defining the db connection? are you using models or 
> >> >>> > modules? 
> >> >>> > which db? 
> >> >>> > 
> >> >>> > -- 
> >> >>> > 
> >> >>> > 
> >> >>> > 
> >> >>> 
> >> >>> 
> >> >>> 
> >> >>> -- 
> >> >>>  Paolo 
> >> >> 
> >> >> -- 
> >> >> 
> >> >> 
> >> >> 
> >> > 
> >> > 
> >> > 
> >> > -- 
> >> >  Paolo 
> >> 
> >> 
> >> 
> >> -- 
> >>  Paolo 
> > 
> > -- 
> > 
> > 
> > 
>
>
>
> -- 
>  Paolo 
>

-- 



Reply via email to