DDEX для VS2017

Вчера днем не смог установить DDEX в 2017-ю студию. Это меня немного озадачило — все же работало.

Вечером я решил вернуться к этому вопросу. Как положено, вместо того чтобы заняться непосредственно этим вопросом, сначала обновил студию. Студия обновилась и сказала «надо перегрузиться».

Хорошо. Хотя немного жалко — система уже 44 дня работает без перезагрузки. Я тормознул все долгоиграющие тесты на компьютере и стер все базы с RAM-диска — чтобы он побыстрее сохранился на нормальном диске. Про то что сохраняются не файлы, а сектора, я забыл.

В результате на диск записалось 80GB (писалось минуты три  на 850Pro). Система перегрузилась и начала восстанавливаться.

А восстановиться не может — при восстановлении состояния RAM-диска система вываливается в синий экран и перегружается. Ошибка в asramdisk.sys.

Я проклял все, пока нашел как загрузить Windows 10 в SafeMode и снести этот RAM диск.

Потом, через пару часов, я таки смог вернуться к проблеме DDEX провайдера. И методом адской отладки понял что при установке я не зарегистрировал «DB Factories».

В инструкции же специально это обозначено!

Но кто их читает, инструкции эти? Тем более свои собственные.

[FB3] SUBSTRING, тихо шифером шурша…

Сижу, никого не трогаю, примус починяю.

Пишу мутные тесты, которые проверяют работу кода, связанного с SUBSTRING (FB v3.0.4).

И обнаруживаю непонятную охинею следующего вида:

Для запроса select * from dual where substring(‘1′ from 1 for :v)=’1’, сервер выводит тип параметра v равным CHAR(1).

Для запроса select * from dual where substring(‘1′ from 1 for :v)=’12345678’, сервер выводит тип параметра v равным CHAR(8).

Полез в документацию, там русским по белому написано:

SUBSTRING (str FROM startpos [FOR length])

В общем, понятно. Хотя не понятно.

Большое тестирование IBProvider. Done

После двух «предварительных» забегов этим летом (первый, второй), возможность прогона всех тестов основной тестовой системы IBProvider стала объективно достижимой целью. Формально, второй раз она была достигнута, но как-то смазано.

В этот раз все прошло успешно.
(далее…)

Медленно работает база …

Полез на сайт транспортной компании, чтобы узнать как ползет моя посылка по нашей бескрайней Родине.

… меня переполняют разного рода эмоции.

Задумчиво про EntityFrameworkCore

Пару недель назад пришло понимание, что я как-то неправильно пишу тесты для EntityFrameworkCore.

А когда начал писать правильно, провалился так глубоко, что до сих пор не вылез на предыдущий уровень.

Но если удастся (пока нет никаких гарантий) выползти и довести затеянное до финиша, то про существующий EF.Core провайдер для Firebird можно будет так же сказать:

[1] Let’s face it, the code is crappy. Redesign would be nice. But I
don’t blame anybody, 5-10 years ago it was different story. .NET was
different (a lot) and we had different understanding of how it works
and should work (and how we should design code).

.NET нужно заменить на LINQ.

С добрым утром :)

Новая тестовая сборка IBProvider — v3.53.0.28934

Привет всем.

В новой сборке IBProvider (28934) добавлено свойство инициализации schema_ldr_cfg__descriptions, которое позволяет исключать из схем метаданных описания объектов.

Эта штука понадобилась для устранения причины возникновения ошибки (8152) связанного сервера MSSQL при работе с базами, в которых есть описания объектов. Как говорится — нет описаний, нет ошибки.

Релиз IBProvider v3.52.1

Привет всем.

Выпущен новый релиз IBProvider v3.52.1.

В процессе борьбы с Windows 10 build 1803 пришлось осваивать «Perfomance Profiler» из состава Visual Studio 2017. Ну и, среди всего прочего, он сказал, что в провайдере «много» вызовов системной функции VariantChangeType.

Самое интересное то, что в провайдере уже было все подготовлено для решения этой «проблемы». Поэтому избавиться от этих избыточных вызовов было достаточно просто.

«Perfomance Profiler» успокоился, но в целом это не помогло решить проблему с 1803 — она как тупила, так и продолжила тупить. Поэтому была откачена назад до сборки 1709.

Тем не менее, думаю, это все равно очень полезное обновление. Чем меньше провайдер завязан на внешний мир, тем он надежнее. (далее…)

Вести с полей

Похоже я слишком сильно перехвалил Windows 10.

После обновления до сборки 1803 начались «мелкие» проблемы.

1. Сломался таймер в виртуальных машинах с Windows XP. Но это удалось победить.

2. Вылезли адские тормоза при выполнении достаточно простых тестов. По замерам «на глаз» все замедлилось раз в пятнадцать.

В общем, два дня я с этими проблемами повоевал и откатился назад до сборки 1709.

ВендеКапец какой-то.

DOC: IBProvider и «Registration Free COM»

Написал новый документ IBProvider и «Registration Free COM».

В процессе написания ни одно животное не пострадало ничего в коде менять не пришлось. Что не может не радовать.