Закрыть ненужную выдачу и повторить подготовленный поиск

Фактические данные получены через SQLSRV от отдельного SQL Server. Созданные программой учебные таблицы удалены после чтения.

Наблюдаемый результат программы
НаблюдениеРезультат
Первый порог, копейки1000
Прочитан ID первого результата1
Остаток результата отменёнда
Новый порог, копейки3000
ID после повторного execute3, 4
Повторён тот же подготовленный ресурсда
Ресурс окончательно освобождёнда
Строк в самой таблице4
Строки и дополнительные наблюдения
{
    "first_row": {
        "id": 1,
        "total_minor": 1000
    },
    "second_result": [
        {
            "id": 3,
            "total_minor": 3000
        },
        {
            "id": 4,
            "total_minor": 4000
        }
    ],
    "filter_values": [
        1000,
        3000
    ],
    "same_statement": true,
    "table_row_count_after_cancel": 4
}

При самостоятельном запуске рядом с example.php создаются result.json с данными и metrics.json с проверками.