Archive for 'Firebird Server'
Не приходя в сознание, запилил каркас провайдера для EntityFrameworkCore, через который получилось выполнить по настоящему интересную штуку: Теперь можно включать спинной мозг для дополнительной разведки местности. И мне уже кажется, что UseLcpiOleDbFirebird нужно сократить до UseLcpiOleDb. Потому что, скорее всего получится соорудить универсальный провайдер как для Firebird, так и для InterBase.
В новой сборке реализована полноценная поддержка перечитывания данных обновляемых множеств. И для новых рядов и для модифицируемых рядов. По умолчанию перечитывание не осуществляется. Для включения этой поддержки, нужно указать в строке подключения server_data_back_read=3. Эта штука требует поддержки со стороны сервера. Максимально полная поддержка есть в FB2.5+. Теоретически, перечитывание можно можно сделать с помощью хранимых процедур […]
В новой сборке доступна новая фича в виде поддержки OUT-параметров в запросах для добавления новых записей «обновляемых» множеств. Это значит что теперь можно использовать «INSERT … RETURNING … INTO» для перечитывания значений колонок новых записей множества. Пользуясь случаем, хочу передать привет самому себе. Пять лет прошло, Карл. Пять лет. Фича пока доступна только для запросов, […]
В последних сборках Firebird 3.0.4 (у меня сейчас стоит 3.0.4.32952) разрешили использование символа ‘\r’ в качестве переноса строки. Что привело к рассогласованию парсера запросов Firebird и IBProvider. В целом, проблема ничтожная. Но она напомнила о старой мысли ужесточить ограничение на максимально поддерживаемые версии серверов (FB/IB). Во избежание. С одной стороны идея плохая. Потому что возникают […]
На сайт IBProvider загружен новый триал OLE DB провайдера — v3.50.0.28072, в котором исправлена структурная ошибка внутреннего представления данных из за которой были специфические затруднения с модификацией базы данных. Суть проблемы заключалась в том, что провайдер не умел корректно обрабатывать DEFAULT-значения (они обрабатывались как NULL-значения). Для этого нужно было вместо пары {value, IsNull} работать с […]
Под новый год забрел в книжный магазин и унес с собой сабжевую книженцию. Ностальгия и все такое. У меня была первая редакция этой книги 🙂 Иногда полистываю, на ночь глядя. Ближе к концу книги есть хороший совет: Всегда инициализируйте указатели в конструкторах и всегда обнуляйте указатель после освобождения памяти, на которую он указывает. Эти действия […]
Следуя настоятельным рекомендациям (по поводу CORE-5632), занялся очень мутной работой — тестированием оперативной памяти. Каждой планки (8x16GB) по отдельности. В качестве тестов — сначала (для проформы) MemTest86+ 5.01. Потом, уже под Windows 10 Pro (1703), группа тестов провайдера, которая использовалась (успешно) для выявления битой памяти ноутбука. FB3 был сконфигурирован как SuperClassic — ну, чтобы памяти […]
На почту пришло уведомление об выпуске первого обновления InterBase 2017. Я прям заинтересовался — неужели починили багу с savepoint, которая уже надоела и я решил сообщить им о ней. Нет, не осилили. Зато обнаружил в списке исправленных ошибок такую интересную запись: INTB-3287 Transaction Inventory Page cleanup could cause database corruption in extreme case. Если я […]
Как известно, в Firebird 2.1, для работы с кодовыми страницами, была добавлена поддержка библиотеки ICU. Изначально — версия 3.0 (FB2.1, FB2.5). FB3 работает с ICU 5.2. Компоненты доступа, если они претендуют на «нативе» поддержку Firebird, тоже должны уметь работать с ICU. Так что приходится с этим возиться. На текущий момент, IBProvider поддерживает ICU3. При тестировании […]
Год назад, 19 апреля 2016 года, был выпущен релиз FB3 🙂 Сейчас, через год, он (похоже) начал стабильно работать.