async function query(sql) {
	// After this point, the database has been initialized
	if (!db) await initDB();
	// We need to wait for tables to be available
	await withTimeout(tablesPromise);

	// Now we can safely execute our query
	const res = await connection.query(sql).then(arrowTableToJSON);

	return res;
}
Queries the database with the given SQL statement.

@param {string} sql
@returns {Promise<Record<string, unknown>[]>}