Поезд-экспресс …

… проходит мимо пассажира, стоящего на перроне за 5 секунд. Мимо пассажира встречной электрички за 15 секунд. За сколько секунд он пройдет мимо пассажира встречной электрички, если скорость обеих электричек одинаковая.

Объяснение решения заняло обратную сторону конверта, который валялся на столе.

Потом, задумался. Если верить Клэнси, Тому Клэнси, есть люди, которые на обратной стороне конверта способны спроектировать атомный реактор…

Но я думаю — тут все дело в конвертах…

InterBase v13.2.0.322

Осознав, что я уже очень долго не интересовался судьбой предка Firebird, решил посмотреть его текущее состояние.

Оказывается весной 2018-го вышло обновление — InterBase 2017 Update 2.

На WinXP SP2 поставился без проблем.

Из исправлений улыбнуло «COMMIT RETAIN does not release a named SAVEPOINT» — IBP-66. Проверил — действительно исправили. Хотя тикет не закрыт.

Теперь можно им закинуть что-нибудь еще. Потом, когда-нибудь.

На ночь глядя

Once again looking forward to a great relationship — you guys are awesome and I’ve been using your IBProvider for over 10 years now. When every other single Interbase/Firebird ODBC driver failed, IBProvider was the perfect solution for us. We have used IBprovider to successfully integrate Firebird with every type of application, including order and consignment management of over 1 million connotes nationally per year, and it never skips a beat. Well done Dmitry – you’ve got an awesome, mature product that makes working with Firebird a breeze!

Пойду спать со спокойной совестью.

Про абстракции

Все нетривиальные абстракции в какой-то степени дырявые.
— Джоэл Спольски (Joel Spolsky)

Нашел здесь.

Улыбнуло.

Тестирование .Net провайдера

В качестве развлечения, выстроил все запущенные процессы на экране и «сфоткал» 🙂

FW3.5, FW4.0, FW4.5, FW4.5.1, FW4.6, FW4.6.2, FW4.7.2

Есть еще пара сборок под .NET Standart 2.0, но они тестируются другим «запускателем». Тесты там те же самые.

Красненькое — это привет от Firebird, с которым неохота разбираться:

[Firebird] lock conflict on no wait transaction
Acquire lock for relation (NUM) failed

Код ошибки COM: E_FAIL. SQL State: «40001». Код ошибки DBMS: 335544345.

Про VSIX …

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

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 стала объективно достижимой целью. Формально, второй раз она была достигнута, но как-то смазано.

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

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

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

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