// Copyright (C) 2020-2022 Internet Systems Consortium, Inc. ("ISC") // // This Source Code Form is subject to the terms of the Mozilla Public // License, v. 2.0. If a copy of the MPL was not distributed with this // file, You can obtain one at http://mozilla.org/MPL/2.0/. /** @page libdatabase libkea-database - Kea Database Library @section databaseMTConsiderations Multi-Threading Consideration for Database MySQL and PostgreSQL provide connection pools which are used to make lease, host and legal log backends thread safe. MySQL and PostgreSQL are inter-process safe only when transactions are used (including the MySQL auto-transaction mode which includes queries into a transaction). For MySQL this means that transactions must be supported by the database engine (the engine selection is done in the schema). Note the InnoDB engine used by Kea for MySQL databases cancels a transaction when a deadlock is detected (rare but possible event) and leaves the responsibility to retry the transaction to the caller. */