def _cursor(self): if not self.pool: kwargs = { 'conv': django_conversions, 'charset': 'utf8', 'use_unicode': True, } settings_dict = self.settings_dict if settings_dict['USER']: kwargs['user'] = settings_dict['USER'] if settings_dict['NAME']: kwargs['db'] = settings_dict['NAME'] if settings_dict['PASSWORD']: kwargs['passwd'] = settings_dict['PASSWORD'] if settings_dict['HOST'].startswith('/'): kwargs['unix_socket'] = settings_dict['HOST'] elif settings_dict['HOST']: kwargs['host'] = settings_dict['HOST'] if settings_dict['PORT']: kwargs['port'] = int(settings_dict['PORT']) kwargs['client_flag'] = CLIENT.FOUND_ROWS kwargs.update(settings_dict['OPTIONS']) self.pool = eventlet.db_pool.TpooledConnectionPool(MySQLdb, min_size=1, max_size=16, **kwargs) if not self._valid_connection(): self.connection = self.pool.get() connection_created.send(sender=self.__class__) cursor = mysqldb_base.CursorWrapper(self.connection.cursor()) return cursor
def _cursor(self): if not self._valid_connection(): kwargs = {'conv': base.django_conversions, 'dsn': None} settings_dict = self.settings_dict settings_dict.update(settings_dict.get('OPTIONS', {})) for settings_key, kwarg, required in _SETTINGS_CONNECT_ARGS: value = settings_dict.get(settings_key) if value: kwargs[kwarg] = value elif required: raise exceptions.ImproperlyConfigured( "You must specify a '%s' for database '%s'" % (settings_key, self.alias)) self.connection = Connect(**kwargs) encoders = {safestring.SafeUnicode: self.connection.encoders[str], safestring.SafeString: self.connection.encoders[str]} self.connection.encoders.update(encoders) signals.connection_created.send(sender=self.__class__, connection=self) cursor = base.CursorWrapper(self.connection.cursor()) return cursor
def create_secondary_cursor(self): cursor = self.secondary_wrapper.cursor() return base.CursorWrapper(cursor)
def create_primary_cursor(self): cursor = self.connection.cursor() return base.CursorWrapper(cursor)
def dict_cursor(self): cursor = self._cursor() cursor.close() return base.CursorWrapper( self.connection.cursor(MySQLdb.cursors.DictCursor))
def create_cursor(self): cursor = base.CursorWrapper(self.connection.cursor()) return cursor