Archive for Апрель, 2020
Надо сформулировать, в первую очередь для себя, базовые принципы, на которые стоит опереться при создании интерфейса компонент. Пока нахожусь в здравом уме и ясной памяти 🙂 1. В основе должен быть IUnknown. — Это динамическая поддержка нескольких интерфейсов — Это агрегация 1.5 Взять из COM принципы управления памятью и указателями на интерфейсы. 2. Первый аргумент […]
В заканчивающимся апреле в IBProvider произошла пара сдвигов, которые планировались очень давно, но до них все никак «не доходили руки». 1. Получение плана запроса. Летом 2019-го один коварный клиент убедительно попросил добавить возможность получать через провайдер план запроса. Я об этом думал уже давно. А тут еще и совесть начала про это напоминать. В общем, […]
Subj Я напомнил, а дальше вы сами 🙂
В одной популярной книге по программированию для домохозяек советуют каждый день что-нибудь выкидывать из вещей. Этот ценный совет применим и для сопровождения программных систем. Решил выкинуть из IBProvider сомнительный метод чтения с I4-колонок с приведением NULL к нулевому значению. Он используется, в том числе, для чтения значения колонок rdb$procedure_inputs и rdb$procedure_outputs (таблица rdb$procedures). Хотя бы […]