Робочі потоки
Firebird ODBC драйвер забезпечує два рівні захисту робочої нитки.
Через сумісне використання середовища або дескриптора з'єднання.
Якщо драйвер сформовано, використовуючи слідуюче визначення:
#define DRIVER_LOCKED_LEVEL DRIVER_LOCKED_LEVEL_NONE
це означає, що драйвер сформовано без підтримки контролю робочих потоків.
Це забезпечує найбільшу швидкість, але вся відповідальність
за управління робочих потоків зміщено в Firebird клиєнтську бібліотеку.
Примітка. В слідуючих версіях це визначення буде основне, після
виходу версії Firebird 2.0 і пізніше, так як ті версії забезпечать контроль
робочих потоків на рівні клиєнтської частини.
Значення по замовчюванню: Якщо драйвер сформовано, використовуючи слідуюче визначення:
#define DRIVER_LOCKED_LEVEL DRIVER_LOCKED_LEVEL_CONNECT
це означає, що драйвер контролює робочі потоки на рівні з'єднання. Іншими словами
всі потоки котрі виконують запити до цього з'єднання стають в чергу і виконуються
для одного з'єднання послідовно.
Якщо драйвер сформовано, використовуючи слідуюче визначення:
#define DRIVER_LOCKED_LEVEL DRIVER_LOCKED_LEVEL_ENV
це означає, що драйвер контролює робочі потоки на рівні середовища. Іншими словами
всі потоки всіх з'єднаннь одного середовища стають в чергу і виконуються послідовно.
Це не найкраще вирішення проблемі блокування, томущо в одно середовище
попадають всі з'єднання з однією базой, но різних задач на одному рабочому місці.