server/sources/extlite.py
changeset 2619 535bc210f799
parent 2611 0557f25682da
child 2620 de68f84b8f54
equal deleted inserted replaced
2618:ff9b0d5bd884 2619:535bc210f799
    28         return self._cnx.logged_user
    28         return self._cnx.logged_user
    29 
    29 
    30     def cursor(self):
    30     def cursor(self):
    31         if self._cnx is None:
    31         if self._cnx is None:
    32             self._cnx = self.source._sqlcnx
    32             self._cnx = self.source._sqlcnx
       
    33             if server.DEBUG & server.DBG_SQL:
       
    34                 print 'sql cnx open', self._cnx
    33         return self._cnx.cursor()
    35         return self._cnx.cursor()
    34 
    36 
    35     def commit(self):
    37     def commit(self):
    36         if self._cnx is not None:
    38         if self._cnx is not None:
    37             self._cnx.commit()
    39             if server.DEBUG & server.DBG_SQL:
       
    40                 print 'sql cnx commit', self._cnx
    38 
    41 
    39     def rollback(self):
    42     def rollback(self):
    40         if self._cnx is not None:
    43         if self._cnx is not None:
       
    44             if server.DEBUG & server.DBG_SQL:
       
    45                 print 'sql cnx rollback', self._cnx
    41             self._cnx.rollback()
    46             self._cnx.rollback()
    42 
    47 
    43     def close(self):
    48     def close(self):
    44         if self._cnx is not None:
    49         if self._cnx is not None:
    45             self._cnx.close()
    50             self._cnx.close()
       
    51             if server.DEBUG & server.DBG_SQL:
       
    52                 print 'sql cnx close', self._cnx
    46             self._cnx = None
    53             self._cnx = None
    47 
    54 
    48 
    55 
    49 class SQLiteAbstractSource(AbstractSource):
    56 class SQLiteAbstractSource(AbstractSource):
    50     """an abstract class for external sources using a sqlite database helper
    57     """an abstract class for external sources using a sqlite database helper
   182         results (but not the results themselves) may be cached using this key.
   189         results (but not the results themselves) may be cached using this key.
   183         """
   190         """
   184         if self._need_sql_create:
   191         if self._need_sql_create:
   185             return []
   192             return []
   186         sql, query_args = self.rqlsqlgen.generate(union, args)
   193         sql, query_args = self.rqlsqlgen.generate(union, args)
   187         if server.DEBUG:
   194         if server.DEBUG & server.DBG_RQL:
   188             print self.uri, 'SOURCE RQL', union.as_string()
   195             print 'RQL FOR %s SOURCE:' % (self.uri, union.as_string())
   189         args = self.sqladapter.merge_args(args, query_args)
   196         args = self.sqladapter.merge_args(args, query_args)
   190         res = self.sqladapter.process_result(self.doexec(session, sql, args))
   197         res = self.sqladapter.process_result(self.doexec(session, sql, args))
   191         if server.DEBUG:
   198         if server.DEBUG & (server.DBG_SQL | server.DBG_RQL):
   192             print '------>', res
   199             print '------>', res
   193         return res
   200         return res
   194 
   201 
   195     def local_add_entity(self, session, entity):
   202     def local_add_entity(self, session, entity):
   196         """insert the entity in the local database.
   203         """insert the entity in the local database.