beginsTransactions
Whether a statement that finds no transaction on the server opens one first.
On for as long as auto-commit is off. Turning it off sends nothing, and neither COMMIT nor ROLLBACK begins the next transaction, so the BEGIN has to come from somewhere: from here, ahead of the first statement that finds the server idle. A transaction that never runs a statement is never sent at all.