Archive for 'IBProvider'
В новом триале исправлена очень старая бага в коде формирования содержимого колонки PROCEDURE_DEFINITION схемы метаданных PROCEDURES. Провайдер учитывал диалект подключения вместо диалекта базы данных. В результате неправильно обрабатывал имена, требующие квотирования, в подключении с первым диалектом к базе с третьим диалектом. UPD. [2017-07-16] Сборка ушла в релиз.
На днях в почту упало письмо с вопросом — «продолжаем ли мы заниматься связкой MSSQL и Firebird?». Ответил положительно. Сегодня вот, наконец-то, добавил в статью про Firebird и MSSQL 2012 описание поддержки DEFAULT-значений, которая появилась в последних обновлениях провайдера.
Обновил сборки всех компонент, отгружаемых пользователям. ADO.NET провайдер v1.7.2.3437 Самым интересным аспектом этого обновления является привязка к инструментальной библиотеке (lcpi.lib, 2.1.1.1665) от предыдущего обновления . В дистрибутивы также включены бинарники и PDB из предыдущего обновления. Это отработала самописная спец. приблуда процесса формирования дистрибутивов и nuget-пакетов, которая увидела, что версия lcpi.lib не поменялась и подсунула старые […]
С пятницей! Неделю назад запустил окончательное тестирование своего триллиона битиков оперативной памяти — самую большую группу тестов основной тестовой системы IBProvider-а (blob*). Их там 6713994 штук. В десять потоков. База на RAM диске (80GB). Не знаю как оно закончится. Но уже сейчас можно сказать — поставлен своеобразный рекорд, недостижимый на моем предыдущем десктопе с Q6600/8GB. […]
Не приходя в сознание, запилил каркас провайдера для EntityFrameworkCore, через который получилось выполнить по настоящему интересную штуку: Теперь можно включать спинной мозг для дополнительной разведки местности. И мне уже кажется, что UseLcpiOleDbFirebird нужно сократить до UseLcpiOleDb. Потому что, скорее всего получится соорудить универсальный провайдер как для Firebird, так и для InterBase.
В новой сборке реализована полноценная поддержка перечитывания данных обновляемых множеств. И для новых рядов и для модифицируемых рядов. По умолчанию перечитывание не осуществляется. Для включения этой поддержки, нужно указать в строке подключения server_data_back_read=3. Эта штука требует поддержки со стороны сервера. Максимально полная поддержка есть в FB2.5+. Теоретически, перечитывание можно можно сделать с помощью хранимых процедур […]
Пешите тесты. Соорудил замечательный тест (FB3): 1. Добавляем запись с блобом 2. Выбираем эту запись select-ом 3. Изменяем BLOB этой записи update-ом 4. Пытаемся прочитать BLOB, полученный в пункте (2) 5. Получаем %subj% — «BLOB not found» Ну да, понятно — сервер агрессивно удаляет блобы. Приятно, что я сообразил что к чему. Практически сразу. Через […]
Накатал тест, проверяющий поведение результирующего (обновляемого) множества IBProvider-a в случае сбоя операции, манипулирующей полугигабайтным блобом. 10 попыток. Смутно представляю что там внутри работает, но график получился забавный.
В новой сборке доступна новая фича в виде поддержки OUT-параметров в запросах для добавления новых записей «обновляемых» множеств. Это значит что теперь можно использовать «INSERT … RETURNING … INTO» для перечитывания значений колонок новых записей множества. Пользуясь случаем, хочу передать привет самому себе. Пять лет прошло, Карл. Пять лет. Фича пока доступна только для запросов, […]
В последних сборках Firebird 3.0.4 (у меня сейчас стоит 3.0.4.32952) разрешили использование символа ‘\r’ в качестве переноса строки. Что привело к рассогласованию парсера запросов Firebird и IBProvider. В целом, проблема ничтожная. Но она напомнила о старой мысли ужесточить ограничение на максимально поддерживаемые версии серверов (FB/IB). Во избежание. С одной стороны идея плохая. Потому что возникают […]