From OpenSCADAWiki
Интерфейс OpenSCADA для обслуживания запросов к БД представлен объектами и виртуальными функциями вызовов из ядра OpenSCADA:
- TTypeBD->TModule — Корневой объект модуля подсистемы "БД":
- TBD *openBD( const string &id ); — Вызывается при открытии или создании нового объекта БД с идентификатором id данным модулем.
- TBD — Объект базы данных:
- void enable( ); — Включение БД.
- void disable( ); — Отключение БД.
- void load_( ); — Загрузка БД из общего хранилища конфигурации.
- void save_( ); — Сохранение БД в общем хранилище конфигурации.
- void allowList( vector<string> &list ); — Запрос перечня list таблиц в БД.
- void sqlReq( const string &req, vector< vector<string> > *tbl = NULL, char intoTrans = EVAL_BOOL ); — Обработка SQL-запроса req к БД и получение результата в виде таблицы tbl, если запрос выборки и указатель ненулевой. При установке intoTrans в "true" для запроса должна быть открыта транзакция, в "false" закрыта. Данная функция должна реализоваться для СУБД, поддерживающих SQL-запросы.
- void transCloseCheck( ); — Периодически вызываемая функция для проверки транзакций и закрытия старых или содержащих много запросов.
- TTable *openTable( const string &table, bool create ); — Вызывается при открытии или создании нового объекта таблицы.
- TTable — Объект таблицы в базе данных:
- void fieldStruct( TConfig &cfg ); — Получение текущей структуры таблицы в объекте TConfig.
- bool fieldSeek( int row, TConfig &cfg, vector< vector<string> > *full = NULL ); — Последовательное сканирование записей таблицы перебором row и возврат "false" по окончанию с адресацией по активным, keyUse(), ключевым полям. full определяется перед запросом, для предзагрузки полного ответа, с извлечением последующих записей отсюда.
- void fieldGet( TConfig &cfg ); — Запрос указанной в объекте TConfig записи с адресацией по ключевым полям.
- void fieldSet( TConfig &cfg ); — Передача указанной в объекте TConfig записи с адресацией по ключевым полям.
- void fieldDel( TConfig &cfg ); — Удаление указанной записи по ключевым полям объекта TConfig.