DOC: IBProvider и «Registration Free COM»
Написал новый документ IBProvider и «Registration Free COM».
В процессе написания ни одно животное не пострадало ничего в коде менять не пришлось. Что не может не радовать.
Написал новый документ IBProvider и «Registration Free COM».
В процессе написания ни одно животное не пострадало ничего в коде менять не пришлось. Что не может не радовать.
Поставлен личный рекорд продолжительности работы компьютера без перезагрузки — 99 дней.
Последний раз перезагружал в мае — добавлял память.
Надо отметить, что десятка (Pro) реально классная операционная система (после отключения автоматического обновления). Никаких признаков деградации из за столь продолжительного времени работы не наблюдаю. Vista, к примеру, после пары месяцев без перезагрузки начинала нещадно тупить.
Можно было бы и не перегружаться, но VS2017 после обновления (15.8.1) говорит что ей нужно.
Резюме
На устаканивание нового компьютера было потрачено полтора года.
1. Был битый комплект памяти.
2. У процессора пришлось отключить HT.
3. Пришлось обновлять биос у рейд-контроллера (переехал из старого системника). Не завелся после какого-то обновления Win10.
4. Рейдом на маме (X99, за очень много денег) пользоваться не получилось — разваливается после перезагрузки.
PS. Заодно, наконец-то, убъется намертво зависший FB3. Он тем потоком уже 312 часов накрутил.
Привет всем.
Сегодня сообразил, что вчера (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.
Каждый час отрабатывает сборка мусора для каждой из баз данных.
Пока обнаружена только одна новая «проблема». Достаточно забавная. С базой данных первого диалекта.
(далее…)
Новую сборку можно смело назвать «на что я угробил лето 2018 года».
Реализована поддержка нового завершения строк Firebird 3.0.4 — ‘\r’.
Тот редкий случай когда побочный эффект от изменений лучше основной цели.
В IBProvider, кучу лет назад, было добавлено расширение для запросов с RETURNING, позволяющее явно указывать имена для OUT-параметров.
В процессе перетряхивания связанного кода появилась мысль — можно еще добавить поддержку «RETURNING … INTO_ROWSET …», которая будет возвращать OUT-параметры в виде результирующего множества.
Будем думать…
В новом триале исправлена очень старая бага в коде формирования содержимого колонки PROCEDURE_DEFINITION схемы метаданных PROCEDURES. Провайдер учитывал диалект подключения вместо диалекта базы данных. В результате неправильно обрабатывал имена, требующие квотирования, в подключении с первым диалектом к базе с третьим диалектом.
UPD. [2017-07-16] Сборка ушла в релиз.
Вот так проснешься утром, проверишь почту, а там:
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.