diff --git a/packages/data-gateway/src/adapters/sql-family-adapters.ts b/packages/data-gateway/src/adapters/sql-family-adapters.ts index 83e9999e..4970d547 100644 --- a/packages/data-gateway/src/adapters/sql-family-adapters.ts +++ b/packages/data-gateway/src/adapters/sql-family-adapters.ts @@ -127,8 +127,9 @@ export class MySqlAdapter implements DataSourceAdapter { }; try { signal?.addEventListener("abort", abort, { once: true }); - await connection.beginTransaction(); + // SET TRANSACTION must run before a transaction starts (MySQL/MariaDB). await connection.query("SET TRANSACTION READ ONLY"); + await connection.beginTransaction(); const [rows] = await connection.query(sql, values); await connection.rollback(); return rows.filter(isRecord);