Archive for 'Программирование'
При сравнении относительно больших файлов в Araxis Merge вылазит окно: Пять лет не напрягало, а тут внезапно стало задалбывать. Написал в поддержку и получил следующую инструкцию: Открываем ветку реестра «HKEY_CURRENT_USER\SOFTWARE\Araxis\Merge\7.0» Меняем значение параметра LargeFileThreshold. Я у себя поставил значение FFFFFFFF. Работает.
Там хорошо, где нас нет … Проснувшись ближе к вечеру (утром задолбала попа Грамота), открыл хабр и тупо стал созерцать картинку к топику про патчи к PostgreSQL: Набрал в поиске «element_alloc(HTAB *hashp, int nelem, in freelist_idx)» и вышел на файл postgrespro/postgres_cluster/blob/master/src/backend/utils/hash/dynahash.c. Реально — используют int для nelem и freelist_idx. Посмотрел что там дальше, после картинки […]
Привет всем. Полез в код Firebird (не напрягайтесь), чтобы посмотреть одну штуку. Увидев код: Завис, а потом долго не мог вспомнить — «… зачем я сюда пришел?». А, ну да, полотенце жеж. Забавно осознавать что я подобные конструкции игнорировал раньше. Наверное срабатывал защитный механизм. Не, не круто. Надо так: А еще круче: Где raise_me это […]
Привет всем. В FB3 (13-протокол) сделали «упакованную» передачу для NULL-индикаторов. Раньше каждый индикатор передавался по-отдельности как SHORT-значение. Теперь все индикаторы передаются через битовый массив. Ну ладно, реализовал этот формат. Теперь надо бы это все проверить. Желательно — через перебор максимально доступного диапазона. Исходные данные — у нас F колонок, из них N с NULL-значениями.
Привет всем. В потрохах Firebird многие вещи организованы в списки. Однонаправленные. Других я там не встречал. Ну организованы, так организованы. Вообщем-то, это их личные проблемы, которые снаружи не парят до определенного момента. В процессе натягивания существующих тестов, созданных для собственного клиента FB (10-12 протоколы), на клиента для FB3 (13-ый протокол), задрался ждать пока завершится ничем […]
Привет всем. Несколько месяцев назад решил поглумиться над клиентом Firebird (v2.5) — заставить его тупить минут 10 над коммитом. Сценарий простой — перед коммитом нужно выполнить 100500 раз execute-close для селективного запроса. И ничего не получилось. Это меня расстроило и я полез смотреть — какого? Обнаруженное меня тоже расстроило.
Привет всем. Анонсировано новое исправление IBProvider-a. Забавно, но уже в трех местах нашел идентичную багу — забываю написать return. И это навеяло эпизод из «Особенностей национальной охоты»: — А я ему говорю, товарищ генерал, берите ниже. Он — бах, и мимо. Бах — мимо. Я уж потом сам стал стрелять. — Михалыч и мимо? — […]
Начал медленно работать ноутбук? Разберите и почистите пыль! Моему рабочему ноутбуку уже больше 4 лет. Последний раз внутрь него заглядывали больше трех лет назад. В последнее время что-то он стал тупить, хотя вроде есть и 16GB и SSD. Но все никак «руки не доходили» почистить его от пыли. На прошедших выходных наконец-то этот вопрос был […]
Привет всем. В ISC API, для представления описаний и значений колонок (параметров запроса), определена структура XSQLVAR. Идентификатор типа указывается в поле XSQLVAR::sqltype и в случае NOT NULL колонки представляет собой четное число. Для Firebird 2.5 определен следующий набор идентификаторов типов данных: В случае колонок, которые могут принимать значение NULL, к идентификатору типа данных добавляется единица. […]
Привет всем. Случайно обнаружил следующую вещь в исходниках Firebird: firebird\branches\B2_0_Release\src\jrd\inf_pub.h: firebird\branches\B2_1_Release\src\jrd\inf_pub.h: Вздрогнул и полез проверять стабильность идентификаторов в рамках пакетов исправлений.