Archive for 'IBProvider'
Привет всем. Сегодня доехало до конца большое тестирование IBProvider v5.19. Главное отличие от предыдущих забегов — прогонялись отладочные сборки провайдера и пула подключений. 7 миллионов тестов за 42.5 дня на 10-ядерном процессоре. Все тип-топ. Конфигурация Intel 6950x [10C/20T], RAM 128GB База и TEMP на RAM диске (SoftPerfect) IBProvider v5.19.0.35449 LCPI OLE DB Services v1.16.0.924 LCPI […]
Всех с бодрым началом лета. В IBProvider проведена очередная серия обновлений исходного кода. Устранил вещи, об которые начал спотыкаться мозг. Основная суть — зачистка и переработка интерфейсов принимающих строковые значения. Если совсем просто, то вместо «const char*» и «const std::string&» теперь используется structure::t_const_str_box (аналог std::string_view). В процессе переработки чуть было не наступил на грабли. Так […]
Привет всем. Никак не получается притормозить изменения в IBP и перейти к финализации версии 5.17. Ну очень увлекательное занятие. 0. Сначала о стороннем. Судя по субъективным наблюдениям — если гонять тесты в четыре потока, то FB3 (Win/SS/x64) вроде как работает без проблем. Если в десять потоков, то рано или поздно к нему приходит северный пушистый […]
В новой тестовой сборке IBProvider (v5.17.0.34920) осуществлен переезд на 64-битные unsigned счетчики ссылок COM-объектов. Как в 64-битных, так и в 32-битных сборках. IUnknown::AddRef теперь всегда возвращает 1, а IUnknown::Release или 1 или 0. — Внутренние объекты тоже переведены на 64-битные счетчики ссылок. — Для инкремента и декремента используются Interlocked-функции Win32 API. На древней 32-битной WinXP […]
В заканчивающимся апреле в IBProvider произошла пара сдвигов, которые планировались очень давно, но до них все никак «не доходили руки». 1. Получение плана запроса. Летом 2019-го один коварный клиент убедительно попросил добавить возможность получать через провайдер план запроса. Я об этом думал уже давно. А тут еще и совесть начала про это напоминать. В общем, […]
В одной популярной книге по программированию для домохозяек советуют каждый день что-нибудь выкидывать из вещей. Этот ценный совет применим и для сопровождения программных систем. Решил выкинуть из IBProvider сомнительный метод чтения с I4-колонок с приведением NULL к нулевому значению. Он используется, в том числе, для чтения значения колонок rdb$procedure_inputs и rdb$procedure_outputs (таблица rdb$procedures). Хотя бы […]
Текущие тестовые сборки IBProvider (v5.14.0.33732) откомпилированы с указанием режима совместимости с C++17. Пока в коде IBP ничего из C++17 не используется. Но вот STL таки да — уже из C++17. Хотя нет. Я же «if constexpr» задействовал во встроенном zlib1, чтобы изничтожить часть предупреждений компилятора… Из вещей, которые уже очень хочется начать использовать в самом […]
Обычно, нагрузочное тестирование IBProvider выполняется с использованием сборок, созданных компилятором последней Visual Studio. В настоящий момент времени это VS2019 (сигнатура сборок — vc16). В личных кабинетах доступны еще сборки, собранные в VS2017. На днях один очень старый и любимый клиент продлил лицензию. И выбрал сборки VS2017 (сигнатура vc15). Все бы ничего, но тут на rsdn […]
Вчера замутил инструкцию по загрузке данных из FireBird в Excel. Многократно нарывался на %subj%. Проблему давил OK-еем. Она не сильно мешала достижения финиша. Позже сообразил, что она уже вылазила. Причем совсем недавно. В том случае, проблема лечилась указанием имени пользователя в верхнем регистре (GAMER) — это (насколько я понимаю) задействовало SRP-аутентификацию. А с нижним регистром […]
На сайт и в личные кабинеты загружены очередные обновления OLE DB и ADO.NET провайдеров. IBProvider v5.12 В IBProvider, как я тут раньше писал, появилась поддержка колонок с автоинкрементом. А если конкретнее, то во множестве с описанием колонок, получаемом через интерфейс IColumnsRowset, появилась колонка DBCOLUMN_ISAUTOINCREMENT с BOOL-значением. В ней будет True для колонок с автоинкрементом и […]