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.