server/session.py
changeset 9089 b4c12d2873f6
parent 9088 04ceb4268b3b
child 9090 e33ff287f082
equal deleted inserted replaced
9088:04ceb4268b3b 9089:b4c12d2873f6
   429         #: server.Repository object
   429         #: server.Repository object
   430         self.repo = session.repo
   430         self.repo = session.repo
   431         self.vreg = self.repo.vreg
   431         self.vreg = self.repo.vreg
   432         self._execute = self.repo.querier.execute
   432         self._execute = self.repo.querier.execute
   433 
   433 
       
   434         # other session utility
       
   435         self._session_timestamp = session._timestamp
       
   436 
   434         #: connection handling mode
   437         #: connection handling mode
   435         self.mode = session.default_mode
   438         self.mode = session.default_mode
   436         #: connection set used to execute queries on sources
   439         #: connection set used to execute queries on sources
   437         self._cnxset = None
   440         self._cnxset = None
   438         #: CnxSetTracker used to report cnxset usage
   441         #: CnxSetTracker used to report cnxset usage
   474         # other session utility
   477         # other session utility
   475         if session.user.login == '__internal_manager__':
   478         if session.user.login == '__internal_manager__':
   476             self.user = session.user
   479             self.user = session.user
   477         else:
   480         else:
   478             self._set_user(session.user)
   481             self._set_user(session.user)
       
   482 
   479 
   483 
   480     # shared data handling ###################################################
   484     # shared data handling ###################################################
   481 
   485 
   482     @property
   486     @property
   483     def data(self):
   487     def data(self):
   881     def execute(self, rql, kwargs=None, eid_key=None, build_descr=True):
   885     def execute(self, rql, kwargs=None, eid_key=None, build_descr=True):
   882         """db-api like method directly linked to the querier execute method.
   886         """db-api like method directly linked to the querier execute method.
   883 
   887 
   884         See :meth:`cubicweb.dbapi.Cursor.execute` documentation.
   888         See :meth:`cubicweb.dbapi.Cursor.execute` documentation.
   885         """
   889         """
       
   890         self._session_timestamp.touch()
   886         if eid_key is not None:
   891         if eid_key is not None:
   887             warn('[3.8] eid_key is deprecated, you can safely remove this argument',
   892             warn('[3.8] eid_key is deprecated, you can safely remove this argument',
   888                  DeprecationWarning, stacklevel=2)
   893                  DeprecationWarning, stacklevel=2)
   889         rset = self._execute(self, rql, kwargs, build_descr)
   894         rset = self._execute(self, rql, kwargs, build_descr)
   890         rset.req = self
   895         rset.req = self
       
   896         self._session_timestamp.touch()
   891         return rset
   897         return rset
   892 
   898 
   893     # resource accessors ######################################################
   899     # resource accessors ######################################################
   894 
   900 
   895     def system_sql(self, sql, args=None, rollback_on_failure=True):
   901     def system_sql(self, sql, args=None, rollback_on_failure=True):
  1300     def execute(self, *args, **kwargs):
  1306     def execute(self, *args, **kwargs):
  1301         """db-api like method directly linked to the querier execute method.
  1307         """db-api like method directly linked to the querier execute method.
  1302 
  1308 
  1303         See :meth:`cubicweb.dbapi.Cursor.execute` documentation.
  1309         See :meth:`cubicweb.dbapi.Cursor.execute` documentation.
  1304         """
  1310         """
  1305         self._timestamp.touch() # update timestamp
       
  1306         rset = self._cnx.execute(*args, **kwargs)
  1311         rset = self._cnx.execute(*args, **kwargs)
  1307         rset.req = self
  1312         rset.req = self
  1308         return rset
  1313         return rset
  1309 
  1314 
  1310     def close_cnx(self, cnxid):
  1315     def close_cnx(self, cnxid):