Windows 10. 99 дней без перезагрузки.

Поставлен личный рекорд продолжительности работы компьютера без перезагрузки — 99 дней.

Последний раз перезагружал в мае — добавлял память.

Надо отметить, что десятка (Pro) реально классная операционная система (после отключения автоматического обновления). Никаких признаков деградации из за столь продолжительного времени работы не наблюдаю. Vista, к примеру, после пары месяцев без перезагрузки начинала нещадно тупить.

Можно было бы и не перегружаться, но VS2017 после обновления (15.8.1) говорит что ей нужно.

Резюме

На устаканивание нового компьютера было потрачено полтора года.
1. Был битый комплект памяти.
2. У процессора пришлось отключить HT.
3. Пришлось обновлять биос у рейд-контроллера (переехал из старого системника). Не завелся после какого-то обновления Win10.
4. Рейдом на маме (X99, за очень много денег) пользоваться не получилось — разваливается после перезагрузки.

PS. Заодно, наконец-то, убъется намертво зависший FB3. Он тем потоком уже 312 часов накрутил.

Кстати, да. 20 лет.

Привет всем.

Сегодня сообразил, что вчера (13 августа) стукнуло 20 лет как я победил первую сложную проблему в программировании — заставил проводник Windows (NT4) без падений отрывать мое дерево объектов, подгружаемых из базы данный (InterBase 4).

Ну как победил, просто заменил оконную библиотеку (OWL/MFC) своим велосипедом. Там еще много багов оставалось (в STL, неприспособленная к многопоточности gds32.dll, компилятор BC5 глючил), но наверху сжалились и программа на некоторое время перестала падать.

Я тогда понял — баги есть не только в моем коде. И надо просто брать и переписывать чужой код.

После этой маленькой победы дело пошло на лад. Через пару месяцев я понял как нужно проектировать базы данных. А это, в свою очередь, привело к написанию такой штуки как IBProvider.

Вести с полей

С 15 июня было запущено большое тестирование. Все тесты основой тестовой систему (их там за 8 млн).

Сразу на двух базах — с первым и третьим диалектами. То есть работают два тестовых процесса. В каждом по 4 потока.

Эксперимент не является «чистым», поскольку на этом сервере попутно много раз запускались другие многодневные тесты. Разумеется на других файлах баз данных.

В качестве подопытных кроликов, используются IBProvider 3.50.1.28665 x64 и Firebird 3.0.4.32985 x64 SS.

Каждый час отрабатывает сборка мусора для каждой из баз данных.

Пока обнаружена только одна новая «проблема». Достаточно забавная. С базой данных первого диалекта.
(далее…)

Новый триал IBProvider 3.52.0.28907

Новую сборку можно смело назвать «на что я угробил лето 2018 года».

Реализована поддержка нового завершения строк Firebird 3.0.4 — ‘\r’.

Тот редкий случай когда побочный эффект от изменений лучше основной цели.

RETURNING … INTO_ROWSET …

В IBProvider, кучу лет назад, было добавлено расширение для запросов с RETURNING, позволяющее явно указывать имена для OUT-параметров.

В процессе перетряхивания связанного кода появилась мысль — можно еще добавить поддержку «RETURNING … INTO_ROWSET …», которая будет возвращать OUT-параметры в виде результирующего множества.

Будем думать…

Новый триал IBProvider [3.51.0.28770]

В новом триале исправлена очень старая бага в коде формирования содержимого колонки PROCEDURE_DEFINITION схемы метаданных PROCEDURES. Провайдер учитывал диалект подключения вместо диалекта базы данных. В результате неправильно обрабатывал имена, требующие квотирования, в подключении с первым диалектом к базе с третьим диалектом.

UPD. [2017-07-16] Сборка ушла в релиз.

О как (fb-devel)

Вот так проснешься утром, проверишь почту, а там:

Adriano dos Santos Fernandes:
It seems important to (also) run the tests with the debug build.

У меня такое уже один раз было. Надо еще раз проснуться.

Вести с полей

На днях в почту упало письмо с вопросом — «продолжаем ли мы заниматься связкой MSSQL и Firebird?».

Ответил положительно.

Сегодня вот, наконец-то, добавил в статью про Firebird и MSSQL 2012 описание поддержки DEFAULT-значений, которая появилась в последних обновлениях провайдера.

Переезд сайтов

Сегодня сайты ibprovider.com и firebirder.ru переехали на новый сервер.

UPD (2018-06-21). Прикрутили https к обоим сайтам. У Билайна в отношении ibprovider.com продолжает тупить dns и он смотрит на старый сервер. IP нового сервера — 144.76.6.123.

Обновление до упора

Обновил сборки всех компонент, отгружаемых пользователям.

ADO.NET провайдер v1.7.2.3437

Самым интересным аспектом этого обновления является привязка к инструментальной библиотеке (lcpi.lib, 2.1.1.1665) от предыдущего обновления . В дистрибутивы также включены бинарники и PDB из предыдущего обновления.

Это отработала самописная спец. приблуда процесса формирования дистрибутивов и nuget-пакетов, которая увидела, что версия lcpi.lib не поменялась и подсунула старые модули из спец. хранилища.

В общем, процесс построения дистрибутивов и пакетов ADO.NET провайдера стал более чем нетривиальным. Но полностью автоматизированным — на входе исходники, на выходе MSI, EXE, NUPKG.
(далее…)