server/querier.py
changeset 10087 ed0b076c119b
parent 9990 c84ad981fc4a
child 10246 ef106564b523
equal deleted inserted replaced
10086:98bc2ca1a816 10087:ed0b076c119b
     1 # copyright 2003-2013 LOGILAB S.A. (Paris, FRANCE), all rights reserved.
     1 # copyright 2003-2014 LOGILAB S.A. (Paris, FRANCE), all rights reserved.
     2 # contact http://www.logilab.fr/ -- mailto:contact@logilab.fr
     2 # contact http://www.logilab.fr/ -- mailto:contact@logilab.fr
     3 #
     3 #
     4 # This file is part of CubicWeb.
     4 # This file is part of CubicWeb.
     5 #
     5 #
     6 # CubicWeb is free software: you can redistribute it and/or modify it under the
     6 # CubicWeb is free software: you can redistribute it and/or modify it under the
   575                 self._rql_ck_cache[rql] = eidkeys
   575                 self._rql_ck_cache[rql] = eidkeys
   576                 if eidkeys:
   576                 if eidkeys:
   577                     cachekey = self._repo.querier_cache_key(cnx, rql, args,
   577                     cachekey = self._repo.querier_cache_key(cnx, rql, args,
   578                                                             eidkeys)
   578                                                             eidkeys)
   579             self._rql_cache[cachekey] = rqlst
   579             self._rql_cache[cachekey] = rqlst
   580         orig_rqlst = rqlst
       
   581         if rqlst.TYPE != 'select':
   580         if rqlst.TYPE != 'select':
   582             if cnx.read_security:
   581             if cnx.read_security:
   583                 check_no_password_selected(rqlst)
   582                 check_no_password_selected(rqlst)
   584             # write query, ensure connection's mode is 'write' so connections
   583             # write query, ensure connection's mode is 'write' so connections
   585             # won't be released until commit/rollback
   584             # won't be released until commit/rollback
   644                 todetermine = zip(xrange(len(plan.selected)), repeat(False))
   643                 todetermine = zip(xrange(len(plan.selected)), repeat(False))
   645                 descr = _build_descr(cnx, results, basedescr, todetermine)
   644                 descr = _build_descr(cnx, results, basedescr, todetermine)
   646             # FIXME: get number of affected entities / relations on non
   645             # FIXME: get number of affected entities / relations on non
   647             # selection queries ?
   646             # selection queries ?
   648         # return a result set object
   647         # return a result set object
   649         return ResultSet(results, rql, args, descr, orig_rqlst)
   648         return ResultSet(results, rql, args, descr)
   650 
   649 
   651     # these are overridden by set_log_methods below
   650     # these are overridden by set_log_methods below
   652     # only defining here to prevent pylint from complaining
   651     # only defining here to prevent pylint from complaining
   653     info = warning = error = critical = exception = debug = lambda msg,*a,**kw: None
   652     info = warning = error = critical = exception = debug = lambda msg,*a,**kw: None
   654 
   653