Функция итератора, возвращаемая rows()
, не закрывает курсор, пока не будет достигнут конец набора результатов. Возможно, некоторые экземпляры итератора не полностью прочитали свои результаты. Вы можете попытаться вызвать collectgarbage('collect')
, чтобы очистить все функции, на которые нет ссылок, перед тем как закрыть соединение. Функция rows()
также может помещать все курсоры в таблицу со слабыми ссылками, а функция end()
может перечислять их, закрывая любые открытые курсоры.