server/querier.py
branchstable
changeset 8342 7a5271182ef0
parent 8333 baa3ea5eac2b
child 8542 7e264ce34cd4
equal deleted inserted replaced
8341:af813e7d5daa 8342:7a5271182ef0
     1 # copyright 2003-2011 LOGILAB S.A. (Paris, FRANCE), all rights reserved.
     1 # copyright 2003-2012 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
   721             # bother modifying it. This is not necessary on write queries since
   721             # bother modifying it. This is not necessary on write queries since
   722             # a new syntax tree is built from them.
   722             # a new syntax tree is built from them.
   723             rqlst = rqlst.copy()
   723             rqlst = rqlst.copy()
   724             self._annotate(rqlst)
   724             self._annotate(rqlst)
   725             if args:
   725             if args:
   726                  # different SQL generated when some argument is None or not (IS
   726                 # different SQL generated when some argument is None or not (IS
   727                 # NULL). This should be considered when computing sql cache key
   727                 # NULL). This should be considered when computing sql cache key
   728                 cachekey += tuple(sorted([k for k,v in args.iteritems()
   728                 cachekey += tuple(sorted([k for k,v in args.iteritems()
   729                                           if v is None]))
   729                                           if v is None]))
   730         # make an execution plan
   730         # make an execution plan
   731         plan = self.plan_factory(rqlst, args, session)
   731         plan = self.plan_factory(rqlst, args, session)