Выпущена сборка 3.3.2.11550
Салют всем.
Завершена работа над очередным выпуском провайдера. Первоначально планировалось двигать вперед функционал. Но у провайдера было другое мнение по поводу того, что ему важнее :). В итоге была произведена зачистка хвостов до которых «не доходили руки». В основном все изменения связаны с выполнением запросов
1. Там где имело смысл, заменили линейные контейнеры на связанные списки элементов. В итоге — не выделяем память под контейнеры. Плюс другие положительные побочные эффекты.
2. Улучшена работа с OUT-значениями параметров. Причем конкретно. Вообще, с обработкой значений параметров много чего поменялось. Как в алгоритмическом, так и в архитектурном плане. В лучшую сторону, естественно 🙂 Это была арт-подготовка перед штурмом поддержки параметров в скриптах.
3. Улучшена отмена запросов. Я бы даже сказал — теперь она сделана по уму. В том смысле, что теперь она прерывает работу не только сервера, но и провайдера.
4. Улучшено локальное кэширование метаданных в случае отключенного глобального кэша метаданных (schema_cache=0). Если при выполнении операции провайдер выполняет несколько запросов к серверу, то эти запросы теперь пользуются общим временным кэшем метаданных. До этого, каждый запрос операции использовал свой собственный временный кэш. Тут надо заметить, что дети которые говорят «а нам не надо вообще никакого кэширования» идут в лес. По одной единственной причине — текущее состояние API сервера не позволяет обеспечить полноценную работу без обращения к системным таблицам за дополнительной информацией.
5. Другие мелкие усовершенствования.
В целом, все изменения направлены на улучшение работы в экстремальных условиях. Умение работать в которых и отличает промышленные решения от программных продуктов «для домашнего использования» 🙂
Тут я хотел привести картинку с сотней часов наработанных суперклассиком 2.5 x64 под нашими тестами за последние 10 дней. Но эта тварь сегодня ночью упала. Впрочем, доктор Хорсун как-то обещал что в 2.5.1 это будет вылечено.