def execute_and_fetch_all(db_conn, query):
    """Simple wrapper to execute a query and return all results."""
    # Get cursor.
    cursor = db_conn.cursor()
    try:
        cursor.execute(query)
    except Exception as e:
        raise e
    else:
        # Fetch the data.
        out = cursor.fetchall()
    finally:
        cursor.close()
        db_conn.commit()

    return out