# It's not possible to share connections for SQLite between
# threads, so let's use the SingletonThreadPool for them
pool_args = {'poolclass': SingletonThreadPool}
- self._dbengine = create_engine(engine_name, **pool_args)
+ self._dbengine = create_engine(engine_name,
+ echo=cherrypy.config.get('db.echo',
+ False),
+ **pool_args)
self.is_readonly = False
def add_constraint(self, constraint):
q = self._query(self._db, table, columns, trans=False)
rows = q.select(kvfilter)
except Exception, e: # pylint: disable=broad-except
- self.error("Failed to load data for table %s: [%s]" % (table, e))
+ self.error("Failed to load data for table %s for store %s: [%s]"
+ % (table, self.__class__.__name__, e))
return self._rows_to_dict_tree(rows)
def load_config(self):
else:
raise NotImplementedError()
+ def create_plugin_data_table(self, plugin_name):
+ if not self.is_readonly:
+ table = plugin_name+'_data'
+ q = self._query(self._db, table, OPTIONS_TABLE,
+ trans=False)
+ q.create()
+ q._con.close() # pylint: disable=protected-access
+
class TranStore(Store):