Thanks for the quick fix, I am pretty new with web2py, but had done
some python programming on gae before.

The changes for gql.py has a syntax error.

from dal
should be changed to
from gluon.dal


There is another problem with GAENoSqlAdapter class. It doesn't handle
a query like
db().select(db.category.ALL)

The method GAENoSqlAdapter.select_raw  assume query is not empty, so
it will error in self.get_table(query) when it can not get the table.

    def select_raw(self,query,fields=[],attributes={}):
        tablename = self.get_table(query)
        tableobj = self.db[tablename]._tableobj


Comparing with the old qgl it has code to check like so
        if fields and isinstance(fields[0], SQLALL):
            self._tables.insert(0, fields[0].table._tablename)

To reproduce the error, it is from the Reddish appliance. I changed
the db() creation in db.py like you suggested.

Here is the stack trace
    if len(db().select(db.category.ALL))==0:
  File "/Documents/project/appengine/web2py/web2py/gluon/dal.py", line
4480, in select
    return self.db._adapter.select(self.query,fields,attributes)
  File "/Documents/project/appengine/web2py/web2py/gluon/dal.py", line
2654, in select
    (items, tablename, fields) =
self.select_raw(query,fields,attributes)
  File "/Documents/project/appengine/web2py/web2py/gluon/dal.py", line
2611, in select_raw
    tablename = self.get_table(query)
  File "/Documents/project/appengine/web2py/web2py/gluon/dal.py", line
894, in get_table
    raise RuntimeError, "No table selected"
RuntimeError: No table selected

Reply via email to